Otu esi etinye, hazie ma jiri Firewalld na CentOS na Ubuntu


Firewalld (firewall daemon) bụ ihe ọzọ na ọrụ iptables, maka ijikwa ọkụ ọkụ nke sistemu na nkwado maka mpaghara netwọkụ (ma ọ bụ firewall) ma na-enye interface D-Bus maka ijikwa nhazi. Ọ dị mfe iji na hazie, ma ọ bụ ugbu a ngwá ọrụ njikwa ọkụ ọkụ na RHEL/CentOS, Fedora na ọtụtụ nkesa Linux ndị ọzọ.

N'isiokwu a, anyị ga-atụle otu esi ahazi firewall na firewalld ma mejuputa nzacha ihe nzacha na CentOS/RHEL 7 na Ubuntu.

Ihe ndabere gbasara Firewalld

Firewalld nwere akwa atọ, nke bụ:

  • isi oyi akwa: onye na-ahụ maka nhazi nhazi na njedebe azụ (e depụtara n'okpuru).
  • D-Bus interface: ụzọ bụ isi isi gbanwee na imepụta nhazi firewall.
  • backends: maka imekọrịta na netfilter (modul kernel nke ala eji eme ọkụ). Ha gụnyere iptables, ip6tables, ebtables, ipset, nft, linnftables; onye njikwa netwọk; na modul.

Ọ na-ejikwa iwu firewall site na itinye mpaghara netwọkụ/ọkụ ọkụ na-akọwa ọkwa ntụkwasị obi nke njikọ netwọkụ ma ọ bụ ihu. Njirimara firewall ndị ọzọ na-akwado gụnyere ọrụ, nhazi ozugbo (eji ya na-agafe raw iptables syntax), IPSets yana ụdị ICMP.

Firewalld na-akwado ụdị nhazi abụọ dị iche iche:

  • Nhazi oge ọsọ nke na-arụ ọrụ naanị ruo mgbe arụgharịrị igwe ahụ ma ọ bụ malitegharịa ọrụ firewalld
  • nhazi na-adịgide adịgide nke echekwara ma na-arụ ọrụ na-adịgide adịgide.

A na-eji ngwa ahịrị iwu firewall-cmd iji jikwaa oge ọ na-agba ọsọ yana nhazi na-adịgide adịgide. N'aka nke ọzọ, ị nwere ike iji ngwa nhazi njirimara firewall-config graphical user interface (GUI) iji soro daemon na-emekọrịta ihe.

Na mgbakwunye, firewalld na-enye nkọwapụta nke ọma maka ọrụ mpaghara ma ọ bụ ngwa ndị ọzọ iji rịọ mgbanwe na iwu firewall ozugbo, ma ọ bụrụ na ha na-eji ikike mgbọrọgwụ na-agba ọsọ.

Faịlụ nhazi zuru ụwa ọnụ maka firewalld dị na /etc/firewalld/firewalld.conf na a na-ahazi atụmatụ firewall n'ụdị XML.

Ịghọta atụmatụ dị mkpa nke Firewalld

Akụkụ bụ isi nke firewalld bụ mpaghara netwọk/firewall. Ejidebere atụmatụ ọ bụla ọzọ na mpaghara. Mpaghara firewall na-akọwa ọkwa ntụkwasị obi maka njikọ, interface ma ọ bụ ijikọ adreesị isi mmalite.

Nhazi ndabara na-abịa n'ọtụtụ mpaghara akọwapụtagoro dị ka ọkwa ntụkwasị obi ndabara si dị site na ntụkwasị obi na ntụkwasị obi: dobe, ngọngọ, ọha, mpụga, dmz, ọrụ, ụlọ, ime na ntụkwasị obi. A kọwapụtara ha na faịlụ echekwara n'okpuru /usr/lib/firewalld/zone directory.

Ị nwere ike hazie ma ọ bụ tinye mpaghara omenala gị site na iji onye ahịa CLI ma ọ bụ mepụta ma ọ bụ detuo faịlụ mpaghara na /etc/firewalld/zones site na faịlụ dị ugbu a wee dezie ya.

Echiche ọzọ dị mkpa n'okpuru firewalld bụ ọrụ. A na-akọwapụta ọrụ site na iji ọdụ ụgbọ mmiri na protocol; nkọwa ndị a na-anọchi anya ọrụ netwọk nyere dị ka sava weebụ ma ọ bụ ọrụ ịnweta ohere. A kọwapụtara ọrụ na faịlụ echekwara n'okpuru /usr/lib/firewalld/services/ ma ọ bụ /etc/firewalld/services/ directory.

Ọ bụrụ na ị maara isi iptables/ip6tables/ebtables, ị nwekwara ike iji interface ozugbo (ma ọ bụ nhazi) iji nweta ohere ozugbo na firewall. Mana, maka ndị na-enweghị ihe ọmụma iptables ọ bụla, ị nwere ike were asụsụ bara ụba maka imepụta iwu firewall dị mgbagwoju anya maka IPv4 na IPv6.

Otu esi etinye ngwugwu Firewalld na Linux

Na CentOS 7, ngwugwu firewalld na-abịa na etinyere ya ma ị nwere ike nyochaa site na iji iwu.

$ rpm -qa firewalld

Na Ubuntu 16.04 na 18.04, ịnwere ike ịwụnye ya site na iji njikwa ngwugwu ndabara dị ka egosiri.

$ sudo apt install firewalld

Otu esi ejikwa ọrụ Firewalld na Linux

Firewalld bụ ọrụ sistemu eji arụ ọrụ nke enwere ike ijikwa site na iwu systemctl.

 
$ sudo systemctl start firewalld	#start the service for the mean time
$ sudo systemctl enable firewalld	#enable the service to auto-start at boot time
$ sudo systemctl status firewalld	#view service status

Mgbe ịmalitere ọrụ firewalld, ị nwekwara ike ịlele ma daemon ọ na-agba ọsọ ma ọ bụ na ọ naghị, na-eji ngwa firewall-cmd (ọ bụrụ na ọ naghị arụ ọrụ, iwu a ga-emepụta \anaghị agba ọsọ).

$ sudo firewall-cmd --state

Ọ bụrụ na ị na-echekwa mgbanwe ọ bụla na-adịgide adịgide, ị nwere ike ibugharị firewalld. Nke a ga-ebughari iwu firewall ma debe ozi steeti. Nhazi na-adịgide adịgide ugbu a ga-abụ nhazi oge ojiri agba ọhụrụ.

$ sudo firewall-cmd --reload

Otu esi arụ ọrụ na mpaghara Firewall na Firewalld

Iji nweta ndepụta mpaghara na ọrụ firewall niile dị, mee iwu ndị a.

$ sudo firewall-cmd --get-zones
$ sudo firewall-cmd --get-services

Mpaghara ndabara bụ mpaghara a na-eji maka njirimara firewall ọ bụla nke na-ejighị n'ụzọ doro anya na mpaghara ọzọ. Ị nwere ike nweta mpaghara ndabere ndabere maka njikọ netwọk na ihu site na ịgba ọsọ.

$ sudo firewall-cmd --get-default-zone

Ka ịtọọ mpaghara ndabara, dịka ọmụmaatụ na mpụga, jiri iwu a. Rịba ama na ịgbakwunye nhọrọ --adịgide adịgide na-edobe nhazi ahụ na-adịgide adịgide (ma ọ bụ na-enyere aka ịjụ ozi sitere na gburugburu nhazi na-adịgide adịgide).

$ sudo firewall-cmd --set-default-zone=external
OR
$ sudo firewall-cmd --set-default-zone=external --permanent
$ sudo firewall-cmd --reload 

Ọzọ, ka anyị leba anya ka esi etinye interface na mpaghara. Ọmụmaatụ a na-egosi otu esi etinye nkwụnye netwọkụ ikuku (wlp1s0) na mpaghara mpaghara, nke a na-eji na mpaghara ụlọ.

$ sudo firewall-cmd --zone=home --add-interface=wlp1s0

Enwere ike ịgbakwunye interface naanị n'otu mpaghara. Iji bugharịa ya na mpaghara ọzọ, jiri --change-interface mgba ọkụ dị ka egosiri, ma ọ bụ wepụ ya na mpaghara gara aga site na iji -remove-interface switch, wee tinye ya na mpaghara ọhụrụ.

N'iche na ịchọrọ ijikọ na netwọk WI-FI ọha, ị kwesịrị ịkwaga ikuku ikuku gị laghachi na mpaghara ọha, dịka nke a:

$ sudo firewall-cmd --zone=public --add-interface=wlp1s0
$ sudo firewall-cmd --zone=public --change-interface=wlp1s0

Ị nwere ike iji ọtụtụ mpaghara n'otu oge. Iji nweta ndepụta mpaghara niile na-arụ ọrụ nwere njirimara enyere aka dị ka oghere, ọrụ, ọdụ ụgbọ mmiri, protocol, gbaa ọsọ:

$ sudo firewall-cmd --get-active-zones

N'ihe gbasara isi okwu gara aga, Ọ bụrụ na ịchọrọ ịchọta ozi ndị ọzọ gbasara otu mpaghara, ya bụ ihe niile agbakwunyere ma ọ bụ nyere ya aka, jiri otu n'ime iwu ndị a:

$ sudo firewall-cmd --zone=home --list-all
OR
$ sudo firewall-cmd --info-zone public

Nhọrọ ọzọ bara uru bụ --get-target, nke na-egosi gị ebumnuche nke mpaghara na-adịgide adịgide. Ebumnuche bụ otu n'ime: ndabara, anabata, dobe, jụ. Ị nwere ike ịlele ebumnuche nke mpaghara dị iche iche:

$ sudo firewall-cmd --permanent --zone=public --get-target  
$ sudo firewall-cmd --permanent --zone=block --get-target  
$ sudo firewall-cmd --permanent --zone=dmz --get-target  
$ sudo firewall-cmd --permanent --zone=external --get-target
$ sudo firewall-cmd --permanent --zone=drop --get-target

Otu esi emepe ma gbochie ọdụ ụgbọ mmiri na Firewalld

Iji mepee ọdụ ụgbọ mmiri (ma ọ bụ nchikota ọdụ ụgbọ mmiri/protocol) na firewall, tinye ya na mpaghara yana nhọrọ --add-port. Ọ bụrụ na ị kọwaghị mpaghara ahụ nke ọma, a ga-eme ya na mpaghara ndabara.

Ihe atụ na-esonụ na-egosi otu esi etinye ọdụ ụgbọ mmiri 80 na 443 iji kwe ka okporo ụzọ webụ na-ejikọta site na HTTP na HTTPS protocols, otu:

$ sudo firewall-cmd --zone=public --permanent --add-port=80/tcp --add-port=443/tcp

Na-esote, bugharịa firewalld wee lelee atụmatụ enyere na mpaghara ọha ọzọ, ị ga-enwe ike ịhụ ọdụ ụgbọ mmiri agbakwunyere.

$ sudo firewall-cmd --reload
$ sudo firewall-cmd --info-zone public

Ịgbochi ma ọ bụ imechi ọdụ ụgbọ mmiri dị na firewall dịkwa mfe, naanị wepụ ya na mpaghara na nhọrọ --remove-port. Dịka ọmụmaatụ, imechi ọdụ ụgbọ mmiri 80 na 443 na mpaghara ọha.

$ sudo firewall-cmd --zone=public --permanent --remove-port=80/tcp --remove-port=443/tcp

Kama iji nchikota ọdụ ụgbọ mmiri ma ọ bụ ọdụ ụgbọ mmiri/protocol, ị nwere ike iji aha ọrụ e kenyere ọdụ ụgbọ mmiri dị ka akọwara na ngalaba na-esote.

Otu esi emepe ma gbochie ọrụ na Firewalld

Iji mepee ọrụ na firewall, mee ya site na iji --add-service nhọrọ. Ọ bụrụ na ewepụrụ mpaghara, a ga-eji mpaghara ndabara.

Iwu na-esonụ ga-enyere aka ọrụ http na mpaghara ọha.

$ sudo firewall-cmd --zone=public --permanent --add-service=http 
$ sudo firewall-cmd --reload 

Enwere ike iji nhọrọ --remove-service gbanyụọ ọrụ.

$ sudo firewall-cmd --zone=public --permanent --remove-service=http 
$ sudo firewall-cmd --reload 

Otu esi eme ma gbanyụọ masquerading IP Iji Firewalld

IP Masquerading (nke a makwaara dị ka IPMASQ ma ọ bụ MASQ) bụ usoro NAT (Network Translation Translation) na netwọk Linux nke na-enye ndị ọbịa gị ohere na netwọk, yana adreesị IP nkeonwe iji kparịta ụka na ịntanetị site na iji Linux nkesa (IPMASQ gateway) e kenyere IP ọha. adreesị.

Ọ bụ maapụ otu-na-ọtụtụ. Okporo ụzọ sitere na ndị ọbịa gị a na-adịghị ahụ anya ga-apụta na kọmpụta ndị ọzọ na ịntanetị dị ka a ga-asị na ọ na-abịa site na sava Linux gị.

Ị nwere ike ime ka IP masquerading na mpaghara achọrọ, dịka ọmụmaatụ mpaghara ọha. Mana tupu ime nke ahụ, buru ụzọ lelee ma njiri mara ọ na-arụ ọrụ ma ọ bụ na ọ naghị (a \ee pụtara nkwarụ ya na \ee pụtara ihe ọzọ).

$ sudo firewall-cmd --zone=public --query-masquerade
$ sudo firewall-cmd --zone=public --add-masquerade

Ihe a na-ejikarị eme ihe maka ịmegharị ihe bụ ime mbugharị ọdụ ụgbọ mmiri. Na-eche na ịchọrọ SSH site na igwe dịpụrụ adịpụ gaa na onye ọbịa na netwọk ime gị nwere IP 10.20.1.3, nke sshd daemon na-ege ntị na ọdụ ụgbọ mmiri 5000.

Ị nwere ike ibuga njikọ niile na ọdụ ụgbọ mmiri 22 na sava Linux gị n'ọdụ ụgbọ mmiri ezubere na onye ọbịa gị lekwasịrị anya site na ịnye:

$ sudo firewall-cmd --zone=public --add-forward-port=port=22=proto=tcp:toport=5000:toaddr=10.20.1.3

Iji gbanyụọ masquerading na mpaghara, jiri --remove-masquerade mgba ọkụ.

$ sudo firewall-cmd --zone=public --remove-masquerade

Otu esi eme ma gbanyụọ ozi IMCP na Firewalld

Ozi ICMP (Internet Control Message Protocol) bụ ozi arịrịọ ma ọ bụ zaghachi arịrịọ ozi ma ọ bụ na ọnọdụ njehie.

Ị nwere ike ịme ma ọ bụ gbanyụọ ozi ICMP na firewall, mana tupu nke ahụ depụta ụdị icmp niile akwadoro.

$ sudo firewall-cmd --get-icmptypes

Ka ịgbakwunye ma ọ bụ wepu ụdị ngọngọ ịchọrọ.

$ sudo firewall-cmd --zone=home --add-icmp-block=echo-reply
OR
$ sudo firewall-cmd --zone=home --remove-icmp-block=echo-reply

Ị nwere ike ịlele ụdị icmp niile agbakwunyere na mpaghara site na iji -list-icmp-blocks mgba ọkụ.

$ sudo firewall-cmd --zone=home --list-icmp-blocks

Otu esi eji Direct Interface gafere Iwu Raw iptables

Firewall-cmd na-enyekwa nhọrọ ozugbo (--direct) ka ị nwetakwuo ohere na firewall. Nke a bara uru maka ndị nwere isi ihe ọmụma banyere iptables.

Ihe dị mkpa: Ị ga-eji naanị nhọrọ ndị ahụ kpọmkwem dị ka ebe ikpeazụ mgbe ọ na-agaghị ekwe omume iji nhọrọ firewall-cmd mgbe niile akọwara n'elu.

Nke a bụ ọmụmaatụ otu esi agafe iwu iptables raw, na-eji mgba ọkụ --add-rules. Ị nwere ike iwepụ iwu ndị a ngwa ngwa site na iji --wepu-rule dochie --add-rule:

$ sudo firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 80 -j ACCEPT

Maka ozi ndị ọzọ gbasara iptables, lee ntuziaka a: Otu esi ahazi Iptables Firewall iji mee ka ịnweta ọrụ dị na Linux.

Ọ bụrụ na ịmabeghị iptables syntax, ị nwere ike ịhọrọ asụsụ ọgaranya nke firewalld maka ịmepụta iwu firewall dị mgbagwoju anya n'ụzọ dị mfe nghọta dịka akọwara na-esote.

Otu esi eji asụsụ bara ọgaranya na Firewalld

A na-eji asụsụ bara ụba (nke a makwaara dị ka iwu bara ọgaranya) iji gbakwunye iwu firewall dị mgbagwoju anya maka IPv4 na IPv6 na-enweghị ihe ọmụma nke syntax iptables.

Ọ na-agbatị atụmatụ mpaghara (ọrụ, ọdụ ụgbọ mmiri, icmp-block, masquerade na ọdụ ụgbọ mmiri) nke anyị kpuchiri. Ọ na-akwado adrees isi na ebe ị ga-aga, ndekọ, omume na oke maka ndekọ na omume.

A na-eji --add-rich-rule gbakwunye iwu bara ụba. Ihe atụ a na-egosi otu esi enye ohere njikọ IPv4 na IPv6 ọhụrụ maka ọrụ http wee banye 1 kwa nkeji site na iji nyocha:

$ sudo firewall-cmd --add-rich-rule='rule service name="http" audit limit value="1/m" accept'

Iji wepu iwu agbakwunyere, dochie nhọrọ --add-rich-rule na --remove-rich-rule.

$ sudo firewall-cmd --remove-rich-rule='rule service name="http" audit limit value="1/m" accept'

Njirimara a na-enyekwa ohere igbochi ma ọ bụ ikwe ka okporo ụzọ si na adreesị IP akọwapụtara. Ihe atụ na-esonụ na-egosi otu esi ajụ njikọ sitere na IP 10.20.1.20.

$ sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.254" reject'

Otu esi eme ma gbanyụọ ọnọdụ ụjọ na Firewalld

Ọnọdụ ụjọ bụ ọnọdụ pụrụ iche n'okpuru firewalld ebe a na-atụba ngwugwu niile na-agbụ ma na-apụ apụ, njikọ ndị na-arụ ọrụ ga-ekubi ume ozugbo agbanyere ya.
Ị nwere ike mee ka ọnọdụ a nwee ọnọdụ mberede ebe ihe iyi egwu na gburugburu netwọk gị na-apụ.

Iji jụọ ọnọdụ ụjọ, jiri nhọrọ --query-panic.

$ sudo firewall-cmd --query-panic

Iji mee ka ọnọdụ ụjọ mee, jiri nhọrọ --panic-on. Ị nwere ike ịnwale ma ọ na-arụ ọrụ site na iji iwu ping dị ka egosiri. N'ihi na etinyere ngwugwu ahụ, enweghị ike idozi aha www.google.com, ya mere njehie ahụ gosipụtara.

$ sudo firewall-cmd --panic-on
$ ping -c 2 www.google.com

Iji gbanyụọ ọnọdụ ụjọ, jiri nhọrọ -panic-off.

$ sudo firewall-cmd --panic-off

Otu esi akpọchi Firewalld

Cheta, anyị kwuru n'okpuru isi ihe gbasara firewalld na ngwa ma ọ bụ ọrụ mpaghara nwere ike ịgbanwe nhazi firewall ma ọ bụrụ na ha na-eji ikike mgbọrọgwụ na-agba ọsọ. Ị nwere ike ijikwa ngwa ndị nwere ike ịrịọ mgbanwe firewall, site na ịkọwapụta mgbe ahụ na listi mkpọchi mkpọchi.

Agbanyụrụ atụmatụ a na ndabara, ị nwere ike mee ma ọ bụ gbanyụọ ya site na iji --lockdown-on ma ọ bụ --lockdown gbanwee nke ọma.

$ sudo firewall-cmd --lockdown-on
OR
$ sudo firewall-cmd --lockdown-off

Rịba ama na a na-atụ aro ka ịme ma ọ bụ gbanyụọ njirimara a site na-edezi faịlụ nhazi isi, n'ihi na firewall-cmd nwere ike ọ gaghị adị na listi mkpọchi mkpọchi mgbe ị na-eme ka mkpọchi.

$ sudo vim /etc/firewalld/firewalld.conf

Chọta ihe mgbochi mkpọchi wee gbanwee uru ya site na mba (pụtara apụ) gaa na ee (pụtara na ya).

Lockdown=yes

Iji mee ka ntọala a bugharịa firewalld na-adịgide adịgide.

$ sudo firewall-cmd --reload

Firewalld dị mfe iji dochie anya ọrụ iptables, nke na-eji iptables dị ka azụ azụ. N'isiokwu a, anyị egosila otu esi etinye ngwugwu firewalld, kọwaa atụmatụ dị mkpa nke firewalld ma tụlee otu esi ahazi ha na oge nhazi oge na gburugburu nhazi na-adịgide adịgide.

Ọ bụrụ na ị nwere ajụjụ ọ bụla ma ọ bụ kwuo, nweere onwe gị ịkpọtụrụ anyị site na ụdị nkọwa n'okpuru. Ị nwere ike ịtu aka na ibe akwụkwọ ntuziaka firewalld (man firewalld) ma ọ bụ akwụkwọ firewalld na webụsaịtị ọrụ, maka ozi ndị ọzọ.