Security Enhanced Linux ======================= Warum ist dieses Thema für die Besucher interessant? ---------------------------------------------------- SELinux hat die Fähigkeit Programme in Räumen (Domänen) laufen zu lassen. Gleichzeitig bietet es die Möglichkeit die Berechtigungen für Programme, z.B. Zugriffe auf Dateien, Ports, Sockets oder via IPC, feiner zu steuern, als es mit dem normalen Linux möglich ist. Interessant ist diese Fähigkeit zum Beispiel für Server im Internet wie auch in einem lokalen Netz, da kompromittierte Dienste (z.B. durch Protokollfehler oder Bufferüberläufe) keinen Vollzugriff auf das System erlangen können. Die Passwortdateien sind besonders geschützt und können nicht ausgelesen werden, ebenso wie es Benutzer nicht möglich ist nachträglich Kernelmodule zu landen oder Programme und Bibliotheken zu ändern. Auch root darf dies nicht. Nach einen Einbruch kann der Einbrecher sich nur im Rahmen der für diese Domäne geltenden Rechte bewegen. Dadurch wird der Schaden deutlich minimiert. Im Schlimmsten Fall müssen von dem Programm beschreibbare Daten wieder eingespielt werden. Für normale Arbeitsplatzrechner bieten sich auch Möglichkeiten das System stärker als bisher zu sichern. Eine davon ist das Einschränken der Zugriffe auf die privaten Schlüsseldateien unter ~/.gnupg/ auf das Programm gpg. Oder die Möglichkeit den Browser in einer eigenen Domäne laufen zu lassen, die noch weniger Rechte als der Benutzer hat. Somit kann man java- oder flashbasierte Seiten des Internets besuchen ohne eine Kompromittierung des Systems durch unbekannten Code befürchten zu müssen. Interessant ist SELinux auch durch die vollständige Integration in den 2.6er Vanilla-Kernel. Anwendungsprogramme mit der Ausnahme von star müssen nicht geändert werden und laufen problemlos unter SELinux. Lediglich einige wenige Systemprogramme müssen ausgetauscht werden. Für die meisten Distributionen wie Fedora (Red Hat), SuSE, Debian und Gentoo gibt es schon fertige Pakete zum Installieren. SELinux kann man nicht mit openwall/grsecurity vergleichen, da es zwei unterschiedliche Richtungen sind. Mit SELinux vergibt man die Berechtigungen nach der eigenen Maßgabe. Man kann den Programm auch Berechtigungen verweigern, wenn es zum Beispiel nicht mit den Netzwerk kommunizieren oder bestimmte Verzeichnisse nicht lesen darf. Bei openwall/grsecurity geht es hauptsächlich um die Vermeidung von Pufferüberläufen. Der Hauptvorteil von SELinux ist die hohe Sicherheit durch feingranulierte Rechte, die man mit einem minimalen Aufwand erkaufen kann. Warum beschäftigen Sie sich mit diesem Thema? --------------------------------------------- Als ich vor fast zwei Jahren nach einer Möglichkeit suchte, einen CVS-Server für das Internet sicherer als die vorhandenen Methoden aufzusetzen fand ich Gefallen an SELinux. Ich finde es einfach zu installieren und zu betreuen. Der Gewinn an Sicherheit ist für mich ausschlaggebend. Seit diesem nutze ich SELinux in mehren Projekten. Zur Zeit betreue ich die deutschsprachige Seite http://www.securityenhancedlinux.de sowie die deutsche Mailingliste mailto:selinux-de@vegaa.de. Welche Struktur/Gliederung soll der Vortrag bzw. Workshop haben? ---------------------------------------------------------------- Der Workshop ist dreiteilig. Die ersten beiden Teile sind theoretischer Natur und im dritten Teil sollen einige praktische Übungen durchgeführt werden. Teil 1: Einführung in SELinux, Konzept, Begriffe, Installation, Teil 2: Demonstration des Systems, Vorführung neue/erweiterte Befehle Teil 3: Praktische Übungen nach Möglichkeit auf den Rechner der Teilnehmer entweder (wenn ich eine SELinux-LiveCD zum laufen bringe): erste individuelle Schritte auf einem SELinux-System, kurze Vorstellung der Policy und deren grafischer Analyse oder mit Knoppix: Vorstellen der Policy und deren grafischer Analyse Ein einzelner Frageteil ist nicht vorgesehen. Es können immer im besonderen am Ende jedes Abschnittes Fragen gestellt werden. Welche einschlägigen Webseiten gibt es zum Thema? ------------------------------------------------- http://www.nsa.gov/selinux/ http://www.securityenhancedlinux.de http://www.coker.com.au/selinux/