Vissza a bloghoz

Tűzfal beállítása FirewallD-vel CentOS 7-en

Tűzfal beállítása FirewallD-vel CentOS 7-en

Bevezetés

Firewalld egy tűzfal-kezelő megoldás, amely számos Linux disztribúcióhoz elérhető. Interfészként szolgál a Linux kernel által biztosított iptables csomagszűrő rendszerhez. Ebben az útmutatóban megtudhatja, hogyan konfigurálhat tűzfalat a szerveréhez. Bemutatjuk a tűzfal kezelésének alapjait is a firewall-cmd adminisztrációs eszközzel.

A Firewalld alapjai

A FirewallD a zónák és szolgáltatások fogalmát használja az iptables láncai és szabályai helyett. A konfigurált zónáktól és szolgáltatásoktól függően szabályozhatja, hogy milyen forgalom engedélyezett vagy nem engedélyezett a rendszerbe és onnan ki. A FirewallD a firewall-cmd parancssori segédprogrammal konfigurálható és kezelhető.

A tűzfal telepítése és engedélyezése a rendszerindításkor történő induláshoz

A legtöbb Linux disztribúción a firewallD már telepítve van. Ha azonban saját magának kell telepítenie, írja be az alábbi szintaxist:

A firewalld telepítése után engedélyezheti a szolgáltatást, és újraindíthatja a szervert:

Ezután indítsa újra a szervert. A tűzfal engedélyezve lesz, miután sikeresen újraindította a szervert. Ezt követően az alábbi paranccsal ellenőrizheti, hogy a szolgáltatás aktiválva lett-e:

check firewall state FirewallD

A kimenet azt mutatja, hogy az alapértelmezett tűzfalbeállítás működik.

Az alapértelmezések ellenőrzése

A szerver által kiválasztott zónát a következő paranccsal ellenőrizheti:

check firewall default zone

Ellenőrizze az aktív zónát a következő beírásával:

firewall active zones

Nyomtassa ki az alapértelmezett zóna konfigurációját, hogy megismerje a nyilvános területhez csatolt szabályokat az alábbi szintaxis használatával:

list all rules FirewallD

A kimenet azt jelzi, hogy ez a zóna az alapértelmezett és az aktív zóna is. Azt is mutatja, hogy az eth0 és eth1 interfészek ehhez a zónához vannak hozzárendelve.

Alternatív zónák ellenőrzése

Az alapértelmezett és aktív zónákon kívül más zónákat is felfedezhet. Írja be ezt a parancsot az összes elérhető zóna megtekintéséhez:

firewall check other zones

Ellenőrizze az adott zónához rendelt konfigurációt a –zone= paraméter hozzáadásával a –list-all parancsban:

check zone configuration FirewallD

 Az interfész zónájának megváltoztatása

Könnyen megváltoztathatja az interfész zónáját a –change-interface opció és a –change-interface opció kombinálásával. A következő parancs hozzárendeli az eth1 interfészt a workspace-hez:

A változtatásokat a következő beírásával ellenőrizheti:

changing firewall interface zones FirewallD

Az alapértelmezett zóna megváltoztatása

Az alapértelmezett zóna megváltoztatásához használja a –set-default-zone opciót, amelyet a beállítani kívánt zóna neve követ. Például az alapértelmezett zóna módosításához a kezdéshez futtassa a következő parancsot:

Ezután ellenőrizheti a változtatásokat a következővel:

firewall change default zone

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

Nézzük át a szolgáltatásokra vonatkozó tűzfalkivételek meghatározásához szükséges alapokat:

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

A legegyszerűbb módszer a szükséges portok vagy szolgáltatások hozzáadása a használt zónákhoz. Hasonlóképpen, a –get-services opcióval megtekintheti az összes elérhető szolgáltatást:

firewall get services FirewallD

A szolgáltatást egy zónához a –add-service = paraméterrel aktiválhatja. A művelet az alapértelmezett zónát vagy a –zone = paraméterrel meghatározott bármely zónát célozza meg. Alapértelmezés szerint csak az aktuális tűzfal-munkamenet van konfigurálva. Állandó tűzfal-konfigurációt a –permanent jelző aktiválásával állíthat be. Ha például olyan webszervert futtat, amely normál HTTP-forgalmat biztosít, akkor ezt a forgalmat a következő beírásával engedélyezheti a “public” zónánkban lévő interfészek számára erre a munkamenetre:

Kihagyhatja a –zone = paramétert, ha az alapértelmezett zónát szeretné módosítani. A művelet sikerességét a –list-all vagy a –list-services műveletekkel ellenőrizheti:

add service to zone

Miután ellenőrizte, hogy minden a várt módon működik, 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ő maradjon. A “public” zónánkat véglegesen módosíthatjuk a következő szintaxis beírásával:

Ellenőrizheti, hogy ez sikeres volt-e, ha hozzáadja a –permanent jelzőt a –list-services művelethez. A sudo használata kötelező minden állandó művelethez:

A “public” zóna mostantól engedélyezi a HTTP-forgalmat a 80-as porton. Ezt hozzáadhatja az aktuális munkamenethez és a tartós szabálykészlethez az alábbi paranccsal:

