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:

    1. FILTRI – din hija t-tabella default, li fiha l-ktajjen mibnija għal:
      1. INPUT  – pakketti ddestinati għal sockets lokali
      2. WORD – pakketti mgħoddija mis-sistema
      3. ĦRUĠ – pakketti ġenerati lokalment

      1. PREOUTING – użat biex jibdel pakkett hekk kif jasal
      2. ĦRUĠ – użat biex jibdel pakketti ġenerati lokalment
      3. POSTROUTING – użat biex jibdel pakketti hekk kif ikunu waslu biex joħorġu

      1. PREOUTING – għall-bidla tal-konnessjonijiet li jkunu deħlin
      2. ĦRUĠ – għall-bidla tal-pakketti  ġenerati lokalment
      3. INPUT – għal pakketti deħlin
      4. POSTROUTING – għall-bidla tal-pakketti hekk kif ikunu waslu biex joħorġu
      5. 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-tabella NAT, 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-netwerk 192.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-port 25 sal-port 2525. 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ħal 200. 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.