So werden Linux-Server sicher

28.02.2005
Linux ist nicht sicherer als Windows, es hat mit den gleichen Problemen zu kämpfen. Erst das Härten des Systems schützt vor möglichen Angriffen.

Seit die Open-Source-Plattform Linux an Beliebtheit gewinnt, wird darüber debattiert, ob sie auch im Hinblick auf Sicherheit eine Alternative zu Microsofts Windows darstellt. Für Aufsehen sorgte beispielsweise eine Studie von Forrester Research, die im vergangenen Jahr zu dem Schluss kam, dass Microsofts Betriebssystem sicherer ist als die Linux-Distributionen von Debian, Mandrakesoft, Red Hat und Suse.

Den Analysten zufolge wurden während des Untersuchungszeitraums von Juni 2002 bis Mai 2003 bei den Open-Source-Produkten viel mehr kritische Schwachstellen entdeckt, außerdem hinkte die Open-Source-Gemeinde bei der Bereitstellung von Patches der Konkurrenz aus Redmond hinterher.

Schwachstellen unter Linux

Tobias Klein, Berater beim auf Sicherheit spezialisierten Dienstleister Cirosec in Heilbronn, hält von dieser Art der Gegenüberstellung nichts. Der Linux- und Sicherheitsspezialist gibt keinem Betriebssystem den Vorzug: "Beide Plattformen haben in der Vergangenheit ihre Probleme gehabt und werden sie auch in Zukunft haben."

Gerade die häufig auftretenden Sicherheitslücken im Zusammenhang mit Buffer Overflows existieren laut Klein in beiden Welten. Auch im Hinblick auf die Häufigkeit, mit der die Fehler auftreten, "schenken sich die Systeme nichts". Jedes der beiden Betriebssysteme bietet mit den ihm eigenen Bordmitteln die Möglichkeit, es gegen Angriffe einigermaßen abzusichern. Der Grad der Sicherheit hängt letztlich davon ab, wer die jeweilige Plattform administriert.

Grundsätzlich sind Dienste, die unter Linux laufen, genauso anfällig wie ihre Pendants unter Windows. Das bestätigt ein Blick auf die aktuelle Liste der häufigsten System-Schwachstellen unter Unix/Linux und Windows, die das System-Administration-, Networking- and Security-(SANS-)Institute seit einigen Jahren regelmäßig erstellt. Dort sind beispielsweise Web-Server und -Services sowie Authentifizierungsdienste in beiden Welten unter den fünf größten Gefahren zu finden.

Um diese und andere Schwachstellen zu beseitigen, müssen Administratoren, die einen Linux-Server einrichten wollen, bestimmte Maßnahmen ergreifen, um das System abzusichern. Indem nicht benötigte Dienste deaktiviert beziehungsweise gar nicht erst installiert werden, lässt sich ein Linux-System härten. Das ist im Prinzip auch unter Windows möglich, jedoch hat das Open-Source-OS hier einen kleinen Vorteil. "Unter Windows sind die Funktionen nach wie vor vorhanden", weiß Experte Klein. Linux hingegen lässt sich auf diese Weise schlank halten.

Bevor es jedoch ans Härten geht, muss zunächst genau überlegt werden, welche Software später auf dem Server genutzt werden soll. Dies ist auch deshalb wichtig, weil viele Probleme erst im Zusammenspiel zwischen den Programmen und dem Betriebssystem entstehen. Daher sollten nur die Applikationen installiert werden, die für den produktiven Einsatz wichtig sind.

Anschließend lässt sich entscheiden, welche Betriebssystem-Dienste aufzuspielen sind. Klein empfiehlt, eine Liste anzufertigen, aus der genau die Services hervorgehen, die die Anwendungen benötigen. Mit dieser ist es dann möglich, eine Minimalinstallation des Linux-Systems anzufertigen, die keine unnötigen Client- und Server-Dienste enthält.

Generelle Aussagen über benötigte beziehungsweise überflüssige Komponenten lassen sich aber leider nicht treffen. Das hängt im Einzelnen nicht nur von der jeweiligen Applikation ab, sondern auch von der verwendeten Linux-Distribution. In jedem Fall ist Vorsicht angeraten, da Übereifer beim Weglassen von Diensten später zur Folge haben kann, dass eine Anwendung nicht läuft. Es empfiehlt sich, im Zweifelsfall Rücksprache mit dem jeweiligen Hersteller zu halten, welche Dienste für den einwandfreien und stabilen Betrieb erforderlich sind. SAP beispielsweise verweist auf seinen "Security-Leitfaden". Dieser enthalte ausführliche Informationen dazu, wie ein Linux-System zu härten ist, etwa indem bestimmte Ports und Services nach außen geschlossen werden.

"Die Hersteller kümmern sich von sich aus in der Regel aber nicht um solche Aspekte", warnt Experte Klein. Unternehmen seien häufig gezwungen, sich einen Spezialisten ins Haus zu holen, der die Installation unter die Lupe nimmt. Anders sehe es aus, wenn der Anbieter sein Produkt als Hardware-Appliance liefert, bei der sowohl das Betriebssystem als auch die eigentliche Anwendung vorinstalliert sind.

