Tipps und Tools für Sicherheit unter Windows

07.05.2009
Von Matthias Fraunhofer
Microsoft-Betriebssysteme sind die erklärte Zielscheibe für Angreifer. Wer einige Grundregeln beachtet, kann die eigene Windows-Umgebung jedoch ungleich sicherer machen.

Windows-Plattformen dienen einer Vielzahl von Firmen als Basis sowohl für Clients als auch für Server. Das und der große Marktanteil auch im Privatanwenderbereich macht sie für Angreifer besonders interessant. Daher gilt es für Unternehmen, in Windows-Umgebungen einige Sicherheitsgrundregeln zu beachten. Sie betreffen die Bereiche Clients und Server sowie das Active Directory als grundlegenden Verzeichnisdienst in Windows-Umgebungen. Dieser Ratgeber liefert einen Einblick, wie sich die eigene Windows-Umgebung – fernab von zugekauften Extras – mit bordinternen Mitteln sicherer gestalten lässt.

Um hierfür die Basis zu schaffen, ist, unabhängig von den betrachteten Systemen, zudem auf folgende Aspekte zu achten: das Patch-Management, proaktive Schutzmaßnahmen, Schulung und Berechtigung der Benutzer.

Die Verfahren – nur bekannt oder auch gelebt?

Selbst wenn es bereits hinlänglich bekannt ist: Updates sind unbedingt zeitnah, flächendeckend und kontrolliert einzuspielen. Als Grund für das oft wochenlange Aussetzen eines Patchs werden häufig fehlende Ressourcen und die Angst vor Betriebsstörungen angeführt. Dabei tritt oft genau das Gegenteil ein, wie die explosive Verbreitung des Conficker-Wurms deutlich machte: Selbst lange Zeit nach dem Erscheinen des Microsoft-Patchs am 23. Oktober 2008, der die von dem Schädling ausgenutzte Windows-Schwachstelle beheben sollte, waren viele Systeme noch nicht aktualisiert und somit angreifbar. Noch Monate später legte Conficker Unternehmen und Behörden lahm und verursachte hohe Schäden - Microsoft-Emea-Sicherheitschef Roger Halbheer bezeichnete dies als "russisches Roulette mit dem Netzwerk". Als Beispiel, wie aus Zero-Day-Attacken dann "Three-Month"-Attacken werden, verdeutlicht dieser Fall, wie sehr es beim Kampf gegen Sicherheitslücken auf Tempo ankommt. Unternehmen müssen in diesem Kontext auch auf ein lückenloses Auditing der Systeme achten, um durchgängig aktuelle Patches installiert zu haben. Erreichen lässt sich dies mit Hilfe integrierter Systeme wie den "Microsoft Windows Server Update Services" (WSUS) oder dem "Software Update Management" in Microsofts neuem "System Center Configuration Manager" (SCCM).

Erst wenn alle Systeme auf einem angemessenen Versionsstand sind, kommen proaktive Maßnahmen überhaupt zum Tragen. Was hier nicht fehlen darf, ist ein Virenschutzkonzept für Clients und Server samt umfassender Strategie sowie eine geeignete technische Umsetzung. So sind Malware-Scanner nur so viel wert wie ihre Signaturen. In Kombination bieten sich weitere proaktive Schutzmaßnahmen an - etwa die Konfiguration und Aktivierung der lokalen Firewall über die "Gruppenrichtlinien".

Balance zwischen Sicherheit und Benutzbarkeit

Sicherheit ist aber nicht nur ein technisches Problem. Häufig ist es der Mensch, der Angriffen Tür und Tor öffnet. Die Gründe hierfür sind mangelndes Bewusstsein für sicheres Verhalten oder Neugier, nicht selten aber auch die Benutzbarkeit der verwendeten Software. Das beste technische Konzept versagt, wenn der Benutzer die Tragweite seiner Aktionen nicht kennt oder mit allzu restriktiven Regeln nicht umgehen kann (Beispiel: das 30-Zeichen-Passwort).

Beachten Sie das Least-Privilege-Prinzip

