Nola konfiguratu FirewallD RHEL, Rocky eta AlmaLinux-en


Net-iragazkia denok dakigunez Linuxen suebaki bat da. Firewalld sare-guneetarako laguntzarekin suebakiak kudeatzeko deabru dinamikoa da. Aurreko bertsioan, RHEL eta CentOS iptables erabili dugu paketeak iragazteko esparrurako deabru gisa.

Fedora, Rocky Linux, CentOS Stream, AlmaLinux eta openSUSE bezalako RHEL-en oinarritutako banaketaren bertsio berriagoetan - iptables interfazea suebakiak ordezkatzen ari da.

[Ere gustatuko litzaizuke: 10 kode irekiko segurtasun suebaki erabilgarri Linux sistemetarako]

Gomendagarria da Firewalld erabiltzen hastea iptables-en ordez, etorkizunean eten daitekeelako. Hala ere, iptables onartzen da oraindik eta yum komandoarekin instalatu daiteke. Ezin ditugu Firewalld eta iptables biak sistema berean mantendu eta horrek gatazkak sor ditzake.

iptables-en, INPUT, OUTPUT ETA FORWARD CHAINS gisa konfiguratzen genuen baina hemen Firewalld-en, kontzeptuak Zones erabiltzen ditu. Lehenespenez, gune desberdinak daude eskuragarri firewalld-en, artikulu honetan aztertuko direnak.

Oinarrizko gunea, eremu publikoa eta eremu pribatua bezalakoak. Zona hauekin gauzak funtzionatzeko, zehaztutako zona euskarria duen interfazea gehitu behar dugu eta, ondoren, zerbitzuak suebakira gehitu ditzakegu.

Lehenespenez, zerbitzu asko daude eskuragarri, firewalld-en ezaugarri onenetako bat da, aurrez definitutako zerbitzuekin dator eta zerbitzu hauek adibide gisa har ditzakegu gure zerbitzuak gehitzeko, kopiatu besterik gabe.

Firewalld-ek bikain funtzionatzen du IPv4, IPv6 eta Ethernet zubiekin ere. Firewalld-en exekuzio-denbora eta konfigurazio iraunkor bereizia izan ditzakegu.

Has gaitezen zonaldeekin lan egiten eta gure zerbitzu propioak eta Linux-en suebakiaren erabilera askoz zirraragarriagoa sortzen.

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

1. urratsa: Firewalld instalatzea RHEL-en oinarritutako sistemetan

1. Firewalld paketea lehenespenez instalatuta dago RHEL, Fedora, Rocky Linux, CentOS Stream, AlmaLinux eta openSUSE-n. Hala ez bada, instala dezakezu yum komando hau erabiliz.

# yum install firewalld -y

2. Firewalld paketea instalatu ondoren, iptables zerbitzua exekutatzen ari den edo ez egiaztatzeko garaia da, exekutatzen ari bada, iptables zerbitzua beheko komandoekin estali eta ezkutatu behar duzu (ez erabili gehiago).

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

2. urratsa: Firewalld osagaiak ulertzea (zonak eta arauak)

3. Firewalld konfiguraziora abiatu aurretik, zona bakoitzari buruz eztabaidatu nahiko nuke. Lehenespenez, zona batzuk daude eskuragarri. Zonari interfazea esleitu behar diogu. Zona batek konexioa lortzeko interfazeari konfiantzazko edo ukatu zaion eremua definitzen du. Zona batek zerbitzuak eta portuak izan ditzake.

