Verantwortlich für Initiierung: Leiter IT, IT-Sicherheitsmanagement
Verantwortlich für Umsetzung: Administrator
Rechner in einem sicherheitskritischen Umfeld sollten so konzipiert sein, daß sie möglichst wenig Angriffspunkte bieten. Da heutige Betriebssysteme standardmäßig viele Netzdienste bereitstellen, reicht für den Betrieb eines sicheren Servers ein gut konzipierter Serverdienst (z. B. ein SSL- basierter Webserver) nicht aus. Vielmehr muß auch das Betriebssystem abgesichert werden, da ansonsten über eine Schwachstelle im Betriebssystem die Sicherheitsfunktionen des Serverdienstes umgangen werden könnten. Ein sogenanntes minimales Betriebssystem zeichnet sich dadurch aus, daß es im Idealfall keinen einzigen Netzdienst zur Verfügung stellt. Ein potentieller Angreifer kann also eine Schwachstelle in einem Netzdienst dieses Betriebssystems nicht ausnutzen. Und sollte ein Angreifer doch durch eine Schwachstelle Zugriff auf den Rechner bekommen haben, so wird er durch das Minimalsystem weiter behindert. Je weniger Programme ein Angreifer auf einem Zielrechner vorfindet, desto schwieriger wird es für ihn, weitere Schwachstellen in dem Zielrechner zu finden bzw. auszunutzen. Außerdem erleichtert dies die Pflege eines Servers sehr stark, da die Patches bzw. Service Packs für Diensteprogramme nicht mehr eingespielt werden müssen, wenn diese nicht vorhanden sind.
Im folgenden wird die Konfiguration eines Betriebssystems anhand eines Internetservers beschrieben, da hier im allgemeinen sehr hohe Sicherheitsanforderungen an das Betriebssystem gestellt werden müssen.
Ein Internetserver hat meist nur eine einzige Aufgabe: stabil eine bestimmte Anzahl von Diensten (z. B. die Bereitschaft, E-Mail entgegenzunehmen) anderen Rechnern zur Verfügung zu stellen. Das zugrunde liegende Betriebssystem sollte keine weiteren Dienste anbieten. Deshalb sollte bei der Installation eines Internetservers folgendes Vorgehen eingehalten werden:
1. Grundinstallation des BetriebssystemsKann man bei der Installation den Umfang der zu installierenden Pakete beeinflussen, so sollten schon hier nur die notwendigen Pakete eingespielt werden. Die Notwendigkeit bestimmter Pakete ist allerdings nicht immer zu erkennen, so daß zumindest die offensichtlich überflüssigen Pakete nicht eingespielt werden sollten.
2. Abschalten nicht benötigter ProgrammeBeim Start eines Rechners werden eine Vielzahl von Programmen automatisch gestartet. Einige dieser Programme sind für einen Internetserver völlig überflüssig und sollten deaktiviert werden. Die Deaktivierung kann durch das Verhindern des automatischen Starts erfolgen (Startskripte unter Unix, Autostart und Dienstemanager unter Windows NT) und durch zusätzliches Löschen der entsprechenden Programme. Aus Gründen der Sicherheit wird das Löschen empfohlen, da dann ein Angreifer die Dienste nicht wieder reaktivieren kann. Allerdings ist es manchmal sehr schwierig, alle zu einem bestimmten Dienst gehörigen Dateien zu finden und zu löschen, so daß im Zweifel das Löschen unterbleiben sollte.
3. Konfiguration der NetzparameterFalls dies nicht schon bei der Installation geschehen ist, müssen die Netzparameter des Internetservers eingestellt werden. Relevant für die Sicherheit des Internetservers sind unter anderem die Wahl eines Default Gateways und eines Domain Name Servers. Findet beispielsweise die Kommunikation des Internetservers mit dem Internet über einen Proxy (siehe M 2.73 Auswahl eines geeigneten Firewall-Typs) statt, so ist ein Default Gateway überflüssig. Ohne ein Default Gateway ist eine direkte Antwort vom Internetserver ins Internet nicht möglich, so daß bei Umgehung des Proxies keine Kommunikation, d. h. auch kein Angriff, stattfinden kann. Auch DNS ist für einen Internetserver häufig überflüssig und sollte möglichst vermieden werden, da dies einen direkten Kommunikationskanal zum Betriebssystem ermöglicht (siehe M 4.96 ). Zusätzlich gibt es noch eine Vielzahl von Parametern, die den sogenannten TCP/IP-Stack direkt beeinflussen, z. B. die maximale Größe von IP-Paketen. Diese Parameter sind extrem stark vom jeweiligen Betriebssystem abhängig, so daß hier nur das Abschalten von IP-Forwarding erwähnt werden kann. Weitere Änderungen könnten beispielsweise die Stabilität gegenüber fehlerhaften IP-Paketen oder aber auch den Netzdurchsatz erhöhen.
4. Abschalten nicht benötigter NetzdiensteEinige benötigte Diensteprogramme stellen eine Vielzahl weiterer Dienste bereit (insbesondere ist hier der inetd unter Unix gemeint). Die entsprechenden Konfigurationsdateien sind auf die notwendigen Netzdienste einzuschränken (siehe auch M 5.16 Übersicht über Netzdienste).
5. Installation von SicherheitsprogrammenDas Betriebssystem sollte um zusätzliche Sicherheitsprogramme erweitert werden, falls diese nicht schon Teil des Betriebssystems sind. Insbesondere sinnvoll sind ein Integritätsprüfprogramm (siehe M 4.93 Regelmäßige Integritätsprüfung) und ein Softwarepaketfilter (bei Windows NT schon enthalten). Empfehlenswert sind zusätzlich Programme zur Virensuche und zur Auswertung der Protokolleinträge. Ist eine Fernadministration des Internetservers gewünscht, so muß ein entsprechendes Sicherheitsprodukt installiert werden, z. B. der Secure Shell Daemon (siehe M 5.64 ), und regelmäßig die Sicherheit des Systems überprüft werden (siehe auch M 4.26 Regelmäßiger Sicherheitscheck des Unix-Systems).
6. Konfiguration und Überprüfung der NetzdiensteIdealerweise stellt ein minimales Betriebssystem keinen einzigen Netzdienst zur Verfügung und ist somit von außen nicht angreifbar. Gerade in größeren Netzen ist dieses Vorgehen aufgrund der Administration nicht mehr praktikabel, so daß ein Fernzugang notwendig ist. Ob der Internetserver Dienste bereitstellt, kann sowohl unter Unix als auch Windows NT mit dem Befehl netstat -a überprüft werden. Jeder der aufgelisteten Dienste sollte in seiner Konfiguration so eingeschränkt werden, daß nur berechtigte Rechner auf ihn zugreifen können (z. B. ist der Fernzugang zum Internetserver auf die Rechner des Netzmanagements einzuschränken).
7. Löschen nicht mehr benötigter ProgrammeSobald die Installation eines minimalen Betriebssystems abgeschlossen ist, sollten verschiedene Programme gelöscht werden, die einem potentiellen Angreifer hilfreich sein könnten. Insbesondere sind eventuell vorhandene Compiler zu entfernen, da diese einem Angreifer ein wertvolles Hilfsmittel sein könnten. Außerdem sind Compiler auf Internetservern auch deshalb nicht sinnvoll, da diese Rechner Produktionsmaschinen sind und Programmentwicklung und Tests auf anderen Rechnern durchgeführt werden sollten. Ebenfalls denkbar ist das Löschen aller Editoren, was einem Angreifer die Manipulation von Konfigurationsdateien sehr stark erschweren würde. Allerdings ist dann auch die Administration komplizierter. Bei Änderungen an Konfigurationsdateien muß dann jeweils wieder ein Editor installiert werden oder aber, und dies ist empfehlenswert, die Konfigurationsdateien müssen auf einem anderen Rechner editiert und dann überspielt werden.
Ein minimales Betriebssystem sollte natürlich kein Selbstzweck sein. Für einen Internetserver muß selbstverständlich noch der eigentliche Serverdienst installiert werden. Ob dies am Ende der obigen Liste geschieht oder beispielsweise zwischen den Punkten 6 und 7 oder auch direkt nach Punkt 1, hängt von der jeweiligen Installation ab. Problematisch wird es, wenn die Installation wegen fehlender Betriebssystempakete fehlschlägt, da man dann die fehlenden Pakete suchen und selber nachinstallieren muß. Besser wäre es, der Hersteller des Serverdienstes gäbe die Betriebssystemabhängigkeiten an, so daß das Minimalsystem von Anfang an darauf ausgerichtet werden könnte.
Auch ein mit einem Minimalsystem konfigurierter Rechner ist nicht gänzlich vor Angriffen geschützt. Die wahrscheinlichste Ursache für einen erfolgreichen Angriff ist sicherlich der Serverdienst, aber auch das Minimalsystem selber ist noch angreifbar, insbesondere nämlich der TCP/IP- Stack, der die Netzpakete zur Applikation weiterleiten muß. Nahezu alle bisher bekannt gewordenen Angriffe gegen den TCP/IP-Stack betrafen allerdings nur die Verfügbarkeit, indem die betroffenen Rechner abstürzten, d. h. ein Eindringen in Rechner ist noch nicht beobachtet worden. Um auch diese Gefahr weiter zu verkleinern, sollte auch M 4.98 Kommunikation durch Paketfilter auf Minimum beschränken umgesetzt werden.
© Copyright by Bundesamt für Sicherheit in der Informationstechnik 2000.