Auch geschulte Benutzer brauchen klar definierte Grenzen - schließlich soll Malware die Rechte des Benutzers ausnutzen. Ein Wurm mit administrativen Rechten hat gute Chancen, seiner fragwürdigen Bestimmung nachzugehen. Daher ist stets das Least-Privilege-Prinzip anzuwenden: Jeder Benutzer, jeder Dienst und jedes System erhält demnach nur die Rechte, die zur Erfüllung der jeweiligen Aufgaben absolut erforderlich sind. Hier gilt es, besonders strikt vorzugehen, was eine genaue Kenntnis der Arbeitsabläufe und Systeme voraussetzt. Die Umsetzung des Least-Privilege-Paradigmas gehört zu den besten Methoden, ein grundlegendes Fundament für sichere Systeme zu schaffen - allerdings ist es dazu häufig erforderlich, mit alten Gewohnheiten zu brechen. Auch hier ist die Balance zwischen Sicherheit und Benutzbarkeit wichtig: Vistas lärmende User Account Control (UAC) ist ein Beispiel dafür, wie eine gute Idee ins Gegenteil verkehrt wurde.

Zero-Day-Attacks – das Ende Ihres Netzes?

Sind die Rechte erst einmal möglichst restriktiv vergeben, die Systeme aktuell und durch proaktive Maßnahmen abgesichert sowie die Benutzer geschult, müssen weitere Schutzmaßnahmen ergriffen werden. So genannte Zero-Day-Angriffe, sprich: die Ausnutzung noch unbekannter Sicherheitslücken, lassen sich häufig auch mit den beschriebenen Methoden nicht verhindern.

Um diese Art von Attacken effektiv bekämpfen zu können, hat Microsoft (ab Vista) neue Funktionen in seine Betriebssysteme implementiert. Ein Beispiel ist die "Kernel Patch Protection" (auch "PatchGuard" genannt) auf x64-Vista-Systemen: Verändern Treiber einen geschützten Bereich des Kernels, wird das System sofort kontrolliert herunterfahren (BSoD). Da Systemtreiber und Kernel in allen Windows-Betriebssystemen by Design in demselben Kernel-Ring und mit gleichen Berechtigungen laufen, würde ansonsten Attacken aller Art Tür und Tor geöffnet.

Viele Zero-Day-Attacken beruhen auf Buffer Overflows - eine der am häufigsten ausgenutzten Schwachstellen in Betriebssystemen. Vereinfacht ausgedrückt versucht der Angreifer, zu viele Daten in einen zu kleinen reservierten Speicherbereich (Buffer) zu schreiben, um ihn zum Überlaufen zu bringen. Techniken, die dies verhindern sollen, sind in Nicht-Microsoft-Betriebssystemen schon länger im Einsatz. Seit Vista sind solche Schutzmechanismen auch in die Windows-Betriebssysteme für Clients und Server eingebaut.

Ein Beispiel hierfür ist die "Address Space Layout Randomization" (ASLR). Das Funktionsprinzip: Buffer Offerflows nutzen die streng sequenzielle Struktur von Heap, Stack und Co., um Adressen für Angriffe zu berechnen. Durch die zufällige Anordnung von Speicherbereichen (Randomization) wird die Ausnutzung von Overflows schwieriger. In Kombination damit sollte Data Execution Prevention (DEP) eingesetzt werden. Diese Funktion soll das Ausführen von Code aus bestimmten Speicherbereichen verhindern und wird von modernen CPUs in Hardware beherrscht (NoeXecute-Bit). Doch bislang, selbst Jahre nach der Einführung, wird sie nur sehr sporadisch genutzt.

Die wirkliche Schwachstelle – die häufig zu große Angriffsfläche von Systemen – können jedoch auch diese Techniken nicht schließen. Wer ihren Schutz möchte, sollte sie sorgfältig evaluieren und aktivieren, denn aus Gründen der Kompatibilität sind sie meist nicht aktiv.

Das Betriebssystem als direkter Angriffspunkt

Techniken wie das beschriebene ASLR sollen auch vor unbekannten Schwachstellen schützen. Deren Anzahl lässt sich in Relation zur Angriffsfläche eines Systems betrachten, die sich im Wesentlichen aus laufenden Prozessen und Diensten, offenen Ports, aber auch der Menge an installierter Software zusammensetzt.

Um dem Angreifer möglichst wenig Ansatzpunkte zu liefern, sollte die Angriffsfläche im Idealfall so minimal sein, dass Techniken wie ASLR und DEP gar nicht erst zum Tragen kommen.

Eine gute Systemhärtung etwa kann viele Angriffe abwehren, da sie die Grundlage für den Angriff entzieht. Aber sie erfordert auch viel Know-how und Zeit.

