GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

TCP Wrapper (hosts.allow &hosts.deny) Befehlsoptionen in Linux

TCP-Wrapper können mehr als nur den Zugriff auf Dienste erlauben oder verweigern. Mit dem optionalen Befehlsargument können sie Verbindungsbanner senden, vor Angriffen von bestimmten Hosts warnen und die Protokollierung verbessern.

TCP-Wrapper-Banner für einen Dienst

Um ein TCP-Wrapper-Banner für einen Dienst zu implementieren, verwenden Sie die Banner-Option. Dieses Beispiel implementiert ein Banner für vsftpd. Sie müssen irgendwo auf dem System eine Bannerdatei erstellen und ihr den gleichen Namen wie dem Daemon geben. In diesem Beispiel heißt die Datei /etc/banners/vsftpd und enthält die folgenden Zeilen:

220-Hello, %c
220-All activity on ftp.example.com is logged.
220-Inappropriate use results in access privileges being removed.

Das %c Token stellt eine Vielzahl von Client-Informationen bereit. Das %d-Token (nicht gezeigt) wird zum Namen des Daemons erweitert, mit dem der Client versucht hat, eine Verbindung herzustellen. Damit dieses Banner bei eingehenden Verbindungen angezeigt wird, fügen Sie die folgende Zeile zur Datei /etc/hosts.allow hinzu:

# vi /etc/hosts.allow
vsftpd : ALL : banners /etc/banners/

TCP-Wrapper, um vor potenziellen Angriffen zu warnen

TCP-Wrapper können Sie mithilfe der Spawn-Direktive vor potenziellen Angriffen von einem Host oder Netzwerk warnen. Die Direktive spawn führt einen beliebigen Shell-Befehl aus. In diesem Beispiel wird versucht, über das Netzwerk 200.182.68.0/24 zuzugreifen. Fügen Sie die folgende Zeile in die Datei /etc/hosts.deny ein, um alle Verbindungsversuche von diesem Netzwerk abzulehnen und die Versuche in einer speziellen Datei zu protokollieren:

# vi /etc/hosts.deny
ALL : 200.182.68.0 : spawn /bin/echo `date` %c %d >> /var/log/intruder_alert

Um die Verbindung zuzulassen und zu protokollieren, platzieren Sie die Spawn-Direktive in der Datei /etc/hosts.allow.

Zugriff verweigern und Verbindungsversuch protokollieren

Der folgende Eintrag in /etc/hosts.deny verweigert allen Client-Zugriffen auf alle Dienste (sofern nicht ausdrücklich in /etc/hosts.allow zugelassen) und protokolliert den Verbindungsversuch:

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

Die Protokollebene kann mithilfe der Option „Schweregrad“ erhöht werden. Gehen Sie davon aus, dass jeder, der versucht, per SSH auf einen FTP-Server zuzugreifen, ein Eindringling ist. Um dies zu kennzeichnen, platzieren Sie ein Notruf-Flag in den Protokolldateien anstelle des Standard-Flags info und verweigern Sie die Verbindung. Fügen Sie dazu die folgende Zeile in /etc/hosts.deny ein:

# vi /etc/hosts.deny
sshd : ALL : severity emerg

Dies verwendet die standardmäßige authpriv-Protokollierungsfunktion, erhöht jedoch die Priorität vom Standardwert von info auf emerg, wodurch Protokollmeldungen direkt an die Konsole gesendet werden.

Zugriff von einer bestimmten Domain verweigern

Das folgende Beispiel besagt, dass bei einem Verbindungsversuch zum SSH-Daemon (sshd) von einem Host in der Domäne example.com der echo-Befehl ausgeführt wird, um den Versuch an eine spezielle Protokolldatei anzuhängen, und die Verbindung abzulehnen. Da die optionale Deny-Direktive verwendet wird, verweigert diese Zeile den Zugriff, selbst wenn sie in der Datei /etc/hosts.allow erscheint:

# vi /etc/hosts.allow
sshd : .example.com \
: spawn /bin/echo `/bin/date` access denied >> /var/log/sshd.log \ 
: deny

Jedem Optionsfeld (spawn und deny) ist ein umgekehrter Schrägstrich (\) vorangestellt, um zu verhindern, dass die Regel aufgrund der Länge fehlschlägt.

Verstehen von TCP-Wrappern (/etc/hosts.allow &/etc/hosts.deny) in Linux


Cent OS
  1. [Linux] :Wie kann man automatisierte Bot-basierte SSH-Angriffe stoppen?

  2. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  3. Domainnamen einschließen oder nicht in /etc/hosts?

  4. Ubuntu /etc/hosts Adressen im Format *.*.*.*?

  5. Wie wird /etc/motd aktualisiert?

DSH – Führen Sie einen Linux-Befehl auf mehreren Hosts gleichzeitig aus

Die Hosts-Datei unter Linux

Eine benutzerspezifische Hosts-Datei erstellen, um /etc/hosts zu ergänzen?

ldd-Befehlsoptionen in Linux

/etc/hosts-Datei unter Linux verstehen

Größenbeschränkung von /etc/hosts (Linux)