Tűzfal beállítása a FirewallD használatával a CentOS-on 7

Bevezetés

a Firewalld számos Linux disztribúcióhoz elérhető tűzfalkezelő megoldás, amely a Linux kernel által biztosított iptables csomagszűrő rendszer frontendjeként működik. Ebben az útmutatóban bemutatjuk, hogyan állíthat be tűzfalat a kiszolgálóhoz, és bemutatjuk a tűzfal kezelésének alapjait a firewall-cmd felügyeleti eszközzel (ha inkább a iptables – et használja a CentOS-szal, kövesse ezt az útmutatót).

Megjegyzés: Van esély arra, hogy a firewalld újabb verziójával dolgozik, mint ami az írás idején elérhető volt, vagy hogy a kiszolgálót kissé eltérően állították be, mint az ebben az útmutatóban használt példakiszolgálót. Így az ebben az útmutatóban ismertetett egyes parancsok viselkedése az adott konfigurációtól függően változhat.

alapfogalmak a Firewalld-ban

mielőtt elkezdenénk beszélni arról, hogyan használjuk a firewall-cmd segédprogramot a tűzfal konfigurációjának kezelésére, meg kell ismerkednünk néhány alapvető fogalommal, amelyeket az eszköz bemutat.

zónák

a firewalld démon szabálycsoportokat kezel “zónáknak”nevezett entitások segítségével. A zónák alapvetően olyan szabálykészletek, amelyek meghatározzák, hogy milyen forgalmat kell engedélyezni, attól függően, hogy milyen szintű bizalom van a hálózatokban, amelyekhez a számítógép csatlakozik. A hálózati interfészekhez egy zóna van hozzárendelve, amely diktálja a tűzfal által megengedett viselkedést.

azoknál a számítógépeknél, amelyek gyakran mozognak a hálózatok között (például laptopok), ez a fajta rugalmasság jó módszer a szabályok megváltoztatására a környezettől függően. Lehet, hogy szigorú szabályok vannak érvényben, amelyek tiltják a legtöbb forgalmat, ha nyilvános WiFi hálózaton működnek, miközben enyhébb korlátozásokat tesznek lehetővé az otthoni hálózathoz való csatlakozáskor. Egy szerver esetében ezek a zónák nem olyan fontosak, mert a hálózati környezet ritkán, ha valaha is megváltozik.

függetlenül attól, hogy milyen dinamikus a hálózati környezet, még mindig hasznos, ha ismeri az általános elképzelést a firewalld előre meghatározott zónái mögött. Annak érdekében, hogy a legkevésbé megbízható a legmegbízhatóbb, az előre meghatározott zónák belül firewalld a következők:

  • csepp: A bizalom legalacsonyabb szintje. Minden bejövő kapcsolat válasz nélkül megszakad, és csak kimenő kapcsolatok lehetségesek.
  • blokk: a fentiekhez hasonlóan, de a kapcsolatok egyszerű megszüntetése helyett a bejövő kéréseket icmp-host-prohibited vagy icmp6-adm-prohibited üzenettel utasítják el.
  • Nyilvános: Nyilvános, nem megbízható hálózatokat jelöl. Nem bízik más számítógépekben, de eseti alapon engedélyezheti a kiválasztott bejövő kapcsolatokat.
  • külső: külső hálózatok abban az esetben, ha a tűzfalat átjáróként használja. Úgy van beállítva a NAT maszkolására, hogy a belső hálózat privát maradjon, de elérhető legyen.
  • belső: a külső zóna másik oldala, amelyet az átjáró belső részéhez használnak. A számítógépek meglehetősen megbízhatóak, és további szolgáltatások állnak rendelkezésre.
  • dmz: DMZ-ben található számítógépekhez használható (elszigetelt számítógépek, amelyek nem férnek hozzá a hálózat többi részéhez). Csak bizonyos bejövő kapcsolatok engedélyezettek.
  • munka: munkagépekhez használják. Bízzon a hálózat legtöbb számítógépében. Néhány további szolgáltatás engedélyezhető.
  • otthon: otthoni környezet. Ez általában azt jelenti, hogy megbízik a legtöbb más számítógépben, és hogy néhány további szolgáltatást elfogadnak.
  • megbízható: bízzon a hálózat összes gépében. A rendelkezésre álló lehetőségek közül a legnyitottabb, ezért takarékosan kell használni.

