Firewall sou Linux jwe yon wòl enpòtan anpil nan sekirize yon sistèm òdinatè. Li aji kòm yon baryè, kontwole ak filtraj trafik rezo a pou pwoteje sistèm nan kont aksè san otorizasyon, atak, ak lòt menas. San yo pa yon firewall byen configuré, sèvè a ta ka vilnerab a divès kalite cyberattacks, ki mennen nan konsekans grav pou sekirite done ak konfidansyalite.
Nan atik sa a, nou pral gade de zouti prensipal pou konfigirasyon Linux Firewall la: firewalld ak iptables. Nou pral fè yon analiz konparatif sou karakteristik yo, fonksyonalite, ak avantaj yo. Anplis de sa, nou pral bay enstriksyon detaye pou mete ak itilize chak nan zouti sa yo, osi byen ke diskite sou pi bon pratik pou sekirize sistèm ou a ak yon Firewall sou platfòm Linux la. Tout aksyon yo pral demontre sou yon sèvè vityèl ak aksè rasin.
Konfigirasyon firewalld sou Linux
Firewalld (Firewall Daemon) se yon pwogram pou jere firewall la nan sistèm opere Linux. Li bay yon koòdone itilizatè pou konfigirasyon règ firewall, ki pèmèt oswa bloke koneksyon aplikasyon rezo yo. Li se pre-enstale pa default nan pifò distribisyon sèvè. Si Firewalld pa pre-enstale, li ka enstale poukont li nan depo ofisyèl distribisyon an.
Pou sistèm Red Hat (tankou RHEL, CentOS, Fedora) enstalasyon an fèt ak lòd la:
yum install firewalld
Pou Debian/Ubuntu:
apt-get install firewalld
Apre enstalasyon, li ka kòmanse ak aktive imedyatman ak lòd la:
systemctl start firewalld
Apre sa, ou bezwen ajoute sèvis la nan demaraj:
systemctl enable firewalld
Nan pwen sa a, nou rekòmande enfim ufw, kòm itilizasyon similtane zouti sa a ak firewalld oswa iptables pa rekòmande. Tcheke estati a:
systemctl status ufw
Pou sispann li, antre kòmandman an:
systemctl stop ufw
Pou dezaktivasyon konplè:
ufw disable
Apre aksyon sa yo, ou ka kontinye nan konfigirasyon firewalld.
Premyèman, li nesesè pou defini zòn konfyans yo. Firewalld itilize konsèp zòn yo pou detèmine nivo konfyans pou rezo interfaces. Chak koòdone yo asiyen yon zòn, epi règ firewall yo aplike ki baze sou zòn nan. Lis tout zòn ki disponib yo louvri ak kòmandman an:
firewall-cmd --get-zones
Tipikman, 4 zòn prensipal yo itilize:
- Piblik: Zòn sa a se pou rezo ke ou konsidere pa an sekirite;
- Prive: Aplike nan rezo lakay yo oswa lòt koneksyon rezo ou fè konfyans;
- Entèn: Itilize pou rezo entèn yo, tankou sa ki nan yon òganizasyon oswa rezo antrepriz;
- DMZ: Zòn sa a se kote sèvè yo anjeneral mete ki ta dwe aksesib nan entènèt la.
Sepandan, sa a se jis yon egzanp. Ou ka ajoute pwòp zòn ou a lè l sèvi avèk kòmandman an:
firewall-cmd --permanent --new-zone=nameyourzone
Apre ou fin ajoute, yon rechaje obligatwa:
firewall-cmd --reload
Pou efase yon zòn, yo itilize yon metòd menm jan an
firewall-cmd --permanent --delete-zone=nameyourzone
Apre defini zòn, li nesesè pou pèmèt trafik pou sèvis ak pò ki nesesè yo. Pou pèmèt yon sèten sèvis, sèvi ak kòmandman an:
firewall-cmd --zone=public --add-service=name
Ki Kote NeoCity ye File se non sèvis la. Pou egzanp, pou pèmèt trafik pou Apache:
firewall-cmd --zone=public --add-service=http
Pou defini pò akseptab, sèvi ak kòmandman an:
firewall-cmd --zone=public --add-port=number/protocol
Pou egzanp, pò estanda 22 pou SSH ta sanble sa a:
firewall-cmd --zone=public --add-port=22/tcp
Nan etap sa a, règ prensipal yo deja kreye. Apre sa, detèmine kijan trafik yo pral trete selon sous, destinasyon, pò, ak lòt kritè. Pou ajoute yon règ (sèvi ak piblik zòn kòm egzanp):
firewall-cmd --zone=public rule
Pou egzanp, pou pèmèt trafik fèk ap rantre soti nan nenpòt sous nan pò 80 (HTTP):
firewall-cmd --zone=public --add-port=80/tcp --permanent
Pou retire yon règ:
firewall-cmd --permanent --remove-rule=rule_specification
Ki Kote NeoCity ye kòmande sou se kalite règ (egzanp, pò, sèvis, rich-règ, elatriye), ak spesifikasyon_règ se spesifikasyon nan règ nan tèt li.
Apre yo fin fè chanjman nan konfigirasyon Firewalld la, li nesesè pou konsève pou epi aplike yo. Pou sove chanjman yo, sèvi ak kòmandman an:
firewall-cmd --runtime-to-permanent
Pou aplike chanjman:
firewall-cmd --reload
Lè w fin ranpli konfigirasyon an, ou ka verifye paramèt yo chwazi lè w louvri lis tout règ yo:
firewall-cmd --list-all
Si nenpòt pwoblèm rive, tcheke mòso bwa Firewalld yo ak lòd la:
journalctl -u firewalld
Remak: Nou te sèlman kouvri algorithm jeneral la pou mete koneksyon an. Zouti a gen anpil fonksyon. Pou jwenn enfòmasyon konplè sou tout opsyon ki disponib, ou ka itilize la dokiman ofisyèl oswa louvri èd:
firewall-cmd --help
Konfigirasyon iptables sou Linux
Kontrèman ak Firewalld, iptables se yon zouti ki pi gran men yo toujou lajman itilize nan Linux pou jere firewall la. Li bay yon apwòch ki pi dirèk ak fleksib nan règ filtraj pake nan nivo nwayo Linux. Sepandan, iptables mande plis konesans ak eksperyans avanse konpare ak Firewalld, sa ki fè li mwens aksesib pou débutan. Tcheke vèsyon an pre-enstale nan zouti a ak lòd la:
iptables -V
Si zouti a pa enstale, li pral bezwen enstale. Kòmandman pou enstalasyon sou Ubuntu, Debian:
apt install iptables
Pou sistèm Red Hat (egzanp, CentOS, Fedora):
yum install iptables
Kòmandman an pou aktivasyon apre enstalasyon:
systemctl start iptables
Pou ajoute nan demaraj, egzekite:
systemctl enable iptables
Anvan ou kòmanse konfigirasyon iptables la, li enpòtan pou w konprann kijan li fonksyone. Sa a se ede pa sentaks nan pwogram nan. Li sanble jan sa a:
iptables -t table action chain additional_parameters
Ann fouye pi fon nan chak atik.
Iptables gen kat tab prensipal: filtre, nat, mangle, ak kri. Chak fèt pou trete sèten kalite pake epi yo gen pwòp chenn règ li yo:
- filtre: Sa a se tab la pi souvan itilize, ki gen règ filtraj pake. Li itilize pou pran desizyon sou si yo pèmèt oswa refize pake yo.
- nat: Tablo sa a itilize pou modifye adrès rezo ak pò yo nan pakè. Li souvan itilize pou mete kanpe masquerading (NAT).
- mangle: Nan tablo sa a, ou ka modifye tèt pake yo. Li itilize pou operasyon pake espesyalize, tankou maketing.
- anvan tout koreksyon: Tablo sa a itilize pou konfigirasyon règ ki aplike anvan yo ale nan sistèm swivi koneksyon an. Li anjeneral itilize pou mete règleman ki pa ta dwe modifye pa sistèm nan swiv, tankou jete pake ki soti nan sèten adrès.
Chak tab gen yon seri chenn. Chenn yo se yon sekans règ ke yo tcheke sekans. Gen twa chenn predefini:
- INPUT (ap rantre). Règ yo nan chèn sa a detèmine kisa yo dwe fè ak pake fèk ap rantre.
- OUTPUT (sortan). Chèn sa a aplike a tout pake òdinatè w lan voye bay lòt aparèy oswa òdinatè sou rezo a.
- FORWARD (transmèt). Règ yo nan chèn sa a presize sa yo dwe fè ak voye pake yo.
Finalman, chak chèn posede kèk aksyon (sib). Nan pratik, 5 aksyon prensipal yo itilize:
- AKSEPTE: Pèmèt pake a pase nan firewall la.
- Gout: Rejte pake a epi jete li san okenn repons.
- REYEJE: Rejte pake a epi voye moun k ap voye a yon mesaj erè ICMP.
- LOG: Anrejistre pake a nan log sistèm lan epi fè yon lòt aksyon (egzanp, AKSEPTE oswa DROP).
- RETURN: Sispann tcheke règ yo nan chèn aktyèl la epi retounen nan chèn apèl la (si sa aplikab).
Pou kòmanse konfigirasyon an, louvri lis règ ki egziste deja ak kòmandman an:
iptables -L
Kòm yon gid pou konfigirasyon Iptables, ann gade nan egzanp pratik kòmandman ki pi souvan itilize yo. Pou konvenyans, nou pral divize egzanp yo an 3 gwoup, tou depann de chèn espesifik la.
Chain OPINYON:
- Pèmèt trafik fèk ap rantre atravè pwotokòl TCP sou pò 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
2. Pèmèt trafik fèk ap rantre atravè pwotokòl UDP sou pò 22:
iptables -A INPUT -p udp --dport 22 -j ACCEPT
3. Bloke trafik k ap rantre nan yon adrès IP espesifik:
iptables -A INPUT -s 192.168.1.100 -j DROP
Chain SÒTI:
- Pèmèt trafik sòtan atravè pwotokòl TCP sou pò 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
2. Pèmèt trafik sortan atravè pwotokòl UDP sou pò 80:
iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
3. Bloke trafik sortan nan yon pò espesifik (pa egzanp, 21):
iptables -A OUTPUT -p tcp --dport 21 -j DROP
Chain AVI:
- Bloke trafik voye soti nan yon seri espesifik adrès IP:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP
2. Bloke voye pake ki soti nan yon koòdone rezo espesifik:
iptables -A FORWARD -i eth1 -j DROP
3. Limite kantite koneksyon similtane pou yon pò espesifik (nan egzanp sa a, 10 koneksyon pou chak minit sou pò 80):
iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT
Kòm ou ka wè, nan chak ka separe, yo itilize yon agiman adisyonèl (kòmand). Pou jwenn yon lis konplè agiman posib ak sipò jeneral pou fonksyonalite zouti a, antre:
iptables -h
Pou asire ke paramèt yo kòrèk, re-antre kòmandman an pou wè lis règ yo:
iptables -L
Pou efase yon règ espesifik, sèvi ak kòmandman an:
iptables -D chain rule_number
Pou egzanp, si ou vle efase règ nimewo 1 nan chèn INPUT la, kòmandman an pral sanble sa a:
iptables -D INPUT 1
Pou efase tout règ ak yon sèl lòd:
iptables -F
Nòt enpòtan: règ iptables yo pa sove otomatikman apre yo fin rekòmanse sistèm lan oswa sèvis la. Pou sove règ yo, yo bezwen yo dwe ajoute nan yon dosye konfigirasyon ak restore apre rdemare. La iptables-save ta dwe apwouve bèso tibebe w la epi iptables-restore sèvis piblik yo ka ede ak sa. Pou sove règ yo, antre kòmandman an:
iptables-save > /etc/iptables/rules.v4
Sa a sove règ iptables aktyèl yo nan fichye rules.v4 la. Pou retabli apre rdemare, antre:
iptables-restore < /etc/iptables/rules.v4
Kòmandman sa a retabli règ ki soti nan fichye rules.v4 la.
konklizyon
Konfigirasyon firewall sou Linux lè l sèvi avèk firewalld oswa iptables se yon aspè enpòtan nan asire sekirite sèvè. Tou de zouti yo ofri mwayen serye pou jere trafik rezo a epi pwoteje sistèm nan kont aksè san otorizasyon ak sibè atak. Chwa ki genyen ant firewalld ak iptables depann de bezwen espesifik ak preferans itilizatè a, konsidere diferan fonksyonalite yo ak fòs yo.