FirewallD:n määrittäminen RHEL:ssä, Rockyssa ja AlmaLinuxissa


Verkkosuodatin, kuten me kaikki tiedämme, se on palomuuri Linuxissa. Palomuuri on dynaaminen demoni palomuurien hallintaan verkkovyöhykkeiden tuella. Aiemmassa versiossa RHEL ja CentOS olemme käyttäneet iptablesia pakettisuodatuskehyksen demonina.

RHEL-pohjaisten jakelujen uudemmissa versioissa, kuten Fedora, Rocky Linux, CentOS Stream, AlmaLinux ja openSUSEiptables-käyttöliittymä korvataan palomuurilla.

On suositeltavaa aloittaa palomuurin käyttäminen iptablesin sijaan, koska se voi lakkauttaa tulevaisuudessa. iptables on kuitenkin edelleen tuettu, ja ne voidaan asentaa yum-komennolla. Emme voi pitää Palomuuria ja iptablesia samassa järjestelmässä, mikä voi johtaa ristiriitaan.

iptablesissa määritimme INPUT, OUTPUT & FORWARD CHAINS, mutta täällä Palomuurissa<, konsepti käyttää Vyöhykkeet. Oletuksena palomuurissa on käytettävissä erilaisia vyöhykkeitä, joita käsitellään tässä artikkelissa.

Perusvyöhyke, jotka ovat kuten julkinen vyöhyke ja yksityinen vyöhyke. Jotta asiat selviäisivät näillä vyöhykkeillä, meidän on lisättävä käyttöliittymä määritetyn vyöhykkeen tuella ja sitten voimme lisätä palvelut palomuuriin.

Oletusarvoisesti saatavilla on monia palveluita, yksi palomuurin parhaista ominaisuuksista on, että sen mukana tulee ennalta määritellyt palvelut, ja voimme ottaa nämä palvelut esimerkkeinä palveluidemme lisäämiseen kopioimalla ne.

Palomuuri toimii hyvin myös IPv4:n, IPv6:n ja Ethernet-siltojen kanssa. Meillä voi olla erillinen ajonaikainen ja pysyvä konfiguraatio palomuurissa.

Aloitetaan työskentely vyöhykkeiden kanssa ja luodaan omia palvelujamme ja paljon muuta jännittävää palomuurin käyttöä Linuxissa.

Testausympäristömme

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

Vaihe 1: Palomuurin asentaminen RHEL-pohjaisiin järjestelmiin

1. Palomuuri-paketti on asennettu oletuksena RHEL:iin, Fedoraan ja Rocky Linuxiin , CentOS Stream, AlmaLinux ja openSUSE. Jos ei, voit asentaa sen seuraavalla yum-komennolla.

yum install firewalld -y

2. Kun palomuuri-paketti on asennettu, on aika tarkistaa, onko iptables-palvelu käynnissä vai ei. Jos se on käynnissä, sinun on pysäytä ja peitä (älä käytä enää) iptables -palvelu alla olevilla komennoilla.

systemctl status iptables
systemctl stop iptables
systemctl mask iptables

Vaihe 2: Palomuurikomponenttien ymmärtäminen (vyöhykkeet ja säännöt)

3. Ennen kuin siirryt palomuurin määritykseen, haluan keskustella kaikista vyöhykkeistä. Oletusarvoisesti joitakin vyöhykkeitä on käytettävissä. Meidän on määritettävä liitäntä vyöhykkeelle. Vyöhyke määrittelee vyöhykkeen, joka oli luotettu tai evätty tasolla rajapinnalle yhteyden muodostamiseksi. Vyöhyke voi sisältää palveluita ja portteja.

