In diesem Abschnitt können Standardwerte für eine Anzahl von Attributen
(eine komplette Liste ist in der Dokumentation zu finden) gesetzt
werden. Einige der Attribute, wie etwa only_from,
no_access, log_on_success oder
log_on_failure, können gleichzeitig Werte dieser
Sektion und der der einzelnen Dienste beinhalten.
Der erste Schritt hin zu einem sicheren System ist, standardmäßig allen
Rechnern den Zugriff zu verweigern. Danach wird dann für den jeweiligen
Dienst getrennt festgelegt, wer diesen nutzen darf. Wie gesehen gibt es
zwei Attribute, die den Zugriff auf Basis der IP Adresse eines Rechners
steuern: only_from und no_access. Unter Verwendung des letzteren:
wird der Zugriff auf alle Dienste unterbunden. Soll dann etwa echo
allen zugängig gemacht werden, sollte in der Sektion für den echo
Dienst folgendes stehen:
Unter Verwendung dieser Einstellungen erhält man folgende Ausgabe:
Sep 17 15:11:12 charly xinetd[26686]: Service=echo-stream: only_from
list and no_access list match equally the address 192.168.1.1
|
Bei der Entscheidung, ob ein Zugriff erlaubt werden soll, werden die
Adresslisten beider Attribute überprüft. Wird die Adresse des
Clientrechners von beiden Listen überdeckt, so ist das Attribut
relevant, welches weniger allgemein ist. Kann dies nicht festgestellt
werden (beide gleich allgemein), so wird die Verbindung nicht
zugelassen. Um dies zu beheben, sollte man stattdessen folgendes
schreiben:
Eine einfachere Lösung besteht darin, in der Sektion defaults folgendes
Attribut zu verwenden:
Wird kein Wert zugewiesen, scheitert jeder Verbindungsaufbau.
Danach kann jeder Dienst den Zugriff über eine entsprechende Zuweisung
an dieses Attribut regeln.
Wichtig: Wird gar keine Zugriffsregel (also weder das
Attribut only_from, noch no_access)
für einen Dienst aufgestellt (weder in dessen, noch in der defaults Sektion),
so kann jeder diesen Dienst nutzen!
Ein Beispiel für die defaults Sektion:
defaults
{
instances = 15
log_type = FILE /var/log/servicelog
log_on_success = HOST PID USERID DURATION EXIT
log_on_failure = HOST USERID RECORD
only_from =
per_source = 5
disabled = shell login exec comsat
disabled = telnet ftp
disabled = name uucp tftp
disabled = finger systat netstat
#INTERNAL
disabled = time daytime chargen servers services xadmin
#RPC
disabled = rstatd rquotad rusersd sprayd walld
}
|
Mittels servers, services und xadmin unter #INTERNAL kann xinetd
gesteuert werden. Später dazu mehr.
|