Sie befinden sich hier: Themen IT-Grundschutz-Kataloge. Inhalt. Dokumententitel: M 4.183 Sicherstellen der Verfügbarkeit und Performance des IIS - IT-Grundschutz-Kataloge - Stand 2006
direkt zu der Navigation Servicebereich. direkt zu der Hauptnavigation. direkt zur Themennavigation. direkt zum Seiteninhalt.

M 4.183 Sicherstellen der Verfügbarkeit und Performance des IIS

Verantwortlich für Initiierung: Leiter IT IT-Sicherheitsmanagement

Verantwortlich für Umsetzung: Administrator

Verfügbarkeit und Performance sind für den Erfolg eines Internet-Angebots von entscheidender Bedeutung. Lange Wartezeiten werden von keinem Anwender auf Dauer akzeptiert, deshalb muss ein Internet-Server ständig verfügbar und seine Reaktionszeit möglichst kurz sein. Insbesondere durch den Einsatz von SSL zur Verschlüsselung einer Kommunikationsverbindung wird die Performance eines Web-Servers stark beeinflusst.

In dieser Maßnahme werden Möglichkeiten vorgestellt, die Verfügbarkeit und die Performance von Server-Diensten zu erhöhen. Dabei werden sowohl einfache Standby-Lösungen für den Ausfall eines Systems als auch komplexe Verfahren für eine optimale Lastverteilung auf mehrere Server beschrieben.

Zu Beginn sind die bestehenden Server-Systeme und deren Netzanbindung zu betrachten. In der Regel befindet sich ein Web-Server hinter einer Firewall in einer so genannten demilitarisierten Zone (DMZ). Das bedeutet für die Firewall, dass sie ebenfalls hochverfügbar und performant auszulegen ist, wenn entsprechende Anforderungen an den Web-Server bestehen. Die beste Performance eines Web-Servers nützt nichts, wenn die Zugriffe durch mangelhafte Performance oder Ausfälle der Firewall beschränkt oder verhindert werden.

Cold-Standby-Lösung

Um die Verfügbarkeit eines Systems zu gewährleisten, wurden in der Vergangenheit so genannte Cold-Standby-Lösung eingesetzt. Ein zweiter, vorkonfigurierter Server wurde bereitgestellt, der nur beim Ausfall des laufenden Systems zum Einsatz kam. Eine solche Lösung trägt in der Regel nur wenig zum unterbrechungsfreien Betrieb und zur Skalierbarkeit des Gesamtsystems bei, da der zweite Server nicht im Regelbetrieb genutzt wird und die Umschaltung im Fehlerfall eine gewisse Zeit in Anspruch nimmt.

In modernen Systemen werden für diese Zwecke Server-Farmen, lastverteilende Systeme und Cluster eingesetzt.

Server-Farm

Eine Server-Farm besteht aus zwei oder mehreren Servern. Diese Server stellen die gleichen Dienste zur Verfügung und arbeiten mit gespiegelten Datenbeständen. Hierdurch wird die Verfügbarkeit und Performance skalierbar erweitert. Beim Ausfall eines Servers werden die Aufgaben von einem oder mehreren Servern der Farm übernommen. Werden die Server einer Farm an unterschiedlichen Orten (Räumen/Gebäuden) aufgestellt, kann der Betrieb sogar bei Brand, Wassereinbruch und Leitungsausfall der Netzanbindung usw. aufrecht erhalten werden.

Wie die einzelnen Anfragen an die Server einer Server-Farm verteilt werden, ist in den folgenden Abschnitten erörtert.

Round Robin

Zur Verteilung der Benutzeranfragen auf die einzelnen Server, z. B. in einer Server-Farm, bietet das Round-Robin-DNS-Verfahren eine einfache Möglichkeit. Beim Round-Robin-DNS werden im Domain Name Service (DNS) einem Hostnamen die IP-Adressen aller Server der Server-Farm zugeordnet. Anschließend meldet der DNS der Reihe nach diese IP-Adressen zurück, wenn Clients die IP-Adresse dieses Hostnamens dort erfragen. Auf diese Weise wird eine Aufteilung der Client-Anfragen auf die jeweiligen Server erreicht.

Ein Nachteil des Round-Robin-Verfahrens ist, dass weder der Ausfall noch die Auslastung der einzelnen Server berücksichtigt wird. Es ist also nicht ausgeschlossen, dass ein Benutzer auf einen Server gelenkt wird, der nicht mehr verfügbar oder stark ausgelastet ist.

Lastverteilung durch Load-Balancer

