2.3.4.3.2. Zugriffskontroll-Optionen
Benutzer von
xinetd
-Diensten können wählen, ob sie die Host-Zugriffskontrolldateien der TCP-Wrapper, Zugriffskontrolle mittels der xinetd
-Konfigurationsdateien oder eine Kombination aus beidem verwenden wollen. Informationen zum Gebrauch von Host-Zugriffskontrolldateien der TCP-Wrapper finden Sie in Abschnitt 2.3.2, »TCP-Wrapper Konfigurationsdateien«.
In diesem Abschnitt wird der Einsatz von
xinetd
für die Kontrolle von Zugriffen auf bestimmte Dienste behandelt.
Anmerkung
Im Gegensatz zu TCP-Wrappern muss der
xinetd
-Administrator nach jeder Änderung den xinetd
-Dienst neu starten, damit diese wirksam werden.
Ebenfalls im Gegensatz zu TCP-Wrappern betrifft die Zugriffskontrolle durch
xinetd
lediglich die Dienste, die durch xinetd
kontrolliert werden.
Die
xinetd
-Host-Zugriffskontrolle unterscheidet sich von der von TCP-Wrappern verwendeten Methode. Während TCP-Wrapper die gesamte Zugriffskonfiguration in zwei Dateien ablegt, /etc/hosts.allow
und /etc/hosts.deny
, befindet sich die xinetd
-Zugriffskontrolle in den jeweiligen Dienstkonfigurationsdateien im /etc/xinetd.d/
-Verzeichnis.
Die folgenden Optionen werden von
xinetd
für die Host-Zugriffskontrolle unterstützt:
only_from
— Erlaubt nur den aufgeführten Host-Rechnern den Zugriff auf den Dienst.no_access
— Verwehrt den aufgeführten Host-Rechnern den Zugriff auf den Dienst.access_times
— Der Zeitraum, in dem ein bestimmter Dienst verwendet werden darf. Der Zeitraum muss im 24-Stunden-Format, also HH:MM-HH:MM, angegeben werden.
Die Optionen
only_from
und no_access
können eine Liste von IP-Adressen oder Hostnamen verwenden, oder ein gesamtes Netzwerk referenzieren. Wie TCP-Wrapper kann durch die Kombination der xinetd
-Zugriffskontrolle und der entsprechenden Protokollkonfiguration die Sicherheit durch das Abweisen von Anfragen von gesperrten Hosts und das Protokollieren aller Verbindungsversuche erhöht werden.
Zum Beispiel kann die folgende
/etc/xinetd.d/telnet
-Datei verwendet werden, um den Telnet-Zugriff von einer bestimmten Netzwerkgruppe auf ein System zu verweigern und um die Zeitspanne, die selbst erlaubte Benutzer angemeldet sein dürfen, einzuschränken:
service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/kerberos/sbin/telnetd log_on_failure += USERID no_access = 172.16.45.0/24 log_on_success += PID HOST EXIT access_times = 09:45-16:15 }
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/kerberos/sbin/telnetd
log_on_failure += USERID
no_access = 172.16.45.0/24
log_on_success += PID HOST EXIT
access_times = 09:45-16:15
}
Wenn nun ein Client-System vom
172.16.45.0/24
-Netzwerk wie etwa von 172.16.45.2
versucht, auf den Telnet-Dienst zuzugreifen, erhält es die folgende Meldung:
Connection closed by foreign host.
Connection closed by foreign host.
Außerdem werden diese Anmeldeversuche in
/var/log/messages
protokolliert:
Sep 7 14:58:33 localhost xinetd[5285]: FAIL: telnet address from=172.16.45.107 Sep 7 14:58:33 localhost xinetd[5283]: START: telnet pid=5285 from=172.16.45.107 Sep 7 14:58:33 localhost xinetd[5283]: EXIT: telnet status=0 pid=5285 duration=0(sec)
Sep 7 14:58:33 localhost xinetd[5285]: FAIL: telnet address from=172.16.45.107
Sep 7 14:58:33 localhost xinetd[5283]: START: telnet pid=5285 from=172.16.45.107
Sep 7 14:58:33 localhost xinetd[5283]: EXIT: telnet status=0 pid=5285 duration=0(sec)
Wenn Sie TCP-Wrapper zusammen mit der Zugriffskontrolle von
xinetd
verwenden, müssen Sie die Beziehung dieser beiden Zugriffskontroll-Mechanismen zueinander verstehen.
Im Folgenden wird die Abfolge der
xinetd
-Vorgänge beschrieben, wenn ein Client eine Verbindung anfordert:
- Der
xinetd
-Daemon greift auf die Host-Zugriffsregeln der TCP-Wrapper durch einenlibwrap.a
-Bibliotheksaufruf zu. Besteht eine Deny-Regel für den Client, so wird die Verbindung nicht aufgebaut. Besteht eine Allow-Regel für den Client, wird die Verbindung anxinetd
weitergegeben. - Der
xinetd
-Daemon überprüft seine eigenen Zugriffskontrollregeln für denxinetd
-Dienst und den angeforderten Dienst. Besteht eine Deny-Regel für den Client, wird die Verbindung nicht aufgebaut. Andernfalls startetxinetd
eine Instanz des angeforderten Dienstes und gibt die Kontrolle über die Verbindung an diesen weiter.
Wichtig
Seien Sie vorsichtig bei der Verwendung von TCP-Wrapper-Zugriffskontrollen in Verbindung mit
xinetd
-Zugriffskontrollen. Eine Fehlkonfiguration kann unerwünschte Auswirkungen haben.