hosts.allow-Format und Beispiel unter Linux
Ein Linux-System kann die Datei hosts.allow verwenden, um anzugeben, welche IP-Adressen, Hostnamen oder Domänen eine Verbindung zu ihm herstellen dürfen. Dies funktioniert speziell für TCP-umschlossene Dienste. Die Datei hosts.allow wird in Verbindung mit hosts.deny verwendet, um zu bestimmen, ob ein Verbindungsversuch akzeptiert oder abgelehnt wird.
Die Datei hosts.allow ist nur eine Nur-Text-Konfigurationsdatei mit einer recht einfachen Syntax. In diesem Tutorial sehen Sie ein Beispiel für die Datei hosts.allow, da wir Ihnen zeigen, wie Sie die Datei für verschiedene mögliche Szenarien formatieren.
In diesem Tutorial lernen Sie:
- Was macht die Datei
hosts.allow? - Bearbeiten und Formatieren der Datei
hosts.allow
hosts.allow-Format und Beispiel unter Linux
Die Datei hosts.allow enthält eine Liste von Regeln, für die Hosts oder Netzwerke auf die in der Datei angegebenen Dienste zugreifen dürfen. Das akzeptierte Format besteht darin, eine Regel pro Zeile aufzulisten. Im Folgenden zeigen wir Ihnen verschiedene Beispiele für Regeln, die Sie in der Datei verwenden können.
Wenn versucht wird, eine Verbindung herzustellen, wird die Datei
hosts.allow konsultiert, um zu sehen, ob sie zugelassen wird oder nicht. Wenn es erlaubt ist, dann wird anschließend die Datei hosts.deny konsultiert, um zu sehen, ob es eine Regel gibt, die die Verbindung ausdrücklich verweigert. -
Die übliche Syntax lautet wie folgt. Jeder Wert wird durch einen Doppelpunkt
:getrennt.service : host/networkSie können auch eine
Optionangeben, aber das ist nicht so üblich. Wir werden im Folgenden einige andere Nischenoptionen behandeln. Bei Bedarf können weitere Optionen hinzugefügt werden, die jeweils durch einen Doppelpunkt getrennt sind.service : host/network [: <option>: <option>: ...] Die folgende Zeile würde den gesamten Datenverkehr zum
sshd-Dienstzulassen.ALLwird als Platzhalter verwendet.sshd : ALLDiese Leitung würde Verbindungen von allen Hosts im
10.Netzwerk ermöglichen. Verbindungen von allen anderen Hosts können dann durch die Dateihosts.denyverweigert werden. Diese Art der Konfiguration würde wie beabsichtigt funktionieren, da dieallow-Zeilevor unserer entsprechendendeny-Zeilein der anderen Datei steht und daher zuerst ausgelöst wird.sshd : 10.Akzeptieren Sie Verbindungen von einer bestimmten IPv4- und IPv6-Adresse:
sshd : 10.10.136.241 sshd : [2a02:2149:88f1:4c00:9991:9daa:b580:aee1]Beachten Sie, dass die IPv6-Adresse in eckige Klammern
[ ]eingeschlossen werden muss.Anstatt IPs zu verwenden, können Sie auch Hostnamen angeben, von denen aus Verbindungen akzeptiert oder abgelehnt werden sollen.
sshd : some.hostAkzeptieren Sie Verbindungen von allen Hosts, die den Domainnamen .linuxconfig.org verwenden.
sshd : .linuxconfig.orgSie können auch einen Platzhalter sowohl für den Dienst als auch für das Host-/Netzwerkfeld verwenden. Dadurch werden alle Verbindungen zu jedem Dienst akzeptiert. Dies würde alle anderen Regeln (einschließlich der in
hosts.deny) irrelevant machen, da alle Verbindungen von dieser Regel akzeptiert werden, bevor sie eine Chance haben, abgelehnt zu werden.ALL : ALLUm nur lokale Verbindungen zu akzeptieren, kann der Platzhalter
LOCALverwendet werden.sshd : LOCAL-
Der
EXCEPT-Operatorkann verwendet werden, um eine Ausnahme in einer ansonsten allumfassenden Regel zu erstellen. Diese Regel würde z. B. alle Verbindungen vom .linuxconfig.org-Domainnamen zulassen, mit Ausnahme eines Hosts.sshd : .linuxconfig.org EXCEPT terminal.linuxconfig.org
Abschließende Gedanken
In diesem Tutorial haben wir gesehen, wie man hosts.allow mit verschiedenen Filterregeln auf einem Linux-System formatiert. Dies kann eine effektive Methode sein, um den Datenverkehr nach TCP-umhüllten Diensten zu filtern, obwohl es mit dem Aufkommen der leistungsstarken iptables/nftables-Firewall, die in den Linux-Kernel integriert ist, aus dem allgemeinen Gebrauch verschwunden ist.
