Iptable ist das Verwaltungstool für IPv4-Paketfilterung und NAT. Iptables wird verwendet, um die Tabellen der IPv4-Paketfilterregeln im Linux-Kernel einzurichten, zu pflegen und zu überprüfen. Es können mehrere verschiedene Tabellen definiert werden. Jede Tabelle enthält eine Reihe eingebauter Ketten und kann auch benutzerdefinierte Ketten enthalten. Jede Kette ist eine Liste von Regeln, die mit einem Satz von Paketen übereinstimmen können. Jede Regel gibt an, was mit einem übereinstimmenden Paket zu tun ist. Dies wird als `Ziel' bezeichnet, das ein Sprung zu einer benutzerdefinierten Kette in derselben Tabelle sein kann.
Eine Firewall-Regel legt Kriterien für ein Paket und ein Ziel fest. Wenn das Paket nicht übereinstimmt, wird die nächste Regel in der Kette untersucht; wenn es passt, dann wird die nächste Regel durch den Wert des Ziels spezifiziert, der der Name einer benutzerdefinierten Kette oder einer der speziellen Werte ACCEPT, DROP, QUEUE oder RETURN sein kann.
- ACCEPT bedeutet, das Paket durchzulassen.
- DROP bedeutet, das Paket auf den Boden fallen zu lassen
- QUEUE bedeutet, das Paket an den Userspace weiterzuleiten
- RETURN bedeutet, diese Kette nicht mehr zu durchlaufen und bei der nächsten Regel in der vorherigen Kette fortzufahren.
Es gibt insgesamt 4 Ketten:
- EINGABE - Die Standardkette wird für Pakete verwendet, die an das System adressiert sind. Verwenden Sie dies, um eingehende Ports und IP-Adressen/Subnetze zu öffnen oder zu schließen
- AUSGABE - Die Standardkette wird verwendet, wenn Pakete vom System generiert werden. Verwenden Sie diese, um ausgehende Ports und IP-Adressen/Subnetze zu öffnen oder zu schließen
- WEITER - Die Standardketten werden verwendet, wenn Pakete über eine andere Schnittstelle gesendet werden. Wird normalerweise verwendet, wenn Sie Linux als Router einrichten
- RH-Firewall-1-INPUT - Dies ist eine benutzerdefinierte benutzerdefinierte Kette. Es wird von den INPUT-, OUTPUT- und FORWARD-Ketten verwendet.
Installation von Iptables
Wir können iptables über den folgenden Befehl installieren.
[root@vpn ~]# yum install iptables -y
Überprüfen Sie die iptable-Version:
[root@vpn ~]# iptables --version
iptables v1.3.5
Überprüfen Sie den iptables-Status:
[root@vpn ~]# service iptables status
Starten Sie iptables :
[root@vpn ~]# service iptables start
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Um iptables zu setzen, beginnen Sie beim Booten:
[root@vpn ~]# chkconfig iptables on
Die Standardkonfigurationsdatei von CentOS ist /etc/sysconfig/iptables. Es sind die Systemskripte, die die Firewall aktivieren, indem sie diese Datei lesen
IPtable-Regeln
1) Alle Regeln (F) und Ketten (X) zurücksetzen, erforderlich, wenn bereits iptables-Regeln definiert wurden
#iptables -t filter -F
#iptables -t filter -X
2) Status der Firewall anzeigen
#iptables -L -n -v
3) Blockieren von Nullpaketen
#iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
4) SYN -FLOOD-Angriff zurückweisen
#iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
5) Recon-Paket ablehnen
#iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
6) Localhost-Schnittstelle zum Firewall-Filter hinzufügen
#iptables -A INPUT -i lo -j ACCEPT
7) Webserververkehr zulassen
#iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
8) Nutzern erlauben, SMTP-Server zu verwenden
#iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
9) Benutzern erlauben, E-Mails auf ihrem Server zu lesen
POP3-Verkehr zulassen
#iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
POP3-Verkehr zulassen
#iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
10) SSH-Verkehr zulassen
#iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Datenverkehr zum SSH-Port zulassen, wenn er von einer Quelle kommt
#iptables -A INPUT -p tcp -s YOUR_IP_ADDRESS -m tcp --dport 22 -j ACCEPT
11) Erlauben Sie allen eingerichteten ausgehenden Verbindungen, Antworten vom Server zu erhalten
#iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
12) Eine IP-Adresse blockieren
#iptables -A INPUT -s IP_ADDRESS -j DROP
13) Blockieren Sie einen Port für eine bestimmte IP-Adresse
#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j DROP
14) Öffnen Sie einen Port für eine bestimmte IP-Adresse
#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j ACCEPT
15) Drucker für eine bestimmte IP-Adresse zulassen
#iptables -A INPUT -s IP_ADDRESS -p udp -m udp --dport 631 -j ACCEPT
16) DNS öffnen
#iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
17) Öffnen Sie den MYSQL-Port
#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
18) Öffnen Sie eine Reihe von Ports (zB:7000-7100)
#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7100 -j ACCEPT
Nachdem Sie alle Regeln festgelegt haben, müssen Sie die Regeln speichern und die iptables neu starten
#service iptables save
#service iptables restart