Hvernig á að stilla FirewallD í RHEL/CentOS 7 og Fedora 21


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 6, höfum við notað iptables sem púka fyrir pakkasíuramma. Í RHEL/CentOS 7/8, Fedora og openSUSE – rong>iptables tengi er skipt út fyrir eldvegg.

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 INPUT, 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 er 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.

Operating System :	CentOS Linux release 7.0.1406 (Core)
IP Address       :	192.168.0.55
Host-name	:	server1.tecmintlocal.com

Skref 1: Uppsetning Firewalld í CentOS

1. Firewalld pakki er sjálfgefið uppsettur í RHEL/CentOS 7/8, Fedora 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: Rætt um Firewalld hluti

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 að svæðið sem var treyst eða neitað stigi til viðmótsins 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 þetta 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ð að öðrum tengingum verður sleppt og munu ekki samþykkja, aðeins tilgreind tenging verður leyfð.
  • 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 hvert 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, 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ð: Framleiðsla 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 virkjaðar þjónustur 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ð okkar þ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 eldveggs er „icmptype“ er ein af icmp gerðunum sem studd er af eldvegg. 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 eru tiltækar, til að fá lista yfir allar tiltækar þjónustur skaltu nota 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/

11. Næst skaltu opna og breyta skránni sem Heading, Description, Protocol, and 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 eldveggþjónustu 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ð ríkum reglum fyrir netsvið

19. Ef ég vil leyfa þjónustu eins og http, https, vnc-server, PostgreSQL notarðu 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/CentOS og Fedora.

Net-filter er rammi fyrir eldvegg fyrir hverja og eina Linux dreifingu. Til baka í öllum RHEL og CentOS útgáfum 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.