Berechtigungen - Vorteile?
Geizhals » Forum » Linux-Support » Berechtigungen - Vorteile? (27 Beiträge, 498 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
....
Re(4): Berechtigungen - Vorteile?
23.12.2009, 07:29:22
Ahem... SELinux ist in jedem 2.6er-Kernel drin, also auch in deinem Debian |-D. Du musst es nur aktivieren... Lies dich aber vorher in Policies ein oder aktiviere den logonly-Mode und nicht den scharfen - sonst hast dich sofort effektiv ausgesperrt |-D.

Wir waren vorhin übrigens bei Berechtigungen allgemein, nicht nur auf FS-Ebene...
Bei SELinux kannst Du definieren, welche Daten auf welchen Pfaden zwischen Applikationen wandern können - also B-Level-Security...

Das schlägt natürlich implizit runter bis zu Files.

Beispiel:
Ein Benutzer darf nur mit Outlook in seinem USERHOME/Mail/... Daten modifizieren, nicht aber mit notepad oder einem anderen Proggy (evtl. Virus)

Der Benutzer oracle darf nur mit den Kommandos psql, dem oracle-Prozess und xyz auf seine Datenbankfiles zugreifen - nicht mit anderen.

Der "Fehler" bei C2-Systemen (wie Windows/Linux out-of-the-Box) ist ja, dass jeder Benutzer alles mit seinen Daten machen darf. Genau drum existieren ja Viren-Würmer - weil eben ein Virus dann Sachen modifizieren darf, die dem Benutzer gehören.

Warum sollte man Beispielsweise einem Programm, dass von Outlook weggestartet wurde, erlauben den Autostart-Ordner zu modifizieren (um mal ein simples Beispiel zu bringen). Da macht es mehr Sinn, Outlook in eine eigene Domäne zu werfen und den laufenden Prozess eigenen Regeln zu unterwerfen.

Du hast also bei SE im Prinzip aufgelöste N:M-Beziehungen a la

 
                |------|
                | User |
                |------|
                   |
|---------| |----------------| |------------|
| Context |-| Zugriffsrechte |-| Zielobjekt |
|---------| |----------------| |------------|


Bei "normalen" Systemen wie Windows würde fehlen:
1.) Der Context
2.) Zielobjekte wäre stark eingeschränkt. Zielobjekt könnte beispielsweise auch sein "Darf einen Socket öffnen" (damit wäre auch Schluß mit "nach-hause-telephonieren |-D), ...

Programme können natürlich Contexte wechseln - an definierten Punkten.

Es gibt noch mehr, was da dranhängt...
SE bietet seit Jahren extrem viele Möglichkeiten, denen Windows sich langsam annähert. Die UAC, das neue Sicherheitsmodell (wo der IE mit anderen Rechten rennt als ein "normaler" Userprozess), die Registry-Virtualisierung (oder wie M$ das Zeug nennt) sind nichts anderes als Versuche von M$, Windows Richtung B-Level zu heben und das Thema trotzdem Endusertauglich zu halten.

Aus meiner Sicht ist eine übliche Windowsinstallation in den Händen eines HalbDaus von den Sicherheitsmöglichkeiten einer üblichen Linuxinstallation in den Händen eines Halbdaus durchaus überlegen. M$ hat zumindest seit NT3.51 durchaus vieles geschafft.

In den Händen eines Profis sieht es dann aber anders aus.
MultiLevelSecurity, SE, ... sind Elemente, die gerade erst in die Windows-Welt kommen... Und natürlich wird es 10 Jahre drauf auch mal am MacOS sein und dann werden die Maccer behaupten, dass sie es erfunden haben |-D

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
......
Re(6): Berechtigungen - Vorteile?
23.12.2009, 13:18:39

Was mich halt generell stört ist dieses single User/single Group Prinzip - das scheint aber unter SELinux aber ja nicht mehr zu existieren (oder wurde das etwa beibehalten?).


SingleUser/Group gibts ja AFAIK seit den 70ern nicht mehr bei Unixoiden... Wohl gibt es aber noch die Primärgruppe. Wenn Du eine Datei anlegst, bekommt sie die Gruppe deiner Primärgruppe (ausser die Directorypermissions sehen anderes vor) - aber das kennst eh.

Ansonsten hat man mit ACLs schon recht viel in den Griff bekommen... Rein bei den Filesystemrechten bietet Windows da allerdings echt mehr (zB Append-Recht bei Directories) [Auch wenn De facto M$ selbst seine eigenen Guidelines verletzt und man viel zuoft zuviele Rechte auf Directories vergeben muss]).

SELinux hingegen ist extrem stark. Die Patches für den 2.4er-Kernel bzw. der Vanilla-Teil für 2.6 stammt von der NSA, und die haben ja doch ein bisschen Ahnung von Security:
http://www.nsa.gov/research/selinux/index.shtml

Dabei gibt es noch immer die klassischen Unix-Rechte... SE wird praktisch erst dann aktiv, wenn du unter "normalen" Bedingungen (Filepermissions,  ...) Zugriff auf ein Objekt bekommen hättest - dann kann es durch die SE-Policies nochmal abgedreht werden |-D.

Wichtig ist dabei (zumindest für den File-Teil), dass deine Dateisysteme POSIX-ACLs unterstützen.

Es gibt 2 reale Nachteile von SE:
1.) Man muss sich in das Denkkonzept mal einleben. Das ist immer aufwändig.
2.) Es gibt keine mir bekannten Tools die einen Unterstützen, Policies bequem zu setzen. Vergleich aus der "DB"-Welt: Wenn man nur ACCESS gewohnt ist, kommt einem händische DML/DQL/DDL-Statements unendlich umständlich vor. Wenn Du die händisch gewohnt bist - kommt dir das Access-GUI wie eine extrem  umständliche Einschränkung vor (beginnend mit simplen UNIONs).

Reale Einarbeitungszeit (so wie ich dich kenne) für Dich in SE: 1 Monat, wenn Du es so nebenbei machst... 1-2 Wochen, wenn Du es intensiv betreibst. Darunter wird es kaum klappen. :-/

Das Ergebnis kann sich aber sehen lassen.
Angenommen, es hackt Dir wieder einmal einer den Apache - wie mir in den 90ern passiert wg. modSSL-Bug - dann macht es nichts mehr, weil er zB nicht mehr wegforken kann und daher nicht einmal eine Shell bekommt |-D



Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung