Website-Suche

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.

NOTE
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.

  1. Die übliche Syntax lautet wie folgt. Jeder Wert wird durch einen Doppelpunkt : getrennt.

    
    service : host/network
    

    Sie können auch eine Option angeben, 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>: ...]
    
  2. Die folgende Zeile würde den gesamten Datenverkehr zum sshd-Dienst zulassen. ALL wird als Platzhalter verwendet.

    
    sshd : ALL
    
  3. Diese Leitung würde Verbindungen von allen Hosts im 10. Netzwerk ermöglichen. Verbindungen von allen anderen Hosts können dann durch die Datei hosts.deny verweigert werden. Diese Art der Konfiguration würde wie beabsichtigt funktionieren, da die allow-Zeile vor unserer entsprechenden deny-Zeile in der anderen Datei steht und daher zuerst ausgelöst wird.

    
    sshd : 10.
    
  4. 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.

  5. Anstatt IPs zu verwenden, können Sie auch Hostnamen angeben, von denen aus Verbindungen akzeptiert oder abgelehnt werden sollen.

    
    sshd : some.host
    
  6. Akzeptieren Sie Verbindungen von allen Hosts, die den Domainnamen .linuxconfig.org verwenden.

    
    sshd : .linuxconfig.org
    
  7. Sie 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 : ALL
    
  8. Um nur lokale Verbindungen zu akzeptieren, kann der Platzhalter LOCAL verwendet werden.

    
    sshd : LOCAL
    
  9. Der EXCEPT-Operator kann 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.

Verwandte Artikel: