Sie befinden sich hier: Themen IT-Grundschutz-Kataloge. Inhalt. Dokumententitel: M 4.192 Konfiguration des Betriebssystems für einen Apache-Webserver - IT-Grundschutz-Kataloge - Stand 2006
direkt zu der Navigation Servicebereich. direkt zu der Hauptnavigation. direkt zur Themennavigation. direkt zum Seiteninhalt.

M 4.192 Konfiguration des Betriebssystems für einen Apache-Webserver

Verantwortlich für Initiierung: Administrator, IT-Sicherheitsmanagement

Verantwortlich für Umsetzung: Administrator

Das Betriebssystem des Rechners, auf dem ein Apache-Webserver installiert werden soll, muss vor der Installation sicher und möglichst "schlank" konfiguriert werden. Der Rechner sollte keine anderen als die zum Betrieb des Webservers nötigen Dienste nach außen anbieten. Alle anderen nicht benötigten Systemdienste und Programme sollten so weit wie möglich entfernt werden. Allgemeine Hinweise zur Konfiguration finden sich beispielsweise in den Bausteinen B 3.102 Unix-Server und B 3.106 Windows 2000 Server.

Diese Maßnahme beschreibt einige zusätzliche Schritte, die unternommen werden sollten, wenn ein Rechner für die Installation eines Apache-Webservers vorbereitet wird.

Auf dem Webserver-Rechner sollte kein Compiler installiert sein. Soll der Apache-Webserver aus den Quelltexten kompiliert werden, so sollte dies nicht auf dem Produktionsrechner geschehen, sondern auf einem entsprechend ausgestatteten und konfigurierten Entwicklungsrechner. Außer den Skriptsprachen-Interpretern oder Laufzeitumgebungen (beispielsweise Perl, PHP oder die Java-Runtime), die für die Systemadministration oder die Realisierung dynamischer Webseiten benötigt werden, sollten keine weiteren Laufzeitumgebungen installiert sein.

Client-Programme zum Einloggen auf andere Rechner oder zum Herunterladen von Dateien aus dem Internet (beispielsweise ssh- oder Telnet-Clients, Webbrowser, ftp-Clients oder wget) sollten möglichst nicht auf dem Webserver installiert sein, sofern sie nicht für den Betrieb des Webservers unbedingt benötigt werden.

Sind keine derartigen Programme installiert, so kann dies weniger versierte Angreifer daran hindern, nach dem erfolgreichen Ausnutzen einer Sicherheitslücke den Webserver dauerhaft zu kompromittieren, da sie dazu oft Dateien (etwa rootkits oder Backdoor-Programme) von anderen Rechnern unter ihrer Kontrolle herunterladen müssen.

Soll der Apache-Webserver unter Windows installiert werden, so kann zusätzlich M 4.174 Vorbereitung der Installation von Windows NT/2000 für den IIS berücksichtigt werden.

Das Verzeichnis, das die WWW-Dateien enthalten soll wird im Apache-Webserver mit der Konfigurationsdirektive DocumentRoot festgelegt. Das dafür vorgesehene Verzeichnis sollte in einem eigenen Filesystem (unter Unix) bzw. auf einer eigenen Partition (unter Windows) angelegt werden.

Das Verzeichnis, das für die Logdateien des Apache-Webservers vorgesehen ist, sollte ebenfalls in einem eigenen Filesystem bzw. auf einer eigenen Partition angelegt werden. Je nach Auslastung des Webservers und dem gewählten Logformat können die Logdateien schnell eine beträchtliche Größe annehmen. Daher sollte das entsprechende Filesystem von vorne herein genügend groß angelegt werden.

Unter Windows sollte auf jeden Fall NTFS als Dateisystem gewählt werden, da FAT keine sinnvolle Benutzertrennung und Rechtevergabe erlaubt. Sofern das Betriebssystem verschiedene Filesystem-Typen unterstützt, sollte ein Filesystem gewählt werden, das eine möglichst gute Performance beim Lesen von Dateien bietet.

Erfolgt die Administration des Serverrechners nicht lokal, so sollten zur Administration des Server-Betriebssystems nur entsprechend sichere Produkte bzw. Protokolle verwendet werden. Gleiches gilt, falls die WWW-Dateien nicht über Wechseldatenträger, sondern über das Netz auf den Webserver übertragen werden. Telnet und ftp sollten nicht eingesetzt werden, stattdessen sollte ssh bzw. sftp benutzt werden.

Bei der Standardinstallation eines Betriebssystems werden oft Accounts (Benutzerkonten) angelegt, die in der Minimalkonfiguration, wie sie für einen Webserver hergestellt werden sollte, nicht benötigt werden. Diese Accounts sollten gelöscht oder zumindest deaktiviert werden. Stattdessen sollte für den Apache-Webserver ein eigener Account (etwa apache) und eine eigene Gruppe eingerichtet werden, der über möglichst wenig Rechte verfügt. Unter diesem Account sollte insbesondere keine interaktive Anmeldung am System möglich sein. Dazu kann dem Apache-Account beispielsweise auf den meisten Unix-Systemen die Login-Shell /bin/false zugeordnet werden.

Soll der Rechner als öffentlicher Webserver dienen und in einer Firewall-Umgebung aufgestellt werden, so sollte in Erwägung gezogen werden, die Logdateien des Systems und gegebenenfalls auch des Apache-Webservers nicht nur auf dem Rechner selbst zu speichern, sondern auf einen zweiten Rechner zu kopieren. Wie dies konkret implementiert wird, hängt stark von der jeweiligen Einsatzumgebung ab, so dass an dieser Stelle keine detaillierten Empfehlungen gegeben werden können. Prinzipiell sollte jedoch die Übertragung der Logdaten auf den anderen Rechner so gelöst werden, dass keine Verbindung aus der Firewall-Umgebung in das interne Netz geschaffen wird, die eventuell von einem Angreifer ausgenutzt werden könnte.

Ergänzende Kontrollfragen: