M 4.182 Überwachen des IIS-Systems
Verantwortlich für Initiierung: Leiter IT, IT-Sicherheitsmanagement
Verantwortlich für Umsetzung: Administrator
Die Überwachung aller IIS-Systeme ist wichtig, um Zugriffe auf den Server zu dokumentieren und Angriffe erkennen zu können. Hierzu stellt der IIS mehrere Protokollformate und eine Vielzahl von Protokollierungsoptionen zur Verfügung. Diese Optionen sind im Eigenschaftsfenster einer Web-Seite zu konfigurieren.
Für die Protokollierung stehen vier Protokollformate zur Verfügung:
- Microsoft IIS ist ein festes ASCII-Format, dass das Standardformat für den IIS ist. Es steht seit der ersten Version des IIS zur Verfügung. In diesem Format werden mehr Informationen aufgezeichnet als im NCSA-Format (National Center for Supercomputing Applications), es kann jedoch bezüglich des Layouts nicht angepasst werden.
- NCSA allgemein ist ebenfalls, wie das Protokollformat Microsoft IIS, ein festes ASCII-Format, welches nicht angepasst werden kann. Es werden nur die elementaren Informationen in Bezug auf die Aktivitäten um den IIS-Dienst gespeichert. Dieses Dateiformat kann nicht für FTP-Sites verwendet werden.
- ODBC ist eine Option, mit der die Protokolle direkt über eine ODBC-Datenquelle in einer Datenbank gespeichert werden können.
- W3C-erweitert ist ein Protokollformat, das dem Standard des W3C (World Wide Web Consortium) entspricht. Die Protokolldateien werden im ASCII-Format gespeichert und der Inhalt kann angepasst werden. Alle Zeiteinträge werden in UTC-Zeit aufgezeichnet.
Für die Protokollierung des IIS sollte das W3C-erweiterte Format gewählt werden, da es die umfangreichsten Konfigurationsmöglichkeiten aufweist. Die folgende Tabelle zeigt einen Überblick über mögliche Protokolloptionen (Feld) und deren Kennzeichnung in der Protokolldatei.
Das W3C-erweiterte Protokollformat:
Feld | Kennzeichnung | Beschreibung |
---|---|---|
Datum |
date |
Das Datum, an dem die Aktivität aufgetreten ist. |
Zeit |
time |
Die Zeit, zu der die Aktivität aufgetreten ist. |
Client-IP-Adresse |
c-ip |
Die IP-Adresse des Clients, der auf den Server zugegriffen hat. |
Benutzername |
c-username |
Der Name des Benutzers, der auf den Server zugegriffen hat. |
Dienstname |
s-sitename |
Der Name des Internet-Dienstes, der vom Client-Computer angesprochen wurde. |
Server-Name |
s-computername |
Der Name des Servers, auf dem der Protokolleintrag generiert wurde. |
Server-IP |
s-ip |
Die IP-Adresse des Servers, auf dem der Protokolleintrag generiert wurde. |
Server-Anschluss |
s-port |
Die Anschlussnummer, mit der der Client verbunden ist. |
Methode |
cs-method |
Die Aktion, die der Client auszuführen versucht hat (zum Beispiel ein GET-Befehl). |
Stamm-URI |
cs-uri-stem |
Die Ressource, auf die zugegriffen wurde, zum Beispiel eine HTML-Seite, ein CGI-Programm oder ein Script. |
URI-Abfrage |
cs-uri-query |
Die Abfrage, die der Client gegebenenfalls auszuführen versuchte, d. h. eine oder mehrere Suchzeichenfolgen, für die der Client nach einer Übereinstimmung gesucht hat. |
HTTP-Status |
sc-status |
Der Status der Aktion in HTTP-Terminologie. |
Win32-Status |
sc-win32-status |
Der Status der Aktion in der von Windows NT/2000 verwendeten Terminologie |
Bytes gesendet |
cs-bytes |
Die Anzahl der vom Server gesendeten Bytes. |
Bytes empfangen |
sc-bytes |
Die Anzahl der vom Server empfangenen Bytes. |
Zeitdauer |
time-taken |
Die Zeitspanne, die für die Aktion benötigt wurde. |
Protokollversion |
cs-protocol |
Die Protokollversion (HTTP, FTP), die vom Client verwendet wird. Für HTTP ist dies entweder HTTP 1.0 oder HTTP 1.1. |
Benutzeragent |
cs(User-Agent) |
Der auf dem Client verwendete Browser. |
Cookie |
cs(Cookie) |
Der Inhalt des gesendeten oder empfangenen Cookie, falls vorhanden. |
Referenz-URI |
cs(Referer) |
Die Site, in der ein Benutzer auf einen Hyperlink geklickt hat, der ihn zu dieser Site geführt hat. |
Tabelle: Das W3C-erweiterte Protokollformat
Eine minimale Protokollierung sollte folgende Informationen beinhalten:
- Datum,
- Zeit,
- Client IP-Addresse,
- Benutzername,
- Methode,
- Stamm-URI,
- WIN32-Status,
- HTTP-Status,
- Benutzeragent,
- Server IP-Adresse und
- Server-Anschluss.
Zu beachten ist, dass der IIS in der Standardkonfiguration auch Standardnamen für die Protokolldateien in Abhängigkeit vom gewählten Format (z. B. W3C-erweitert) verwendet. Das bedeutet, dass die Protokolldaten für alle Dienste in einer einzigen Protokolldatei abgelegt werden. Es besteht jedoch die Möglichkeit, für jede Web-Seite und FTP-Site ein eigenes Verzeichnis für die Protokollierung auszuwählen, um die Protokolle besser auswerten zu können und von einander zu trennen. Diese Vorgehensweise wird empfohlen. Außerdem können die Protokolldateien so auf ein gesondertes Laufwerk ausgelagert und zentral verwaltet werden.
Im IIS 5.0 wurden die Protokollierungsmöglichkeiten erweitert. Er enthält eine Funktion, mit der die CPU-Auslastung des Servers in Zusammenhang mit der Web-Seite überwacht werden kann. Diese Funktion ist nur bei Verwendung des Protokollformats W3C-erweitert verfügbar. Dabei wird die Prozessorauslastung pro Web-Seite protokolliert, Daten auf Script- und Anwendungsebene werden nicht dokumentiert.
Die Protokolldateien sind durch geeignete ACLs (Access Control Lists) vor unberechtigten Zugriffen zu schützen. Dadurch wird böswilligen Benutzern die Möglichkeit genommen, durch Löschen von Protokolldateien Spuren zu beseitigen. Die Zugriffsrechte auf die vom IIS erzeugten Protokolldateien sollten höchstens wie folgt eingestellt werden:
- Administrator (Vollzugriff) und
- System (Vollzugriff).
Die Sicherung und Auswertung der Protokolldateien sollte regelmäßig erfolgen. Für die Sicherung der Dateien bietet Microsoft verschiedene Speicheroptionen an. Beispielsweise können Dateien stündlich, täglich, wöchentlich, monatlich oder in Abhängigkeit von ihrer Dateigröße gesichert werden. Die Auswahl dieser Optionen sollte unter Berücksichtigung des zu erwartenden Verkehrs und somit der zu erwartenden Protokolldaten erfolgen.
Regelungen zur Auswertung der Dateien sind in einer geeigneten, allgemein verbindlichen Vorgabe zu dokumentieren (siehe M 2.64 Kontrolle der Protokolldateien .