Durch das Härten eines Systems können Konflikte im Bereich der Supportverträge entstehen. Oracle beispielsweise hat per Zertifizierung bestätigt, dass seine Datenbank für die Installation auf "Suse Enterprise Linux" geeignet ist. Der Anwender muss jedoch überprüfen, welche Dienste er weglassen darf, damit der Distributor das Betriebssystem immer noch als Suse Enterprise anerkennt und entsprechend Support leistet. Wird beispielsweise "Yast" entfernt, gibt es von Suse keinen Support mehr, warnt Klein. Dieses Problem existiert jedoch genauso im Windows-Umfeld: Auch dort ist es nicht ratsam, einfach irgendwelche Dienste zu deaktivieren oder Registry-Einträge zu setzen, die das System absichern.

Patchen auch bei gehärtetem System

In der Praxis sieht es häufig so aus, dass externe Spezialisten wie Cirosec-Mann Klein zunächst eine Härtungsanleitung erstellen und Tipps geben, wie sich das System absichern lässt. Anschließend vergleicht der Anwender diese Anforderungen mit den Supportverträgen und trifft eine Entscheidung, ob es Konflikte gibt, die dann mit dem Distributor zu klären sind. Sind keine Ausnahmeregelungen möglich, muss das Unternehmen abwägen, ob der Support wichtiger ist als die Sicherheit.

Unternehmen sollten außerdem bedenken, dass ein gehärtetes Linux keine dauerhafte Installation darstellt, die nie mehr angefasst werden muss. So sind beispielsweise Kernel-Updates zu installieren, außerdem müssen Anwender neu auftauchende Schwachstellen schließen, indem sie die jeweiligen Patches einspielen. Von Vorteil ist hier einmal mehr die Minimalinstallation: Durch die geringere Zahl der installierten Dienste reduziert sich auch die Zahl der zu berücksichtigenden Software-Updates.

In welcher Regelmäßigkeit Patches für bestimmte Linux-Versionen erscheinen und den Anwendern bereitgestellt werden, ist dabei ganz unterschiedlich. Die Analysten von Forrester Research fanden im vergangenen Jahr heraus, dass im Schnitt 32 bis 56 Tage vergehen, ehe ein Patch entwickelt und verfügbar ist. Klein führt dies darauf zurück, dass die hierfür nötigen Strukturen im Open-Source-Umfeld noch nicht so ausgeprägt sind wie bei der kommerziellen Konkurrenz.

Hat ein Unternehmen ein Minimalsystem erst einmal in Betrieb genommen und die Anwendungen installiert, gilt es als nächstes, die lokalen Angriffspunkte so weit wie möglich zu reduzieren. Dazu gehört beispielsweise, die Zahl der privilegierten Programme so gering wie möglich zu halten. Um welche es sich dabei im Einzelnen handelt, lässt sich nicht verallgemeinern, weil sich eine Red-Hat-Installation anders verhält als eine von Debian oder Suse.

Für ein noch höheres Maß an Sicherheit ist es möglich, den Kernel zusätzlich zu schützen oder bestimmte Zusatzfunktionen im Kernel zu nutzen. Das können Maßnahmen sein, die die Ausnutzung bestimmter Speicherschwachstellen wie Buffer Overflows, Integer Overflows oder Format-String-Fehler erschweren. Ein Beispiel hierfür sind Kernel-Erweiterungen wie die "grsecurity"-Patches (http://www. grsecurtiy.net). Diese unterbinden unter anderem die Ausführung von Programmcode innerhalb verschiedener Speicherbereiche und platzieren die systemweiten Bibliotheken bei jeder Programmausführung zudem an einen nur schwer vorhersagbaren Speicherbereich. "Dadurch wird es für einen Angreifer extrem schwer, diese Schwachstellen auszunutzen", erläutert Sicherheitsexperte Klein.

Erweiterungen für mehr Sicherheit

Er fügt hinzu, dass auch eine zusätzliche Rechtestruktur den Schutz verbessern kann. Diesen Ansatz verfolgt beispielsweise das von der US-amerikanischen Sicherheitsbehörde National Security Agency (NSA) entwickelte Security Enhanced Linux (SE-Linux. Es lässt einen Angreifer eine Schwachstelle zwar ausnutzen, schränkt seine Zugriffsrechte aber so stark ein, dass dadurch möglicher Schaden verhindert wird.

Auch die Distributoren greifen derlei Ansätze auf. So enthält die Version 4.0 von Red Hat Enterprise Linux Sicherheitstechniken aus SE-Linux. Außerdem hat der Hersteller ein eigenes Verfahren entwickelt, um das Ausnutzen von Speicherschwachstellen zu erschweren.

Letztlich hängt es allerdings stark vom jeweiligen Anwender ab, wie sicher ein Linux-System ist. Dazu braucht es einiges Know-how, wie Experte Klein bestätigt: "Ich kann mit Linux zwar viel einstellen, aber 90 Prozent davon sind nur in Handarbeit zu erledigen." Tools seien wenig hilfreich, denn damit lassen sich nur bestimmte Aufgaben erledigen. Für tiefer gehende Eingriffe in das System sind jedoch - genauso wie im Windows-Umfeld - Experten nötig, die sich im Programm genau auskennen.

Sind diese Kenntnisse vorhanden, lässt sich auch das Thema Sicherheit in den Griff bekommen. Die Plattform alleine spielt im Vergleich dazu eine untergeordnete Rolle: Ob ein Unternehmen einen Web-Server mit Windows Server 2003 und IIS 6.0 oder Suse Enterprise und einer aktuellen Apache-Version aufsetzt, macht im Prinzip keinen großen Unterschied. Wenn Spezialisten am Werk sind, entsprechen die Systeme letztlich dem gleichen Sicherheitsstandard, findet Cirosec-Mann Klein: "Der Administrator entscheidet darüber, wie sicher der Server ist."