Kako nastaviti požarni zidD v RHEL/CentOS 7 in Fedora 21


Net-filter , saj vsi vemo, da gre za požarni zid v Linuxu. Požarni zid je dinamični demon za upravljanje požarnih zidov s podporo za omrežna območja. V prejšnji različici RHEL & CentOS 6 smo iptables uporabljali kot demon za ogrodje filtriranja paketov. V RHEL / CentOS 7/8 , Fedora in openSUSE - rong> iptables vmesnik nadomešča požarni zid.

Priporočljivo je, da namesto iptables začnete uporabljati požarni zid , saj lahko ta v prihodnosti preneha. Kljub temu iptables še vedno podpirajo in jih je mogoče namestiti z ukazom yum. Firewalld in iptables ne moremo hraniti v istem sistemu, kar lahko vodi do konflikta.

V iptables smo nekoč konfigurirali kot VHODNE, IZHODNE IN NAPREDNE VERIGE , vendar tukaj v Firewalldu koncept uporablja cone. V požarnem zidu so privzeto na voljo različna območja, o katerih bomo razpravljali v tem članku.

Osnovna cona, ki je podobna javni in zasebni coni. Da se s temi območji stvari lahko obnesejo, moramo dodati vmesnik z določeno podporo za območja, nato pa lahko storitve dodamo v požarni zid.

Privzeto je na voljo veliko storitev, ena najboljših lastnosti požarnega zidu je, da ima vnaprej določene storitve, ki jih lahko vzamemo za primer, da jih dodamo s preprostim kopiranjem.

Firewalld se odlično obnese tudi z mostovi IPv4, IPv6 in Ethernet. V požarnem zidu imamo lahko ločen čas izvajanja in trajno konfiguracijo.

Začnimo s tem, kako delati z območji in ustvariti lastne storitve ter veliko bolj razburljivo uporabo požarnega zidu.

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

1. korak: Namestitev požarnega zidu v CentOS

1. Paket Firewalld je privzeto nameščen v RHEL/CentOS 7/8, Fedora in openSUSE. V nasprotnem primeru ga lahko namestite z naslednjim ukazom yum.

# yum install firewalld -y

2. Ko je paket požarnega zidu nameščen, je čas, da preverite, ali se storitev iptables izvaja ali ne, če se izvaja, morate zaustaviti in zakriti (ne uporabljati več) storitev iptables s spodnjimi ukazi.

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

2. korak: razprava o komponentah požarnega zidu

3. Preden se odpravim na konfiguracijo požarnega zidu, bi rad razpravljal o vsakem območju. Privzeto je na voljo nekaj con. Območju moramo dodeliti vmesnik. Območje določa, da je območje, ki mu je bila zaupanja vredna ali zavrnjena raven vmesnika za vzpostavitev povezave. Območje lahko vsebuje storitve in vrata.

Tukaj bomo opisali vsa območja, ki so na voljo v Firewalldu.

  • Spustite območje : če uporabimo to spustno območje, bodo vsi dohodni paketi odstranjeni. To je enako kot pri dodajanju iptables -j drop . Če uporabimo pravilo spuščanja, pomeni, da ni odgovora, na voljo bodo le odhodne omrežne povezave.
  • Blokiraj območje : Blokirano območje bo zavrnilo zavrnitev dohodnih omrežnih povezav z icmp-host-prepovedana. Dovoljene bodo samo vzpostavljene povezave znotraj strežnika.
  • Javna cona : Če želimo sprejeti izbrane povezave, lahko določimo pravila v javni coni. To bo omogočilo samo odpiranje določenih vrat v našem strežniku, druge povezave bodo prekinjene.
  • Zunanja cona : To območje bo delovalo kot možnosti usmerjevalnika z omogočenim maskiranjem, druge povezave bodo izpuščene in ne bodo sprejete, dovoljena bo samo določena povezava.
  • Območje DMZ : če moramo javnosti dovoliti dostop do nekaterih storitev, ga lahko določite v območju DMZ. Tudi to ima značilnost, da so sprejete le izbrane dohodne povezave.
  • Delovno območje: na tem območju lahko določimo samo notranja omrežja, tj. dovoljen je promet zasebnih omrežij.
  • Domače območje : To območje je posebej uporabljeno na domačih območjih. To območje lahko uporabimo za zaupanje ostalim računalnikom v omrežju, da ne bodo škodovali vašemu računalniku kot vsakemu drugemu območju. Tudi to omogoča samo izbrane dohodne povezave.
  • Notranja cona : Ta je podobna delovni coni z izbranimi dovoljenimi povezavami.
  • Zaupanja vredno območje : če nastavimo zaupanja vredno območje, bo ves promet sprejet.

Zdaj imate boljšo predstavo o conah, zdaj pa poiščimo razpoložljiva območja, privzeta območja in z naslednjimi ukazi navedite vsa območja.

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

Opomba: Izhod zgornjega ukaza ne bo ustrezal niti eni strani, saj bodo naštete vse cone, kot so blok, dmz, spuščanje, zunanje, domače, notranje, javno, zaupanja vredno in službeno. Če imajo območja kakršna koli bogata pravila, bodo naštete tudi omogočene storitve ali vrata s temi informacijami o območjih.

