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.
Referenzen und nützliche Links
- Ubuntu IPtables Anleitung
- Man IPtables