25 Awọn ofin Firewall IPtable iwulo Gbogbo Olutọju Linux yẹ ki o Mọ


tunto ogiriina ni ọna ti yoo pade eto ati awọn ibeere awọn olumulo fun awọn isopọ ti nwọle ati ti njade, laisi fi eto silẹ jẹ ipalara si awọn ikọlu.

Eyi ni ibiti iptables wa ni ọwọ. Iptables jẹ ogiriina laini aṣẹ laini Linux ti o fun laaye awọn alabojuto eto lati ṣakoso ijabọ ti nwọle ati ti njade nipasẹ ipilẹ awọn ofin tabili atunto.

Awọn Iptables nlo ṣeto awọn tabili eyiti o ni awọn ẹwọn ti o ni ipilẹ ti a ṣe sinu tabi awọn ofin asọye olumulo. O ṣeun fun wọn olutọju eto kan le ṣe iyọda ijabọ nẹtiwọọki ti eto rẹ daradara.

Fun Afowoyi iptables, awọn oriṣi tabili mẹta mẹta wa:

    1. FILTER - eyi ni tabili aiyipada, eyiti o ni itumọ ninu awọn ẹwọn fun:
      1. INPUT - awọn idii ti a pinnu fun awọn ibuduro agbegbe
      2. SIWAJU - awọn apo-iwe ti o kọja nipasẹ eto naa
      3. OUTPUT - awọn apo-iwe ti ipilẹṣẹ ni agbegbe

      1. PREROUTING - Ti lo fun yiyipada apo-iwe ni kete ti o ti gba
      2. OUTUTU - ti a lo fun iyipada awọn apo-iwe ti ipilẹṣẹ ti agbegbe
      3. IWỌN NIPA - ti a lo fun iyipada awọn apo-iwe bi wọn ti fẹ jade lọ

      1. PRESOUTING - fun iyipada awọn isopọ ti nwọle
      2. OUTU - fun iyipada awọn apo-iwe ti ipilẹṣẹ ti agbegbe
      3. INPUT - fun awọn apo-iwe ti nwọle
      4. NIPA - fun yiyipada awọn apo-iwe bi wọn ti fẹ jade lọ
      5. SIWAJU - fun awọn apo-iwe ti o kọja nipasẹ apoti

      Ninu nkan yii, iwọ yoo wo diẹ ninu awọn ofin to wulo ti yoo ṣe iranlọwọ fun ọ lati ṣakoso ogiriina apoti Linux rẹ nipasẹ awọn iptables. Fun idi ti nkan yii, Emi yoo bẹrẹ pẹlu awọn ofin ti o rọrun ati lọ si eka diẹ sii si opin.

      1. Bẹrẹ/Duro/Tun bẹrẹ Iptables Firewall

      Ni akọkọ, o yẹ ki o mọ bi o ṣe le ṣakoso iṣẹ iptables ni oriṣiriṣi awọn pinpin Lainos. Eyi jẹ rọrun rọrun:

      ------------ 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. Ṣayẹwo gbogbo Awọn ofin ogiriina IPtables

      Ti o ba fẹ ṣayẹwo awọn ofin rẹ ti o wa, lo aṣẹ atẹle:

      # iptables -L -n -v
      

      Eyi yẹ ki o pada iṣelọpọ bii ti ọkan ni isalẹ:

      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

      Ti o ba fẹ lati ṣayẹwo awọn ofin fun tabili kan pato, o le lo aṣayan -t atẹle ti tabili ti o fẹ ṣayẹwo. Fun apẹẹrẹ, lati ṣayẹwo awọn ofin ninu tabili NAT , o le lo:

      # iptables -t nat -L -v -n
      

      3. Dẹkun Adirẹsi IP Specific ni IPtables Firewall

      Ti o ba rii iṣẹ ajeji tabi aiṣedede lati adiresi IP kan o le dènà adirẹsi IP naa pẹlu ofin atẹle:

      # iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
      

      Nibiti o nilo lati yipada \"xxx.xxx.xxx.xxx \" pẹlu adirẹsi IP gangan. Ṣọra gidigidi nigbati o ba n ṣiṣẹ aṣẹ yii bi o ṣe le dẹkun adirẹsi IP tirẹ lairotẹlẹ. Aṣayan -A ṣe afikun ofin ni opin ẹwọn ti o yan.

      Ni ọran ti o fẹ nikan lati dènà ijabọ TCP lati adiresi IP yẹn, o le lo aṣayan -p ti o ṣafihan ilana naa. Iyẹn ọna aṣẹ yoo dabi eleyi:

      # iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -j DROP
      

      4. Sina Adirẹsi IP ni Firewall IPtables

      Ti o ba ti pinnu pe o ko fẹ lati dènà awọn ibeere lati adiresi IP kan pato, o le paarẹ ofin idena pẹlu aṣẹ atẹle:

      # iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP
      

      Aṣayan -D npa ọkan tabi diẹ sii awọn ofin kuro ninu pq ti o yan. Ti o ba fẹ lati lo aṣayan to gun julọ o le lo --paarẹ .

      5. Dena Port Specific lori IPtables Firewall

      Nigba miiran o le fẹ lati dènà awọn asopọ ti nwọle tabi ti njade lori ibudo kan pato. O jẹ iwọn aabo to dara ati pe o yẹ ki o ronu gaan lori ọrọ naa nigbati o ba ṣeto ogiri rẹ.

      Lati dènà awọn isopọ ti njade lori lilo ibudo kan pato:

      # iptables -A OUTPUT -p tcp --dport xxx -j DROP
      

      Lati gba awọn isopọ ti nwọle lo:

      # iptables -A INPUT -p tcp --dport xxx -j ACCEPT
      

      Ninu awọn apeere mejeeji yipada \"xxx \" pẹlu ibudo gangan ti o fẹ lati gba laaye. Ti o ba fẹ ṣe idiwọ ijabọ UDP dipo TCP, yipada ni irọrun \"tcp \" pẹlu \"udp \" ninu ofin iptables ti o wa loke.

      6. Gba Awọn Ibudo Pupọ laaye lori Awọn ohun elo IPtabi nipa lilo Multiport

      O le gba awọn ibudo pupọ laaye ni ẹẹkan, nipa lilo multiport, ni isalẹ o le wa iru ofin bẹ fun awọn asopọ ti nwọle ati ti njade:

      # 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. Gba Gbigbe Nẹtiwọọki Specific kan lori Port pato lori IPtables

      O le fẹ lati ṣe idinwo awọn isopọ kan lori ibudo pato si nẹtiwọọki ti a fifun. Jẹ ki a sọ pe o fẹ gba awọn isopọ ti njade lori ibudo 22 si nẹtiwọọki 192.168.100.0/24 .

      O le ṣe pẹlu aṣẹ yii:

      # iptables -A OUTPUT -p tcp -d 192.168.100.0/24 --dport 22 -j ACCEPT
      

      8. Dina Facebook lori Firewall IPtables

      Diẹ ninu awọn agbanisiṣẹ fẹran lati dènà iraye si Facebook si awọn oṣiṣẹ wọn. Ni isalẹ jẹ apẹẹrẹ bii o ṣe le dènà ijabọ si Facebook.

      Akiyesi: Ti o ba jẹ olutọju eto kan ati pe o nilo lati lo awọn ofin wọnyi, ranti pe awọn ẹlẹgbẹ rẹ le dawọ sisọrọ si ọ :)

      Akọkọ wa awọn adirẹsi IP ti Facebook lo:

      # host facebook.com 
      facebook.com has address 66.220.156.68
      
      # whois 66.220.156.68 | grep CIDR
      CIDR: 66.220.144.0/20
      

      Lẹhinna o le dènà nẹtiwọọki Facebook yẹn pẹlu:

      # iptables -A OUTPUT -p tcp -d 66.220.144.0/20 -j DROP
      

      Ranti pe ibiti adiresi IP ti a lo nipasẹ Facebook le yatọ si ni orilẹ-ede rẹ.

      9. Ibudo Ṣiṣeto ni Awọn ipilẹ IPt

      Nigba miiran o le fẹ lati firanṣẹ siwaju ijabọ ọja kan si ibudo miiran. O le ṣaṣeyọri eyi pẹlu aṣẹ atẹle:

      # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525
      

      Ofin ti o loke wa siwaju gbogbo ijabọ ti nwọle lori wiwo nẹtiwọọki eth0 , lati ibudo 25 si ibudo 2525 . O le yi awọn ibudo pada pẹlu awọn ti o nilo.

      10. Dẹkun Ikun Nẹtiwọọki lori Ibudo Afun pẹlu awọn ohun elo IPt

      Nigbakan awọn adirẹsi IP le beere awọn isopọ pupọ pupọ si awọn ibudo wẹẹbu lori oju opo wẹẹbu rẹ. Eyi le fa nọmba awọn ọran ati lati ṣe idiwọ iru awọn iṣoro bẹ, o le lo ofin atẹle:

      # iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/minute --limit-burst 200 -j ACCEPT
      

      Aṣẹ ti o wa loke ṣe idiwọn awọn isopọ ti nwọle lati iṣẹju kan si 100 ati ṣeto idiwọn kan si 200 . O le ṣatunkọ opin ati opin-ti nwaye si awọn ibeere pato tirẹ.

      11. Dẹkun Awọn ibeere Ping ti nwọle lori Awọn ohun elo IPt

      Diẹ ninu awọn alakoso eto fẹran lati dènà awọn ibeere ping ti nwọle nitori awọn ifiyesi aabo. Lakoko ti irokeke ko tobi pupọ, o dara lati mọ bi a ṣe le ṣe idiwọ iru ibeere bẹ:

      # iptables -A INPUT -p icmp -i eth0 -j DROP
      

      12. Gba loopback Wiwọle

      Wiwọle Loopback (iraye si lati 127.0.0.1 ) jẹ pataki ati pe o yẹ ki o fi i silẹ nigbagbogbo:

      # iptables -A INPUT -i lo -j ACCEPT
      # iptables -A OUTPUT -o lo -j ACCEPT
      

      13. Tọju Wọle kan ti Awọn apo-iṣẹ Nẹtiwọọki silẹ lori IPtables

      Ti o ba fẹ wọle awọn apo-iwe silẹ lori wiwo nẹtiwọọki eth0 , o le lo pipaṣẹ wọnyi:

      # iptables -A INPUT -i eth0 -j LOG --log-prefix "IPtables dropped packets:"
      

      O le yi iye pada lẹhin \"- log-prefix \" pẹlu nkan nipa yiyan rẹ. Awọn ifiranṣẹ ti wa ni ibuwolu wọle /var/log/messages ati pe o le wa wọn pẹlu:

      # grep "IPtables dropped packets:" /var/log/messages
      

      14. Dena Wiwọle si Adirẹsi MAC Specific lori Awọn ohun elo IPt

      O le dènà iraye si eto rẹ lati adiresi MAC kan pato nipa lilo:

      # iptables -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j DROP
      

      Dajudaju, iwọ yoo nilo lati yipada \"00: 00: 00: 00: 00: 00 \" pẹlu adirẹsi MAC gangan ti o fẹ lati dènà.

      15. Ṣe idinwo Nọmba Awọn Isopọ Igbakan fun Adirẹsi IP

      Ti o ko ba fẹ lati ni asopọ pọpọ pupọ ti a fi idi mulẹ lati adiresi IP kan lori ibudo ti a fun o le lo aṣẹ ti o wa ni isalẹ:

      # iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
      

      Aṣẹ ti o wa loke ko gba laaye ju awọn asopọ 3 lọ fun alabara. Nitoribẹẹ, o le yi nọmba ibudo pada lati baamu iṣẹ oriṣiriṣi. Pẹlupẹlu -connlimit-above yẹ ki o yipada lati baamu ibeere rẹ.

      16. Wa laarin Ofin IPtables

      Lọgan ti o ba ti ṣalaye awọn ofin iptables rẹ, iwọ yoo fẹ lati wa lati igba de igba o le nilo lati paarọ wọn. Ọna ti o rọrun lati wa laarin awọn ofin rẹ ni lati lo:

      # iptables -L $table -v -n | grep $string
      

      Ninu apẹẹrẹ ti o wa loke, iwọ yoo nilo lati yipada $tabili pẹlu tabili gangan laarin eyiti o fẹ lati wa ati $okun pẹlu okun gangan ti o n wa.

      Eyi ni apẹẹrẹ kan:

      # iptables -L INPUT -v -n | grep 192.168.0.100
      

      17. Ṣalaye Pq IPTables Tuntun

      Pẹlu awọn iptables, o le ṣalaye ẹwọn tirẹ ki o tọju awọn ofin aṣa ninu rẹ. Lati ṣalaye pq kan, lo:

      # iptables -N custom-filter
      

      Bayi o le ṣayẹwo ti idanimọ tuntun rẹ wa nibẹ:

      # 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. Ṣan Awọn ẹwọn tabi Awọn ofin ogiriina IPtables

      Ti o ba fẹ fọ awọn ẹwọn ogiri rẹ, o le lo:

      # iptables -F
      

      O le ṣan awọn ẹwọn lati tabili kan pato pẹlu:

      # iptables -t nat -F
      

      O le yipada \"nat \" pẹlu tabili gangan eyiti awọn ẹwọn ti o fẹ fọ.

      19. Fipamọ Awọn ofin IPtables si Faili kan

      Ti o ba fẹ fipamọ awọn ofin ogiriina rẹ, o le lo pipaṣẹ iptables-save . O le lo atẹle naa lati fipamọ ati tọju awọn ofin rẹ ninu faili kan:

      # iptables-save > ~/iptables.rules
      

      O wa si ọ nibo ni iwọ yoo fi faili naa pamọ ati bii iwọ yoo ṣe lorukọ rẹ.

      20. Pada Awọn ofin IPtables pada lati Faili kan

      Ti o ba fẹ mu pada atokọ ti awọn ofin iptables, o le lo iptables-restores . Aṣẹ naa dabi eleyi:

      # iptables-restore < ~/iptables.rules
      

      Dajudaju ọna si faili awọn ofin rẹ le yatọ.

      21. Ṣiṣeto Awọn ofin IPtables fun Ijẹrisi PCI

      Diẹ ninu awọn alakoso eto le nilo lati tunto awọn olupin wọn lati jẹ ibamu PCI. Ọpọlọpọ awọn ibeere lo wa nipasẹ awọn olutaja ibamu PCI oriṣiriṣi, ṣugbọn awọn wọpọ wọpọ lo wa.

      Ni ọpọlọpọ awọn ọran, iwọ yoo nilo lati ni ju IP adiresi kan lọ. Iwọ yoo nilo lati lo awọn ofin ni isalẹ fun adirẹsi IP ti aaye naa. Ṣọra siwaju nigba lilo awọn ofin isalẹ ki o lo wọn nikan ti o ba ni idaniloju ohun ti o n ṣe:

      # iptables -I INPUT -d SITE -p tcp -m multiport --dports 21,25,110,143,465,587,993,995 -j DROP
      

      Ti o ba lo cPanel tabi panẹli iṣakoso iru, o le nilo lati dènà o ’awọn ebute oko bi daradara. Eyi ni apẹẹrẹ kan:

      # iptables -I in_sg -d DEDI_IP -p tcp -m multiport --dports  2082,2083,2095,2096,2525,2086,2087 -j DROP
      

      Akiyesi: Lati rii daju pe o pade awọn ibeere olutaja PCI rẹ, ṣayẹwo ijabọ wọn daradara ki o lo awọn ofin ti o nilo. Ni awọn ọrọ miiran o le nilo lati dènà ijabọ UDP lori awọn ibudo kan paapaa.

      22. Gba laaye Awọn isopọ ati ibatan

      Bi ijabọ nẹtiwọọki ṣe lọtọ lori ti nwọle ati ti njade, iwọ yoo fẹ lati gba idasilẹ ati ijabọ ti nwọle ti o ni ibatan jọ. Fun awọn isopọ ti nwọle ṣe pẹlu:

      # iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      

      Fun lilo ti njade:

      # iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
      

      23. Ju Awọn apo-iwe Ti ko wulo silẹ ni Awọn ohun elo IPt

      O ṣee ṣe lati ni diẹ ninu awọn apo-iwe netiwọki ti a samisi bi alailere. Diẹ ninu eniyan le fẹ lati wọle awọn idii wọnyẹn, ṣugbọn awọn miiran fẹ lati ju wọn silẹ. Lati ju silẹ awọn apo-iwe, o le lo:

      # iptables -A INPUT -m conntrack --ctstate INVALID -j DROP 
      

      24. Asopọ Àkọsílẹ lori Ọlọpọọmídíà Nẹtiwọọki

      Diẹ ninu awọn ọna ṣiṣe le ni diẹ sii ju wiwo nẹtiwọọki lọ. O le ṣe opin iraye si wiwo nẹtiwọọki yẹn tabi dènà awọn isopọ lati adiresi IP kan.

      Fun apere:

      # iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -j DROP
      

      Yipada\"xxx.xxx.xxx.xxx" pẹlu adirẹsi IP gangan (tabi nẹtiwọọki) ti o fẹ lati dènà.

      25. Mu Awọn ifiweranṣẹ Ti njade nipasẹ IPTables

      Ti eto rẹ ko ba gbọdọ firanṣẹ eyikeyi awọn imeeli, o le dènà awọn ibudo ti njade lori awọn ibudo SMTP. Fun apẹẹrẹ o le lo eyi:

      # iptables -A OUTPUT -p tcp --dports 25,465,587 -j REJECT
      

      Ipari

      Iptables jẹ ogiriina ti o lagbara ti o le ni anfani ni rọọrun lati. O ṣe pataki fun gbogbo olutọju eto lati kọ ẹkọ o kere ju awọn ipilẹ ti awọn iptables. Ti o ba fẹ wa alaye ti alaye diẹ sii nipa awọn iptables ati awọn aṣayan rẹ o ni iṣeduro gíga lati ka o jẹ itọnisọna:

      # man iptables
      

      Ti o ba ro pe o yẹ ki a ṣafikun awọn ofin diẹ si atokọ yii, jọwọ pin wọn pẹlu wa, nipa fifiranṣẹ wọn ni abala ọrọ ni isalẹ.