3. korak: Nastavitev privzetega območja požarnega zidu

4. Če želite privzeto območje nastaviti kot notranje, zunanje, spustno, delovno ali katero koli drugo območje, lahko s spodnjim ukazom nastavite privzeto območje. Tu privzeto uporabljamo "notranje" območje.

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

5. Po nastavitvi cone s spodnjim ukazom preverite privzeto cono.

# firewall-cmd --get-default-zone

6. Tu je naš vmesnik enp0s3 . Če moramo preveriti območje, v katerem je vmesnik omejen, lahko uporabimo spodnji ukaz.

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

7. Druga zanimiva lastnost požarnega zidu je, da je „icmptype“ ena od vrst icmp, ki jo podpira požarni zid. Če želite dobiti seznam podprtih tipov icmp, lahko uporabimo spodnji ukaz.

# firewall-cmd --get-icmptypes

4. korak: Ustvarjanje lastnih storitev v požarnem zidu

8. Storitve so nabor pravil z vrati in možnostmi, ki jih uporablja Firewalld. Storitve, ki so omogočene, se bodo samodejno naložile ob zagonu storitve Firewalld.

Privzeto je na voljo veliko storitev. Če želite dobiti seznam vseh razpoložljivih storitev, uporabite naslednji ukaz.

# firewall-cmd --get-services

9. Če želite dobiti seznam vseh privzeto razpoložljivih storitev, pojdite v naslednji imenik, kjer boste dobili seznam storitev.

# cd /usr/lib/firewalld/services/

10. Če želite ustvariti lastno storitev, jo morate določiti na naslednji lokaciji. Na primer, tukaj želim dodati storitev za vrata RTMP 1935, najprej narediti kopijo katere koli storitve.

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

Nato se pomaknite do mesta, kjer je bila kopirana naša servisna datoteka, nato datoteko preimenujte v »ssh.xml« v »rtmp.xml«, kot je prikazano na spodnji sliki.

# cd /etc/firewalld/services/

11. Nato datoteko odprite in uredite kot Naslov, Opis, Protokol in Številka vrat , ki jo moramo uporabiti za storitev RTMP, kot je prikazano na spodnji sliki.

12. Če želite, da se te spremembe aktivirajo, znova zaženite storitev požarnega zidu ali znova naložite nastavitve.

# firewall-cmd --reload

13. Če želite potrditi, ali je storitev dodana ali ne, zaženite spodnji ukaz, da dobite seznam razpoložljivih storitev.

# firewall-cmd --get-services

5. korak: Dodelitev storitev conam Firewalld

14. Tu bomo videli, kako upravljati požarni zid z ukazom firewall-cmd. Če želite vedeti trenutno stanje požarnega zidu in vseh aktivnih con, vnesite naslednji ukaz.

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

15. Če želite dobiti javno območje za vmesnik enp0s3 , je to privzeti vmesnik, ki je v datoteki /etc/firewalld/firewalld.conf opredeljen kot DefaultZone = javno .

Seznam vseh razpoložljivih storitev v tem privzetem območju vmesnika.

# firewall-cmd --get-service

6. korak: dodajanje storitev v cone požarnega zidu

16. V zgornjih primerih smo videli, kako ustvarimo lastne storitve z ustvarjanjem storitve rtmp, tukaj bomo videli, kako v cono dodati tudi storitev rtmp.

# firewall-cmd --add-service=rtmp

17. Če želite odstraniti dodano območje, vnesite.

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

Zgornji korak je bil samo začasno obdobje. Če želite, da je trajen, moramo zagnati spodnji ukaz z možnostjo –trajno .

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

18. Določite pravila za obseg omrežnih virov in odprite katero koli od vrat. Če želite na primer odpreti omrežni obseg, recimo "192.168.0.0/24" in vrata "1935", uporabite naslednje ukaze.

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

Poskrbite, da boste po dodajanju ali odstranjevanju storitev ali vrat ponovno naložili storitev požarnega zidu.

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

7. korak: dodajanje bogatih pravil za omrežni obseg

19. Če želim dovoliti storitve, kot so http, https, vnc-server, PostgreSQL, uporabite naslednja pravila. Najprej dodajte pravilo in ga naredite trajnega, ponovno naložite pravila in preverite stanje.

# 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

Zdaj lahko omrežje 192.168.0.0/24 uporablja zgoraj navedeno storitev iz mojega strežnika. Možnost –trajno je mogoče uporabiti v vsakem pravilu, vendar moramo pravilo definirati in preveriti pri dostopu odjemalca, nato pa ga moramo narediti trajnega.

20. Po dodajanju zgornjih pravil ne pozabite znova naložiti pravil požarnega zidu in jih našteti s pomočjo:

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

Če želite izvedeti več o Firewalldu.

# man firewalld

To je to, videli smo, kako nastaviti mrežni filter z uporabo Firewallda v RHEL/CentOS in Fedori.

Net-filter je ogrodje požarnega zidu za vsako distribucijo Linuxa. V vseh izdajah RHEL in CentOS smo uporabljali iptable, v novejših različicah pa so predstavili Firewalld. Lažje je razumeti in uporabljati požarni zid. Upam, da ste uživali v pisanju.