hitforum.deErfahrungsaustausch für IT-Professionals

Unix-Zugriffsschutz

Am Mittwoch, den 29.09.2004 hatten wir mal wieder Thomas Schoch als Referenten eingeladen, damit er uns etwas über die Grundlagen und Problem des Zugriffsschutz unter Unix erzählt.

Eigentlich sollte man meinen, dass es bei dem seit über 30 Jahren genutzten System der "rwx"-Rechten (read-write-execute) für "user", "group" und "others" keine offenen Fragen mehr gäbe. Und Thomas Schoch hat uns auch eingangs perfekt getäuscht, indem er vorgab, so gut wie gar nicht vorbereitet zu sein. Auf wundersame Weise war dann aber doch jederzeit genau das richtige Beispiel und das passende Skript zur Hand :-) !

Unser Referent verdeutlichte uns an einigen wenigen, eigentlich sehr einfach wirkenden Beispielen, wie schwierig es manchmal ist, im Detail zu verstehen, was bestimmte Rechte nun ermöglichen und was nicht (Quizfrage: "Kann ich diese Datei löschen / kopieren / verschieben oder etwa doch nicht?" offenbarten, dass die Zuhörerschaft hier absolut geteilter Ansichten war!).

Okay, dass der Besitzer eines Verzeichnisses jede Datei darin löschen oder verschieben kann, egal wem sie gehört und sei es auch eine Datei von "root" ist jedem klar, der sich mal näher mit Unix beschäftigt hat. Auf alle anderen wirkt das dann doch eher recht befremdlich.

Aber die unterschiedlichen Rechte, die zur Ausführung von Binärdateien und von Skripten notwendig sind, musste man sich dann doch erst mal vor Augen führen.

Interessant war auf jeden Fall auch, bei gescheiterten Zugriffen zu analysieren, an welcher Stelle es denn nun genau gehakt hat: Kommt die Fehlermeldung von meiner Login-Shell, von einer weiteren aufgerufenen Shell, vom Kernel?

Wir haben gelernt, wie man auf Multiusersystemen, z.B. beim Webhosting mit Perl oder PHP, die Verzeichnisse vor den Zugriffen fremder Benutzer und Prozesse wirkungsvoll schützen kann ("Ohne das x-Recht kein Traversieren von Verzeichnissen").

Natürlich fehlten auch nicht Erläuterungen und Beispiele zu den "special bits". So etwa "set user id" und "set group id", die bewriken dass Programme nicht mit den Rechten des aufrufenden Benutzers sondern mit den Rechten ihres Besitzers, bzw. ihrer Gruppe laufen ("real uid", "effektive uid"). Hierzu gabe es dann auch Beispiele und Sicherheitshinweise.

Wir haben gelernt, wie man zum Beispiel bei tmp-Verzeichnissen zwar jedem das Schreiben ermöglicht, aber verhindert, dass jeder alle Dateien löschen kann. Es ist das bei normalen Dateien kaum noch benötigte "sticky bit" (wozu hat man denn Hauptspeicher und Cache ohne Ende) das bei Verzeichnissen genau diese Funktion hat!

Anschließend gab es noch eine kurze Einführung in sudo, mit Demonstration, wie man (bei vermeintlich perfekter Konfiguration) dann doch wieder Zugriff bekommt :-) !

Abschließend (die Zeit war schon sehr weit fortgeschritten) kam dann noch ein kleiner Überblick zum Thema "Access Control Lists".

Insgesamt mit minimalistischen Mitteln (und das ist als Lob zu verstehen!) ein gelungener, interessanter und lehrreicher Abend. Wir haben sogar soviele "Überminuten" gemacht, dass im China-Restaurant schon keiner mehr mit uns gerechnet hat und der vorbereitete Tisch breits wieder abgeräumt war! Aber es gab dann doch noch einen netten Ausklang beim anschließenden Stammtisch.

Thema im Webforum

BUCHTIPPS
Rezensionen unserer Leser