[linux-l] SELinux unter BSD? (war: [flamewar]...welche Distri)

Peter Ross Peter.Ross at alumni.tu-berlin.de
Mo Jul 17 02:36:28 CEST 2006


Hi Volker,

On Sun, 16 Jul 2006, Volker Grabsch wrote:

> Ich denke da nur an das VServer-System unter Linux, das ich einsetze.
> Wirklich nette Sache, aber überraschenderweise stellte ich fest, dass
> es das in BSD unter dem Namen "jail" schon lange gibt.

Ja. Und dank der Installations- und Updatemechanismen lassen sich jails 
auch recht einfach kreieren und konfigurieren.

> Also, um das ganze in eine Frage zu gießen: Gibt's nichts in BSD, das
> (wenn auch in einfacher Form) das Leistungs-Spektrum von SELinux in
> Sachen Sicherheit abdeckt?

Mir hat sich die Schoenheit von SELinux noch nicht richtig erschlossen. 
Moeglicherweise eine Zeitfrage. Derzeit ist es so, dass mir SELinux einige 
Merkwuerdigkeiten beschert hat, so dass es auf allen Red Hat-Servern 
abgestellt ist.

Was mir daran _nicht_ gefaellt: es ist ein Rollenmodell. Es erinnert mich 
sehr an Windows-Sicherheitskonzepte. Mit Richtlinien und ACLs laesst sich 
eine ganze Menge anstellen, aber es ist so komplex, dass sich kaum 
verifizieren laesst, ob man das System wirklich abgedichtet hat. Es gibt 
immer wieder einen "Workaround".

FreeBSD kennt securelevel, beschrieben in init(8)

http://www.freebsd.org/cgi/man.cgi?query=init&apropos=0&sektion=0&manpath=FreeBSD+6.1-RELEASE&format=html

The  security levels are:

     -1    Permanently insecure mode - always run the system in level 0 mode.
	   This is the default initial value.

     0	   Insecure mode - immutable and append-only flags may be turned off.
	   All devices may be read or written subject to their permissions.

     1	   Secure mode - the system immutable and system append-only flags may
	   not be turned off; disks for mounted file systems, /dev/mem,
	   /dev/kmem and /dev/io (if your platform has it) may not be opened
	   for writing; kernel modules (see kld(4)) may not be loaded or
	   unloaded.

     2	   Highly secure mode - same as secure mode, plus disks may not be
	   opened for writing (except by mount(2)) whether mounted or not.
	   This level precludes tampering with file systems by unmounting
	   them, but also inhibits running newfs(8) while the system is multi-
	   user.

	   In addition, kernel time changes are restricted to less than or
	   equal to one second.  Attempts to change the time by more than this
	   will log the message ``Time adjustment clamped to +1 second''.

     3	   Network secure mode - same as highly secure mode, plus IP packet
	   filter rules (see ipfw(8), ipfirewall(4) and pfctl(8)) cannot be
	   changed and dummynet(4) or pf(4) configuration cannot be adjusted.

Das ist wesentlich einfacher zu handhaben. Der Securelevel wird am Ende 
eines Bootprozesses hochgesetzt (hinabstufen ist nicht moeglich).

Der Sinn dahinter: ein eingerichtetes Serversystem braucht nicht mehr 
veraendert werden, und wenn ja, dann nur im Single-User-Mode, welches 
Konsolenzugriff bedingt (der hoffentlich sicher ist;-)

Nachteil: es muss rebootet werden (deshalb, wenn noetig, Redundancy, bis 
hin auf Verbindungsebene mit pfsync:-)

Andererseits ist es praktisch das Ende von Rootkits und dem ungeschuetzten 
Walten in den Konfigs, wenn das Hacken erfolgreich war.

Es ist nicht die gleiche Funktionalitaet wie SELinux, deckt sich aber in 
diesem Anspruch mit ihm.

Es gibt ein TrustedBSD-Projekt, (http://www.trustedbsd.org/) welches u.a. 
auch SEBSD implementiert, ACLs, extented attributes nutzt, ein 
Audit-Subsystem etc. Soweit ich weiss, fliesst das langsam in FreeBSD ein, 
und mit Apple als Sponsor (und SEDarwin) darf man annehmen, dass auch Mac 
OSX davon profitiert.

Wenn man innovative Sicherheitskonzepte anschauen moechte, lohnt sich 
sicher auch ein Blick auf Solaris (uebrigens auch auf das ZFS, wenn's um 
Filesysteme geht.) Trusted Solaris hat auch schon ein paar Jaehrchen auf 
dem Buckel und ist inzwischen Teil des Standard-Solaris. U.a. auch mit 
einem Rollenmodell.

Ich bedaure, derzeit nicht so viel Zeit zu haben, um das alles genau zu 
erforschen..

Um ehrlich zu sein, es gibt unter Linux bis jetzt fast nichts, was 
wirklich innovativ ist. Es ist allermeist Re-Erfindung. Wenn's gut ist, 
dann so gut wie die Japaner - das Beste von ueberall zusammenfuehren:-)

Es gruesst
Peter


Mehr Informationen über die Mailingliste linux-l