Paano Mag-set up ng isang Firewall sa iptables sa Ubuntu at CentOS

Sa tutorial na ito, ipapakita namin sa iyo kung paano mag-set up ng isang firewall iptables sa isang pagpapatakbo ng Linux VPS Ubuntu or CentOS bilang isang operating system. Iptables ay isang kasangkapan sa pangangasiwa para sa IPv4 packet filtering at NAT at ginagamit ito upang i-set up at pamahalaan ang mga talahanayan ng IPv4 na mga patakaran sa packet filter sa Linux kernel.

Ang wastong pag-configure at pag-set up ng isang firewall ay isa sa mga pinakamahalagang at mahahalagang bagay na kailangan mong gawin secure ang iyong server.

Sa mga iptables, maraming iba't ibang mga pagtutugma ng mga talahanayan ng packet ang tinukoy at ang bawat talahanayan ay maaaring maglaman ng isang bilang ng mga built-in na chain pati na rin ang ilang mga kadena na tinukoy ng gumagamit. Ang mga tanikala ay talagang mga listahan ng mga patakaran na tumutugma sa hanay ng mga packet at ang bawat panuntunan ay tumutukoy kung ano ang gagawin sa tugmang packet.

Ang default na talahanayan ay ang filter table at naglalaman ito ng built-in chain INPUT, FORWARD, at OUTPUT. Ang INPUT chain ay ginagamit para sa mga packet na nakalaan sa mga lokal na socket, ang FORWARD chain ay ginagamit para sa mga packet na dadalhin sa kahon habang ang OUTPUT chain ay ginagamit para sa mga packet na binuo ng lokal.

Kumonekta sa iyong server sa pamamagitan ng SSH at ilista ang mga alituntunin na tinukoy sa isang tiyak na kadena gamit ang sumusunod na syntax:

sudo iptables -L CHAIN

Palitan ang CHAIN ​​ng isa sa mga built-in chain upang makita ang mga tinukoy na alituntunin. Kung walang kadena ang napili, ang lahat ng mga kadena ay nakalista sa output.

sudo iptables -L Chain INPUT (Patakaran ACCEPT) target prot opt ​​source ng pinupunta Chain FORWARD (patakaran ACCEPT) target prot opt ​​source pinupunta Chain OUTPUT (patakaran ACCEPT) target prot opt ​​source pinagmulan

Tinutukoy ng mga panuntunan sa firewall kung ano ang gagawin sa isang tiyak na packet kung tumutugma ito sa ilang pamantayan at kung sakaling hindi tumutugma ang packet sa pamantayan, ang susunod na tuntunin ng firewall na tinukoy sa kadena ay susuriin. Ito ay isang napakahalagang bagay na malaman kapag tinutukoy ang mga patakaran ng firewall dahil madali mong i-lock ang iyong sarili sa labas ng iyong server kung tinutukoy mo ang tuntunin na tumatanggap ng mga packet mula sa iyong lokal na IP address matapos ang pagharang ng panuntunan.

Ang mga target na magagamit mo para sa mga patakaran ng firewall ay ACCEPT, DROP, QUEUE at RETURN. Aalisin ng ACCEPT ang packet sa pamamagitan ng, DROP ay drop ang packet, QUEUE ay ipasa ang packet sa userspace habang RETURN ay titigil ang packet traversing ng kasalukuyang chain at magpapatuloy sa susunod na panuntunan sa nakaraang chain. Ang default na patakaran sa kadena ay tumutukoy kung ano ang gagawin sa isang packet kung hindi ito tumutugma sa ilang panuntunan ng firewall. Tulad ng makikita mo sa output ng unang command, ang default na patakaran para sa lahat ng built-in na chain ay naka-set sa ACCEPT. Ipagkakaloob ng ACCEPT na ang packet ay napupunta sa gayon ay walang proteksyon.

Bago magdagdag ng anumang partikular na patakaran, idagdag ang sumusunod:

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

Pipigilan nito ang mga koneksyon na naitatag na upang mai-drop at ang iyong kasalukuyang sesyon ng SSH ay mananatiling aktibo.

