Kapitel 17. TCP Wrapper und xinetd
Die Kontrolle des Zugriffs zu Netzwerk-Diensten ist eine der wichtigsten Sicherheitsaufgaben, denen sich der Administrator stellen muss. Unter Red Hat Enterprise Linux gibt es eine Reihe von Tools, welche genau dies tun. Eine iptables-basierte Firewall, zum Beispiel, filtert alle unerw�nschten Netzwerk-Pakete im Netzwerk-Stack des Kernel heraus. F�r Netzwerk-Dienste, welche davon Verwendung machen, f�gt TCP Wrapper eine zus�tzliche Schutzschicht hinzu, indem dieser definiert, welchen Hosts es erlaubt ist zu "wrapped" Netzwerk-Diensten zu verbinden, und welchen nicht. Einer dieser "wrapped" Netzwerk-Dienste ist xinetd Super-Server. Dieser Dienst wird Super-Server genannt, da dieser Verbindungen zu einem Subnet von Netzwerk-Diensten kontrolliert und Zugriffskontrolle weiter feinabstimmt.
Abbildung 17-1 ist eine grundlegende Illustration welche zeigt, wie diese Tools zusammen arbeiten um Netzwerk-Dienste zu sch�tzen.
Dieses Kapitel besch�ftigt sich mit der Rolle von TCP Wrappern und xinetd in der Zugriffskontrolle zu Netzwerk-Diensten und inwiefern diese Tools verwendet werden k�nnen um das Management von sowohl Logging, als auch Verwendbarkeit zu verbessern. F�r eine Diskussion der Verbindung von Firewall und iptables, siehe Kapitel 18.
17.1. TCP Wrapper
Das TCP Wrapper Paket (tcp_wrappers) ist standardm��ig installiert und stellt hostbasierende Zugriffskontrolle f�r Netzwerk-Dienst zur Verf�gung. Die wichtigste Komponente in diesem Paket ist die /usr/lib/libwrap.a-Bibliothek. Jeder Dienst welcher diese Bibliothek dazulinkt, wird als TCP-wrapped Dienst bezeichnet.
Wenn ein Verbindungsversuch zu einem "TCP wrapped" Dienst eingeleitet wird, wird der Dienst zuerst die Hosts-Zugriffs-Dateien (/etc/hosts.allow und /etc/hosts.deny) untersuchen, um festzustellen, ob der Client-Host erlaubt ist zu verbinden. Dieser wird dann den syslog-Daemon (syslogd) verwenden, um den Namen des anfordernden Hosts und Dienstes entweder zu /var/log/secure oder zu /var/log/messages zu schreiben.
Wenn es einem Client-Host erlaubt ist zu verbinden, gibt TCP Wrapper die Kontrolle �ber die Verbindung zum angeforderten Dienst und wird nicht mehr in die Kommunikation zwischen Client-Host und Server eingreifen.
Zus�tzlich zu Zugriffskontrolle und Logging, k�nnen TCP Wrapper Befehle aktivieren, um mit dem Client zu interagieren, bevor er die Kontrolle der Verbindung zum angeforderten Netzwerk-Dienst �bergibt oder diesen ablehnt.
Da TCP Wrapper ein wertvoller Zusatz zum Arsenal von Sicherheits-Tools eines jeden System-Administrators sind, sind die meisten Netzwerk-Dienste unter Red Hat Enterprise Linux gegen die libwrap.a gebunden. Einige dieser Anwendungen sind /usr/sbin/sshd, /usr/sbin/sendmail und /usr/sbin/xinetd.
| Anmerkung |
---|
| Um festzustellen, ob die Bin�rdatei eines Netzwerk-Dienst gegen libwrap.a gebunden ist, geben Sie den folgenden Befehl als root ein: strings -f <binary-name> | grep hosts_access |
Ersetzen Sie <binary-name> mit dem Namen der Bin�rdatei des Netzwerk-Dienst. Wenn eine Anfrage beantwortet wird, dann ist der Netzwerk-Dienst nicht gegen libwrap.a gebunden. |
17.1.1. Vorteile von TCP Wrappern
TCP Wrapper bieten zwei grundlegende Vorteile im Vergleich zu anderen Kontrollmethoden f�r Netzwerkdienste:
Transparenz in Hinsicht auf den Client-Host und den wrapped Netzwerk-Dienst — Beide, der sich verbindende Client und der wrapped Netzwerk-Dienst, bemerken nicht, dass TCP-Wrapper in Gebrauch sind. Legitime Benutzer sind angemeldet und mit dem geforderten Dienst verbunden, w�hrend Verbindungen von verbotenen Clients fehlschlagen
Zentralisiertes Management von mehreren Protokollen — TCP Wrapper arbeiten unabh�ngig von den Netzwerkdienst, welche sie sch�tzen. Dies erlaubt es mehreren Server-Applikationen sich eine gemeinsame Gruppe von Konfigurationsdateien zu teilen, was ein vereinfachtes Management zur Folge hat.