Android

Tűzfal beállítása a centos 7 tűzfalával

Windows tűzfal beállítása

Windows tűzfal beállítása

Tartalomjegyzék:

Anonim

A megfelelően konfigurált tűzfal az általános rendszerbiztonság egyik legfontosabb szempontja.

A FirewallD egy komplett tűzfalmegoldás, amely kezeli a rendszer iptable szabályait, és D-Bus interfészt biztosít azok működtetéséhez. A CentOS 7-től kezdve a FirewallD az iptables helyettesíti alapértelmezett tűzfalkezelő eszközként.

Ebben az oktatóanyagban megmutatjuk, hogyan állíthat be tűzfalat a FirewallD segítségével a CentOS 7 rendszeren, és elmagyarázza az alapvető FirewallD fogalmakat.

Előfeltételek

Mielőtt elkezdené ezt az oktatóprogramot, ellenőrizze, hogy be van-e jelentkezve a kiszolgálóra sudo jogosultságokkal rendelkező felhasználói fiókkal vagy a gyökér felhasználóval. A legjobb gyakorlat az, hogy az adminisztrációs parancsokat sudo felhasználóként, a root helyett futtatjuk. Ha nem rendelkezik sudo felhasználóval a CentOS rendszerén, akkor az alábbi utasítások követésével létrehozhat egyet.

Alapvető tűzfal koncepciók

A FirewallD a zónák és szolgáltatások fogalmát használja az iptable lánc és a szabályok helyett. A konfigurált zónák és szolgáltatások alapján ellenőrizheti, hogy mekkora forgalom megengedett vagy tiltott a rendszerbe és onnan.

A FirewallD konfigurálható és kezelhető a firewall-cmd parancssori segédprogrammal.

Tűzfal zónák

A zónák előre meghatározott szabálykészletek, amelyek meghatározzák, hogy mekkora forgalmat kell engedélyezni a számítógéphez csatlakoztatott hálózatok bizalmi szintje alapján. A zóna hálózati interfészeket és forrásokat rendelhet hozzá.

Az alábbiakban a FirewallD által biztosított zónák vannak rendezve, a zóna megbízhatóságának szintje szerint, a megbízhatatlantól a megbízhatóig:

  • drop: Az összes bejövő kapcsolat értesítés nélkül megszakad. Csak kimenő kapcsolatok megengedettek. blokk: Minden bejövő kapcsolatot elutasítunk egy icmp-host-prohibited üzenettel az IPv4 és icmp6-adm-prohibited üzenetet az icmp6-adm-prohibited hez. Csak kimenő kapcsolatok megengedettek. nyilvános: nem megbízható nyilvános területeken történő felhasználásra. Nem bíz meg a hálózat többi számítógépén, de engedélyezheti a kiválasztott bejövő kapcsolatokat. Külső: Külső hálózatokon történő használatra, ahol a NAT-árnyékolás engedélyezve van, ha a rendszer átjáróként vagy útválasztóként működik. Csak a bejövő kapcsolatok engedélyezettek. belső: belső hálózatokban történő felhasználásra, amikor a rendszer átjáróként vagy útválasztóként működik. A hálózat többi rendszerére általában megbízható. Csak a bejövő kapcsolatok engedélyezettek. dmz: A demilitarizált zónában található számítógépekhez használható, amelyek korlátozott hozzáféréssel rendelkeznek a hálózat többi részéhez. Csak a bejövő kapcsolatok engedélyezettek. munka: Munkagépekhez használható. A hálózat többi számítógépére általában megbízható. Csak a bejövő kapcsolatok engedélyezettek. otthon: otthoni gépekhez használják. A hálózat többi számítógépére általában megbízható. Csak a bejövő kapcsolatok engedélyezettek. megbízható: Minden hálózati kapcsolat elfogadva. Bízzon a hálózat összes számítógépén.

Tűzfal szolgáltatások

A tűzfal szolgáltatásai előre meghatározott szabályok, amelyek egy zónán belül érvényesek, és meghatározzák a szükséges beállításokat az adott szolgáltatás bejövő forgalmának engedélyezéséhez.

Tűzfal futási idő és állandó beállítások

A tűzfal két külön elválasztott konfigurációs készletet használ, a futási időt és az állandó konfigurációt.

A futásidejű konfiguráció a tényleges futó konfiguráció, és ez nem tartós folyamatban az újraindításkor. Amikor a Tűzfal szolgáltatás elindul, betölti az állandó konfigurációt, amely a futásidejű konfigurációvá válik.

Alapértelmezés szerint, amikor a tűzfal-konfigurációt a firewall-cmd segédprogrammal módosítja, a módosításokat a futásidejű konfigurációra kell alkalmazni. A változtatások állandóvá --permanent a --permanent beállítást kell használnia.