Susunod, magdagdag ng mga panuntunan upang payagan ang trapiko sa iyong interface ng loopback:

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

Susunod, payagan ang pag-access sa iyong server sa pamamagitan ng SSH para sa iyong lokal na IP address kaya maaari mo lamang ma-access ang server:

sudo iptables -A INPUT -s 111.111.111.111 -p tcp --port 22 -j ACCEPT

Saan 111.111.111.111 ang iyong lokal na IP address at 22 ang pakikinig port ng iyong SSH na daemon. Kung sakaling ang iyong lokal na IP address ay nagbabago ng mga dynamic na pinakamahusay na ligtaan ang -s 111.111.111.111 bahagi at gumamit ng ibang paraan upang protektahan ang serbisyo ng SSH mula sa hindi kanais-nais na trapiko.

sudo iptables -A INPUT -p tcp --port 22 -j ACCEPT

Susunod, payagan ang access sa iyong mahahalagang serbisyo tulad ng server ng HTTP / HTTPS:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Natigil sa isang lugar? Kumuha ng VPS mula sa amin at maayos naming ma-secure ang iyong server at i-configure ang isang firewall para sa iyo, nang walang bayad!

Ngayon, ilista ang kasalukuyang mga panuntunan at suriin kung ang lahat ay OK. Para sa detalyadong output maaari mong gamitin ang sumusunod na command:

sudo iptables -nvL

Kung mayroon kang ibang mga serbisyo na nais mong pahintulutan ang pag-access dito ay pinakamahusay na gawin iyon ngayon. Sa sandaling tapos ka na, maaari mong itakda ang default na patakaran para sa INPUT built-in na kadena sa DROP.

sudo iptables -P INPUT DROP

Ito ay mag-drop ng anumang packet na hindi tumutugma sa pamantayan ng mga tuntunin ng firewall. Ang huling output ay dapat na katulad ng sumusunod:

Chain INPUT (patakaran DROP 0 packet, 0 bytes) pkts bytes target prot opt ​​out out source destination 0 0 ACCEPT all - * * 0.0.0.0 / 0 0.0.0.0 / 0 ctstate RELATED, ESTABLISHED 0 0 ACCEPT all - lo * 0.0.0.0 / 0 0.0.0.0 / 0 0 0 ACCEPT tcp - * * 0.0.0.0 / 0 0.0.0.0 / 0 tcp dpt: 22 0 0 ACCEPT tcp - * * 0.0.0.0 / 0 0.0.0.0 / 0 tcp dpt: 80 0 0 ACCEPT tcp - * * 0.0.0.0 / 0 0.0.0.0 / 0 tcp dpt: 443 Chain FORWARD (patakaran ACCEPT 0 packet, 0 bytes) pkts bytes target prot opt ​​out out source destination Chain OUTPUT (patakaran ACCEPT 0 packet, 0 bytes) pkts bytes target prot opt ​​out out source destination 0 0 ACCEPT lahat - * lo 0.0.0.0 / 0 0.0.0.0 / 0

Gayunpaman, kung muling i-restart mo ang server mawawala mo ang lahat ng mga panuntunan ng firewall na iyong tinukoy upang mahalagang maging permanente ang mga patakaran.

Kung sakaling gumagamit ka ng isang Ubuntu VPS kailangan mong mag-install ng karagdagang pakete para sa layuning iyon. Sige at i-install ang kinakailangang pakete gamit ang sumusunod na command:

sudo apt-get install iptables-persistent

On Ubutnu 14.04 maaari mong i-save at i-reload ang mga panuntunan ng firewall gamit ang mga command sa ibaba:

sudo /etc/init.d/iptables-persistent save sudo /etc/init.d/iptables-persistent reload

On Ubuntu 16.04 gamitin ang sumusunod na mga utos sa halip:

sudo netfilter-persistent save sudo netfilter-persistent reload

Kung gumagamit ka ng isang CentOS VPS maaari mong i-save ang mga panuntunan ng firewall gamit ang utos sa ibaba:

save iptables serbisyo

pinagmulan

Mag-iwan ng Sagot

Ang iyong email address ay hindi ilalathala. Ang mga kailangang field ay may markang *