Ha nincsenek az igényeinek megfelelő szolgáltatások, két kiváló lehetőség áll rendelkezésére a helyzet kezelésére:

  1. Port megnyitása a zónák számára

A legegyszerűbb módja annak, hogy támogatást adjon az adott alkalmazáshoz, ha megnyitja az egyes zónákban használt portokat. Ez olyan egyszerű, mint egy port vagy porttartomány és a megfelelő protokoll kijelölése a megnyitni kívánt portokhoz. Ha például az alkalmazás az 5000-es porton fut és TCP-t használ, akkor a –add-port = paraméterrel hozzáadhatja a “public” zónához ehhez a munkamenethez. A protokollok TCP vagy UDP lehetnek:

A művelet sikerességének ellenőrzéséhez használja a –list-ports műveletet:

Egy tartományt is megadhat a soros interfészhez úgy, hogy a tartomány kezdő és végpontját kötőjellel választja el. Ha például az alkalmazás a 4990–4999-es UDP-portokat használja, akkor a “public” zónában a következő beírásával nyithatja meg azokat:

A tesztelés után valószínűleg hozzá szeretné adni őket az állandó tűzfalhoz. Ezt a következők beírásával teheti meg:

adding ports to permanent firewall

  1. Szolgáltatás meghatározása

A szolgáltatás portok gyűjteménye egy hozzárendelt névvel és leírással. A szolgáltatásokat könnyebb kezelni, mint a portokat, de ez igényel némi kezdeti munkát. A legegyszerűbb módja a kezdésnek egy meglévő szkript másolása (a / usr / lib / firewalld / services könyvtárból) a /etc/firewalld/services könyvtárba. Például átmásolhatja az SSH szolgáltatás definícióját a “example” szolgáltatásdefinícióban való használatra az alábbiak szerint. Az XML kiterjesztés nélküli fájlnév határozza meg a szolgáltatás nevét a tűzfalszolgáltatások listájában:

Ezen a ponton módosíthatja a definíciót a másolt fájlban:

Először is, a fájl a másolt SSH definíciót tartalmazza:

Ezen definíció nagy része metaadatokból áll. Meg kell változtatnia a szolgáltatás rövid nevét a <short> címkék között. Ez egy olvasható szolgáltatásnév. Képzelje el, hogy a “example” szolgáltatásunkhoz meg kell nyitnunk a 7777-es portot a TCP-hez és a 8888-ast az UDP-hez. A meglévő definíciót az i billentyű megnyomásával, INSERT módba lépve módosíthatja:

Ezután nyomja meg az ESC billentyűt, és írja be a :x parancsot a fájl mentéséhez és bezárásához. Ezután írja be az alábbi parancsot a tűzfal újraindításához, hogy hozzáférjen az új szolgáltatáshoz;

Ezt követően használja az alábbi parancsot az elérhető szolgáltatások listázásához:

get services

Ez a szolgáltatás mostantól elérhető a zónájában.

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

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

Zóna hozzáadásakor adja azt a végleges tűzfalbeállításokhoz. Ezután újraindíthatja a tűzfalat, hogy a beállítások érvénybe lépjenek a munkamenetben. Például a korábban említett két zónát a következő beírásával hozhatja létre:

Az alábbi paranccsal ellenőrizheti, hogy jelen vannak-e a végleges konfigurációban:

firewall zones

Töltse be újra a tűzfalat, hogy ezek az új zónák aktív konfigurációvá váljanak:

Most már hozzárendelheti a megfelelő szolgáltatásokat és portokat a zónáihoz. Például a “publicweb” zónához hozzáadhatja az SSH, HTTP és HTTPS szolgáltatásokat:

list public web zone

 

Ezenkívül a DNS szolgáltatást is hozzáadhatja a „privateDNS” zónához a következő paranccsal:

list privateDNS zone FirewallD

Ezután módosíthatja az interfészeket ezekre az új zónákra a teszteléshez:

Tesztelje a konfigurációt, hogy működik-e. Ha ezek az értékek működnek Önnek, akkor ugyanezeket a szabályokat hozzá kell adnia az állandó konfigurációhoz is. Ezt a szabályok újbóli alkalmazásával teheti meg a —permanent jelzővel:

 

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

Ellenőrizze, hogy a zónák megfelelően lettek-e hozzárendelve:

check active zones FirewallD

Továbbá győződjön meg arról, hogy mindkét zóna a megfelelő szolgáltatással rendelkezik:

Ha az egyik zónát szeretné alapértelmezettként beállítani a többi interfészhez, akkor ezt a viselkedést a –set-default-zone= paraméterrel kell konfigurálnia a következő paranccsal:

Összegzés

Ezen a ponton sikeresen létrehozta a saját zónáit. Most már rendelkeznie kell a firewalld szolgáltatás CentOS rendszeren történő mindennapi kezelésének alapvető ismereteivel. A firewalld szolgáltatás alapos ismerete lehetővé teszi, hogy teljes mértékben kihasználja annak erejét és rugalmasságát.

Kellemes számítógép-használatot!

 

author

Akshay Nagpal

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.