A FirewallD telepítése és engedélyezése

  1. A Firewalld alapértelmezés szerint telepítve van a CentOS 7-re, de ha még nincs telepítve a rendszerére, akkor a csomagot a következő gépeléssel telepítheti:

    sudo yum install firewalld

    A tűzfal szolgáltatás alapértelmezés szerint le van tiltva. A tűzfal állapotát ellenőrizheti:

    sudo firewall-cmd --state

    A FirewallD szolgáltatás indításához és indításkor történő engedélyezéséhez:

    sudo systemctl start firewalld sudo systemctl enable firewalld

Munka a tűzfal zónákkal

Miután először engedélyezte a FirewallD szolgáltatást, a public zónát alapértelmezett zónaként állítja be. Az alapértelmezett zónát a következő gépeléssel tekintheti meg:

sudo firewall-cmd --get-default-zone

public

Az összes elérhető zóna listájának megtekintéséhez írja be:

sudo firewall-cmd --get-zones

block dmz drop external home internal public trusted work

Alapértelmezés szerint az összes hálózati interfészhez hozzá van rendelve az alapértelmezett zóna. Annak ellenőrzéséhez, hogy milyen zónákat használ a hálózati interfész (ek) típusa:

sudo firewall-cmd --get-active-zones

public interfaces: eth0 eth1

A fenti output azt mondja nekünk, hogy az eth0 és az eth1 interfészek mind a nyilvános zónához vannak rendelve.

A zóna konfigurációs beállításait kinyomtathatja:

sudo firewall-cmd --zone=public --list-all

