25 Regoli Utli tal-Firewall IPtable Kull Amministratur tal-Linux Għandu Jaf
kkonfigurat il-firewall b'tali mod li jissodisfa r-rekwiżiti tas-sistema u tal-utenti kemm għall-konnessjonijiet deħlin kif ukoll dawk ħerġin, mingħajr ma tħalli s-sistema vulnerabbli għall-attakki.
Dan huwa fejn iptables
jiġu utli. Iptables huwa firewall tal-linja tal-kmand Linux li jippermetti lill-amministraturi tas-sistema jimmaniġġjaw it-traffiku deħlin u ħerġin permezz ta 'sett ta' regoli ta 'tabella konfigurabbli.
Iptables juża sett ta' tabelli li għandhom ktajjen li fihom sett ta' regoli integrati jew definiti mill-utent. Grazzi għalihom amministratur tas-sistema jista 'jiffiltra sew it-traffiku tan-netwerk tas-sistema tiegħu.
Skont il-manwal tal-iptables, bħalissa hemm 3 tipi ta' tabelli:
FILTRI
– din hija t-tabella default, li fiha l-ktajjen mibnija għal:- INPUT – pakketti ddestinati għal sockets lokali
- WORD – pakketti mgħoddija mis-sistema
- ĦRUĠ – pakketti ġenerati lokalment
- PREOUTING – użat biex jibdel pakkett hekk kif jasal
- ĦRUĠ – użat biex jibdel pakketti ġenerati lokalment
- POSTROUTING – użat biex jibdel pakketti hekk kif ikunu waslu biex joħorġu
- PREOUTING – għall-bidla tal-konnessjonijiet li jkunu deħlin
- ĦRUĠ – għall-bidla tal-pakketti ġenerati lokalment
- INPUT – għal pakketti deħlin
- POSTROUTING – għall-bidla tal-pakketti hekk kif ikunu waslu biex joħorġu
- WORD – għal pakketti mgħoddija mill-kaxxa
F'dan l-artikolu, se tara xi kmandi utli li jgħinuk timmaniġġja l-firewall tal-kaxxa tal-Linux tiegħek permezz ta 'iptables. Għall-fini ta' dan l-artikolu, se nibda bi kmandi aktar sempliċi u mmur għal aktar kumplessi sal-aħħar.
1. Ibda/Waqqaf/Ibda mill-ġdid Iptables Firewall
L-ewwel, għandek tkun taf kif timmaniġġja s-servizz iptables f'distribuzzjonijiet Linux differenti. Dan huwa pjuttost faċli:
------------ 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. Iċċekkja r-Regoli kollha tal-Firewall tal-IPtables
Jekk trid tiċċekkja r-regoli eżistenti tiegħek, uża l-kmand li ġej:
# iptables -L -n -v
Dan għandu jirritorna output simili għal dak hawn taħt:
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
Jekk tippreferi tiċċekkja r-regoli għal tabella speċifika, tista' tuża l-għażla
-t
segwita mit-tabella li trid tiċċekkja. Pereżempju, biex tiċċekkja r-regoli fit-tabellaNAT
, tista' tuża:# iptables -t nat -L -v -n
3. Imblokka l-indirizz IP Speċifiku f'IPtables Firewall
Jekk issib attività mhux tas-soltu jew abbużiva minn indirizz IP tista' timblokka dak l-indirizz IP bir-regola li ġejja:
# iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
Fejn għandek bżonn tibdel
\xxx.xxx.xxx.xxx\
bl-indirizz IP attwali. Oqgħod attent ħafna meta tħaddem dan il-kmand peress li tista' aċċidentalment timblokka l-indirizz IP tiegħek stess. L-għażla-A
tehmeż ir-regola fl-aħħar tal-katina magħżula.F'każ li trid timblokka biss it-traffiku TCP minn dak l-indirizz IP, tista' tuża l-għażla
-p
li tispeċifika l-protokoll. B'dan il-mod il-kmand se jidher bħal dan:# iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -j DROP
4. Żblokka l-indirizz IP f'IPtables Firewall
Jekk iddeċidejt li m'għadx trid timblokka t-talbiet minn indirizz IP speċifiku, tista' tħassar ir-regola tal-imblukkar bil-kmand li ġej:
# iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP
L-għażla
-D
tħassar regola waħda jew aktar mill-katina magħżula. Jekk tippreferi tuża l-għażla itwal tista' tuża--delete
.5. Imblokka Port Speċifiku fuq IPtables Firewall
Xi drabi tista 'tkun trid timblokka konnessjonijiet deħlin jew ħerġin fuq port speċifiku. Hija miżura ta 'sigurtà tajba u għandek verament taħseb fuq dik il-kwistjoni meta twaqqaf il-firewall tiegħek.
Biex timblokka konnessjonijiet ħerġin fuq port speċifiku uża:
# iptables -A OUTPUT -p tcp --dport xxx -j DROP
Biex tippermetti konnessjonijiet deħlin uża:
# iptables -A INPUT -p tcp --dport xxx -j ACCEPT
Fiż-żewġ eżempji ibdel
\xxx\
bil-port attwali li tixtieq tippermetti. Jekk trid timblokka t-traffiku UDP minflok TCP, sempliċement ibdel\tcp\
b'\udp\
fir-regola iptables ta' hawn fuq.6. Ħalli Portijiet multipli fuq IPtables billi tuża Multiport
Tista 'tippermetti portijiet multipli f'daqqa, billi tuża multiport, hawn taħt tista' ssib regola bħal din kemm għal konnessjonijiet deħlin kif ukoll ħerġin:
# 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. Ħalli Medda tan-Netwerk Speċifiku fuq Port Partikolari fuq IPtables
Inti tista 'tixtieq tillimita ċerti konnessjonijiet fuq port speċifiku għal netwerk partikolari. Ejja ngħidu li trid tippermetti konnessjonijiet ħerġin fuq il-port
22
għan-netwerk192.168.100.0/24
.Tista 'tagħmel dan b'dan il-kmand:
# iptables -A OUTPUT -p tcp -d 192.168.100.0/24 --dport 22 -j ACCEPT
8. Imblokka Facebook fuq IPtables Firewall
Xi impjegaturi jħobbu jimblukkaw l-aċċess għal Facebook lill-impjegati tagħhom. Hawn taħt hawn eżempju kif timblokka t-traffiku lejn Facebook.
Nota: Jekk inti amministratur tas-sistema u għandek bżonn tapplika dawn ir-regoli, żomm f'moħħok li l-kollegi tiegħek jistgħu jieqfu jkellmuk :)
L-ewwel sib l-indirizzi IP użati minn Facebook:
# host facebook.com facebook.com has address 66.220.156.68
# whois 66.220.156.68 | grep CIDR CIDR: 66.220.144.0/20
Imbagħad tista' timblokka dak in-netwerk ta' Facebook ma':
# iptables -A OUTPUT -p tcp -d 66.220.144.0/20 -j DROP
Żomm f'moħħok li l-firxa tal-indirizzi IP użata minn Facebook tista 'tvarja f'pajjiżek.
9. Setup Port Forwarding fl-IPtables
Xi drabi tista’ tkun trid tibgħat it-traffiku ta’ servizz wieħed lejn port ieħor. Tista' tikseb dan bil-kmand li ġej:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525
Il-kmand ta' hawn fuq jgħaddi t-traffiku kollu li jkun dieħel fuq l-interface tan-netwerk
eth0
, mill-port25
sal-port2525
. Tista 'tbiddel il-portijiet ma' dawk li għandek bżonn.10. Blokk Network Flood fuq Apache Port ma IPtables
Xi drabi l-indirizzi IP jistgħu jitolbu wisq konnessjonijiet lejn portijiet tal-web fuq il-websajt tiegħek. Dan jista 'jikkawża numru ta' kwistjonijiet u biex tevita problemi bħal dawn, tista 'tuża r-regola li ġejja:
# iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/minute --limit-burst 200 -j ACCEPT
Il-kmand ta 'hawn fuq jillimita l-konnessjonijiet li jidħlu minn kull minuta għal
100
u jistabbilixxi limitu ta' tifqigħ għal200
. Tista' teditja l-limitu u l-limiti tal-fqigħ skont ir-rekwiżiti speċifiċi tiegħek.11. Imblokka Talbiet Ping Deħlin fuq IPtables
Xi amministraturi tas-sistema jixtiequ jimblokkaw it-talbiet ping li jkunu deħlin minħabba tħassib dwar is-sigurtà. Filwaqt li t-theddida mhix daqshekk kbira, huwa tajjeb li tkun taf kif timblokka tali talba:
# iptables -A INPUT -p icmp -i eth0 -j DROP
12. Ħalli Aċċess loopback
L-aċċess għal loopback (aċċess minn
127.0.0.1
) huwa importanti u għandek dejjem tħallih attiv:# iptables -A INPUT -i lo -j ACCEPT # iptables -A OUTPUT -o lo -j ACCEPT
13. Żomm Ġurnal ta 'Pakketti tan-Netwerk Waqqa' fuq IPtables
Jekk trid tilloggja l-pakketti li waqgħu fuq l-interface tan-netwerk
eth0
, tista’ tuża l-kmand li ġej:# iptables -A INPUT -i eth0 -j LOG --log-prefix "IPtables dropped packets:"
Tista' tibdel il-valur wara
\--log-prefix\
b'xi ħaġa mill-għażla tiegħek. Il-messaġġi huma illoggjati f'/var/log/messages
u tista' tfittexhom bi:# grep "IPtables dropped packets:" /var/log/messages
14. Imblokka Aċċess għal Indirizz MAC Speċifiku fuq IPtables
Tista' timblokka l-aċċess għas-sistema tiegħek minn indirizz MAC speċifiku billi tuża:
# iptables -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j DROP
Naturalment, ser ikollok bżonn tibdel
\00:00:00:00:00:00\
bl-indirizz MAC attwali li trid timblokka.15. Illimita n-Numru ta' Konnessjonijiet Konkorrenti għal kull Indirizz IP
Jekk ma tridx li jkollok wisq konnessjonijiet konkorrenti stabbiliti minn indirizz IP wieħed fuq port partikolari tista' tuża l-kmand hawn taħt:
# iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
Il-kmand ta' hawn fuq jippermetti mhux aktar minn
3
konnessjonijiet għal kull klijent. Naturalment, tista 'tbiddel in-numru tal-port biex jaqbel ma' servizz differenti. Ukoll il---connlimit-above
għandha tinbidel biex taqbel mal-ħtieġa tiegħek.16. Fittex fi ħdan ir-Regola IPtables
Ladarba tkun iddefinixxit ir-regoli tal-iptables tiegħek, tkun trid tfittex minn żmien għal żmien u jista 'jkollok bżonn tibdelhom. Mod faċli biex tfittex fir-regoli tiegħek huwa li tuża:
# iptables -L $table -v -n | grep $string
Fl-eżempju ta' hawn fuq, ser ikollok bżonn tibdel
$table
bit-tabella attwali li fiha tixtieq tfittex u$string
bl-istring attwali li qed tfittex għaliha.Hawn eżempju:
# iptables -L INPUT -v -n | grep 192.168.0.100
17. Iddefinixxi Katina ta' IPTables Ġdida
B'iptables, tista 'tiddefinixxi l-katina tiegħek stess u taħżen regoli tad-dwana fiha. Biex tiddefinixxi katina, uża:
# iptables -N custom-filter
Issa tista' tiċċekkja jekk il-filtru l-ġdid tiegħek huwiex hemm:
# 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. Aħsel IPtables Firewall Ktajjen jew Regoli
Jekk trid tlaħlaħ il-ktajjen tal-firewall tiegħek, tista' tuża:
# iptables -F
Tista' tlaħlaħ il-ktajjen minn tabella speċifika bi:
# iptables -t nat -F
Tista' tbiddel
\nat\
bit-tabella attwali liema ktajjen tixtieq tlaħlaħ.19. Issejvja r-Regoli tal-IPtables f'Fajl
Jekk trid issalva r-regoli tal-firewall tiegħek, tista' tuża l-kmand
iptables-save
. Tista' tuża dan li ġej biex issalva u taħżen ir-regoli tiegħek f'fajl:# iptables-save > ~/iptables.rules
Huwa f'idejk fejn se taħżen il-fajl u kif se ssemmih.
20. Irrestawra r-Regoli tal-IPtables minn Fajl
Jekk trid tirrestawra lista ta’ regoli ta’ iptables, tista’ tuża
iptables-restore
. Il-kmand jidher bħal dan:# iptables-restore < ~/iptables.rules
Naturalment it-triq għall-fajl tar-regoli tiegħek tista' tkun differenti.
21. Setup IPtables Regoli għall-Konformità tal-PCI
Xi amministraturi tas-sistema jistgħu jkunu meħtieġa jikkonfiguraw is-servers tagħhom biex ikunu kompilanti PCI. Hemm ħafna rekwiżiti minn bejjiegħa differenti ta 'konformità PCI, iżda hemm ftit dawk komuni.
F'ħafna mill-każijiet, ser ikollok bżonn li jkollok aktar minn indirizz IP wieħed. Ikollok bżonn tapplika r-regoli hawn taħt għall-indirizz IP tas-sit. Oqgħod attent ħafna meta tuża r-regoli hawn taħt u użahom biss jekk tkun ċert x'qed tagħmel:
# iptables -I INPUT -d SITE -p tcp -m multiport --dports 21,25,110,143,465,587,993,995 -j DROP
Jekk tuża cPanel jew pannell tal-kontroll simili, jista 'jkollok bżonn timblokka l-portijiet tiegħu wkoll. Hawn eżempju:
# iptables -I in_sg -d DEDI_IP -p tcp -m multiport --dports 2082,2083,2095,2096,2525,2086,2087 -j DROP
Nota: Biex tiżgura li tissodisfa r-rekwiżiti tal-bejjiegħ PCI tiegħek, iċċekkja r-rapport tagħhom bir-reqqa u applika r-regoli meħtieġa. F'xi każijiet jista 'jkollok bżonn timblokka t-traffiku UDP fuq ċerti portijiet ukoll.
22. Ħalli Konnessjonijiet Stabbiliti u Relatati
Peress li t-traffiku tan-netwerk huwa separat fuq id-dħul u l-ħruġ, tkun trid tippermetti traffiku deħlin stabbilit u relatat. Għal konnessjonijiet deħlin agħmel dan ma:
# iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Għall-użu barra:
# iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
23. Waqqa Pakketti Invalidi f'IPtables
Huwa possibbli li jkun hemm xi pakketti tan-netwerk immarkati bħala invalidi. Xi nies jistgħu jippreferu jilloggjaw dawk il-pakketti, iżda oħrajn jippreferu jwaqqgħuhom. Biex twaqqa' l-pakketti invalidi, tista' tuża:
# iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
24. Imblokka l-Konnessjoni fuq l-Interface tan-Netwerk
Xi sistemi jista' jkollhom aktar minn interface tan-netwerk wieħed. Tista' tillimita l-aċċess għal dik l-interface tan-netwerk jew timblokka l-konnessjonijiet minn ċertu indirizz IP.
Pereżempju:
# iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -j DROP
Ibdel \xxx.xxx.xxx.xxx bl-indirizz IP attwali (jew netwerk) li tixtieq timblokka.
25. Iddiżattiva Mails Outgoing permezz tal-IPTables
Jekk is-sistema tiegħek m'għandhiex tkun qed tibgħat emails, tista' timblokka l-portijiet ħerġin fuq portijiet SMTP. Pereżempju tista' tuża dan:
# iptables -A OUTPUT -p tcp --dports 25,465,587 -j REJECT
Konklużjoni
Iptables huwa firewall b'saħħtu li faċilment tista' tibbenefika minnu. Huwa vitali għal kull amministratur tas-sistema li jitgħallmu mill-inqas il-baŜi ta 'iptables. Jekk trid issib informazzjoni aktar dettaljata dwar iptables u l-għażliet tagħha, huwa rakkomandat ħafna li taqra l-manwal tiegħu:
# man iptables
Jekk taħseb li għandna nżidu aktar kmandi ma' din il-lista, jekk jogħġbok aqsamhom magħna, billi tissottomettihom fit-taqsima tal-kummenti hawn taħt.