Tutorials - Ein sicheres Linux System aufsetzen Teil 0.0 - Linux härten

Sprachenübersicht/Betriebssysteme/Linux/Security

Ein sicheres Linux System aufsetzen Teil 0.0 - Linux härten

Diese Seite wurde 26509 mal aufgerufen.

Dieser Artikel wurde in einem Wikiweb System geschrieben, das heißt, Sie können die Artikel jederzeit editieren, wenn Sie einen Fehler gefunden haben, oder etwas hinzufügen wollen.

Editieren Versionen Linkpartnerschaft Bottom Printversion

Keywords: Linux sicher, Linux härten, Debian, Dienste entfernen

Abbildung

Inhaltsverzeichnis



Vorwort Top



Diese Tutorialserie beschäftigt sich damit, ein sicheres Linux-System aufzusetzen.

Dieser Teil soll Linux, im speziellen Debian allgemein härten, die folgenden Teile sollen SELinux integrieren. Der Artikel "Linux härten" muss nicht fließend gelesen werden, Sie können sich die Teile heraussuchen, die Sie brauchen. Es ist eine Sammlung von Tipps, die Sie mehr oder weniger beachten sollten.

Tutorials in dieser Artikelserie Top



  • Teil 0.0 - Linux härten








Die Installation Top



  • Vorbereitung

    Sie sollten darauf achten die Installation möglichst in einem sicheren System zu erledigen. Meistens ist zwischen dem release der CD und der Installation schon einige Zeit vergangen, und es gibt mittlerweile viele Sicherheitslücken. Wenn Traffic keine Rolle spielt, laden Sie sich am besten das komplette Betriebssystem per Netzwerkinstallation vom Server. Debian bietet eine Visitenkarten-Installation an, die einiges vom Basesystem ebenfalls vom Internet downloaded.

    Wenn es nicht anders geht, laden Sie sich die Updates schon vor der Installation herunter.


  • Partitionieren

    Überlegen Sie sich wie sie so Partitionieren, das Angreifer eingeschränkt werden. /home, /tmp, und /var/tmp sollten eigenständige Partitionen sein, so das Benutzer nicht ihr / Verzeichnis vollschreiben können. (DOS) Statische Daten können Sie auf eine eigene Partition legen, und nur lesbar mounten. Falls Sie einen Mailserver betreiben sollten Sie sich überlegen eine sperate Partition für die Mail Warteschleife zu erstellen, normale Benutzer könnten diese Verzeichnisse überfüllen (/var/spool/mail oder /var/mail.



  • Während der Installation

    Achten Sie darauf, das Sie so wenig wie möglich installieren, wählen Sie keine Gesammt-Paketlösungen aus (X-System, Laptop-System, Base-System), sondern installieren Sie das, was Sie brauchen nach, wenn Sie es brauchen. Das mag zwar bei der ersten Installation Probleme machen, aber sobald Sie das zum zweiten mal machen ist es kein Problem mehr.

    Jedes Installation ist mehr Code, und Code bedeutet Sicherheitslücken.



Dienste entfernen Top



Installieren Sie am besten so wenig Dienste wie möglich, entfernen Sie alle Dienste, die Sie nicht benötigen. Mit nmap localhost können Sie zunächst überprüfen welche Dienste laufen. netstat -lnp --ip, bzw --inet6 leistet ebenfalls gute Dienste.

Startup Scripts können Sie unter Debian mit rcconf abschalten, auf anderen Distributionen müssen Sie gegebenenfalls die rc.d/ Dateien ändern.

In /etc/inetd.conf könnten auch Dienste gestartet werden.

SUID und SGID Bit Top



Programme, die das SUID (bzw. SGID für group) Bit haben, werden mit den Rechten ihres Benutzers ausgeführt. Das kann bei Programmen wie su, mount, usw. ziemlich nützlich sein, das Problem dabei ist, das sich Programme mit diesen Rechten durch Sicherheitslücken übernehmen lassen könnten, ein Benutzer kann dadurch höhere Rechte erhalten.

Mit dem Befehl find können wir SUID und SGID Programme suchen:

Code:

find / -perm +06000 -type f -ls



Das /proc Dateisystem Top



Das /proc Dateisystem hat einige nützliche Flags, die wir einsetzen können um Angriffe zu verhindern, mehr dazu im Kapitel Teil 2.0 - Linux mit /proc härten.

Verwendung von chroots Top



Dienste sind wichtige Angriffsvektorer von einem Computern im Internet. Schützen Sie Dienste so gut wie möglich. Verwenden Sie chroots für diese Dienste, wenn möglich. Sie sollten sich allerdings immer im klaren sein, das chroots keine 100%ige Sicherheit bringen, das ausbrechen aus einem chroot kann leicht passieren. Sie können sich auch überlegen ob Sie nicht andere Systeme zur Einschränkung der Zugangsbeschränkung einsetzen wollen, mehr dazu weiter unten.

Rechner vom physischen Zugang schützen & BIOS Passwort setzen Top



Kümmern Sie sich darum, das niemand an ihrem Rechner kommt, sonst kann ihre Festplatte ausgebaut werden, und Daten entnommen werden. Sie können den Rechner so montieren, das niemand dazu Zugang erhält.

Setzen Sie ein BIOS Passwort, Sie können auch (zusätzlich) ein Bootloader Passwort setzen.

System regelmässig aktualisieren Top



Aktualisieren Sie ihre komplette Software regelmässig, unter Debian geht das mit apt-get update && apt-get autoclean && apt-get upgrade. Sie sollten niemals mit veralteter Software im Internet sein.

Achten Sie darauf, das der Kernel immer aktuell ist.

Sichern Sie SSH ab Top



Falls Sie ssh installieren, sollten Sie sich mein Secure SSH Tutorial durchlesen. Dort beschreibe ich eine interessante Techniken, wie Sie SSH absichern können.

Festplatten verschlüsseln Top



Julian Golderer zeigt Ihnen im dritten Teil diesere Tutorialserie, wie Sie eine Partition unter Linux mit dmcrypt und luks verschlüsseln können. Sie können auch TrueCrypt verwenden, wenn Sie darauf auch unter Windows zugreifen wollen.

Überlegen Sie sich warum Sie Festplatten verschlüsseln wollen, und wie Sie ihr System sichern müssen, damit das Verschlüsseln der Festplatte wirkt, Sie sollten sich ausführlich dazu Gedanken machen, wann Sie die Passphrase eingeben müssen. Wählen Sie die Passphrase zufällig, und lang genug.

Speicherschutztechniken & Zugriffskontrolle Top



Es gibt eine interessante Projekte, die Linux sicherer machen, indem sie die Zugriffskontrolle verstärken, und den Speicher des Kernels absichern, hier sind ein paar davon aufgelistet:

  • SELinux

    SELinux ist ein Projekt der NSA das Mandatory Access Control (MAC) einführt, neben dem normalen DAC System ist es möglich für Benutzer spezielle Regeln aufzustellen, was sie machen wollen. Eine drop-by-default policy für Benutzeraktionen wird damit möglich, wenn sie auch schwer zu konfigurieren ist. SELinux wird in dem nächsten Kapitel ausführlich behandelt, mehr dazu oben in der Artikelübersicht.


  • Openwall

    Openwall ist ein Projekt von Alexander Peslyak, es bietet Massnahmen zum Blockieren von ausführbaren Code auf dem Stack eines Prozesses. Ausserdem macht er die Adressen von shared-libaries zufällig.


  • SSP

    SSP ist eine Erweiterung des GCC-Compilers, ab der Version 4.1 wird er standardmässig integriert sein. Es führt einige Techniken ein, einen Kontrollwert, der die Gefahr vermindert das Speicher überschrieben wird, die Modifizierung der Reihe, wie Variablen auf den Stack angelegt wird, ... Diese Techniken können per Compilerflag an oder aus geschaltet werden.


  • grsecurity

    grsecurity ist eine Abspaltung von Openwall, die sich allerdings stark vom Vorgänger getrennt hat. Es verwendet eine Speicherschutztechnik namens PaX, und hat Funktionen zur rollenbasierenden Zugriffskontrolle. Ausserdem verbessert es die Sicherheit von chroot. grsecurity ist bei den Anwendern sehr beliebt, da es einfach zu konfigurieren ist.



Weitere Erweiterungen:

  • LIDS (Linux Intrustion Detection System)


  • RSBAC


  • PaX

Gibt es noch irgendwelche Fragen, oder wollen Sie über den Artikel diskutieren?

Editieren Versionen Linkpartnerschaft Top Printversion

Haben Sie einen Fehler gefunden? Dann klicken Sie doch auf Editieren, und beheben den Fehler, keine Angst, Sie können nichts zerstören, das Tutorial kann wiederhergestellt werden

Sprachenübersicht/Betriebssysteme/Linux/Security/Ein sicheres Linux System aufsetzen Teil 0.0 - Linux härten