Tässä kuvataan kaikki palomuurissa käytettävissä olevat vyöhykkeet.

  • Pudotusalue: Kaikki saapuvat paketit hylätään, jos käytämme pudotusaluetta. Tämä on sama kuin lisäämään iptables -j drop. Jos käytämme pudotussääntöä, vastausta ei ole, vain lähtevät verkkoyhteydet ovat käytettävissä.
  • Estovyöhyke: Estävyöhyke estää saapuvien verkkoyhteyksien hylkäämisen icmp-host-prohibited-toiminnolla. Vain muodostetut yhteydet palvelimen sisällä sallitaan.
  • Julkinen vyöhyke: Hyväksyäksemme valitut yhteydet voimme määrittää säännöt julkiselle vyöhykkeelle. Tämä sallii vain tietyn portin avautua palvelimellamme, muut yhteydet katkaistaan.
  • Ulkoinen vyöhyke: Tämä vyöhyke toimii reitittimen vaihtoehtoina, kun naamiointi on käytössä. Muut yhteydet poistetaan, eivätkä ne hyväksy, ja vain määritetyt yhteydet sallitaan.
  • DMZ-vyöhyke: Jos meidän on sallittava pääsy joihinkin palveluihin julkisesti, voit määrittää sen DMZ-vyöhykkeellä. Myös tässä on ominaisuus, että vain valitut saapuvat yhteydet hyväksytään.
  • Work Zone: Tällä vyöhykkeellä voimme määrittää vain sisäiset verkot, eli yksityisten verkkojen liikenne on sallittua.
  • Kotivyöhyke: Tätä vyöhykettä käytetään erityisesti kotialueilla. Voimme käyttää tätä vyöhykettä luottaaksemme muihin verkkojen tietokoneisiin, jotta ne eivät vahingoita tietokonettasi, kuten kaikilla vyöhykkeillä. Tämä sallii myös vain valitut saapuvat yhteydet.
  • Sisäinen vyöhyke: Tämä on samanlainen kuin työvyöhyke, jossa on valitut sallitut yhteydet.
  • Luotettu vyöhyke: Jos asetamme luotetun vyöhykkeen, kaikki liikenne hyväksytään.

Nyt sinulla on parempi käsitys vyöhykkeistä, nyt selvitetään käytettävissä olevat vyöhykkeet ja oletusvyöhykkeet ja luetellaan kaikki vyöhykkeet seuraavien komentojen avulla.

Listaa palomuurin vyöhykkeet

firewall-cmd --get-zones

Listaa palomuurin oletusvyöhyke

firewall-cmd --get-default-zone

Listaa kaikki palomuurivyöhykkeet

firewall-cmd --list-all-zones

Huomaa: Yllä olevan komennon tulos ei mahdu yhdelle sivulle, sillä tämä listaa kaikki vyöhykkeet, kuten block, dmz, drop, ulkoinen, koti, sisäinen, julkinen, luotettava ja työ. Jos vyöhykkeillä on runsaasti sääntöjä, käytössä olevat palvelut tai portit luetellaan myös vastaavien vyöhyketietojen kanssa.

Vaihe 3: Oletuspalomuurivyöhykkeen asettaminen

4. Jos haluat määrittää oletusvyöhykkeen sisäiseksi, ulkoiseksi, pudotus-, työ- tai muuksi vyöhykkeeksi, voit määrittää oletusvyöhykkeen alla olevan komennon avulla. Tässä käytämme oletuksena sisäistä-vyöhykettä.

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

5. Kun olet asettanut vyöhykkeen, vahvista oletusvyöhyke käyttämällä alla olevaa komentoa.

firewall-cmd --get-default-zone

6. Tässä käyttöliittymämme on enp0s3. Jos meidän on tarkistettava vyöhyke, johon rajapinta on rajattu, voimme käyttää alla olevaa komentoa.

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

7. Toinen palomuurin mielenkiintoinen ominaisuus on, että "icmptype" on yksi palomuurin tukemista icmp-tyypeistä. Saadaksesi luettelon tuetuista icmp-tyypeistä voimme käyttää alla olevaa komentoa.

firewall-cmd --get-icmptypes

Vaihe 4: Omien palvelujen luominen Firewalldissa

8. Palvelut ovat sääntöjoukko porteilla ja vaihtoehdoilla, joita palomuuri käyttää. Palvelut, jotka ovat käytössä, ladataan automaattisesti, kun Palomuuri-palvelu on käytössä.

Oletuksena monet palvelut ovat käytettävissä. Saat luettelon kaikista saatavilla olevista palveluista käyttämällä seuraavaa komentoa.

firewall-cmd --get-services

9. Saat luettelon kaikista oletusarvoisista saatavilla olevista palveluista siirtymällä seuraavaan hakemistoon, josta näet palveluluettelon.

cd /usr/lib/firewalld/services/

