He kuleana koʻikoʻi ka pā ahi ma Linux i ka mālama ʻana i kahi ʻōnaehana kamepiula. Hana ʻo ia ma ke ʻano he pale, kaohi a me ka kānana ʻana i ka ʻoihana pūnaewele no ka pale ʻana i ka ʻōnaehana mai ka ʻae ʻole ʻia, nā hoʻouka ʻana, a me nā mea hoʻoweliweli ʻē aʻe. Me ka ʻole o kahi pā ahi i hoʻonohonoho pono ʻia, hiki i ke kikowaena ke pilikia i nā ʻano cyberattacks, e alakaʻi ana i nā hopena koʻikoʻi no ka palekana ʻikepili a me ka hūnā.
Ma kēia ʻatikala, e nānā mākou i ʻelua mau mea hana nui no ka hoʻonohonoho ʻana i ka Linux Firewall: firewalld a me iptables. E hana mākou i kahi hoʻohālikelike hoʻohālikelike o kā lākou mau hiʻohiʻona, hana, a me nā pono. Eia kekahi, e hāʻawi mākou i nā ʻōlelo kikoʻī no ka hoʻonohonoho ʻana a me ka hoʻohana ʻana i kēlā me kēia o kēia mau mea hana, a me ke kūkākūkā ʻana i nā hana maikaʻi loa no ka hoʻopaʻa ʻana i kāu ʻōnaehana me kahi Firewall ma ke kahua Linux. E hōʻike ʻia nā hana āpau ma a Kikowaena pūnaewele me ke komo ʻana.
Ka hoʻonohonoho ʻana i ka pā ahi ma Linux
WWWW (Firewall Daemon) he polokalamu no ka mālama ʻana i ka pā ahi ma nā ʻōnaehana hana Linux. Hāʻawi ia i kahi mea hoʻohana no ka hoʻonohonoho ʻana i nā lula firewall, e ʻae a i ʻole ke kāohi ʻana i nā pilina o nā noi pūnaewele. Ua hoʻokomo mua ʻia e ka paʻamau i ka hapa nui o nā kikowaena kikowaena. Inā ʻaʻole i hoʻokomo mua ʻia ʻo Firewalld, hiki ke hoʻokomo kūʻokoʻa ʻia mai nā hale waihona kūhelu o ka māhele.
No nā ʻōnaehana Red Hat (e like me RHEL, CentOS, Fedora) hoʻokō ʻia ka hoʻonohonoho ʻana me ke kauoha:
yum install firewalld
No Debian/Ubuntu:
apt-get install firewalld
Ma hope o ka hoʻouka ʻana, hiki ke hoʻomaka a hoʻōla koke ʻia me ke kauoha:
systemctl start firewalld
A laila, pono ʻoe e hoʻohui i ka lawelawe i ka hoʻomaka:
systemctl enable firewalld
I kēia manawa, manaʻo mākou e hoʻopau i ka ufw, no ka mea ʻaʻole ʻōlelo ʻia ka hoʻohana like ʻana o kēia hāmeʻa me firewalld a iptables. E nānā i ke kūlana:
systemctl status ufw
No ka hoʻopau ʻana, e hoʻokomo i ke kauoha:
systemctl stop ufw
No ka hoʻopau piha ʻana:
ufw disable
Ma hope o kēia mau hana, hiki iā ʻoe ke hoʻomau i ka hoʻonohonoho ʻana i ka pale ahi.
ʻO ka mea mua, pono e wehewehe i nā wahi hilinaʻi. Hoʻohana ʻo Firewalld i ka manaʻo o nā ʻāpana e hoʻoholo i ke kiʻekiʻe o ka hilinaʻi no nā pilina pūnaewele. Hāʻawi ʻia kēlā me kēia interface i hoʻokahi ʻāpana, a hoʻohana ʻia nā lula ahi ma muli o ka ʻāpana. Wehe ʻia ka papa inoa o nā ʻāpana āpau i loaʻa me ke kauoha:
firewall-cmd --get-zones
ʻO ka maʻamau, hoʻohana ʻia nā ʻāpana nui 4:
- Public: No nā pūnaewele āu i manaʻo ai he palekana kēia;
- uku: Pili i nā pūnaewele home a i ʻole nā pilina pūnaewele hilinaʻi ʻē aʻe;
- Kuhi: Hoʻohana ʻia no nā pūnaewele i loko, e like me nā mea i loko o kahi hui a i ʻole pūnaewele hui;
- DMZ: ʻO kēia wahi kahi i hoʻonoho pinepine ʻia ai nā kikowaena i hiki ke loaʻa mai ka pūnaewele.
Eia naʻe, hoʻokahi wale nō laʻana kēia. Hiki iā ʻoe ke hoʻohui i kāu wahi ponoʻī me ka hoʻohana ʻana i ke kauoha:
firewall-cmd --permanent --new-zone=nameyourzone
Ma hope o ka hoʻohui ʻana, pono e hoʻouka hou:
firewall-cmd --reload
No ka holoi ʻana i kahi ʻāpana, hoʻohana ʻia kahi ala like
firewall-cmd --permanent --delete-zone=nameyourzone
Ma hope o ka wehewehe ʻana i nā ʻāpana, pono e ʻae i ke kaʻa no nā lawelawe pono a me nā awa. No ka ʻae ʻana i kekahi lawelawe, e hoʻohana i ke kauoha:
firewall-cmd --zone=public --add-service=name
kahi inoa ʻo ia ka inoa o ka lawelawe. No ka laʻana, e ʻae i ke kaʻa no Apache:
firewall-cmd --zone=public --add-service=http
No ka wehewehe ʻana i nā awa ʻae ʻia, e hoʻohana i ke kauoha:
firewall-cmd --zone=public --add-port=number/protocol
No ka laʻana, ʻo ka port 22 maʻamau no SSH e like me kēia:
firewall-cmd --zone=public --add-port=22/tcp
I kēia pae, ua hana ʻia nā lula nui. A laila, e hoʻoholo pehea e hana ʻia ai ke kaʻa ma muli o ke kumu, kahi e hele ai, ke awa, a me nā mea ʻē aʻe. E hoʻohui i kahi lula (hoʻohana i ka aupuni kahi laʻana:
firewall-cmd --zone=public rule
No ka laʻana, no ka ʻae ʻana i ke kaʻa komo mai kekahi kumu i ke awa 80 (HTTP):
firewall-cmd --zone=public --add-port=80/tcp --permanent
No ka wehe ʻana i kahi lula:
firewall-cmd --permanent --remove-rule=rule_specification
kahi ka rule ʻo ia ke ʻano o ka lula (eg, port, service, rich-rule, etc.), a rule_specification ʻo ia ka ʻōlelo kikoʻī o ka lula ponoʻī.
Ma hope o ka hoʻololi ʻana i ka hoʻonohonoho Firewalld, pono e mālama a hoʻopili iā lākou. No ka mālama ʻana i nā loli, e hoʻohana i ke kauoha:
firewall-cmd --runtime-to-permanent
No ka hoʻohana ʻana i nā loli:
firewall-cmd --reload
I ka pau ʻana o ka hoʻonohonoho, hiki iā ʻoe ke hōʻoia i nā ʻāpana i koho ʻia ma ka wehe ʻana i ka papa inoa o nā lula āpau:
firewall-cmd --list-all
Inā kū mai kekahi pilikia, e nānā i nā lāʻau Firewalld me ke kauoha:
journalctl -u firewalld
Nānā: Ua uhi wale mākou i ka algorithm maʻamau no ka hoʻonohonoho ʻana i ka pilina. Loaʻa i ka mea hana ka hana nui. No ka 'ike piha i nā koho a pau i loa'a, hiki iā'oe ke ho'ohana i ka palapala mana a i ʻole kōkua hāmama:
firewall-cmd --help
Ke hoʻonohonoho nei i nā iptables ma Linux
ʻAʻole like me Firewalld, iptables kahi mea kahiko akā hoʻohana nui ʻia i Linux no ka mālama ʻana i ka pā ahi. Hāʻawi ia i kahi ala pololei a maʻalahi i nā lula kānana packet ma ka pae kernel Linux. Eia nō naʻe, koi ʻia nā iptables i ka ʻike a me ka ʻike i hoʻohālikelike ʻia me Firewalld, e ʻoi aku ka maʻalahi no ka poʻe hoʻomaka. E nānā i ka mana i hoʻokomo mua ʻia o ka hāmeʻa me ke kauoha:
iptables -V
Inā ʻaʻole i hoʻokomo ʻia ka hāmeʻa, pono e hoʻokomo ʻia. ʻO ke kauoha no ka hoʻokomo ʻana ma Ubuntu, Debian:
apt install iptables
No nā ʻōnaehana Red Hat (e laʻa, CentOS, Fedora):
yum install iptables
ʻO ke kauoha no ka hoʻoulu ʻana ma hope o ke kau ʻana:
systemctl start iptables
E hoʻohui i ka hoʻomaka, e hoʻokō:
systemctl enable iptables
Ma mua o ka hoʻomaka ʻana i ka hoʻonohonoho iptables, he mea nui e hoʻomaopopo pehea e hana ai. Ua kōkua ʻia kēia e ka syntax o ka papahana. Penei kona ano:
iptables -t table action chain additional_parameters
E ʻimi hohonu kākou i kēlā me kēia mea.
ʻEhā mau papa nui ʻo Iptables: kānana, nat, mangle, a me ka maka. Hoʻolālā ʻia kēlā me kēia no ka hoʻoponopono ʻana i kekahi mau ʻano ʻeke a loaʻa iā ia nā kaulahao ponoʻī o nā lula:
- Kānana: ʻO kēia ka papaʻaina i hoʻohana pinepine ʻia, aia nā lula kānana packet. Hoʻohana ʻia no ka hoʻoholo ʻana inā e ʻae a hōʻole paha i nā ʻeke.
- ʻAi: Hoʻohana ʻia kēia pākaukau no ka hoʻololi ʻana i nā helu wahi pūnaewele a me nā awa ma nā ʻeke. Hoʻohana pinepine ʻia no ka hoʻonohonoho ʻana i ka masquerading (NAT).
- mangle: Ma kēia pākaukau, hiki iā ʻoe ke hoʻololi i nā poʻomanaʻo packet. Hoʻohana ʻia ia no nā hana packet kūikawā, e like me ke kaha ʻana.
- maka: Hoʻohana ʻia kēia pākaukau no ka hoʻonohonoho ʻana i nā lula e pili ana ma mua o ka hele ʻana i ka ʻōnaehana hoʻopili pili. Hoʻohana maʻamau ia no ka hoʻonohonoho ʻana i nā lula ʻaʻole pono e hoʻololi ʻia e ka ʻōnaehana hahai, e like me ka waiho ʻana i nā ʻeke mai kekahi mau helu wahi.
Loaʻa i kēlā me kēia pākaukau kahi kaulahao. ʻO nā kaulahao he kaʻina o nā lula i nānā ʻia ma ke kaʻina. ʻEkolu mau kaulahao i koho mua ʻia:
- INPUT (komo mai). Hoʻoholo nā lula ma kēia kaulahao i ka mea e hana ai me nā ʻeke komo mai.
- OUTPUT (puka waho). Pili kēia kaulahao i nā ʻeke a pau a kāu kamepiula e hoʻouna ai i nā polokalamu ʻē aʻe a i ʻole kamepiula ma ka pūnaewele.
- FORWARD (forwarding). Hōʻike nā lula ma kēia kaulahao i ka mea e hana ai me nā ʻeke i hoʻouna ʻia.
ʻO ka hope, loaʻa i kēlā me kēia kaulahao kekahi hana (pahu). I ka hoʻomaʻamaʻa, hoʻohana ʻia nā hana nui 5:
- E HOʻOLO: E ʻae i ka ʻeke e hele ma ka pā ahi.
- MANUAHI: Hōʻole i ka ʻeke a hoʻolei me ka pane ʻole.
- KA KAKAKA: E hōʻole i ka ʻeke a hoʻouna i ka mea hoʻouna i kahi leka hewa ICMP.
- LOG: E hoʻopaʻa i ka ʻeke i loko o ka log system a hana i kekahi hana ʻē aʻe (e laʻa, ACCEPT a i ʻole DROP).
- HOI ANA: E ho'ōki i ka nānā ʻana i nā lula ma ke kaulahao o kēia manawa a e hoʻi i ke kaula kelepona (inā pili).
No ka hoʻomaka ʻana i ka hoʻonohonoho, wehe i ka papa inoa o nā lula e kū nei me ke kauoha:
iptables -L
Ma ke ʻano he alakaʻi no ka hoʻonohonoho ʻana i nā Iptables, e nānā i nā hiʻohiʻona kūpono o nā kauoha maʻamau. No ka maʻalahi, e puʻunaue mākou i nā laʻana i 3 pūʻulu, e pili ana i ke kaulahao kikoʻī.
kaula hoʻokomo o:
- E ʻae i ka hele ʻana mai ma o ka protocol TCP ma ke awa 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
2. E ʻae i ka hele ʻana mai ma o ka protocol UDP ma ke awa 22:
iptables -A INPUT -p udp --dport 22 -j ACCEPT
3. Kāohi i nā kaʻa komo mai kahi helu IP kikoʻī:
iptables -A INPUT -s 192.168.1.100 -j DROP
kaula ia auoiaea:
- E ʻae i ka holo i waho ma o ka protocol TCP ma ke awa 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
2. E ʻae i ka hele ʻana i waho ma o ka protocol UDP ma ke awa 80:
iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
3. Kāohi i ka hele ʻana i waho i kahi awa kikoʻī (e laʻana, 21):
iptables -A OUTPUT -p tcp --dport 21 -j DROP
kaula mua:
- Hoʻopaʻa i nā kaʻa i hoʻouna ʻia mai kahi ʻano kikoʻī o nā helu IP:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP
2. Kāohi i ka hoʻouna ʻana i nā ʻeke mai kahi kikowaena pūnaewele kikoʻī:
iptables -A FORWARD -i eth1 -j DROP
3. E kaupalena i ka heluna o nā hoʻokuʻi like ʻana no kekahi awa kikoʻī (ma kēia laʻana, 10 mau pilina i kēlā me kēia minuke ma ke awa 80):
iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT
E like me kāu e ʻike ai, i kēlā me kēia hihia kaʻawale, hoʻohana ʻia kahi hoʻopaʻapaʻa hou (kauoha). No ka loaʻa ʻana o kahi papa inoa piha o nā hoʻopaʻapaʻa hiki a me ke kākoʻo holoʻokoʻa no ka hana o ka hāmeʻa, e komo:
iptables -h
E hōʻoia i ka pololei o nā hoʻonohonoho, e hoʻokomo hou i ke kauoha e nānā i ka papa inoa o nā lula:
iptables -L
No ka holoi ʻana i kekahi lula, e hoʻohana i ke kauoha:
iptables -D chain rule_number
No ka laʻana, inā makemake ʻoe e holoi i ka helu lula 1 mai ke kaulahao INPUT, e like ke ʻano o ke kauoha:
iptables -D INPUT 1
E holoi i nā lula a pau me hoʻokahi kauoha:
iptables -F
Palapala nui: ʻAʻole mālama ʻia nā lula iptables ma hope o ka hoʻomaka hou ʻana i ka ʻōnaehana a i ʻole ka lawelawe. No ka mālama ʻana i nā lula, pono lākou e hoʻohui ʻia i kahi faila hoʻonohonoho a hoʻihoʻi ʻia ma hope o ka reboot. ʻO ka iptables-mālama a iptables-hoʻihoʻi Hiki i nā mea hana ke kōkua i kēia. No ka mālama ʻana i nā lula, e hoʻokomo i ke kauoha:
iptables-save > /etc/iptables/rules.v4
Mālama kēia i nā lula iptables i kēia manawa ma ka faila rules.v4. No ka hoʻihoʻi hou ʻana ma hope o ka hoʻomaka hou ʻana, e komo:
iptables-restore < /etc/iptables/rules.v4
Hoʻihoʻi kēia kauoha i nā lula mai ka faila rules.v4.
Panina
ʻO ka hoʻonohonoho ʻana i ka Firewall ma Linux me ka hoʻohana ʻana i ka firewalld a i ʻole iptables kahi mea nui o ka hōʻoia ʻana i ka palekana o ka server. Hāʻawi nā mea hana ʻelua i nā ala hilinaʻi no ka mālama ʻana i ka ʻoihana pūnaewele a me ka pale ʻana i ka ʻōnaehana mai ka ʻae ʻole a me ka cyberattacks. ʻO ka koho ma waena o nā firewalld a me nā iptables e pili ana i nā pono kikoʻī a me nā makemake o ka mea hoʻohana, e noʻonoʻo ana i kā lākou hana like ʻole a me nā ikaika.