Hemen, Firewalld-en eskuragarri dauden zona bakoitza deskribatuko dugu.

  • Bota-eremua: Jasotako pakete guztiak kentzen dira jaregiteko gunea erabiltzen badugu. Hau iptables -j drop gehitzeko erabiltzen dugun berdina da. Jarri-araua erabiltzen badugu, erantzunik ez dagoela esan nahi du, irteerako sare-konexioak soilik egongo dira erabilgarri.
  • Blokeatu eremua: Blokeatu eremuak ukatu egingo du sarrerako sare-konexioak baztertzen direla icmp-host-prohibited batekin. Zerbitzariaren barruan ezarritako konexioak soilik onartuko dira.
  • Eremu publikoa: Hautatutako konexioak onartzeko eremu publikoan arauak defini ditzakegu. Honek ataka zehatza gure zerbitzarian irekitzeko aukera emango du, beste konexio batzuk kenduko dira.
  • Kanpoko gunea: eremu honek bideratzaileen aukeren gisa funtzionatuko du maskaratzeak gaituta dauden beste konexio batzuk kenduko dira eta ez dira onartuko, eta zehaztutako konexioak soilik onartuko dira.
  • DMZ Zona: zerbitzu batzuetarako sarbidea publikoari baimendu behar badiogu, DMZ eremuan defini dezakezu. Honek ere aukeratutako sarrerako konexioak soilik onartzeko funtzioa du.
  • Lan eremua: eremu honetan barne-sareak soilik defini ditzakegu, hau da, sare pribatuen trafikoa onartzen da.
  • Etxeko gunea: gune hau bereziki etxeko eremuetan erabiltzen da, eremu hau erabil dezakegu sareetako beste ordenagailuekin konfiantza izateko, zure ordenagailua ez kaltetzeko zona guztietan bezala. Honek ere aukeratutako sarrerako konexioak soilik onartzen ditu.
  • Barne gunea: aukeratutako konexio baimenduekin lan-eremuaren antzekoa da.
  • Zona fidagarria: eremu fidagarria ezartzen badugu trafiko guztia onartuko da.

Orain zonei buruzko ideia hobea duzu, orain aurki ditzagun eremu erabilgarri eta lehenetsitako zonak, eta zerrendatu ditzagun zona guztiak komando hauek erabiliz.

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

Oharra: Goiko komandoaren irteera ez da orri bakarrean sartuko, blokea, dmz, drop, kanpokoa, hasiera, barnekoa, publikoa, fidagarria eta lana bezalako zona guztiak zerrendatuko baititu. Eremuek arau aberatsik badute, gaitutako zerbitzuak edo portuak ere zerrendatuko dira dagozkien zonaren informazioarekin.

3. urratsa: Lehenetsitako Firewalld Zone ezartzea

4. Eremu lehenetsia barne, kanpo, tanta, lan edo beste edozein eremu gisa ezarri nahi baduzu, beheko komandoa erabil dezakezu zona lehenetsia ezartzeko. Hemen barneko gunea erabiltzen dugu lehenespen gisa.

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

5. Zona ezarri ondoren, egiaztatu eremu lehenetsia beheko komandoa erabiliz.

# firewall-cmd --get-default-zone

6. Hemen, gure Interfazea enp0s3 da, interfazea mugatzen den zona egiaztatu behar badugu beheko komandoa erabil dezakegu.

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

7. Firewalld-en beste ezaugarri interesgarri bat 'icmptype' da firewalld-ek onartzen duen icmp motaetako bat. Onartutako icmp moten zerrenda lortzeko beheko komandoa erabil dezakegu.

# firewall-cmd --get-icmptypes

4. urratsa: Zerbitzu propioak sortzea Firewalld-en

8. Zerbitzuak Firewalld-ek erabiltzen dituen portuak eta aukerak dituzten arau multzo bat dira. Gaituta dauden zerbitzuak automatikoki kargatuko dira Firewalld zerbitzua martxan dagoenean.

Lehenespenez, zerbitzu asko daude eskuragarri, erabilgarri dauden zerbitzu guztien zerrenda lortzeko, erabili komando hau.

# firewall-cmd --get-services

9. Eskuragarri dauden zerbitzu lehenetsi guztien zerrenda lortzeko, joan hurrengo direktoriora, hemen zerbitzuen zerrenda jasoko duzu.

# cd /usr/lib/firewalld/services/

10. Zure zerbitzua sortzeko, ondoko kokapenean definitu behar duzu. Adibidez, hemen RTMP atakarako zerbitzu bat gehitu nahi dut 1935, lehenik eta behin zerbitzuetako baten kopia bat egin.

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

Eta gero, nabigatu gure zerbitzu-fitxategia kopiatu zen kokapenera, ondoren aldatu izena fitxategia 'ssh.xml' 'rtmp.xml' beheko irudian erakusten den moduan.

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

11. Ondoren, ireki eta editatu fitxategia goiburua, deskribapena, protokoloa eta ataka zenbaki gisa, RTMP zerbitzurako erabili behar duguna beheko irudian erakusten den moduan.

12. Aldaketa hauek aktibatzeko, berrabiarazi firewalld zerbitzua edo berriro kargatu ezarpenak.

# firewall-cmd --reload

13. Zerbitzu bat gehitu den ala ez baieztatzeko, exekutatu beheko komandoa eskuragarri dauden zerbitzuen zerrenda bat lortzeko.

# firewall-cmd --get-services

5. urratsa: Zerbitzuak esleitzea Firewalld zonei

14. Hemen suebakia nola kudeatu ikusiko dugu firewall-cmd komandoa erabiliz. Suebakiaren eta zona aktibo guztien egungo egoera ezagutzeko, idatzi komando hau.

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

15. enp0s3 interfazearen eremu publikoa lortzeko, hau da interfaze lehenetsia, /etc/firewalld/firewalld.conf fitxategian DefaultZone= gisa definituta dagoena. publikoa.

Interfaze eremu lehenetsi honetan erabilgarri dauden zerbitzu guztiak zerrendatzeko.

# firewall-cmd --get-service

6. urratsa: Zerbitzuak gehitzea Firewalld zonetan

16. Goiko adibideetan, rtmp zerbitzua sortuz gure zerbitzuak nola sortu ikusi dugu, hemen ikusiko dugu rtmp zerbitzua ere zonan nola gehitu.

# firewall-cmd --add-service=rtmp

17. Gehitutako zona kentzeko, idatzi.

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

Goiko urratsa behin-behineko aldia izan zen. Iraunkorra izan dadin, beheko komandoa exekutatu behar dugu –permanent aukerarekin.

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

18. Definitu sareko iturburu-barrutirako arauak eta ireki edozein ataka. Adibidez, sare-barruti bat ireki nahi baduzu esan '192.168.0.0/24' eta '1935' ataka erabili komando hauek.

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

Ziurtatu firewalld zerbitzua berriro kargatzen duzula zerbitzu edo ataka batzuk gehitu edo kendu ondoren.

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

7. urratsa: sare barrutirako Firewalld arau aberatsak gehitzea

19. http, https, vnc-server eta PostgreSQL bezalako zerbitzuak baimendu nahi baditut, honako arau hauek erabiltzen ditut. Lehenik eta behin, gehitu araua eta egin iraunkorra eta berriro kargatu arauak eta egiaztatu egoera.

# 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

Orain, 192.168.0.0/24 Sare sortak goiko zerbitzua erabil dezake nire zerbitzaritik. –permanent aukera arau guztietan erabil daiteke, baina araua definitu behar dugu eta bezeroaren sarbidea egiaztatu ondoren iraunkor bihurtu behar dugu.

20. Goiko arauak gehitu ondoren, ez ahaztu suebakiaren arauak berriro kargatzea eta arauak zerrendatzea erabiliz:

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

Firewalld-i buruz gehiago jakiteko.

# man firewalld

Hori da, ikusi dugu nola konfiguratu sare-iragazkia Firewalld erabiliz RHEL-en oinarritutako banaketan, hala nola Fedora, Rocky Linux, CentOS Stream, AlmaLinux eta openSUSE.

Net-filter Linux banaketa bakoitzaren suebaki baten esparrua da. RHEL eta CentOS edizio guztietan, iptables erabili dugu baina bertsio berriagoetan Firewalld sartu dute. Errazagoa da suebakia ulertzea eta erabiltzea. Espero dugu idazlana gustatu izana.