Sie befinden sich hier: Themen IT-Grundschutz-Kataloge. Inhalt. Dokumententitel: M 4.195 Konfiguration der Zugriffssteuerung beim Apache-Webserver - IT-Grundschutz-Kataloge - Stand 2006
direkt zu der Navigation Servicebereich. direkt zu der Hauptnavigation. direkt zur Themennavigation. direkt zum Seiteninhalt.

M 4.195 Konfiguration der Zugriffssteuerung beim Apache-Webserver

Verantwortlich für Initiierung: Leiter IT, IT-Sicherheitsmanagement

Verantwortlich für Umsetzung: Administrator

Für die Einrichtung von Zugriffsbeschränkungen auf den Apache-Webserver oder einzelne Bereiche des Webangebots gibt es beim Apache-Webserver verschiedene Möglichkeiten, die teilweise bereits im Webserver-Programm selbst implementiert sind, teilweise über Erweiterungsmodule eingebunden werden können. Zwei verbreitete Arten der Zugriffssteuerung sind die Beschränkung des Zugriffs auf bestimmte IP-Adressbereiche oder Domains (beispielsweise im Intranet) und die Abfrage eines Benutzernamens und eines Passworts beim Zugriff auf bestimmte Ressourcen (siehe auch M 4.176 Auswahl einer Authentisierungsmethode für Webangebote).

Beschränkungen auf IP-Adressen und Domains

Das Modul mod_access bietet die Möglichkeit, den Zugriff auf den Webserver oder auf Teilbereiche des Webangebots auf bestimmte IP-Adressen oder Domains zu beschränken. Beispielsweise würde durch

der Zugriff auf das Verzeichnis Abteilung1 nur solchen Clients erlaubt, die eine IP-Adresse der Form 10.0.0.x haben. Analog kann der Zugriff mittels

für alle Anfragen aus der Domain bund.de erlaubt werden. Diese Art von Zugriffsbeschränkungen bieten allerdings nur einen schwachen Schutz vor unbefugtem Zugriff, da sie durch IP-Spoofing oder DNS-Spoofing relativ leicht umgangen werden können.

Zusätzlich bietet mod_access weitere Möglichkeiten für Zugriffsbeschränkungen, etwa basierend auf bestimmten HTTP-Header-Zeilen. Da HTTP-Header aber sehr leicht mitgelesen oder gefälscht werden können, eignet sich dies nur sehr beschränkt für Zugriffssteuerung.

Benutzernamen und Passwörter

Die HTTP-Basic-Authentisierung ist beim Apache-Webserver direkt im "Kern" des Webserver-Programms implementiert. Dabei wird beispielsweise der Zugriff auf ein Verzeichnis folgendermaßen passwortgeschützt:

In diesem Fall muss ein Benutzer, der auf dieses Verzeichnis zugreifen will, einen Benutzernamen und ein Passwort angeben, die dann mit den Benutzername-Passwort-Kombinationen in der Datei /var/auth/wwwusers verglichen werden. Der Zugriff wird für alle gültigen Kombinationen gestattet. Alternativ kann der Zugriff mit der Direktive

der Zugriff nur für den Benutzer "Mitarbeiter" gestattet werden.

Dabei ist die Datei /var/auth/wwwusers eine Datei im .htpasswd-Format, die ähnlich einer normalen passwd-Datei unter Unix aufgebaut ist. htpasswd-Dateien können mit dem Programm htpasswd erzeugt und gepflegt werden, das zum Apache-Paket gehört. Sie enthalten Usernamen und die Hashwerte der Passwörter. Aus diesem Grund dürfen .htpasswd-Dateien niemals innerhalb des WWW-Dateibaums gespeichert werden, da sie sonst von Angreifern heruntergeladen werden könnten. Offline ist es dann leicht, die Passwörter zu knacken, da die Passwörter nur mit dem normalen, veralteten Unix crypt-Verfahren gehasht werden.

Neben der Zugriffskontrolle auf Verzeichnisse können analog auch URL-Bereiche mit der <Location> Direktive geschützt werden.

Weitere Authentisierungsmechanismen sind beim Apache-Webserver über Erweiterungsmodule realisiert. Dies sind unter anderem:

Da HTTP ein Klartext-Protokoll ist, bietet die Benutzerauthentisierung über HTTP-Basic nur sehr schwachen Schutz vor unbefugtem Zugriff. Daher dürfen beispielsweise keinesfalls solche Benutzernamen und Passwörter zur Authentisierung über HTTP-Basic verwendet werden, die auch für die Anmeldung an internen Systemen benutzt werden.

Sollen (etwa zur Realisierung einer Art "Single-Sign-On") Benutzernamen und Passwörter anderer Systeme für die Benutzerauthentisierung beim Apache-Webserver verwendet werden, so muss die Übertragung durch die Verwendung von SSL (siehe auch M 5.107 Verwendung von SSL im Apache-Webserver) gesichert werden.

Einsatz von SSL

Mit dem Modul mod_ssl kann SSL beim Apache-Webserver eingesetzt werden. Neben der Verschlüsselung der Verbindung und der Authentisierung des Servers gegenüber dem Client mittels Server-Zertifikat bietet mod_ssl auch die Möglichkeit, mittels Client-Zertifikaten Zugriffsbeschränkungen zu implementieren. Die Apache-Dokumentation enthält eine größere Zahl gut dokumentierter Beispiele für solche Konfigurationen.

Ergänzende Kontrollfragen: