Dienste absichern

Veröffentlicht von Thomas Krupa am

TCP-Wrapper bieten eine grundlegende Filtermöglichkeit des eingehenden Netzwerkverkehrs. Ein TCP-Wrapped-Service wurde für die Bibliothek libwrap.so kompiliert. Verwenden Sie den Befehl ldd, um festzustellen, ob ein Netzwerkdienst mit libwrap verknüpft ist.

server:~$ ldd /sbin/sshd |grep libwrap
        libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f20eb26c000)

TCP-Wrapper basieren auf zwei Konfigurationsdateien als Grundlage für die Zugriffssteuerung:

/etc/hosts.allow
/etc/hosts.deny

Programme wie apache, nginx, lighthttp unterstützen hosts.allow bzw. hosts.deny nicht!
Punkte, die man sich merken sollte

  • Sie können nur eine Regel pro Dienst in den Dateien hosts.allow und hosts.deny haben.
  • Alle Änderungen an der Datei hosts.allow und hosts.deny werden sofort wirksam.
  • Die letzte Zeile in den Dateien hosts.allow und hosts.deny muss ein Zeilenumbruch sein. Andernfalls schlägt die Regel fehl.

Die Syntax ist für beide Dateien ident.

daemon client command.

Ein paar praktische Beispiele:

sshd : 10.10.10.11/32, .at, .de, .drei.com, 10.11.12.0/24

sshd : .schule.at : spawn /bin/echo `/bin/date` access denied to %h>>/var/log/sshd.log 

Der folgende Eintrag in /etc/hosts.deny verweigert allen Clients den Zugriff auf alle Dienste (sofern dies nicht ausdrücklich in /etc/hosts.allow zulässig ist) und protokolliert den Verbindungsversuch.

ALL : ALL : spawn /bin/echo “%c tried to connect to %d and was blocked” >> /var/log/tcpwrappers.

Folgende Platzhalter (%c, %d,…) können verwendet werden.

%c — Verschiedene Client-Informationen, wie zum Beispiel der Benutzer- und Hostname oder der Benutzername und die IP-Adresse.
%d — Der Name des Daemon-Prozesses.
%a — Die IP-Adresse des Clients
%u — Der Benutzername des Clients. Wenn dieser nicht verfügbar ist, wird unknown ausgegeben.

Nach dem Speichern sind die Änderungen sofort aktiv.

Damit lässt sich der Zugriff z.B. auf den SSH-Server schon gut einschränken. Natürlich sollte man die sshd_config noch entsprechend ändern. Eventuell fail2ban installieren und auf Public Key Authentifizierung umstellen.

Kategorien: AllgemeinDachsbergHowTo

0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.