a tűzfal használatához szabályokat hozhatunk létre, megváltoztathatjuk a zónáink tulajdonságait, majd a hálózati interfészeket a legmegfelelőbb zónákhoz rendelhetjük.

szabály állandóság

a firewalld-ban a szabályok állandónak vagy azonnalinak nevezhetők. Szabály hozzáadása vagy módosítása esetén alapértelmezés szerint a jelenleg futó tűzfal viselkedése módosul. A következő indításkor a régi szabályok visszaállnak.

a legtöbb firewall-cmd művelet a --permanent jelzővel jelezheti, hogy a nem mulandó tűzfalat kell megcélozni. Ez hatással lesz a rendszerindításkor újratöltött szabálykészletre. Ez az elválasztás azt jelenti, hogy tesztelheti a szabályokat az aktív tűzfalpéldányban, majd újratöltheti, ha problémák merülnek fel. A --permanent jelzőt arra is használhatja, hogy idővel egy teljes szabálykészletet építsen ki, amelyet az újratöltési parancs kiadásakor egyszerre alkalmaznak.

telepítse és engedélyezze a tűzfal indítását indításkor

firewalld alapértelmezés szerint telepítve van néhány Linux disztribúcióra, beleértve a CentOS 7 számos képét. Előfordulhat azonban, hogy magának kell telepítenie a firewalld-t:

  • sudo yum install firewalld

a firewalld telepítése után engedélyezheti a szolgáltatást, és újraindíthatja a kiszolgálót. Ne feledje, hogy a firewalld engedélyezése a szolgáltatás indításakor elindul. A legjobb gyakorlat a tűzfalszabályok létrehozása, és a lehetséges problémák elkerülése érdekében használja ki a lehetőséget, hogy tesztelje őket a viselkedés konfigurálása előtt.

  • sudo systemctl enable firewalld
  • sudo reboot

amikor a kiszolgáló újraindul, a tűzfalat fel kell hozni, a hálózati csatolókat a konfigurált zónákba kell helyezni (vagy vissza kell térni a konfigurált alapértelmezett zónába), és a zóna(ok) hoz társított szabályokat alkalmazni kell a társított csatolókra.

gépeléssel ellenőrizhetjük, hogy a szolgáltatás fut-e és elérhető-e:

  • sudo firewall-cmd --state
output
running

ez azt jelzi, hogy a tűzfalunk az alapértelmezett konfigurációval működik.

a jelenlegi tűzfalszabályok megismerése

a módosítások megkezdése előtt ismerkedjünk meg a démon által biztosított alapértelmezett környezettel és szabályokkal.

Az alapértelmezett értékek feltárása

gépeléssel láthatjuk, hogy melyik zóna van alapértelmezettként kiválasztva:

  • firewall-cmd --get-default-zone
output
public

mivel nem adtunk meg firewalld parancsot az alapértelmezett zónától való eltérésre, és egyik interfészünk sincs konfigurálva egy másik Zónához való kötődésre, ez a zóna lesz az egyetlen “aktív” zóna (az a zóna, amely az interfészek forgalmát szabályozza). Ezt gépeléssel ellenőrizhetjük:

  • firewall-cmd --get-active-zones
output
public interfaces: eth0 eth1

itt láthatjuk, hogy a példakiszolgálónknak két hálózati interfésze van, amelyeket a tűzfal vezérel (eth0 és eth1). Jelenleg mindkettőt a nyilvános zónára meghatározott szabályok szerint kezelik.

honnan tudjuk, hogy milyen szabályok kapcsolódnak a nyilvános zónához? Az alapértelmezett zóna konfigurációját gépeléssel kinyomtathatjuk:

  • sudo firewall-cmd --list-all
output
public (default, active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

a kimenetből megállapítható, hogy ez a zóna mind az alapértelmezett, mind az aktív, és hogy a eth0 és eth1 interfészek ehhez a zónához vannak társítva (mindezt már korábbi vizsgálatainkból tudtuk). Ugyanakkor azt is láthatjuk, hogy ez a zóna lehetővé teszi a DHCP klienshez (IP-cím hozzárendeléséhez) és SSH-hoz (távoli adminisztrációhoz) kapcsolódó normál műveleteket.

alternatív zónák feltárása

most már van egy jó ötletünk az alapértelmezett és az aktív zóna konfigurációjáról. Más zónákról is tudunk információt szerezni.

a rendelkezésre álló zónák listájának megtekintéséhez írja be::

  • firewall-cmd --get-zones
output
block dmz drop external home internal public trusted work

láthatjuk a zónához társított speciális konfigurációt, ha a --zone= paramétert belefoglaljuk a --list-all parancsba:

  • sudo firewall-cmd --zone=home --list-all
output
home interfaces: sources: services: dhcpv6-client ipp-client mdns samba-client ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules:

az összes zónadefiníciót a --list-all-zones opcióval adhatja ki. A könnyebb megtekintés érdekében valószínűleg a kimenetet egy személyhívóba szeretné csövezni:

  • sudo firewall-cmd --list-all-zones | less

zónák kiválasztása az interfészekhez

hacsak nem konfigurálta másként a hálózati interfészeket, a tűzfal indításakor minden interfész Az alapértelmezett zónába kerül.

interfész zónájának módosítása

szekció közben a --zone= paraméter és a --change-interface= paraméter együttes használatával át lehet alakítani egy interfészt a zónák között. Mint minden olyan parancs esetében, amely módosítja a tűzfalat, a sudoparancsot kell használnia.

például a eth0 interfészünket a “home” zónába állíthatjuk át, ha ezt beírjuk:

  • sudo firewall-cmd --zone=home --change-interface=eth0
output
success
Megjegyzés

amikor egy interfészt új zónára vált, vegye figyelembe, hogy valószínűleg módosítja a működőképes szolgáltatásokat. Például itt a “home” zónába költözünk, ahol SSH áll rendelkezésre. Ez azt jelenti, hogy a kapcsolatunknak nem szabad megszakadnia. Néhány más zónában alapértelmezés szerint nincs engedélyezve az SSH, és ha a kapcsolat megszakad ezen zónák egyikének használata közben, előfordulhat, hogy nem tud újra bejelentkezni.

az aktív zónák ismételt kérésével ellenőrizhetjük, hogy ez sikeres volt-e:

  • firewall-cmd --get-active-zones
output
home interfaces: eth0public interfaces: eth1

Az alapértelmezett zóna beállítása

ha az összes interfészt a legjobban egyetlen zóna kezelheti, akkor valószínűleg könnyebb csak kiválasztani a legjobb alapértelmezett zónát, majd ezt használni a konfigurációhoz.

az alapértelmezett zónát a --set-default-zone= paraméterrel módosíthatja. Ez azonnal megváltoztatja az alapértelmezett interfészt az új zónára:

  • sudo firewall-cmd --set-default-zone=home
output
success

Szabályok beállítása az alkalmazásokhoz

a tűzfal kivételek meghatározásának alapvető módja a rendelkezésre bocsátani kívánt szolgáltatások számára egyszerű. Itt végigmegyünk az alapötleten.

Szolgáltatás hozzáadása a zónákhoz

a legegyszerűbb módszer a szükséges szolgáltatások vagy portok hozzáadása a használt zónákhoz. Ismét megkaphatja az elérhető szolgáltatások listáját a --get-services opcióval:

  • firewall-cmd --get-services
output
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
Megjegyzés:

ezekről a szolgáltatásokról további részleteket kaphat, ha megnézi a hozzájuk tartozó .xml fájlt a /usr/lib/firewalld/services könyvtárban. Például az SSH szolgáltatás a következőképpen definiálható:

/usr/lib/firewalld/services / ssh.xml
<?xml version="1.0" encoding="utf-8"?><service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="22"/></service>

egy zóna szolgáltatását a --add-service= paraméterrel engedélyezheti. A művelet az alapértelmezett zónát vagy a --zone= paraméter által meghatározott zónát célozza meg. Alapértelmezés szerint ez csak az aktuális tűzfal munkamenetet módosítja. Az állandó tűzfal konfigurációját a --permanent jelzővel módosíthatja.

például, ha hagyományos HTTP forgalmat kiszolgáló webszervert futtatunk, akkor ezt a forgalmat engedélyezhetjük a “nyilvános” zónánkban lévő interfészek számára ehhez a munkamenethez:

  • sudo firewall-cmd --zone=public --add-service=http

kihagyhatja a --zone= értéket, ha módosítani szeretné az alapértelmezett zónát. A --list-all vagy --list-services műveletek segítségével ellenőrizhetjük a művelet sikerét:

  • sudo firewall-cmd --zone=public --list-services
output
dhcpv6-client http ssh

miután tesztelte, hogy minden úgy működik, ahogy kellene, valószínűleg módosítani szeretné az állandó tűzfalszabályokat, hogy a szolgáltatás újraindítás után is elérhető legyen. Tudjuk, hogy a” nyilvános ” zóna változás állandó gépeléssel:

  • sudo firewall-cmd --zone=public --permanent --add-service=http
output
success

a --permanent jelző --list-services művelethez való hozzáadásával ellenőrizheti, hogy ez sikeres volt-e. Minden sudo művelethez --permanent :

  • sudo firewall-cmd --zone=public --permanent --list-services
output
dhcpv6-client http ssh

a “nyilvános” zóna mostantól lehetővé teszi a HTTP webes forgalmat a 80-as porton. Ha a webkiszolgáló SSL/TLS használatára van konfigurálva, akkor hozzá kell adnia a https szolgáltatást is. Ezt hozzáadhatjuk az aktuális munkamenethez és az állandó szabálykészlethez a gépeléssel:

  • sudo firewall-cmd --zone=public --add-service=https
  • sudo firewall-cmd --zone=public --permanent --add-service=https

mi van, ha nem áll rendelkezésre megfelelő szolgáltatás?

a firewalld telepítéshez tartozó tűzfalszolgáltatások a leggyakoribb követelményeket jelentik azon alkalmazások számára, amelyekhez hozzáférést kíván engedélyezni. Valószínűleg azonban lesznek olyan forgatókönyvek, amikor ezek a szolgáltatások nem felelnek meg az Ön igényeinek.

ebben a helyzetben két lehetősége van.

port megnyitása a zónákhoz

az adott alkalmazás támogatásának legegyszerűbb módja az, ha megnyitja a megfelelő zónákban használt portokat. Ez olyan egyszerű, mint megadni a portot vagy a porttartományt, valamint a megnyitandó portokhoz tartozó protokollt.

például, ha az alkalmazásunk az 5000-es porton fut, és TCP-t használ, hozzáadhatjuk ezt a munkamenet “nyilvános” zónájához a --add-port= paraméter segítségével. A protokollok lehetnek tcp vagy udp:

  • sudo firewall-cmd --zone=public --add-port=5000/tcp
output
success

a --list-ports művelettel ellenőrizhetjük, hogy ez sikeres volt-e:

  • sudo firewall-cmd --zone=public --list-ports
output
5000/tcp

lehetőség van a portok szekvenciális tartományának megadására is, ha a tartomány elejét és végét egy kötőjellel elválasztjuk. Például, ha alkalmazásunk 4990-4999 UDP portokat használ, ezeket a “nyilvános” gépeléssel nyithatjuk meg:

  • sudo firewall-cmd --zone=public --add-port=4990-4999/udp

a tesztelés után valószínűleg ezeket szeretnénk hozzáadni az állandó tűzfalhoz. Meg tudod csinálni, hogy beírja:

  • sudo firewall-cmd --zone=public --permanent --add-port=5000/tcp
  • sudo firewall-cmd --zone=public --permanent --add-port=4990-4999/udp
  • sudo firewall-cmd --zone=public --permanent --list-ports
output
successsuccess5000/tcp 4990-4999/udp

szolgáltatás meghatározása

a zónák portjainak megnyitása egyszerű, de nehéz lehet nyomon követni, hogy mindegyik mire szolgál. Ha valaha is leszerel egy szolgáltatást a szerveren, akkor nehezen emlékezhet arra, hogy mely megnyitott portokra van még szükség. A helyzet elkerülése érdekében lehetőség van egy szolgáltatás meghatározására.

a szolgáltatások egyszerűen portok gyűjteményei, amelyekhez társított név és leírás tartozik. A Szolgáltatások használata könnyebb adminisztrálni, mint a portok, de egy kis előzetes munkát igényel. A legegyszerűbb módja annak, hogy egy meglévő szkriptet (a /usr/lib/firewalld/services-ben található) átmásoljon a /etc/firewalld/services könyvtárba, ahol a tűzfal nem szabványos definíciókat keres.

például másolhatjuk az SSH szolgáltatásdefiníciót, hogy a “példa” szolgáltatásdefiníciónkhoz használjuk. A fájlnév mínusz a .xml utótag diktálja a szolgáltatás nevét a tűzfalszolgáltatások listában:

  • sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/example.xml

Most módosíthatja a másolt fájlban található definíciót:

sudo vi /etc/firewalld/services/example.xml

az indításhoz a fájl tartalmazza a másolt SSH definíciót:

/etc/firewalld/services / example.xml
<?xml version="1.0" encoding="utf-8"?><service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="22"/></service>

ennek a definíciónak a többsége valójában metaadat. Meg kell változtatnia a szolgáltatás rövid nevét a <short> címkéken belül. Ez egy ember által olvasható név a szolgálatához. Adjon hozzá egy leírást is, hogy több információval rendelkezzen, ha valaha is ellenőriznie kell a szolgáltatást. Az egyetlen olyan konfiguráció, amely ténylegesen befolyásolja a szolgáltatás funkcionalitását, valószínűleg a portdefiníció lesz, ahol azonosítja a megnyitni kívánt portszámot és protokollt. Ez többször is megadható.

a “példa” szolgáltatáshoz képzeljük el, hogy meg kell nyitnunk a 7777-es portot a TCP-hez és a 8888-as portot az UDP-hez. A Beszúrás módba való belépéssel a i megnyomásával módosíthatjuk a meglévő definíciót valami hasonlóval:

/etc/firewalld/services/example.xml
<?xml version="1.0" encoding="utf-8"?><service> <short>Example Service</short> <description>This is just an example service. It probably shouldn't be used on a real system.</description> <port protocol="tcp" port="7777"/> <port protocol="udp" port="8888"/></service>

nyomja meg a ESC gombot, majd írja be a :x parancsot a fájl mentéséhez és bezárásához.

töltse újra a tűzfalat, hogy hozzáférjen az új szolgáltatáshoz:

  • sudo firewall-cmd --reload

láthatja, hogy most a rendelkezésre álló szolgáltatások listáján szerepel:

  • firewall-cmd --get-services
output
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch example freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server

most már használhatja ezt a szolgáltatást a zónákban, mint általában.

saját zónák létrehozása

bár az előre definiált zónák valószínűleg több mint elegendőek a legtöbb felhasználó számára, hasznos lehet a saját zónák meghatározása, amelyek jobban leírják a funkciójukat.

például érdemes létrehozni egy zónát a webkiszolgáló számára, az úgynevezett “publicweb”. Előfordulhat azonban, hogy egy másik zónát szeretne konfigurálni a magánhálózaton biztosított DNS-szolgáltatáshoz. Lehet, hogy ehhez egy “privateDNS” nevű zónát szeretne.

zóna hozzáadásakor hozzá kell adnia azt az állandó tűzfal konfigurációhoz. Ezután újratöltheti a konfigurációt a futó munkamenetbe. Például, létrehozhatnánk a fent tárgyalt két zónát gépeléssel:

  • sudo firewall-cmd --permanent --new-zone=publicweb
  • sudo firewall-cmd --permanent --new-zone=privateDNS

gépeléssel ellenőrizheti, hogy ezek jelen vannak-e az állandó konfigurációban:

  • sudo firewall-cmd --permanent --get-zones
output
block dmz drop external home internal privateDNS public publicweb trusted work

mint korábban említettük, ezek még nem lesznek elérhetők a tűzfal jelenlegi példányában:

  • firewall-cmd --get-zones
output
block dmz drop external home internal public trusted work

töltse be újra a tűzfalat, hogy ezeket az új zónákat az aktív konfigurációba hozza:

  • sudo firewall-cmd --reload
  • firewall-cmd --get-zones
output
block dmz drop external home internal privateDNS public publicweb trusted work

most elkezdheti a megfelelő szolgáltatások és portok hozzárendelését a zónákhoz. Általában célszerű módosítani az aktív példányt, majd a tesztelés után átvinni ezeket a módosításokat az állandó konfigurációba. Például a “publicweb” zónához érdemes hozzáadni az SSH, HTTP és HTTPS szolgáltatásokat:

  • sudo firewall-cmd --zone=publicweb --add-service=ssh
  • sudo firewall-cmd --zone=publicweb --add-service=http
  • sudo firewall-cmd --zone=publicweb --add-service=https
  • sudo firewall-cmd --zone=publicweb --list-all
output
publicweb target: default icmp-block-inversion: no interfaces: sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

hasonlóképpen hozzáadhatjuk a DNS szolgáltatást a “privateDNS” zónánkhoz:

  • sudo firewall-cmd --zone=privateDNS --add-service=dns
  • sudo firewall-cmd --zone=privateDNS --list-all
output
privateDNS interfaces: sources: services: dns ports: masquerade: no forward-ports: icmp-blocks: rich rules:

ezután megváltoztathatjuk interfészeinket ezekre az új zónákra, hogy teszteljük őket:

  • sudo firewall-cmd --zone=publicweb --change-interface=eth0
  • sudo firewall-cmd --zone=privateDNS --change-interface=eth1

ezen a ponton lehetősége van tesztelni a konfigurációt. Ha ezek az értékek működnek az Ön számára, akkor ugyanazokat a szabályokat kell hozzáadnia az állandó konfigurációhoz. Ezt úgy teheti meg, hogy újra alkalmazza a Szabályokat a --permanent jelzővel:

  • sudo firewall-cmd --zone=publicweb --permanent --add-service=ssh
  • sudo firewall-cmd --zone=publicweb --permanent --add-service=http
  • sudo firewall-cmd --zone=publicweb --permanent --add-service=https
  • sudo firewall-cmd --zone=privateDNS --permanent --add-service=dns

miután véglegesen alkalmazta ezeket a szabályokat, újraindíthatja a hálózatot, és újratöltheti a tűzfalszolgáltatást:

  • sudo systemctl restart network
  • sudo systemctl reload firewalld

ellenőrizze, hogy a megfelelő zónák vannak-e hozzárendelve:

  • firewall-cmd --get-active-zones
output
privateDNS interfaces: eth1publicweb interfaces: eth0

ellenőrizze, hogy a megfelelő szolgáltatások mindkét zónában rendelkezésre állnak-e:

  • sudo firewall-cmd --zone=publicweb --list-services
output
http https ssh
  • sudo firewall-cmd --zone=privateDNS --list-services
output
dns

sikeresen beállította saját zónáit! Ha ezen zónák egyikét szeretné alapértelmezetté tenni más interfészek számára, ne felejtse el konfigurálni ezt a viselkedést a --set-default-zone= paraméterrel:

sudo firewall-cmd --set-default-zone=publicweb

következtetés

most már meglehetősen jól meg kell értenie, hogyan kell a firewalld szolgáltatást a CentOS rendszerén napi használatra adminisztrálni.

a firewalld szolgáltatás lehetővé teszi karbantartható szabályok és szabálykészletek konfigurálását, amelyek figyelembe veszik a hálózati környezetet. Lehetővé teszi a különböző tűzfal-házirendek közötti zökkenőmentes átmenetet a zónák használatával, és lehetővé teszi a rendszergazdák számára, hogy a portkezelést barátságosabb szolgáltatásdefiníciókba vonják. A rendszer szakmai ismereteinek megszerzése lehetővé teszi, hogy kihasználja az eszköz által nyújtott rugalmasságot és erőt.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

Previous post Cefalu, Olaszország: teljes útmutató a szicíliai Tengerparti városhoz
Next post Rejtélyes vacsora ötletek menüpontokkal