public (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 fenti kimenetből láthatjuk, hogy a nyilvános zóna aktív és alapértelmezettként van beállítva, amelyet az eth0 és az eth1 interfészek is használnak. Továbbá a DHCP klienssel és az SSH-val kapcsolatos kapcsolatok megengedettek.

sudo firewall-cmd --list-all-zones

A parancs hatalmas listát nyomtat az összes elérhető zóna beállításaival.

Az interfész zóna megváltoztatása

Az interfész zónát könnyen megváltoztathatja a --zone opció használatával, a --change-interface opcióval kombinálva. A következő parancs az eth1 felületet rendeli a eth1 :

sudo firewall-cmd --zone=work --change-interface=eth1

Ellenőrizze a változásokat a következő gépeléssel:

sudo firewall-cmd --get-active-zones

work interfaces: eth1 public interfaces: eth0

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, majd kövesse az --set-default-zone a nevét.

Például az alapértelmezett zóna otthonra váltásához futtassa a következő parancsot:

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

Ellenőrizze a változásokat:

sudo firewall-cmd --get-default-zone

home

Port vagy szolgáltatás megnyitása

A FirewallD segítségével engedélyezheti a forgalmat bizonyos portokon, előre meghatározott szolgáltatásoknak nevezett szabályok alapján.

Az összes elérhető alapértelmezett szolgáltatás típusának felsorolása:

sudo firewall-cmd --get-services

Az egyes szolgáltatásokkal kapcsolatban további információkat találhat a kapcsolódó.xml fájl megnyitásával a /usr/lib/firewalld/services könyvtárban. Például a HTTP-szolgáltatás így van meghatározva:

/usr/lib/firewalld/services/http.xml

WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages. WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.

A bejövő HTTP forgalom (80-as port) engedélyezése a nyilvános zónában lévő interfészek számára, csak az aktuális munkamenethez (futásidejű konfiguráció):

sudo firewall-cmd --zone=public --add-service=http Ha módosítja az alapértelmezett zónát, akkor hagyhatja ki a --zone opciót.

A szolgáltatás - sikeres hozzáadása - ellenőrzéséhez használja a --list-services opciót:

sudo firewall-cmd --zone=public --list-services

ssh dhcpv6-client

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

Használja a --list-services és a --permanent opciót a változások ellenőrzéséhez:

sudo firewall-cmd --permanent --zone=public --list-services

ssh dhcpv6-client

A szolgáltatás eltávolításának szintaxisa megegyezik egy szolgáltatás hozzáadásakor. Csak használja a --remove-service a --add-service opció helyett:

sudo firewall-cmd --zone=public --remove-service=http --permanent

A fenti parancs eltávolítja a http szolgáltatást a nyilvános zóna állandó konfigurációjából.

Mi van, ha olyan alkalmazást futtat, mint például a Plex Media Server, amelyhez nem áll rendelkezésre megfelelő szolgáltatás?

Ilyen helyzetekben két lehetősége van. Megnyithatja a megfelelő portokat, vagy meghatározhat egy új FirewallD szolgáltatást.

Például a Plex Server meghallgatja a 32400-as portot és használja a TCP-t. A --add-port= opcióval nyissa meg a portot az aktuális munkamenet nyilvános zónájában:

sudo firewall-cmd --zone=public --add-port=32400/tcp A protokollok lehetnek tcp vagy udp .

A --list-ports opcióval ellenőrizze, hogy a port sikeresen hozzáadódott --list-ports :

sudo firewall-cmd --zone=public --list-ports

32400/tcp

Ha a 32400 portot újraindítás után nyitva tartja, add hozzá a szabályt az állandó beállításokhoz, ugyanazzal a paranccsal --permanent a --permanent beállítást.

A port eltávolításának szintaxisa ugyanaz, mint egy port hozzáadásakor. Csak használja a --add-port parancsot a --add-port opció helyett.

sudo firewall-cmd --zone=public --remove-port=32400/tcp

Új FirewallD szolgáltatás létrehozása

Mint már említettük, az alapértelmezett szolgáltatások a /usr/lib/firewalld/services könyvtárban vannak tárolva. Új szolgáltatás létrehozásának legegyszerűbb módja egy meglévő szolgáltatásfájl másolása az /etc/firewalld/services könyvtárba, amely a felhasználó által létrehozott szolgáltatások helye, és a fájlbeállítások módosítása.

Például egy szolgáltatásdefiníció létrehozásához a Plex Media Server számára az SSH szolgáltatásfájlt használhatjuk:

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml

Nyissa meg az újonnan létrehozott plexmediaserver.xml fájlt, és módosítsa a szolgáltatás rövid nevét és leírását a és címkéket. A legfontosabb megváltoztatni kívánt címke a portcímke, amely meghatározza a megnyitni kívánt portszámot és protokollt.

A következő példában megnyitjuk az 1900 UDP és a 32400 TCP portokat.

/etc/firewalld/services/plexmediaserver.xml

plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere. plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.

Mentse el a fájlt, és töltse be újból a FirewallD szolgáltatást:

sudo firewall-cmd --reload

Mostantól a plexmediaserver a plexmediaserver szolgáltatást is használhatja, mint bármely más szolgáltatást.

Port továbbítása a tűzfallal

Az egyik portról a másikra vagy címre történő forgalom továbbításához először engedélyezze a kívánt zóna --add-masquerade a --add-masquerade kapcsolóval. Például a external zónatípus álarcosodásának engedélyezése:

sudo firewall-cmd --zone=external --add-masquerade

  • Forgalom továbbítása ugyanazon a szerveren az egyik portról a másikra

A következő példában ugyanazon a szerveren továbbítjuk a forgalmat a 80 portról a 8080 80 portra:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080

  • Forgalom továbbítása egy másik szerverre

A következő példában továbbítjuk a forgalmat a 80 portról a 80 80 portra egy IP 10.10.10.2 kiszolgálón:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2

  • Forgalom továbbítása egy másik port másik szerverére

A következő példában továbbítjuk a forgalmat a 80 portról a 8080 80 portra egy IP 10.10.10.2 kiszolgálón:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2

Szabálykészlet létrehozása a FirewallD segítségével

A következő példában bemutatjuk, hogyan konfigurálhatja a tűzfalat, ha webszervert futtatott. Feltételezzük, hogy a szervernek csak egy eth0 interfésze van, és a bejövő forgalmat csak SSH, HTTP és HTTPS portokon akarja engedélyezni.

  1. Az alapértelmezett zónát dmz-re változtassa

    A dmz (demilitarizált) zónát fogjuk használni, mert alapértelmezés szerint csak az SSH forgalmat engedélyezi. Az alapértelmezett zóna dmz-re változtatásához és az eth0 felülethez rendeléséhez futtassa a következő parancsokat:

    sudo firewall-cmd --set-default-zone=dmz sudo firewall-cmd --zone=dmz --add-interface=eth0

    Nyissa meg a HTTP és a HTTPS portokat:

    A HTTP és a HTTPS portok megnyitásához adjon hozzá állandó szolgáltatási szabályokat a dmz zónához:

    sudo firewall-cmd --permanent --zone=dmz --add-service=http sudo firewall-cmd --permanent --zone=dmz --add-service=https

    A tűzfal újratelepítésével azonnal módosítsa a változtatásokat:

    sudo firewall-cmd --reload

    Ellenőrizze a változásokat

    A dmz zóna konfigurációs beállítások típusának ellenőrzése:

    sudo firewall-cmd --zone=dmz --list-all

    dmz (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

    A fenti kimenet azt mondja nekünk, hogy a dmz az alapértelmezett zóna, az eth0 interfészre kerül, és az ssh (22) http (80) és a https (443) portok nyitva vannak.

Következtetés

Megtanulta, hogyan kell konfigurálni és kezelni a FirewallD szolgáltatást a CentOS rendszerén.

Ügyeljen arra, hogy minden bejövő kapcsolatot, amely a rendszer megfelelő működéséhez szükséges, korlátozza minden felesleges kapcsolatot.

tűzfal tűzfal iptable centos biztonság