Besser als der Einsatz von Systemen mit einer statischen Lastverteilung ist der Einsatz eines Load-Balancer, der sowohl die Verfügbarkeit als auch die Auslastung eines Servers oder Dienstes berücksichtigt. Ist ein Server nicht verfügbar, so werden die Anfragen eines Benutzers auf einen anderen Server der Farm weitergeleitet. Idealerweise wird für jede Anfrage der Server mit der geringsten Auslastung gewählt.

Technisch ist für die gesamte Server-Farm nur eine Adresse für den Benutzer sichtbar. Diese ist auf dem Load-Balancer als virtuelle Adresse eingerichtet. Eine Anfrage auf diese Adresse leitet der Load-Balancer an einen realen Server der Farm weiter, wobei der Zugriff für den Benutzer völlig transparent erfolgt. Voraussetzung für eine solche Lösung sind identische, gespiegelte Inhalte auf allen beteiligten Web-Servern.

Lastverteiler stehen als Hard- und Software-Lösungen zur Verfügung. Hardware-Lösungen können aus dedizierten Geräten (Router, Bridges) bestehen, aber auch in bestehende Netzkomponenten, wie Switches, integriert sein. Mit Hilfe von Software-Lösungen können herkömmliche Unix/Linux-Rechner zum Load-Balancer aufgerüstet werde, andere Sofware-Lösungen werden direkt auf den betroffenen Servern installiert. Microsoft hat mit Windows Load Balancing Service (WLBS) für Windows NT Server diesen Weg gewählt. Bei Windows 2000 Advanced Server heißt der Load-Balancer Network Load Balancing (NLB). Bei WLBS/NLB kommen alle Client-Anfragen bei allen Servern der Farm an. Der für die Bearbeitung der Anfrage gewählte Server wird dann nach einem festen Schema bestimmt. Fällt einer der Server aus, werden die verbleibenden Server automatisch neu konfiguriert.

Wie die Anfragen an die einzelnen Server einer Farm verteilt werden, kann durch unterschiedliche Kriterien festgelegt werden. In der Regel wird nach der geringsten Anzahl bestehender Verbindungen (Least Connections), einer frei definierbaren Gewichtung (Weighting), der Systemauslastung (System Load) und der Antwortzeit (Round Trip Time) entschieden. Auch die bereits erörterte Methode Round Robin kann hier zum Einsatz kommen.

Um die Verfügbarkeit weiter zu erhöhen, sind Load-Balancer redundant auszulegen. In einer solchen Konstellation sollten die Load-Balancer mittels Failover verbunden sein. Über dieses Failover wird ständig der Status und die Konfiguration des Partners ermittelt. Fällt ein Load-Balancer aus, so übernimmt der Failover-Partner die bestehenden Verbindungen. Ausgenommen sind verbindungsorientierte, statusgebundene Verbindungen, wie z. B. telnet.

Durch Server-Farmen und Load-Balancer kann die Ausfallsicherheit und Lastverteilung von einfachen Server-Diensten erheblich erhöht werden. Für ein Web-Angebot mit einem ständig wechselnden größeren Datenbestand eignen sich diese Verfahren allerdings weniger, da die Replizierung oder Spiegelung der Daten sehr aufwendig sein kann. Sind komplexe Anwendungen abzusichern, so ist ein mehrstufiges System zu wählen, bei dem der Web-Server beispielsweise Transaktionen an separate Applikations- und Datenbank-Server weiterleitet.

Cluster

Clustering wird bei Servern eingesetzt, bei denen sich der Datenbestand häufig ändert und somit die Installation einer Server-Farm nicht geeignet ist. Beim Clustering arbeiten alle Systeme mit einem gemeinsamen, externen Datenbestand. Dieser gemeinsame Datenbestand befindet sich in der Regel auf einem externen RAID-Plattensystem. Der Systemstatus der beteiligten Rechner wird regelmäßig gesichert, so dass bei Ausfall eines Servers ein anderer die Funktion des ausgefallenen Servers übernehmen kann.

Auch bei den Cluster-Lösungen werden sowohl Cold-Standby- als auch Hot-Standby-Lösungen angeboten. Die Hot-Standby-Lösungen stellen den angebotenen Dienst innerhalb weniger Sekunden wieder zur Verfügung. Beispiele solcher Cluster-Systeme sind Microsoft Cluster Service (MSCS) der Windows NT 4.0 Enterprise Edition beziehungsweise des Windows 2000 Advanced Server, Hewlett-Packards Unix Cluster (mc/Service Guard), Suns Enterprise Cluster, Siemens ServerShield und Compaqs Online Storage Recovery System.

Die genannten Lösungen können aber nur dann greifen, wenn auch das Netzdesign für eine entsprechende Verfügbarkeit ausgelegt ist.

Ergänzende Kontrollfragen: