Hvernig á að stilla FirewallD í RHEL, Rocky og AlmaLinux


Net-sía eins og við vitum öll er það eldveggur í Linux. Firewalld er kraftmikill púki til að stjórna eldveggjum með stuðningi fyrir netsvæði. Í fyrri útgáfunni, RHEL & CentOS, höfum við notað iptables sem púka fyrir pakkasíuramma.

Í nýrri útgáfum af dreifingum sem byggja á RHEL eins og Fedora, Rocky Linux, CentOS Stream, AlmaLinux og openSUSE - er verið að skipta út iptables viðmótinu fyrir eldvegg.

[Þér gæti líka líkað við: 10 gagnlegir opinn uppspretta öryggiseldveggir fyrir Linux kerfi ]

Mælt er með því að byrja að nota Firewalld í stað iptables þar sem þetta gæti hætt í framtíðinni. Hins vegar eru iptables enn studdar og hægt er að setja þær upp með yum skipuninni. Við getum ekki haldið eldvegg og iptables í sama kerfinu sem getur leitt til árekstra.

Í iptables notuðum við til að stilla sem INNPUT, OUTPUT & FORWARD KEÐJUR en hér í Firewalld notar hugtakið Zones. Sjálfgefið er að það eru mismunandi svæði í boði í Firewalld, sem verður fjallað um í þessari grein.

Grunnsvæðið sem eru eins og almenningssvæði og einkasvæði. Til að láta hlutina ganga upp með þessum svæðum þurfum við að bæta við viðmótinu með tilgreindum svæðisstuðningi og þá getum við bætt þjónustunni við eldvegg.

Sjálfgefið er að það eru margar þjónustur í boði, einn besti eiginleiki eldveggsins er, hann kemur með fyrirfram skilgreindri þjónustu og við getum tekið þessa þjónustu sem dæmi til að bæta við þjónustu okkar með því einfaldlega að afrita þær.

Firewalld virkar líka vel með IPv4, IPv6 og Ethernet brýr. Við getum haft sérstakan keyrslutíma og varanlega uppsetningu í eldvegg.

Við skulum byrja á því hvernig á að vinna með svæði og búa til okkar eigin þjónustu og miklu meira spennandi notkun á eldvegg í Linux.

Operating System :	Red Hat Enterprise Linux release 9.0 (Plow)
IP Address       :	192.168.0.159
Host-name	:	tecmint-rhel9

Skref 1: Uppsetning Firewalld í RHEL-byggðum kerfum

1. Firewalld pakkinn er sjálfgefið uppsettur í RHEL, Fedora, Rocky Linux, CentOS Stream, AlmaLinux og openSUSE. Ef ekki, geturðu sett það upp með eftirfarandi yum skipun.

# yum install firewalld -y

2. Eftir að eldveggspakkinn hefur verið settur upp er kominn tími til að sannreyna hvort iptables þjónustan sé í gangi eða ekki, ef hún er í gangi þarftu að stöðva og hylja (ekki nota lengur) iptables þjónustuna með neðangreindum skipunum.

# systemctl status iptables
# systemctl stop iptables
# systemctl mask iptables

Skref 2: Að skilja Firewalld hluti (svæði og reglur)

3. Áður en ég fer í uppsetningu eldveggs langar mig að ræða hvert svæði. Sjálfgefið eru nokkur svæði tiltæk. Við þurfum að úthluta viðmótinu á svæðið. Svæði skilgreinir svæðið sem var treyst eða neitað stig við viðmótið til að fá tengingu. Svæði getur innihaldið þjónustu og hafnir.

Hér ætlum við að lýsa hverju svæði sem er tiltækt í Firewalld.

  • Sleppingarsvæði: Allir pakkar sem berast er sleppt ef við notum sleppingarsvæði. Þetta er það sama og við notum til að bæta við iptables -j drop. Ef við notum fallregluna þýðir það að ekkert svar er, aðeins sendar nettengingar verða tiltækar.
  • Loka svæði: Lokað svæði mun neita að komandi nettengingum sé hafnað með icmp-host-banned. Aðeins komið á tengingar innan þjónsins verða leyfðar.
  • Opinbert svæði: Til að samþykkja valdar tengingar getum við skilgreint reglur á almenningssvæðinu. Þetta mun aðeins leyfa tilteknu gáttinni að opna á netþjóninum okkar, öðrum tengingum verður sleppt.
  • Ytra svæði: Þetta svæði mun virka sem valmöguleikar beini með grímugerð er virkjað öðrum tengingum verður sleppt og munu ekki samþykkja, og aðeins tilgreindar tengingar verða leyfðar.
  • DMZ svæði: Ef við þurfum að leyfa almenningi aðgang að sumum þjónustum geturðu skilgreint það á DMZ svæðinu. Þetta hefur líka þann eiginleika að aðeins valdar komandi tengingar eru samþykktar.
  • Vinnusvæði: Á þessu svæði getum við aðeins skilgreint innri net, þ.e. umferð einkanets er leyfð.
  • Heimasvæði: Þetta svæði er sérstaklega notað á heimasvæðum, við getum notað þetta svæði til að treysta öðrum tölvum á netkerfum til að skaða ekki tölvuna þína eins og á hverju svæði. Þetta leyfir líka aðeins valdar komandi tengingar.
  • Innra svæði: Þetta er svipað og vinnusvæðið með valdar leyfðar tengingar.
  • Trustað svæði: Ef við stillum traust svæði er öll umferð samþykkt.

Nú hefurðu fengið betri hugmynd um svæði, nú skulum við finna út tiltæk svæði og sjálfgefin svæði og skrá öll svæði með eftirfarandi skipunum.

# firewall-cmd --get-zones
# firewall-cmd --get-default-zone
# firewall-cmd --list-all-zones

Athugið: Úttak ofangreindrar skipunar passar ekki inn á eina síðu þar sem þetta mun skrá öll svæði eins og blokk, dmz, drop, ytri, heima, innri, opinber, traust og vinna. Ef svæðin hafa einhverjar ríkar reglur, verða virk þjónusta eða hafnir einnig skráðar með viðkomandi svæðisupplýsingum.

Skref 3: Stilla sjálfgefið eldveggssvæði

4. Ef þú vilt stilla sjálfgefið svæði sem innra, ytra, fall, vinnu eða hvaða annað svæði sem er, geturðu notað skipunina hér að neðan til að stilla sjálfgefið svæði. Hér notum við „innra“ svæði sem sjálfgefið.

# firewall-cmd --set-default-zone=internal

5. Eftir að þú hefur stillt svæðið skaltu staðfesta sjálfgefið svæði með því að nota skipunina hér að neðan.

# firewall-cmd --get-default-zone

6. Hér er viðmótið okkar enp0s3, ef við þurfum að athuga svæðið þar sem viðmótið er afmarkað getum við notað skipunina hér að neðan.

# firewall-cmd --get-zone-of-interface=enp0s3

7. Annar áhugaverður eiginleiki eldveggsins er 'icmptype' er ein af icmp gerðunum sem studd er af firewalld. Til að fá lista yfir studdar icmp tegundir getum við notað skipunina hér að neðan.

# firewall-cmd --get-icmptypes

Skref 4: Að búa til eigin þjónustu í Firewalld

8. Þjónusta er sett af reglum með höfnum og valkostum sem Firewalld notar. Þjónusta sem eru virkjuð verða sjálfkrafa hlaðin þegar Firewalld þjónustan er í gangi.

Sjálfgefið er að margar þjónustur séu tiltækar, til að fá lista yfir allar tiltækar þjónustur, notaðu eftirfarandi skipun.

# firewall-cmd --get-services

9. Til að fá lista yfir allar sjálfgefnar tiltækar þjónustur, farðu í eftirfarandi möppu, hér færðu lista yfir þjónustu.

# cd /usr/lib/firewalld/services/

10. Til að búa til þína eigin þjónustu þarftu að skilgreina hana á eftirfarandi stað. Til dæmis, hér vil ég bæta við þjónustu fyrir RTMP höfn 1935, gerðu fyrst afrit af einhverri þjónustu.

# cd /etc/firewalld/services/
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/

Og farðu síðan á staðinn þar sem þjónustuskráin okkar var afrituð, endurnefna næst skrána 'ssh.xml' í 'rtmp.xml' eins og sýnt er á myndinni hér að neðan.

# cd /etc/firewalld/services/
# mv ssh.xml rtmp.xml
# ls -l rtmp.xml

11. Næst skaltu opna og breyta skránni sem Heading, Description, Protocol og Port number, sem við þurfum að nota fyrir RTMP þjónustuna eins og sýnt er á myndinni hér að neðan.

12. Til að gera þessar breytingar virkar skaltu endurræsa eldveggsþjónustuna eða endurhlaða stillingunum.

# firewall-cmd --reload

13. Til að staðfesta hvort þjónustu er bætt við eða ekki skaltu keyra skipunina hér að neðan til að fá lista yfir þjónustu sem er í boði.

# firewall-cmd --get-services

Skref 5: Úthluta þjónustu á eldveggssvæði

14. Hér ætlum við að sjá hvernig á að stjórna eldveggnum með því að nota firewall-cmd skipunina. Til að vita núverandi stöðu eldveggsins og allra virkra svæða skaltu slá inn eftirfarandi skipun.

# firewall-cmd --state
# firewall-cmd --get-active-zones

15. Til að fá almenna svæðið fyrir viðmót enp0s3 er þetta sjálfgefið viðmót, sem er skilgreint í /etc/firewalld/firewalld.conf skránni sem DefaultZone= opinber.

Til að skrá alla tiltæka þjónustu á þessu sjálfgefna viðmótssvæði.

# firewall-cmd --get-service

Skref 6: Bæta þjónustu við Firewalld svæði

16. Í ofangreindum dæmum höfum við séð hvernig á að búa til okkar eigin þjónustu með því að búa til rtmp þjónustuna, hér munum við sjá hvernig á að bæta rtmp þjónustunni líka við svæðið.

# firewall-cmd --add-service=rtmp

17. Til að fjarlægja viðbætt svæði skaltu slá inn.

# firewall-cmd --zone=public --remove-service=rtmp

Ofangreint skref var aðeins tímabundið. Til að gera það varanlegt þurfum við að keyra skipunina hér að neðan með valkostinum –varanleg.

# firewall-cmd --add-service=rtmp --permanent
# firewall-cmd --reload

18. Skilgreindu reglur fyrir netuppsprettusvið og opnaðu hvaða tengi sem er. Til dæmis, ef þú vilt opna netsvið, segðu '192.168.0.0/24' og port '1935' notaðu eftirfarandi skipanir.

# firewall-cmd --permanent --add-source=192.168.0.0/24
# firewall-cmd --permanent --add-port=1935/tcp

Gakktu úr skugga um að endurhlaða eldveggsþjónustuna eftir að þú hefur bætt við eða fjarlægt þjónustu eða höfn.

# firewall-cmd --reload 
# firewall-cmd --list-all

Skref 7: Bæta við Firewalld Rich reglum fyrir netsvið

19. Ef ég vil leyfa þjónustu eins og http, https, vnc-server og PostgreSQL nota ég eftirfarandi reglur. Fyrst skaltu bæta reglunni við og gera hana varanlega og endurhlaða reglunum og athuga stöðuna.

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' 
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept' --permanent

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept'
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept' --permanent

Nú getur netsviðið 192.168.0.0/24 notað ofangreinda þjónustu frá þjóninum mínum. Valkosturinn –varanleg er hægt að nota í hverri reglu, en við verðum að skilgreina regluna og athuga með aðgang viðskiptavinarins eftir það verðum við að gera hana varanlega.

20. Eftir að hafa bætt við ofangreindum reglum, ekki gleyma að endurhlaða eldveggsreglurnar og skrá reglurnar með því að nota:

# firewall-cmd --reload
# firewall-cmd --list-all

Til að vita meira um Firewalld.

# man firewalld

Það er það, við höfum séð hvernig á að setja upp netsíu með Firewalld í RHEL byggðum dreifingum eins og Fedora, Rocky Linux, CentOS Stream, AlmaLinux og openSUSE.

Net-filter er rammi fyrir eldvegg fyrir hverja og eina Linux dreifingu. Til baka í hverri RHEL og CentOS útgáfu, notuðum við iptables en í nýrri útgáfum hafa þeir kynnt Firewalld. Það er auðveldara að skilja og nota eldvegg. Vona að þú hafir notið ritgerðarinnar.