Ein Beispiel hierfür ist die Core-Installation des Windows Server 2008, die ohne Benutzeroberfläche und sonstige Spielereien auskommen muss und damit eine neue Richtung in Microsofts Politik bedeutet.

Vorsicht bei der Server-Migration

Microsoft hat seit den ersten Gehversuchen mit Windows NT viel Detailarbeit bei den Einstellungen der neuen Betriebssysteme geleistet. So wurde das Sicherheitsniveau neuer Installationen von Server NT bis Server 2008 stark angehoben. Die Betonung liegt hier auf "neue Installation", denn im Gegensatz dazu ist eine Migration, so vorteilhaft sie für ein Unternehmen auch scheinen mag, aus Sicherheitssicht bedenklich. Durch die Migration von Systemen werden unsichere Einstellungen und mögliche Sicherheitslücken auf das neue System übertragen. Einstellungen wie der berüchtigte LM-Hash (LAN Manager) können durchaus gewünscht sein. Im Gros der Fälle handelt es sich jedoch um Erblasten, die den potenziell sichereren neuen Systemen und Infrastrukturen die Chance nehmen, ihr Potenzial auszuspielen. Ein Server, der seit Jahren immer wieder auf neuere Betriebssysteme migriert wurde, wird nie das Maß an Sicherheit bieten wie ein neues System, dessen Einstellungen bekannt sind.

Durchgängiges Patch-Management – ein Muss

Wichtig ist auch die sichere Bereitstellung eines Servers, die immer offline oder in einem geschützten Segment erfolgen sollte - immerhin ist sie später die Basis für die angestrebte Zielfunktionalität. Auch hier gilt: Handelt es sich um Software von Drittherstellern, ist sie vor dem produktiven Einsatz unbedingt auf die neueste Version zu bringen. Das Patch-Management muss durchgängig sein. Es schadet auch nichts, sich im Vorfeld einen Überblick über die bereits bekannten Sicherheitslücken zu verschaffen.

Wie erwähnt, basiert die Verwundbarkeit eines Servers auf seiner Angriffsfläche. Da die Vielzahl der installierten Funktionen und laufenden Dienste nicht leicht überschaubar ist, bietet Microsoft mit dem "Security Configuration Wizard" (SCW) einen einfach zu bedienenden Assistenten, mit dem sich Sicherheitseinstellungen und Servicekonfiguration eines Servers untersuchen und anhand einer Wissensbasis konfigurieren lassen. Durch die Ausgabe als XML-Datei gehen sowohl die Übertragung auf andere Server als auch die manuelle Nachbearbeitung gut von der Hand. Allerdings ist hier wie bei allen sicherheitsspezifischen Einstellungen Vorsicht geboten, um am Ende nicht vor einem zwar gehärteten, aber funktionsunfähigen System zu stehen.

Empfehlenswert für Administratoren kleiner und mittlerer Firmen ist auch der "Microsoft Baseline Security Analyzer" (MBSA), der einen Überblick über eine Fülle von Informationen bietet. So lassen sich damit unter anderem die Versorgung mit Updates und das Einhalten von Best Practices schnell und übersichtlich anzeigen. Gerade Unternehmen mit sehr wenigen Systemen können damit notfalls die teureren Lösungen ersetzen.

Keine Server ohne Clients

Für Clients gelten dieselben Regeln wie für Server: Mehr Dienste, mehr Prozesse und mehr Software führen zu einem höheren Risiko. Die Fülle von Anwendungssoftware, die auf Clients läuft, stellt den größten Teil der Angriffsfläche dar. Hier gilt es, Adobe Reader, Flash, Office und Co. schnell und vor allem sorgfältig mit Security-Patches zu versorgen. Dazu benötigt der Administrator einen umfassenden und detaillierten Überblick über die im Unternehmen eingesetzte Software. Besitzen manche Anwender lokale Administratorrechte (was sie natürlich nicht sollten), müssen sie besonders auf ihre Software achten und regelmäßig Updates einspielen. Was hierbei gerne übersehen wird, sind die Treiber, die ebenfalls Sicherheitslücken aufweisen können und beim Bekanntwerden einer Sicherheitslücke möglichst schnell aktualisiert werden sollten.

Kinderkrankheiten von vorgestern

