[linux-l] Re: /proc & Co.
Peter Ross
Peter.Ross at alumni.tu-berlin.de
Mo Okt 23 03:56:19 CEST 2006
On Sun, 22 Oct 2006, olafBuddenhagen at gmx.net wrote:
> Richtig, das nachträgliche abdichten ist immer haarig -- das gilt für
> SELinux und Jails und den ganzen anderen Kram ganz generell. UNIX ist
> halt vom Prinzip her kein System was heutigen Sicherheitsanforderungen
> wirklich gerecht wird; und das kann man num mal nicht ändern, ohne
> ziemlich grundlegende Änderungen an einigen Konzepten vorzunehmen.
Da gebe ich Dir nicht recht.
Was unter FreeBSD mit jails, Securelevels und chflags etc. passiert, setzt
sauber auf die grundlegenden Zugriffsmechanismen auf, erweitert sie
mit wenigen Eintrittspunkten (Die Einfuehrung von jail z.B. bedurfte nur
einiger hundert Zeilen Quellcode-Aenderungen)
Dagegen basteln Linuxianer mit SELinux und App Armor rum, dabei muessen
Unmengen von Policies und Rules immer wieder an Applikationen und
Beduerfnisse angepasst werden. Es erinnert mich immer wieder an die
Flickschusterei unter Windows, ein System abzudichten.
> > sysctl ist ein Eintrittspunkt fuer _alle_ Zugriffe auf das, was Du nun
> > unter /proc hast. Hier kannst Du erstmal sagen, "wenn Prozess im Jail,
> > dann Zugriff verweigert", und schon hast Du erst einmal ein sehr
> > sicheres System, mit nur einer Zeile Programmcode im Kernel.. und
> > davon ausgehend, kannst Du nach hinreichender Ueberlegung vielleicht
> > das Tuerchen hier und da ein Stueckchen oeffnen.
>
> Sehe nicht wieso das bei Dateisystem-basierten Schnittstellen anders
> sein sollte. Die Zeile steht nur eben wo anders.
In welchem Modul an welcher Stelle kannst Du sie dann plazieren? Ich sehe
keine.
Sysctl ist ein Kernelaufruf, ein Filesystem hat viele Eintrittspunkte und
Funktionsaufrufe.
Der Kernelaufruf ist auch nicht abhaengig von chroot oder jail, wie schon
bemerkt.
> Zum einen sind solche Schnittstellen generell meist ziemlich intuitiv
> und leicht erlernbar. Sie bauen halt auf Dateisystem-Konzepten auf, die
> jedem UNIX-Nutzer hinlänglich vertraut sind. Man muss nur noch wissen,
> wie die Daten in der Hierarchie abgelgt sind; man muss sich nicht um
> Spezifika von Funktionsaufrufen kümmern.
echo 1 > /proc/dies/ist/der/pfad
oder
sysctl dies.ist.der.pfad=1
Alle anzeigen:
sysctl -a
(Der Output von ls -R /proc ist nicht halb so schoen, oder find /proc
-type f)
Nicht wirklich schwer, oder?
Gruss
Peter
Mehr Informationen über die Mailingliste linux-l