IT-MÜCKE

Linux: mittels hosts.allow und hosts.deny IP-Adressen sperren

Beitragsdatum 15.11.2016
Letzte Aktualisierung
Betrifft Linux allgemein

Aufgabe/Problem

  • Sollen bestimmte IP-Adressen oder Netzbereiche für den Zugriff auf einen Server gesperrt werden, so gibt es mehrere Möglichkeiten:
    • iptables ist eine komplexe Firewall
    • Über die .htaccess IPs für den Zugriff auf den Webserver sperren
    • Über die Dateien /etc/hosts.allow und /etc/hosts.deny IPs für einige Dienste sperren
  • In diesem Beitrag spreche ich die letztgenannte Möglichkeit an

Hintergrund

  • Mit den Dateien /etc/hosts.allow und /etc/hosts.deny steuert man den Zugriff von anderen Servern auf den eigenen Server
  • Dabei können Hostnamen oder IP-Adressen gesperrt werden
  • Auch Netzbereiche lassen sich sperren
  • Details dazu finden Sie u.a. in der man-page zu hosts.deny
    man hosts.deny
  • Allerdings funktioniert das nur mit bestimmten Diensten, die diese Methode unterstützen - Apache von sich aus kann damit nicht arbeiten. Die Folge: über diese Methode gesperrte IPs können dennoch ungehindert auf den Webserver zugreifen!

Praktische Beispiele

  • Als erstes sollte der localhost in /etc/hosts.allow eingetragen werden, damit der sich nicht selbst aussperren kann:
    ALL: 127.0.0.1,localhost
  • Hier gehören zusätzlich weitere IPs/Full Qualified Domain Names hinein, die immer Zugriff erhalten sollen
  • Folgende Einträge sind in der /etc/hosts.deny möglich und dienen zum Sperren von IP-Adressen oder Netzbereichen:
    # IP 1.2.3.4 komplett sperren:
    ALL: 1.2.3.4
    
    # Alle Adressen im Netz 4.5.6.x sperren (Netzmaske 4.5.6.0/24)
    # Jede der Zeilen ist eine mögliche Eingabeform und bewirken das gleiche:
    ALL: 4.5.6.
    ALL: 4.5.6.0/24
    ALL: 4.5.6.0/255.255.255.0
  • Es besteht die Möglichkeit die Sperren einzuschränken - in diesen Beispielen sperre ich alles aus (erkennbar am ALL). Für Details siehe man-Page zu hosts.deny.
  • Seien Sie aber vorsichtig: Sie können sich versehentlich selbst aussperren! Schalten Sie daher Ihre eigene IP vorher in /etc/hosts.allow frei.

Aber Achtung:

Die hosts.deny funktioniert als TCP-Wrapper und erfasst nur bestimmte Dienste. Der Apache (Webserver) wird nicht darüber gesteuert und somit können mit dieser Lösung keine IPs auf dem Webserver gesperrt werden.


Quellen:


Ähnliche Themen im blog:
iptables, sperren


zurück

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information