GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einführung in iptables

Dieser Artikel erläutert, wie Sie IP-Tabellen für eine einfache Firewall verwenden, und beschreibt den Prozess, um Löcher in Ihrer Firewall zu erforderlichen Ports zu öffnen. Eine IP-Tabelle ist ein Firewall- und Netzwerk-Tool, das allen Linux-Distributionen zur Verfügung steht und Pakete auf Kernel-Ebene analysiert, während sie empfangen werden.

Eine umfassende Liste von IP-Tabellen-Befehlen, Parametern und anderen Optionen finden Sie auf der MAN-Seite und in der IP-Tabellen-Anleitung.

Basisregelsatz

Der Befehl zum Auflisten aktueller Regeln lautet:

  sudo iptables --list

Die Standardausgabe ist:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Lesen des Regelsatzes

Bei einer Standardinstallation sehen Sie drei vordefinierte Ketten , eine Liste von Regeln, die sich um die drei Hauptaktivitäten kümmert:eingehender Datenverkehr (INPUT), weitergeleiteter Datenverkehr (FORWARD) und ausgehender Datenverkehr (OUTPUT). Das Wichtigste, was Sie aus der obigen Tabelle mitnehmen sollten, ist, dass der Standardregelsatz für alle Richtlinien auf AKZEPTIEREN eingestellt ist .

Richtlinien

Verfügbare Richtlinien und andere Optionen sind umfangreich. Wenn Sie mehr darüber wissen möchten, lesen Sie die Manpage für IPtables. Dieser Artikel behandelt nur die gängigsten Richtlinien:

  • Akzeptieren leitet Datenverkehr ausdrücklich durch, solange keine anderen Zielregeln zutreffen.

  • Ablehnen sendet als Antwort auf das übereinstimmende Paket ein Fehlerpaket zurück. Andernfalls entspricht es DROP es ist also ein terminierendes TARGET , Regeldurchlauf beenden.

  • Ablegen hält eine Verbindung zu einem Host ohne Kommunikation an, es sei denn, es gilt eine Zielregel.

Verfügbare Optionen

IPtables MAN-Seite:https://linux.die.net/man/8/iptables

Die von iptables erkannten Optionen gibt es in den folgenden Gruppen:

  • Befehle Geben Sie eine auszuführende Aktion an.
  • Parameter Regelspezifikationen für die verwendeten Befehle festlegen.
  • Andere Optionen die Sie bei Bedarf für verwendete Befehle angeben.

Einfache Firewall-Befehle

Verbindungen zulassen, die bereits mit Ihrem Server verbunden sind.

sudo iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

Verbindungen auf ServiceNet zulassen. Wird von anderen Rackspace Cloud-Produkten wie Cloud Backup und Cloud Monitoring benötigt.

sudo iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Verbindungen zu SSH zulassen. Sie können diesen Befehl auch verwenden, um Anpassungen vorzunehmen. Der folgende Befehl lässt alle TCP-Verbindungsversuche zum SSH-Port 22 zu .

  sudo iptables -I INPUT 1 -p tcp  --dport 22 -j ACCEPT

Lassen Sie Verbindungen nur von einem bestimmten IP-Subnetz zu, indem Sie die CIDR-Notation (ClasslessInter Domain Routing) verwenden. In diesem Beispiel sperren wir alle IP-Adressen im Bereich von 192.168.1.0 bis 192.168.1.255.

sudo iptables -I INPUT 1 -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT

Verbindungen zu HTTP 80 zulassen oder HTTPS 443 von jeder Verbindung.

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT

Verbindungen für FTP-Server auf Port 21 zulassen .

sudo iptables -I INPUT 1 -p tcp --dport 21 -j ACCEPT

Ändern der Standardrichtlinie zum Ablehnen aller Verbindungen, nur erlaubte Verbindungen werden akzeptiert.

sudo iptables -P INPUT DROP

WICHTIG :Führen Sie diese Regel aus, nachdem Sie Ihre Zugriffsregeln eingerichtet haben, um eingehende SSH-Verbindungen zuzulassen.

Liste der gemeinsamen Ports

Kombinieren Sie mit den vorangehenden Befehlen Optionen aus der folgenden Liste gängiger Ports, um Regeln für jeden laufenden Server zu erstellen, den Sie haben.

Speichern Sie Ihren Regelsatz

Wenn der Server aus irgendeinem Grund neu gestartet wird oder Sie IPTables neu starten, gehen die Änderungen verloren, da Änderungen im flüchtigen Speicher gespeichert werden. Die folgenden Befehle erstellen eine einfache Textdatei, /etc/sysconfig/iptables , mit menschenlesbarer Syntax. Alle Änderungen an dieser Datei sind live, wenn iptables neu gestartet wird.

  • Für CentOS und Fedora

    /etc/init.d/iptables save
    
  • Für das Betriebssystem Ubuntu

    iptables-save > /etc/iptables.rules
    
  • Für alle anderen Distributionen

    iptables-save > /etc/sysconfig/iptables
    

Zusammenfassung

Dieser Artikel zeigt Ihnen, wie Sie eine einfache Firewall erstellen, um Ihren Server vor einfachen Angriffen zu schützen. Denken Sie daran, dass IPTables ein mächtiges Werkzeug ist, das ein Buch erfordern würde, um es vollständig zu erforschen. Wenn Sie Hilfe beim Erstellen weiterer Regeln benötigen, lesen Sie Easy Firewall Generator for IPTables.

  • Ubuntu IPtables Anleitung
  • Man IPtables

Linux
  1. So öffnen Sie den HTTP-Port ( 80 ) in Iptables unter CentOS

  2. Plesk:Einführung

  3. So konfigurieren Sie IPtables zum Öffnen von Ports in CentOS / RHEL

  4. iptables-Änderung rückgängig machen

  5. Der beste Weg, um alle iptables-Regeln zu löschen

Eine Einführung in Virtual Machine Manager

Eine Einführung in bpftrace für Linux

Firewall-Konfiguration mit Iptables unter Ubuntu 14.04

Eine Einführung in den Vivaldi-Browser unter Linux

Programmiersprache C - Einführung

Eine Einführung in Ansible-Fakten