Ratgeber

So sichern Sie Ihr Linux-System ab

20.06.2008
Von Johannes Plötner und Steffen Wendzel
Auch Linux-Distributionen sind nicht automatisch vor Angriffen sicher. Wer sein System zuverlässig schützen will muss viele Aspekte beachten und typische Fehler vermeiden.

Die Absicherung eines Unix(artigen)-Systems kann sehr aufwendig sein, sofern Sie alle Pakete modifizieren, das Dateisystem härten, den Kernel patchen und vielleicht noch weitere Userspace-Absicherungen durchführen wollen. Um als Administrator um diese Aufgabe herumzukommen, können Sie zu einer speziellen, auf maximale Sicherheit getrimmte Linux-Distribution greifen.

Im Folgenden stellen wir Ihnen die wichtigsten Alternativen vor. Selbstverständlich verfügen alle Systeme über die wichtigsten Sicherheitsmerkmale, etwa Shadow-Passwörter. Auch unterstützt ein Großteil PAM, Kerberos, chroot/jailing, One-Time-Passwörter.

  • OpenBSD gilt als extrem sicheres System. Die Entwickler bemühen sich, den Code des Systems regelmäßig unter die Lupe zu nehmen und zu verbessern. Das OpenBSD-Projekt pflegt eigene modifizierte Versionen diverser Software-Pakete, unter anderem des GNU C Compilers (gcc-local) und des Apache Webservers. Zudem gehören Stack-Protection und integrierter Support für kryptographische Hardware zum Lieferumfang. Außerdem unterstützt OpenBSD systrace-Policies und enthält das von NetBSD stammende Dateisystem-IDS mtree. Das OpenBSD-Projekt entwickelt übrigens auch OpenSSH, den SSH-Dienst jeder Linux-Distribution und der meisten kommerziellen Unix-Systeme sowie aller anderen BSD-Derivate.

  • TrustedBSD basiert auf dem FreeBSD-System. Es implementiert Access Control Lists, zusätzliche Schutzattribute im UFS2-Dateisystem, einen Open-Source-Nachbau des BSM von Solaris (OpenBSM), das freie PAM »OpenPAM« sowie die BSD-Variante von SeLinux (für Mandatory Access Control Policies) namens »SeBSD«.
    Wie der Name bereits verrät, handelt es sich hierbei um eine gehärtete Version der Gentoo-Distribution. Hardened Gentoo (www.gentoo.org/proj/en/hardened/) enthält ? wie OpenBSD ? Pro-Police-Absicherung und Kernel-Patches wie SeLinux, Rule Set Based Access Control (RSBAC) sowie grsecurity inklusive PaX.

  • Hardened Linux ist eine Eigenentwicklung. Die Distribution basierte ursprünglich auf Slackware-Linux. Das Projekt existiert seit September 2006 und befindet sich derzeit noch in der Entwicklungsphase. Hardened Linux enthält den grsecurity-Kernel-Patch (inklusive PaX), modifizierte (gehärtete) Pakete, die standardmäßig sicherer sind als die Originale, und Userspace-Hardening.

Benutzer verwalten

Linux ist von Haus aus mehrbenutzerfähig, was sich nicht zuletzt am vielschichtigen Benutzer- und Rechtesystem zeigt. Ein normaler Benutzer hat dabei in aller Regel keinen Vollzugriff auf das System ? und das ist unter Sicherheitsgesichtspunkten auch gut so. Schließlich sind Schreibrechte nicht zwingend nötig, um Programme auszuführen. Auch ist es in der Regel so, dass normale Benutzer Geräte verwenden wollen, ohne neue Treiber für die Hardware-Komponenten zu konfigurieren. Zudem gehen einen User die Dateien der anderen Benutzer nichts an, es sei denn, der Zugriff wird explizit erlaubt.

Da der Eigentümer eine Eigenschaft des Prozesses ist, sollten Serverdienste im Kontext spezieller Benutzerkonten laufen. Der Grund liegt auf der Hand: Wird ein solcher Dienst durch einen Exploit dazu gebracht, Code eines Angreifers auszuführen, läuft dieser Code unter einem eingeschränkten Benutzerkonto. Wenn der Administrator nicht als root am System arbeitet und auch keine Dienste im Kontext dieses Benutzerkontos laufen lässt, ist eine gewisse Grundsicherheit gewährleistet.

Eine weitere sicherheitsrelevante Eigenschaft von Linux ist das Logging. Mit Logging lässt sich nachvollziehen, was auf dem System vor sich geht und welche Ereignisse bereits stattgefunden haben. Im Falle einer Systemkompromittierung lässt sich so ermitteln, wer sich wann und von welcher IP-Adresse aus eingeloggt hat. Bei Serverproblemen ist es dank der Protokollierung meist möglich herauszufinden, wo das Problem liegt und wie es sich beheben lässt.

Natürlich besteht der erste Schritt eines Angreifers in den meisten Fällen darin, die Logfiles zu manipulieren oder zu löschen. Kommt im Netzwerk aber ein zentraler Logging-Server zum Einsatz, wird dem Angreifer die Arbeit erschwert.