10. Jotta voit luoda oman palvelun, sinun on määritettävä se seuraavassa paikassa. Haluan esimerkiksi lisätä tähän palvelun RTMP-portille 1935. Tee ensin kopio jostakin palvelusta.

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

Siirry sitten sijaintiin, johon palvelutiedostomme kopioitiin, ja nimeä seuraavaksi tiedosto ssh.xml uudelleen muotoon rtmp.xml alla olevan kuvan mukaisesti.

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

11. Avaa seuraavaksi tiedosto ja muokkaa sitä seuraavasti: Otsikko, Kuvaus, Protokolla ja Portti numero, jota meidän on käytettävä RTMP-palvelussa alla olevan kuvan mukaisesti.

12. Jos haluat aktivoida nämä muutokset, käynnistä palomuuripalvelu uudelleen tai lataa asetukset uudelleen.

firewall-cmd --reload

13. Varmista, onko palvelu lisätty vai ei, suorittamalla alla oleva komento saadaksesi luettelon saatavilla olevista palveluista.

firewall-cmd --get-services

Vaihe 5: Palvelujen määrittäminen palomuurivyöhykkeille

14. Tässä aiomme nähdä, kuinka palomuuria hallitaan komennolla firewall-cmd. Jos haluat tietää palomuurin ja kaikkien aktiivisten vyöhykkeiden nykyisen tilan, kirjoita seuraava komento.

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

15. Jos haluat saada julkisen vyöhykkeen käyttöliittymälle enp0s3, tämä on oletusliitäntä, joka on määritetty tiedostossa /etc/firewalld/firewalld.conf tiedosto muodossa DefaultZone=public.

Luetteloi kaikki käytettävissä olevat palvelut tällä oletusliittymävyöhykkeellä.

firewall-cmd --get-service

Vaihe 6: Palvelujen lisääminen palomuurivyöhykkeisiin

16. Yllä olevissa esimerkeissä olemme nähneet, kuinka luoda omia palveluita luomalla rtmp-palvelu. Tässä nähdään, kuinka rtmp lisätään. vahva> palvelu myös alueelle.

firewall-cmd --add-service=rtmp

17. Poista lisätty vyöhyke kirjoittamalla.

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

Yllä oleva vaihe oli vain väliaikainen. Jotta se olisi pysyvä, meidän on suoritettava alla oleva komento vaihtoehdolla –permanent.

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

18. Määritä säännöt verkkolähdealueelle ja avaa mikä tahansa porteista. Jos esimerkiksi haluat avata verkkoalueen, sano "192.168.0.0/24" ja portti "1935", käytä seuraavia komentoja.

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

Muista ladata palomuuripalvelu uudelleen, kun olet lisännyt tai poistanut palveluita tai portteja.

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

Vaihe 7: Firewalld Rich -sääntöjen lisääminen verkkoalueelle

19. Jos haluan sallia palvelut, kuten http, https, vnc-server ja PostgreSQL, käytän seuraavia sääntöjä. Lisää ensin sääntö ja tee siitä pysyvä, lataa säännöt uudelleen ja tarkista tila.

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

Nyt verkkoalue 192.168.0.0/24 voi käyttää yllä olevaa palvelua palvelimeltani. Vaihtoehtoa –pysyvä voidaan käyttää jokaisessa säännössä, mutta meidän on määritettävä sääntö ja tarkistettava asiakkaan käyttöoikeudet, minkä jälkeen meidän on tehtävä siitä pysyvä.

20. Kun olet lisännyt yllä olevat säännöt, älä unohda ladata palomuurisäännöt uudelleen ja luetella säännöt käyttämällä:

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

Lisätietoja Firewalldista.

man firewalld

Siinä kaikki, olemme nähneet, kuinka verkkosuodatin määritetään palomuurilla RHEL-pohjaisissa jakeluissa, kuten Fedora, Rocky Linux, CentOS Stream, AlmaLinux ja openSUSE.

Johtopäätös

Net-filter on palomuurikehys jokaiselle Linux-jakelulle. Kaikissa RHEL- ja CentOS-versioissa käytimme iptablesia, mutta uudemmissa versioissa on otettu käyttöön palomuuri. Palomuuria on helpompi ymmärtää ja käyttää. Toivottavasti pidit kirjoituksesta.