Die Infrastruktur einer Windows-Umgebung ist grundlegend durch das Active Directory und die bereitstellenden Domain-Controller geprägt. Hier gilt: Ist die Sicherheit eines Domain-Controllers kompromittiert, ist auch die Domäne kompromittiert. Um die Angriffsfläche zu reduzieren, sollten Unternehmen wie auf den Servern auch auf jedem Domain-Controller Microsofts Security Configuration Wizard anwenden.

Gerade bei Einstellungen im Bereich Authentisierung zeigen sich die Tücken der Standardinstallationen. Generell gilt: Kann sich ein Angreifer (oder Malware) gültige Credentials eines Benutzers verschaffen, sind ihm Tür und Tor geöffnet. Besonders leicht wird ihm das gemacht, weil in Windows-Umgebungen grundsätzlich mehrere Authentisierungsvarianten zum Einsatz kommen. Die älteste unter ihnen, das LAN-Manager-Protokoll, wird in den meisten Umgebungen nicht mehr benötigt, jedoch nach wie vor konfiguriert und damit stets in Kombination mit sichereren Verfahren verwendet. Dabei ist das viel zitierte und angesprochene Berechnen von Kennwörtern in den meisten Fällen gar nicht interessant, weil Angreifer die abgefangenen Informationen immer wieder zur Authentisierung benutzen können. Daher sollten Unternehmen beim Aufbau einer sicheren Windows-Infrastruktur ausschließlich auf Kerberos und NTLMv2 setzen.

Vor allem im Bereich Active Directory entscheiden sich viele Unternehmen für eine Migration, da die Neuinstallation und das unter Umständen erforderliche Verschieben der DC-Rollen riskant sind. Daher sollten Administratoren, die ihre Domäne schon seit längerem auf neue Versionen aktualisieren, prüfen, ob bestimmte Berechtigungen und Einstellungen noch gewünscht sind. Ein Beispiel hierfür ist die "Prä-Windows-2000-Kompatibilität", die den anonymen Zugriff auf das Active Directory gestattet. Bei vielen Domänen lässt sich diese Funktion deaktivieren, um die Sicherheit zu erhöhen. Das erfordert wie alle Security-Maßnahmen allerdings viel Sorgfalt und die genaue Kenntnis der eigenen Applikationen und Prozesse.

Auch Service-Accounts sind in diesem Kontext erwähnenswert: Ein Service benötigt niemals Domain-Admin- oder Administratorrechte, um die Applikation, für die er verantwortlich ist, auszuführen. Hier darf das Least-Privilege-Prinzip nicht aus Bequemlichkeit gebrochen werden, was allerdings oft geschieht.

Sicherheit auch bei der Administration

Eine sichere Verwaltung durch geschulte Administratoren ist Grundvoraussetzung für eine sichere Infrastruktur. Dabei dürfen Active Directory Service Accounts wie der Domain Admin niemals zur Administration eines Rechners oder Servers verwendet werden. Technisch lässt sich das durchsetzen, indem man das Privileg "Deny logon locally" für diese Accounts auf oberster Ebene der Domäne setzt und alle administrativen Rechner in eine eigene Organisationseinheit verschiebt. Hintergrund ist, dass diese Accounts so weitreichende Berechtigungen besitzen, dass ihre Credentials in keinem Fall auf Systemen landen dürfen, die nicht vollständig kontrollierbar sind. Das nur als Hinweis darauf, dass ein klares Rechtekonzept mit der Aufteilung administrativer Tätigkeiten erforderlich ist und alle Prozesse genau dokumentiert und auch gelebt werden müssen.

Fazit

Natürlich gibt es keinen perfekten Schutz – aber auch keinen Grund, nicht mit vertretbarem Aufwand und den angebotenen Windows-Bordmitteln die größtmögliche Sicherheit zu erreichen. Microsoft liefert mit seinen Security Guides und Tools mehr als genug Informationen, um technische Herausforderungen anzupacken. Doch technische Vorkehrungen (und die kleine Untermenge der angesprochenen Maßnahmen) sind keine umfassende Lösung. Für eine umfassende Sicht auf die IT-Security bietet es sich an, Windows-Sicherheit eingebettet in ein Informationssicherheits-Management-System (ISMS) zu betrachten – denn ohne organisatorisch gelebte Sicherheit ist Windows-Security das kleinste Problem im Unternehmen. (kf)