Springe zum Inhalt

Spam und Viren liegen heutzutage massenweise im (ungefilterten) Postfach. Neu ist jedoch, dass diese digital signiert versendet werden. Vor Kurzem traf hier eine E-Mail ein, die angeblich eine Information für den Empfänger einer Überweisung über Western Union sein sollte. In einem Anhang befand sich natürlich ein Virus.

Erstaunlich ist allerdings, mit was für einem Zertifikat die E-Mail unterschrieben wurde. Es handelt sich hier um ein gültiges Zertifikat der Firma Actalis S.p.A.: ...weiterlesen "Digital signierte Virus Mail"

Um ein Windows-Programm z.B. per Klick auf einen Button als Administrator auszuführen, kann folgender Code verwendet werden:

// Elevate the process if it is not run as administrator.
if (!fIsRunAsAdmin)
{
    wchar_t szPath[MAX_PATH];
    if (GetModuleFileName(NULL, szPath, ARRAYSIZE(szPath)))
    {
        // Launch itself as administrator.
        SHELLEXECUTEINFO sei = { sizeof(sei) };
        sei.lpVerb = L"runas";
        sei.lpFile = szPath;
        sei.hwnd = hWnd;
        sei.nShow = SW_NORMAL;

        if (!ShellExecuteEx(&sei))
        {
            DWORD dwError = GetLastError();
            if (dwError == ERROR_CANCELLED)
            {
                 // The user refused the elevation.
                 // Do nothing ...
            }
        }
        else
        {
            EndDialog(hWnd, TRUE);  // Quit itself
        }
    }
}

Die Benutzung des Verbs "runas" ist in der aktuellen MSDN weder unter ShellExecuteEx noch unter SHELLEXECUTEINFO dokumentiert.

Vorweg: virtuelle Server sind für kleine Aufgaben eine feine Sache. Sie können im aktuellen Betriebszustand gestoppt, gestartet, auf einen anderen Server umgezogen oder Snapshots von den Platten angefertigt werden. Viele Hoster bieten sie zum Betrieb eines eigenen Webservices, so z.B. der eigenen Homepage an. Da der virtuelle Server quasi einen kompletten Computer darstellt, muss man sich um die Aktualisierung der darauf aufgespielten Software und auch um das Betriebssystem selbst kümmern.

So schön es auch ist, einen kompletten Computer mit garantierter CPU-Leistung, fest zugewiesenem Hauptspeicher und einer entsprechend großen virtuellen Festplatte zu bekommen, so kann man genau diese Funktionen nicht beeinflussen.

Genau das zeigte sich leider wieder einmal bei dem virtuellen Server (vServer), auf dem dieses Blog läuft. Das IO-System der Virtualisierungssoftware spielte verrückt. So lag die Zeit, die für einen Schreibvorgang auf die Platte vom System gebraucht wurde stellenweise bei 3,8 Sekunden! Ein normales System zeigt dabei Werte von ca. 20 Millisekunden. Falls die aktuellen Werte der Hard- und Software durch eine Monitoring-Software protokolliert werden (hier kommt Munin zum Einsatz), lassen sich diese Extremfälle gut grafisch darstellen:

Munin sda-day

In der Grafik ist zu erkennen, dass seit ca. 4 Uhr die Reaktionszeit des IO-Systems extrem abnahm. Ein Lesevorgang dauerte zu dieser Zeit 82,81 Millisekunden, ein Schreibvorgang ganze 3,86 Sekunden! Mittlerweile hat sich die Lage wieder normalisiert. Lesen/Schreiben erfolgt jetzt mit 1,99/16,73 ms.