05.02.2013 Aufrufe

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

unterscheiden. Erst mit der <strong>LINUX</strong> Kernelversion <strong>2.2</strong> wurden diese Mechanismen<br />

nachgebildet, leider reichen diese aber nicht an die der BSD UNIXe heran, weil hierzu<br />

neue Flags bei den Dateirechten hinzugefügt werden müßten (Stichwort append-only<br />

flag).<br />

Es ist z.B. somit einem gewöhnlichen User nicht mehr möglich, überhaupt Supervisor zu<br />

werden, oder einem Administrator nicht möglich, Logdateien einzusehen oder zu<br />

verändern. Man sieht, die sogenannten Trusted Kernel von Solaris oder den freien BSD-<br />

UNIXen haben durchaus ihren Sinn. Wer nun überlegt, ob er Trusted Solaris oder<br />

Open/Net/FreeBSD einsetzen soll, der ist mit FreeBSD 3.1 oder Open/NetBSD besser<br />

beraten. Inzwischen sind alle BSD <strong>und</strong> Solaris Systeme auf Intel-Basis auch zu <strong>LINUX</strong><br />

binär kompatibel.<br />

Zurück zu der chroot() Funktion. Einige Dämonen führen automatisch ein CHROOT() aus,<br />

indem sie chroot() ausführen, eine Kopie von sich selber in der chroot() Umgebung<br />

starten, <strong>und</strong> dann den Ursprungsprozeß beenden. Zu diesen gehört z.B. der CERN-<br />

HTTPD, der APACHE-Server <strong>und</strong> dessen Clone, der Netscape Enterprise Server, <strong>und</strong> der<br />

BSD FTP-Dämon.<br />

Wer sich nicht sicher ist, ob sein Dienst oder Dämon automatisch chroot() ausführt, genügt<br />

ein Blick in den Quellcode oder die Dokumentation. Falls der Dämon nicht selber diese<br />

Funktion unterstützt, dann kann man aus der BASH - Shell heraus ein kleines Programm<br />

starten, welches ein chroot() ausführt <strong>und</strong> dann erst den Dämon startet (system()). Dieser<br />

läuft dann in der chroot() Umgebung, welche von dem kleinen Shellprogramm vorgegeben<br />

wurde. So ist es möglich, unter allen UNIX´en Programme sicher zu betreiben, von denen<br />

nicht bekannt ist, ob diese chroot() ausführen. Man kann auch chroot() in einer chroot()<br />

Umgebung ausführen, also von dieser Seite her keine Unwägbarkeiten.Warum unter<br />

Standard <strong>LINUX</strong> nicht generell alles in einer chroot() Umgebung läuft ? Das ist<br />

einfach zu beantworten: Viele Dämonen, wie z.B. POP3 oder IMAP4 benötigen Zugriff auf<br />

die Dateien /etc/passwd oder /etc/shadow, um das Paßwort zu überprüfen. Nach dem<br />

Wechsel in eine chroot() Umgebung, z.B. in /home/userxy/chroot/ verlangt dann der<br />

POP3 Dämon den Zugriff auf eine Paßwortdatei, die also dann im Verzeichnis<br />

/etc/userxy/chroot/etc/ liegen muß. Man muß also die Paßwortdatei aus /etc/ in dieses<br />

Verzeichnis kopieren, damit der Dämon korrekt arbeiten kann. Dasselbe betrifft auch die<br />

Logdateien des Dämons. Diese müßten dann in dem Verzeichnis /home/userxy/var/log/ zu<br />

finden sein. Falls der Dämon mit dynamischen Bibliotheken (shared libraries) kompiliert<br />

wurde (was viel RAM sparen kann), so muß er auch auf die entsprechenden Libraries in<br />

den Verzeichnissen /home/userxy/lib/ oder /home/userxy/chroot/usr/lib/ Zugriff haben.<br />

Das bedeutet, daß man den Dämon entweder mit der Option -static in der Datei Makefile<br />

neu kompiliert, <strong>und</strong> dann in der chroot() Umgebung startet, oder man alle Libraries in die<br />

chroot() Umgebung kopieren muß. Aber keine Panik, ein einfaches Kopieren mit dem<br />

Befehl cp -p -r reicht aus, damit die Dateirechte auch original mit übertragen werden.<br />

Die Firma SUN hat seit einiger Zeit fast alle wichtigen Dämonen statisch kompiliert <strong>und</strong> mit<br />

einer chroot() Funktion ausgestattet. In sofern ist SUN allen anderen UNIXen, zumindest<br />

<strong>LINUX</strong> jedenfalls, weit voraus. Programme von Fremdherstellern jedenfalls sind noch nicht<br />

so weit. Das bedeutet, daß auch beim Einsatz von Trusted Solaris dieselben Probleme<br />

auftreten, wie mit <strong>LINUX</strong>. Man kommt um eine Überprüfung der UNIX Dämonen bei<br />

keinem UNIX herum. Mit dem Kernel <strong>2.2</strong> hat sich <strong>LINUX</strong> aber sehr an BSD-UNIX<br />

angepaßt. Es lassen sich alle BSD-UNIX Dämonen von Open/Net/FreeBSD ganz einfach<br />

auf <strong>LINUX</strong> portieren. Angesichts der hohen Qualitat der BSD Dämonen sollte man als<br />

Systemadministrator im Bedarfsfall auf diese Dämomen <strong>zurück</strong>greifen. Das chroot() Skript<br />

findet sich überall im Internet oder auf dem Server des DFN-CERT, der wirklich eine viel<br />

unterschätzte Resource ist...<br />

Windows NT 4.0 im Übrigen unterstützt im Prinzip aufgr<strong>und</strong> seiner POSIX - Kompatibilität<br />

auch chroot(). Wenn Windows NT in der Version 6.0 dann irgendwann einmal alle<br />

Funktionen von UNIX beherrscht, <strong>und</strong> ein echtes Multiuser/Multitasking Betriebssystem<br />

sein wird, dann wird das Thema dort sicher top aktuell werden.<br />

Erstellt von Doc Gonzo - http://kickme.to/plugins

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!