Vor einigen Jahren, in den Anfangszeiten des Projektes, habe ich mich
intensiv mit Security-Enhanced Linux (SELinux) beschäftigt. Ziel war es
Dienste, die teilweise mit root-Rechten liefen, wirklich sicher und
dauerhaft untereinander zu trennen und so den Schutz der verbleibenden
Dienste zu gewährleisten, wenn einer der Dienste kompromittiert
würde.
In dieser Zeit bot sich die Chance zwei Artikel über SELinux zu
schreiben. Entstanden sind fünf Artikel über SELinux und ein
Artikel über die Migration physischer Server auf virtuelle Hardware.
Ausgewählte Artikel stehen als PDF-Dateien zum Nachlesen bereit.
Leider sind diese Artikel nicht mehr aktuell. Sie bieten dennoch einen
guten Überblick über SELinux und so manches Detail.
|
|
|
|
Juli 2007
|
|
erschienen im
IT-Administrator
07/2007
|
| Autor |
Carsten Grohmann |
| Auszug |
»...
Sofern ein Server zum Erzeugen einer Kopie nicht heruntergefahren
werden kann, ist es möglich die Systemplatte auch im laufenden
Betrieb zu kopieren. Ein sicherer Weg dazu ist es, die Systemplatte
mit einem RAID 1 zu spiegeln (sofern dies nicht schon erfolgt ist)
und eine Kopie von der zweiten Spiegelhälfte zu erzeugen.
Es gibt viele unterschiedliche Möglichkeiten einen RAID-Verbund
aufzusetzen. Für einige RAID-Controller gibt es vom Hersteller
Werkzeuge um den Controller aus den laufenden System heraus zu
konfigurieren. Ein Beispiel ist dafür hpacucli
von Hewlett-Packard zum Steuern der Smart Array Controller.
Linux bringt die Hausmittel dazu in Form von LVM / Device Mapper
schon mit. Leider muss man nach dem Einrichten das System booten,
um alle Änderungen zu aktivieren. Dennoch ist diese Ausfallzeit
deutlich kürzer, als die im Punkt "Offline-Kopie" beschriebene
Variante. ...«
|
|
|
|
|
April 2004
|
|
erschienen im
LINUX Journal
04/2004
|
| Autor |
Carsten Grohmann |
| Auszug |
»...
In der mitgelieferten Minimalversion umfassen die Regeln über 5100
Zeilen (ohne Leerzeichen und Kommentare). Mit allen vorhandenen
Regeln sind es sogar über 22500 Zeilen. Beide Zahlen stellen keine
endgültigen Werte dar. Mit etwas manueller Optimierung ist es
allerdings problemlos möglich, die Anzahl der Regeln auf unter
5000 Zeilen zu reduzieren. Diese Zahl erhöht sich jedoch spürbar,
wenn weitere Dienste ins Spiel kommen. Für aktuelle Rechner stellt
selbst der komplette Regelsatz keine Hürde da, obwohl sich eine
Binärversion ständig im Speicher befindet. Für ältere Systeme
hingegen mit geringerem Hauptspeicher könnte sich eine manuelle
Optimierung des Regelsatzes lohnen.
...«
|
|
|
|
|
Oktober 2003
|
|
Artikel als PDF
(97 KByte)
ansehen.
|
|
erschienen im
Securiy Administrator 05/2003
|
| Autoren |
Reinhard Wobst, Carsten Grohmann |
| Auszug |
»...
Speziell bei SuSE sollte man die Pfade der Datenbanken überprüfen
und ändern. Betroffen sind hierbei die Pfade für die Logdateien,
für die PID-Datei und für eventuell vorhandene Unix-Sockets.
Die zugehörigen Einträge haben nach File Hierachy Standard nach
/var/log bzw. nach /var/run zu zeigen.
MySQL erfordert hierbei Änderungen in /etc/my.cnf
und /etc/init.d/mysql. Man legt ein Verzeichnis
/var/run/mysqld an und erteilt diesem Verzeichnis
die Rechte für den Benutzer mysql und die Gruppe
daemon. Anschließend muss man in
/etc/my.conf die Einträge für socket=(...
alter Pfad zu mysql.sock) nach
/var/run/mysqld/mysql.sock sowie für
err-log nach /var/log/mysqld.log
ändern. In /etc/init.d/mysqld sind die Einträge
für pid_file und socket nach dem
gleichen Muster zu bearbeiten.
...«
|
|
|
|
|
February 2003
|
|
Show publication as PDF
(409 KByte)
file.
|
|
published at
Linux Magazine
February 2003
|
| Comment |
English translation of
Regel-recht - Security Enhanced Linux im Einsatz
|
| Authors |
Konstantin Agouros, Carsten Grohmann, Achim Leitner |
| Abstract |
»...
Each process is run in a protected context of its own. User ID 0
has no influence on this, unless the rules contain explicit
instructions to the contrary. This allows you to confine processes
and enable or disable system calls. You can also precisely define
any files that the process will be allowed to read, write, or create.
You can even remove any privileges that might be harmful to the
system from processes that require more extensive privileges (in
order to bind ports below 1024, for example). Even if an attacker
attains root access, she will still be confined to the jail.
...«
|
|
|
|
|
Februar 2003
|
|
Artikel als PDF
(269 KByte)
ansehen.
|
|
erschienen im
Linux Magazin
02/2003
|
| Autor |
Carsten Grohmann |
| Auszug |
»...
Da das manuelle Schreiben der Regeln oft recht aufwändig ist, kommt
das Skript »newrules.pl« aus selinux/scripts zum
Einsatz. Mit der Option -d verwendet es die Einträge
des Kernel-Ringpuffers. So muss der Admin die schon bearbeiteten
Einträge nicht erst entfernen, die beim Nutzen des Syslog mehrfach
auftreten würden. -v ergänzt noch zusätzliche
Informationen über das aufrufende Programm, das Zielobjekt und das
benötigte Recht. Aus der letzten Meldung von Listing 3 (Zeile 5)
generiert newrules.pl -v die Regel:
allow amanda_t amanda_t:process { fork };
#EXE=/usr/lib/amanda/amandad : fork
Aus diesen Regelvorschlägen muss der Administrator sinnvolle Regeln
schaffen. Sei es durch Zusammenfassen oder Ignorieren (
dontaudit) von Vorschlägen.
...«
|
| Hinweis |
Die rosa Stellen im PDF des Artikel sind Platzhalter für die Anzeigen
der gedruckten Ausgabe.
|
|
|
|
|
Januar 2003
|
|
Artikel als PDF
(220 KByte)
ansehen.
|
|
erschienen im
Linux Magazin
01/2003
|
| Autoren |
Konstantin Agouros, Carsten Grohmann, Achim Leitner |
| Auszug |
»...
Jeder Prozess läuft in seinem eigenen geschützten Kontext. Die
User-ID 0 hat dabei keine besondere Auswirkung, wenn
das Regelwerk nicht ausdrücklich etwas anderes festlegt. Prozesse
lassen sich damit einsperren, Systemaufrufe an- und abstellen und
es lässt sich genau festlegen, welche Dateien geschrieben, gelesen
oder erzeugt werden dürfen. Einem Prozess, der besondere Rechte
benötigt (etwa das Binden auf Ports unter 1024), können alle
anderen Rechte genommen werden, mit denen er Schaden am System
anrichten könnte. Selbst wenn ein Angreifer zu Root-Rechten kommt,
bleibt er im Käfig gefangen.
...«
|
| Hinweis |
Die rosa Stellen im PDF des Artikel sind Platzhalter für die Anzeigen
der gedruckten Ausgabe.
|
|
|