Freitag, 20. November 2009

Hardened Gentoo mit SELinux-Unterstützung

Zugegebenermaßen: SELinux ist eine wirklich sehr schwer verdauliche Kost. Da kommen diese Jungs der NSA daher und schmeißen alles über den Haufen was man bisher in Sachen Sicherheit für das Maß der Dinge hielt. Doch hat man sich erstmal reindenken können in die Thematik eines MAC (Mandatory Access Control) erscheint das ganze, man mag es kaum glauben, doch recht logisch.

Ausgangssituation war: Mein "Auftraggeber" wünschte einen FTP-Server. Als ich das hörte schrie der kleine paranoide Mann in meinem Ohr gleich lautstark "Linux!". Zugegebenermaßen bin ich kein Fan von Microsoft-Produkten. Daher stellte sich für mich die Frage welche Distribution wohl am besten meinen Ansprüchen gerecht wird. Bis dahin hatte ich mich immer erfolgreich davor gedrückt Gentoo zu benutzen. Doch wenn man Wert auf Skalierbarkeit und ein schlankes System legt kommt man kaum um Gentoo herum. Das erste was mir auffiel war das Hardened Projekt von Gentoo. Dies war auch mein erster wirkliches Berührungspunkt mit SELinux.

Mein erster Schritt war nun einen Kernel zu basteln, der sowohl auf einem VMWare vSphere Server läuft als auch Unterstützung für besagtes SELinux bietet. Nach etlichen Versuchen (Learning by doing :-) ) und unzähligen Kernel Panics habe ich es schließlich doch geschafft.

Im Nachhinein habe ich dann festgestellt, das es gar nicht so schwer ist wie viele Benutzer behaupten SELinux zum laufen zu bringen. Man muss sich nur etwas mit der Materie auseinandersetzen.

Der Server läuft nun schon seit ca. einem Monat und hatte laut diversen Logs schon mit einigen Hacker-Angriffen zu tun. Bis jetzt erwies er sich als sicher. Dies wurde dadurch erreicht indem die sog. "Strict-Policy" von SELinux zum Einsatz kam. Hierbei werden standartmäßig alle Zugriffe verboten wenn sie nicht explizit durch eine Policy erlaubt wurden. Natürlich ist das mit einer Menge Arbeit verbunden allerdings zählt ja bekanntlich nur das Ergebnis :-)

Nun ist das ganze produktiv im Einsatz und der Server brauch nur 35 MB Arbeitsspeicher unter Volllast.

Ich werde in Kürze hier ein HowTo veröffentlichen falls jemand das selbe plant.

Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.