Ang firewall sa Linux adunay hinungdanon nga papel sa pagsiguro sa usa ka sistema sa kompyuter. Naglihok kini isip usa ka babag, pagkontrol ug pagsala sa trapiko sa network aron mapanalipdan ang sistema gikan sa dili awtorisado nga pag-access, pag-atake, ug uban pang mga hulga. Kung wala’y husto nga pagka-configure nga Firewall, ang server mahimong mahuyang sa lainlaing mga klase sa cyberattacks, nga mosangput sa mga seryoso nga sangputanan alang sa seguridad sa datos ug kompidensyal.
Niini nga artikulo, atong tan-awon ang duha ka nag-unang himan alang sa pag-configure sa Linux Firewall: firewalld ug iptables. Maghimo kami usa ka pagtandi nga pagtuki sa ilang mga bahin, gamit, ug mga bentaha. Dugang pa, maghatag kami ug detalyado nga mga panudlo alang sa pag-set up ug paggamit sa matag usa niini nga mga himan, ingon usab hisgutan ang labing kaayo nga mga gawi alang sa pagsiguro sa imong sistema gamit ang Firewall sa platform sa Linux. Ang tanan nga mga aksyon ipakita sa a Virtual nga server nga adunay pag-access sa ugat.
Pag-configure sa firewalld sa Linux
Firewalld (Firewall Daemon) usa ka programa alang sa pagdumala sa firewall sa mga operating system sa Linux. Naghatag kini usa ka interface sa gumagamit alang sa pag-configure sa mga lagda sa firewall, pagtugot o pag-block sa mga koneksyon sa mga aplikasyon sa network. Gi-pre-install kini pinaagi sa default sa kadaghanan sa mga distribusyon sa server. Kung ang Firewalld wala pa ma-install, mahimo kini nga ma-install nga independente gikan sa opisyal nga mga repositoryo sa pag-apod-apod.
Alang sa mga sistema sa Red Hat (sama sa RHEL, CentOS, Fedora) ang pag-install gihimo gamit ang mando:
yum install firewalld
Para sa Debian/Ubuntu:
apt-get install firewalld
Pagkahuman sa pag-instalar, mahimo kini nga sugdan ug ma-aktibo dayon gamit ang mando:
systemctl start firewalld
Sunod, kinahanglan nimong idugang ang serbisyo sa pagsugod:
systemctl enable firewalld
Niini nga punto, among girekomendar ang pag-disable sa ufw, tungod kay ang dungan nga paggamit niini nga himan nga adunay firewalld o iptables dili girekomenda. Susiha ang kahimtang:
systemctl status ufw
Aron mahunong kini, isulod ang sugo:
systemctl stop ufw
Para sa kompleto nga pag-deactivate:
ufw disable
Pagkahuman niini nga mga aksyon, mahimo nimong ipadayon ang pag-configure sa firewalld.
Una, gikinahanglan ang paghubit sa mga trust zone. Gigamit sa Firewalld ang konsepto sa mga zone aron mahibal-an ang lebel sa pagsalig sa mga interface sa network. Ang matag interface gi-assign sa usa ka zone, ug ang mga lagda sa firewall gipadapat base sa zone. Ang lista sa tanan nga magamit nga mga sona giablihan gamit ang mando:
firewall-cmd --get-zones
Kasagaran, 4 nga nag-unang mga sona ang gigamit:
- Public: Kini nga sona para sa mga network nga imong giisip nga dili luwas;
- Private: Magamit sa mga home network o uban pang kasaligan nga koneksyon sa network;
- Internal: Gigamit alang sa mga internal nga network, sama sa sulod sa usa ka organisasyon o corporate network;
- DMZ: Kini nga sona diin ang mga server kasagarang gibutang nga kinahanglan nga ma-access gikan sa internet.
Apan, kini usa lamang ka pananglitan. Mahimo nimong idugang ang imong kaugalingon nga sona gamit ang mando:
firewall-cmd --permanent --new-zone=nameyourzone
Human sa pagdugang, gikinahanglan ang pag-reload:
firewall-cmd --reload
Aron matangtang ang usa ka sona, gigamit ang parehas nga pamaagi
firewall-cmd --permanent --delete-zone=nameyourzone
Pagkahuman sa pagtino sa mga sona, kinahanglan nga tugutan ang trapiko alang sa gikinahanglan nga mga serbisyo ug pantalan. Aron tugotan ang usa ka serbisyo, gamita ang mando:
firewall-cmd --zone=public --add-service=name
Diin ngalan mao ang ngalan sa serbisyo. Pananglitan, aron tugutan ang trapiko alang sa Apache:
firewall-cmd --zone=public --add-service=http
Aron mahibal-an ang gitugotan nga mga pantalan, gamita ang mando:
firewall-cmd --zone=public --add-port=number/protocol
Pananglitan, ang standard nga 22 port alang sa SSH ingon niini:
firewall-cmd --zone=public --add-port=22/tcp
Niini nga yugto, ang nag-unang mga lagda nahimo na. Sunod, tinoa kung giunsa ang pagproseso sa trapiko depende sa gigikanan, destinasyon, pantalan, ug uban pang mga pamatasan. Aron makadugang usa ka lagda (gamit ang sa publiko zone isip pananglitan):
firewall-cmd --zone=public rule
Pananglitan, aron tugutan ang umaabot nga trapiko gikan sa bisan unsang gigikanan hangtod sa port 80 (HTTP):
firewall-cmd --zone=public --add-port=80/tcp --permanent
Aron matangtang ang usa ka lagda:
firewall-cmd --permanent --remove-rule=rule_specification
Diin pagmando mao ang matang sa lagda (pananglitan, pantalan, serbisyo, rich-rule, ug uban pa), ug lagda_specification mao ang espesipikasyon sa lagda mismo.
Human makahimo og mga kausaban sa configuration sa Firewalld, gikinahanglan nga i-save ug i-apply kini. Aron ma-save ang mga pagbag-o, gamita ang mando:
firewall-cmd --runtime-to-permanent
Aron magamit ang mga pagbag-o:
firewall-cmd --reload
Sa pagkompleto sa setup, mahimo nimong pamatud-an ang pinili nga mga parameter pinaagi sa pag-abli sa listahan sa tanang mga lagda:
firewall-cmd --list-all
Kung adunay mga problema nga moabut, susiha ang mga log sa Firewalld gamit ang mando:
journalctl -u firewalld
Mubo nga sulat: Gitabonan lang namo ang kinatibuk-ang algorithm sa pag-set up sa koneksyon. Ang himan adunay daghang pagpaandar. Para sa bug-os nga impormasyon sa tanang magamit nga mga opsyon, mahimo nimong gamiton ang opisyal nga dokumentasyon o bukas nga tabang:
firewall-cmd --help
Pag-configure sa mga iptable sa Linux
Dili sama sa Firewalld, ang iptables usa ka mas tigulang apan kaylap nga gigamit nga himan sa Linux alang sa pagdumala sa firewall. Naghatag kini og mas direkta ug flexible nga pamaagi sa packet filtering rules sa Linux kernel level. Bisan pa, ang mga iptable nanginahanglan labi ka abante nga kahibalo ug kasinatian kung itandi sa Firewalld, nga naghimo niini nga dili kaayo ma-access alang sa mga nagsugod. Susiha ang pre-installed nga bersyon sa himan gamit ang command:
iptables -V
Kung ang himan wala ma-install, kini kinahanglan nga i-install. Ang sugo alang sa pag-instalar sa Ubuntu, Debian:
apt install iptables
Para sa mga sistema sa Red Hat (eg, CentOS, Fedora):
yum install iptables
Ang sugo alang sa pagpaaktibo human sa pag-instalar:
systemctl start iptables
Aron idugang sa pagsugod, ipatuman ang:
systemctl enable iptables
Sa wala pa magsugod ang pag-configure sa iptables, hinungdanon nga masabtan kung giunsa kini molihok. Gitabangan kini sa syntax sa programa. Kini tan-awon sama sa mosunod:
iptables -t table action chain additional_parameters
Atong susihon pag-ayo ang matag butang.
Ang Iptables adunay upat ka punoan nga mga lamesa: filter, nat, mangle, ug hilaw. Ang matag usa gidisenyo alang sa pagproseso sa pipila ka mga matang sa mga pakete ug adunay kaugalingong mga kadena sa mga lagda:
- filter: Kini ang labing kanunay nga gigamit nga lamesa, nga adunay sulud nga mga lagda sa pagsala sa pakete. Gigamit kini sa paghimog mga desisyon kung tugutan ba o ipanghimakak ang mga pakete.
- nat: Kini nga lamesa gigamit alang sa pag-usab sa mga adres sa network ug mga pantalan sa mga pakete. Kanunay kini nga gigamit alang sa pag-set up sa masquerading (NAT).
- mangle: Niini nga lamesa, mahimo nimong usbon ang mga packet header. Gigamit kini alang sa espesyal nga mga operasyon sa pakete, sama sa pagmarka.
- hilaw: Kini nga lamesa gigamit alang sa pag-configure sa mga lagda nga magamit sa dili pa sila moagi sa sistema sa pagsubay sa koneksyon. Kasagaran kini gigamit alang sa pag-set up sa mga lagda nga dili kinahanglan usbon sa sistema sa pagsubay, sama sa paghulog sa mga pakete gikan sa piho nga mga adres.
Ang matag lamesa adunay usa ka hugpong sa mga kadena. Ang mga kadena usa ka han-ay sa mga lagda nga gisusi nga sunud-sunod. Adunay tulo ka gitakda nang daan nga mga kadena:
- INPUT (umaabot). Ang mga lagda niini nga kadena nagtino kung unsa ang buhaton sa umaabot nga mga pakete.
- OUTPUT (naggawas). Kini nga kadena magamit sa tanan nga mga pakete nga gipadala sa imong computer sa ubang mga aparato o kompyuter sa network.
- FORWARD (pagpasa). Ang mga lagda niini nga kadena nagtino kung unsa ang buhaton sa gipasa nga mga pakete.
Sa katapusan, ang matag kadena adunay pipila nga aksyon (target). Sa praktis, 5 ka panguna nga mga aksyon ang gigamit:
- DUGAY: Tugoti ang pakete nga moagi sa firewall.
- Drop: Isalikway ang pakete ug ilabay kini nga walay tubag.
- PAGSUSI: Isalikway ang pakete ug ipadala ang nagpadala sa usa ka mensahe sa sayup sa ICMP.
- LOG: I-log ang packet sa system log ug paghimo og laing aksyon (pananglitan, ACCEPT o DROP).
- MOBALIK: Hunonga ang pagsusi sa mga lagda sa kasamtangan nga kadena ug balik sa kadena sa pagtawag (kon mahimo).
Aron masugdan ang pag-setup, ablihi ang lista sa kasamtangan nga mga lagda gamit ang sugo:
iptables -L
Isip usa ka giya sa pag-configure sa Iptables, atong tan-awon ang praktikal nga mga pananglitan sa labing kasagarang gigamit nga mga sugo. Alang sa kasayon, among bahinon ang mga pananglitan sa 3 ka grupo, depende sa piho nga kadena.
Kutay sa input:
- Tugoti ang umaabot nga trapiko pinaagi sa TCP protocol sa port 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
2. Tugoti ang umaabot nga trapiko pinaagi sa UDP protocol sa port 22:
iptables -A INPUT -p udp --dport 22 -j ACCEPT
3. I-block ang umaabot nga trapiko gikan sa piho nga IP address:
iptables -A INPUT -s 192.168.1.100 -j DROP
Kutay sa output:
- Tugoti ang mogawas nga trapiko pinaagi sa TCP protocol sa port 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
2. Tugoti ang mogawas nga trapiko pinaagi sa UDP protocol sa port 80:
iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
3. I-block ang paggawas nga trapiko sa usa ka piho nga pantalan (pananglitan, 21):
iptables -A OUTPUT -p tcp --dport 21 -j DROP
Kutay sa UNAHAN:
- I-block ang gipasa nga trapiko gikan sa usa ka piho nga sakup sa mga adres sa IP:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP
2. I-block ang pagpasa sa mga pakete gikan sa usa ka piho nga interface sa network:
iptables -A FORWARD -i eth1 -j DROP
3. Limitahi ang gidaghanon sa mga dungan nga koneksyon alang sa usa ka piho nga pantalan (niining pananglitan, 10 ka koneksyon kada minuto sa port 80):
iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT
Sama sa imong makita, sa matag bulag nga kaso, usa ka dugang nga argumento (komand) ang gigamit. Aron makakuha og kompletong listahan sa posibleng mga argumento ug kinatibuk-ang suporta alang sa gamit sa himan, pagsulod:
iptables -h
Aron masiguro nga husto ang mga setting, isulod pag-usab ang mando aron makita ang lista sa mga lagda:
iptables -L
Aron matangtang ang usa ka piho nga lagda, gamita ang mando:
iptables -D chain rule_number
Pananglitan, kung gusto nimong papason ang lagda nga numero 1 gikan sa kadena sa INPUT, ang command ingon niini:
iptables -D INPUT 1
Aron mapapas ang tanang mga lagda sa usa ka sugo:
iptables -F
Importante nga nota: Ang mga lagda sa iptables dili awtomatikong ma-save human ma-reboot ang sistema o serbisyo. Aron sa pagluwas sa mga lagda, sila kinahanglan nga idugang sa usa ka configuration file ug ibalik human sa reboot. Ang iptables-save ug iptables-pagpasig-uli Ang mga utilities makatabang niini. Aron ma-save ang mga lagda, isulud ang mando:
iptables-save > /etc/iptables/rules.v4
Kini nagtipig sa kasamtangan nga mga lagda sa iptables sa rules.v4 file. Aron mapasig-uli human sa pag-reboot, pagsulod:
iptables-restore < /etc/iptables/rules.v4
Kini nga sugo nagpasig-uli sa mga lagda gikan sa rules.v4 file.
Panapos
Ang pag-configure sa Firewall sa Linux gamit ang firewalld o iptables usa ka importante nga aspeto sa pagsiguro sa seguridad sa server. Ang duha ka himan nagtanyag kasaligan nga paagi sa pagdumala sa trapiko sa network ug pagpanalipod sa sistema gikan sa dili awtorisado nga pag-access ug cyberattacks. Ang pagpili tali sa firewalld ug iptables nagdepende sa piho nga mga panginahanglan ug gusto sa user, nga gikonsiderar ang ilang lain-laing mga gamit ug kusog.