25 Nëtzlech IPtable Firewall Regelen All Linux Administrator Sollt Wësse
Konfiguréiert d'Firewall sou datt et de System an d'Benotzer Ufuerderunge fir souwuel erakommen an erausgaang Verbindungen entsprécht, ouni datt de System vulnérabel ass fir Attacken.
Dëst ass wou iptables
praktesch kommen. Iptables ass eng Linux Kommandozeil Firewall déi Systemadministrateuren erlaabt den erakommen an erausginn Traffic iwwer eng Rei vu konfiguréierbaren Tabellregelen ze managen.
Iptables benotzt eng Rei vun Dëscher déi Ketten hunn, déi Set vun agebaute oder Benotzerdefinéierte Reegelen enthalen. Dank hinnen kann e Systemadministrator den Netzverkéier vu sengem System richteg filteren.
Per iptables Handbuch ginn et momentan 3 Zorte vun Dëscher:
FILTER
– dëst ass d'Standardtabell, déi déi agebaute Ketten enthält fir:- INPUT – Pakete fir lokal Sockets bestëmmt
- FORWARD - Päckchen duerch de System geréckelt
- OUTPUT - Pakete lokal generéiert
- PREROUTING - benotzt fir e Paket z'änneren soubal e kritt gëtt
- OUTPUT - benotzt fir lokal generéiert Pakete z'änneren
- POSTROUTING - benotzt fir Päck z'änneren wéi se amgaang sinn erauszekommen
- PREROUTING - fir erakommen Verbindungen z'änneren
- OUTPUT - fir lokal generéiert Päckchen z'änneren
- INPUT - fir erakommen Pakete
- POSTROUTING - fir Päck z'änneren wéi se amgaang sinn eraus ze goen
- FORWARD - fir Päckchen duerch d'Këscht geréckelt
An dësem Artikel gesitt Dir e puer nëtzlech Kommandoen, déi Iech hëllefen, Är Linux Box Firewall duerch iptables ze verwalten. Fir den Zweck vun dësem Artikel fänken ech mat méi einfache Kommandoen un a ginn op méi komplex bis zum Schluss.
1. Start/Stop/Restart Iptables Firewall
Als éischt sollt Dir wësse wéi Dir iptables Service a verschiddene Linux Verdeelungen verwalten. Dëst ass relativ einfach:
------------ On Cent/RHEL 7 and Fedora 22+ ------------ # systemctl start iptables # systemctl stop iptables # systemctl restart iptables
------------ On Cent/RHEL 6/5 and Fedora ------------ # /etc/init.d/iptables start # /etc/init.d/iptables stop # /etc/init.d/iptables restart
2. Check all IPtables Firewall Regelen
Wann Dir Är existent Regele wëllt iwwerpréiwen, benotzt de folgende Kommando:
# iptables -L -n -v
Dëst sollt d'Ausgab ähnlech wéi deen hei ënnen zréckginn:
Chain INPUT (policy ACCEPT 1129K packets, 415M bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 0 0 ACCEPT udp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 0 0 ACCEPT tcp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67 0 0 ACCEPT udp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * lxcbr0 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 354K packets, 185M bytes) pkts bytes target prot opt in out source destination
Wann Dir léiwer d'Regele fir eng spezifesch Tabelle kontrolléiere wëllt, kënnt Dir d'Optioun
-t
benotzen, gefollegt vun der Tabell déi Dir wëllt iwwerpréiwen. Zum Beispill, fir d'Regelen an derNAT
Tabell ze kontrolléieren, kënnt Dir benotzen:# iptables -t nat -L -v -n
3. Spär spezifesch IP Adress an IPtables Firewall
Wann Dir eng ongewéinlech oder mëssbraucht Aktivitéit vun enger IP Adress fannt, kënnt Dir dës IP Adress mat der folgender Regel blockéieren:
# iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
Wou Dir musst
\xxx.xxx.xxx.xxx\
mat der aktueller IP Adress änneren. Sidd ganz virsiichteg wann Dir dëse Kommando leeft, well Dir kënnt zoufälleg Är eege IP Adress blockéieren. D'Optioun-A
fügt d'Regel um Enn vun der gewielter Kette un.Am Fall wou Dir nëmmen den TCP Traffic vun dëser IP Adress blockéiere wëllt, kënnt Dir d'Optioun
-p
benotzen, déi de Protokoll spezifizéiert. Esou gesäit de Kommando esou aus:# iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -j DROP
4. Spär IP Adress an IPtables Firewall
Wann Dir decidéiert hutt datt Dir net méi Ufroe vun enger spezifescher IP Adress blockéiere wëllt, kënnt Dir d'Blockéierungsregel mat dem folgenden Kommando läschen:
# iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP
D'Optioun
-D
läscht een oder méi Regelen aus der gewielter Kette. Wann Dir léiwer déi méi laang Optioun benotzt, kënnt Dir--läschen
benotzen.5. Spär spezifesch Port op IPtables Firewall
Heiansdo wëllt Dir Entréeën oder erausginn Verbindungen op engem spezifeschen Hafen blockéieren. Et ass eng gutt Sécherheetsmoossnam an Dir sollt wierklech iwwer dës Saach denken wann Dir Är Firewall opstellt.
Fir erausgaang Verbindungen op engem spezifesche Port ze blockéieren benotzt:
# iptables -A OUTPUT -p tcp --dport xxx -j DROP
Fir Entréeën Verbindungen z'erméiglechen benotzt:
# iptables -A INPUT -p tcp --dport xxx -j ACCEPT
A béide Beispiller ännert
\xxx\
mam aktuellen Hafen deen Dir wëllt erlaben. Wann Dir den UDP-Traffic blockéiere wëllt anstatt TCP, ännert einfach\tcp\
mat\udp\
an der uewe genannter iptables-Regel.6. Erlaben Multiple Häfen op IPtables benotzt Multiport
Dir kënnt e puer Ports gläichzäiteg erlaben, andeems Dir Multiport benotzt, hei drënner fannt Dir esou Regelen fir souwuel erakommen an erausgaang Verbindungen:
# iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT # iptables -A OUTPUT -p tcp -m multiport --sports 22,80,443 -j ACCEPT
7. Erlaabt Spezifesch Network Range op Besonnesch Port op IPtables
Dir wëllt bestëmmte Verbindungen op spezifesch port zu engem bestëmmte Reseau limitéieren. Loosst eis soen datt Dir erausginn Verbindungen um Port
22
zum Netzwierk192.168.100.0/24
erlaabt.Dir kënnt et mat dësem Kommando maachen:
# iptables -A OUTPUT -p tcp -d 192.168.100.0/24 --dport 22 -j ACCEPT
8. Block Facebook op IPtables Firewall
E puer Patronen wëllen den Zougang zu Facebook fir hir Mataarbechter blockéieren. Drënner ass e Beispill wéi de Traffic op Facebook blockéiert.
Opgepasst: Wann Dir e System Administrateur sidd an dës Reegele musse gëllen, denkt drun datt Är Kollegen ophalen mat Iech ze schwätzen :)
Fannt als éischt d'IP Adressen déi vu Facebook benotzt ginn:
# host facebook.com facebook.com has address 66.220.156.68
# whois 66.220.156.68 | grep CIDR CIDR: 66.220.144.0/20
Dir kënnt dann dat Facebook Netzwierk blockéieren mat:
# iptables -A OUTPUT -p tcp -d 66.220.144.0/20 -j DROP
Denkt drun datt d'IP Adressbereich vu Facebook benotzt ka variéieren an Ärem Land.
9. Setup Port Forwarding an IPtables
Heiansdo wëllt Dir vläicht de Verkéier vun engem Service an en aneren Hafen weiderginn. Dir kënnt dëst mat dem folgenden Kommando erreechen:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525
Deen uewe genannte Kommando féiert all erakommen Traffic op den Netzwierkinterface
eth0
, vum Port25
op den Port2525
. Dir kënnt d'Ports änneren mat deenen Dir braucht.10. Block Network Iwwerschwemmung op Apache Port mat IPtables
Heiansdo kënnen IP Adressen ze vill Verbindunge fir Web Ports op Ärer Websäit ufroen. Dëst kann d'Zuel vu Probleemer verursaachen a fir esou Probleemer ze vermeiden, kënnt Dir déi folgend Regel benotzen:
# iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/minute --limit-burst 200 -j ACCEPT
Deen uewe genannte Kommando limitéiert déi erakommen Verbindunge vu pro Minutt op
100
a setzt e Limitburst op200
. Dir kënnt d'Limit an d'Limitburst op Är eege spezifesch Ufuerderungen änneren.11. Block Entréeën Ping Ufroen op IPtables
E puer Systemadministratoren blockéieren gären erakommen Ping-Ufroe wéinst Sécherheetsbedenken. Och wann d'Drohung net sou grouss ass, ass et gutt ze wëssen wéi een esou Ufro blockéiert:
# iptables -A INPUT -p icmp -i eth0 -j DROP
12. Erlaben loopback Zougang
Loopback Zougang (Zougang vum
127.0.0.1
) ass wichteg an Dir sollt et ëmmer aktiv loossen:# iptables -A INPUT -i lo -j ACCEPT # iptables -A OUTPUT -o lo -j ACCEPT
13. Halen e Log vun erofgefall Network Pakete op IPtables
Wann Dir déi erofgefallene Päckchen op Netzwierkinterface
eth0
aloggen wëllt, kënnt Dir de folgende Kommando benotzen:# iptables -A INPUT -i eth0 -j LOG --log-prefix "IPtables dropped packets:"
Dir kënnt de Wäert no
\--log-Präfix\
mat eppes no Ärem Choix änneren. D'Messagen sinn ageloggt/var/log/messages
an Dir kënnt no se sichen mat:# grep "IPtables dropped packets:" /var/log/messages
14. Block Zougang zu spezifesch MAC Adress op IPtables
Dir kënnt den Zougang zu Ärem System vun enger spezifescher MAC Adress blockéieren andeems Dir:
# iptables -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j DROP
Natierlech musst Dir
\00:00:00:00:00:00\
mat der aktueller MAC Adress änneren, déi Dir blockéiere wëllt.15. Limitéiert d'Zuel vun Concurrent Verbindungen pro IP Adress
Wann Dir net ze vill gläichzäiteg Verbindung vun enger eenzeger IP Adress op engem bestëmmten Hafen etabléiert wëllt, kënnt Dir de Kommando hei ënnen benotzen:
# iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
Deen uewe genannte Kommando erlaabt net méi wéi
3
Verbindungen pro Client. Natierlech kënnt Dir d'Portnummer änneren fir verschidde Service ze passen. Och de--connlimit-above
soll geännert ginn fir Är Ufuerderung ze passen.16. Sich bannent IPtables Regel
Wann Dir Är iptables Regelen definéiert hutt, wëllt Dir vun Zäit zu Zäit sichen a kann se änneren. En einfache Wee fir an Äre Reegelen ze sichen ass ze benotzen:
# iptables -L $table -v -n | grep $string
Am uewe genannte Beispill musst Dir
$Table
änneren mat der aktueller Tabell, an där Dir wëllt sichen an$string
mat der aktueller String, fir déi Dir sicht.Hei ass e Beispill:
# iptables -L INPUT -v -n | grep 192.168.0.100
17. Definéieren New IPTables Kette
Mat iptables kënnt Dir Är eege Kette definéieren a personaliséiert Regelen dran späicheren. Fir eng Kette ze definéieren, benotzt:
# iptables -N custom-filter
Elo kënnt Dir kucken ob Ären neie Filter do ass:
# iptables -L
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
Chain custom-filter (0 references) target prot opt source destination
18. Flush IPtables Firewall Ketten oder Regelen
Wann Dir Är Firewallketten wëllt spülen, kënnt Dir benotzen:
# iptables -F
Dir kënnt Ketten aus spezifeschen Dësch spülen mat:
# iptables -t nat -F
Dir kënnt
\nat\
mat der aktueller Tabell änneren, wéi eng Ketten Dir wëllt spülen.19. Retten IPtables Regelen zu engem Fichier
Wann Dir Är Firewall Regele späichere wëllt, kënnt Dir de Kommando
iptables-save
benotzen. Dir kënnt déi folgend benotzen fir Är Regelen an enger Datei ze späicheren an ze späicheren:# iptables-save > ~/iptables.rules
Et ass un Iech wou Dir d'Datei späichert a wéi Dir se nennt.
20. Restauréieren IPtables Regelen aus engem Fichier
Wann Dir eng Lëscht vun iptables-Regelen restauréiere wëllt, kënnt Dir
iptables-restore
benotzen. De Kommando gesäit esou aus:# iptables-restore < ~/iptables.rules
Natierlech kann de Wee op Är Regelendatei anescht sinn.
21. Ariichten IPtables Regele fir PCI Compliance
E puer Systemadministrateuren kënnen erfuerderlech sinn hir Serveren ze konfiguréieren fir PCI-kompatibel ze sinn. Et gi vill Ufuerderunge vu verschiddene PCI Compliance Ubidder, awer et gi wéineg gemeinsam.
A ville Fäll musst Dir méi wéi eng IP Adress hunn. Dir musst d'Regele hei ënnen fir d'IP Adress vum Site uwenden. Sidd extra virsiichteg wann Dir d'Regele hei ënnen benotzt a benotzt se nëmmen wann Dir sécher sidd wat Dir maacht:
# iptables -I INPUT -d SITE -p tcp -m multiport --dports 21,25,110,143,465,587,993,995 -j DROP
Wann Dir cPanel oder ähnlech Kontrollpanel benotzt, musst Dir vläicht och seng Ports blockéieren. Hei ass e Beispill:
# iptables -I in_sg -d DEDI_IP -p tcp -m multiport --dports 2082,2083,2095,2096,2525,2086,2087 -j DROP
Notiz: Fir sécherzestellen, datt Dir den Ufuerderunge vun Ärem PCI Verkeefer entsprécht, kontrolléiert hire Bericht suergfälteg an gëlt déi erfuerderlech Reegelen. A verschiddene Fäll musst Dir och den UDP-Traffic op bestëmmte Ports blockéieren.
22. Erlaabt etabléiert a verbonne Verbindungen
Well de Reseau Traffic getrennt ass op erakommen an erausginn, wëllt Dir etabléierten an Zesummenhang Entréeën Traffic erlaben. Fir erakommen Verbindunge maachen et mat:
# iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Fir erausginn Benotzung:
# iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
23. Drop ongülteg Paketen an IPtables
Et ass méiglech e puer Netzwierkpakete als ongëlteg markéiert ze hunn. E puer Leit kënne léiwer dës Pakete protokolléieren, awer anerer léiwer se ze falen. Fir d'Päck ongëlteg ze falen, kënnt Dir benotzen:
# iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
24. Block Verbindung op Network Interface
E puer Systemer hu vläicht méi wéi ee Reseau Interface. Dir kënnt den Zougang zu deem Netz-Interface limitéieren oder Verbindunge vu bestëmmter IP Adress blockéieren.
Zum Beispill:
# iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -j DROP
Ännert \xxx.xxx.xxx.xxx mat der aktueller IP Adress (oder Netzwierk) déi Dir wëllt blockéieren.
25. Ausgeschéckt Mailen duerch IPTables auszeschalten
Wann Äre System keng E-Maile schéckt, kënnt Dir erausginn Ports op SMTP Ports blockéieren. Zum Beispill kënnt Dir dëst benotzen:
# iptables -A OUTPUT -p tcp --dports 25,465,587 -j REJECT
Conclusioun
Iptables ass eng mächteg Firewall vun där Dir einfach profitéiere kënnt. Et ass vital fir all Systemadministrator op d'mannst d'Basis vun iptables ze léieren. Wann Dir méi detailléiert Informatiounen iwwer iptables a seng Optiounen wëllt fannen, ass et recommandéiert d'Handbuch ze liesen:
# man iptables
Wann Dir mengt, mir sollten méi Kommandoen op dës Lëscht derbäisetzen, deelt se w.e.g. mat eis, andeems Dir se an der Kommentarsektioun hei drënner ofgitt.