A hálózati biztonság fenntartása kulcsfontosságú a rendszergazdák számára, a tűzfal konfigurálása a parancssoron keresztül pedig elengedhetetlen ismeret. A cikk kiemeli, hogyan kezelhető a tűzfal a cm-es tűzfal segítségével a Linux parancssorában.
A tűzfal lényegében olyan szoftver, amelyet beállíthat a bejövő és a kimenő hálózati forgalom ellenőrzésére. A tűzfalak megakadályozhatják a többi felhasználót abban, hogy hálózati szolgáltatásokat használjanak az Ön által futtatott rendszeren. A legtöbb Linux rendszer alapértelmezett tűzfallal szállít. A Linux rendszerek korábbi verziói az iptables szolgáltatást használták a csomagszűrés démonaként. A Fedora, az RHEL / CentOS, az openSUSE hajó újabb verziói, alapértelmezett tűzfal démonként a Firewalld. A Firewalld telepítése Debian és Ubuntu disztribúciókba is lehetséges.
Javaslom, hogy az iptables helyett használja a Firewalld alkalmazást. Ne csak szót fogadjon érte. Tudjon meg többet a Linux rendszeréhez rendelkezésre álló nyílt forráskódú tűzfalakról szóló átfogó útmutatónkból.
A Firewalld egy dinamikus démon a tűzfalak kezelésére a hálózati vagy tűzfal zónák támogatásával. A tűzfal zónái meghatározzák a hálózati interfészek, szolgáltatások vagy kapcsolatok hálózati biztonsági megbízhatósági szintjét. A hálózati biztonsági rendszerek rendszergazdái úgy találták, hogy a Firewalld kiválóan működik az IPv4, IPv6, IP készletek és Ethernet hidakkal. A Firewalld kezeléséhez használhatja a tűzfal-cmd terminál parancsot vagy a tűzfal-config GUI konfigurációs eszközt.
Ez az útmutató a tűzfal-cmd parancsot a hálózati biztonság kezelésére, és tesztkörnyezetünk a Fedora Workstation 33 lesz.
Mielőtt minden technikussá válnánk, tanuljunk meg néhány hálózati alapismeretet.
A hálózat alapjai
A hálózathoz csatlakoztatott számítógéphez IP-címet rendelnek, amelyet az adatok továbbításához használnak. A számítógépeknek a 0-65535 tartományú portjai is vannak, amelyek csatlakozási pontként működnek az IP-címen. Az alkalmazások fenntarthatnak bizonyos portokat. A webkiszolgálók általában fenntartják a 80-as portot a biztonságos HTTP-kommunikációhoz. A 0–1024-es porttartományokat alapvetően jól ismert célokra és a rendszerre tartják fenn.
A két fő internetes adatátviteli protokoll (TCP és UDP) ezeket a portokat használja a hálózati kommunikáció során. A gazdagép kapcsolatot létesít a forrás IP-cím és a port (a 80-as port a nem biztonságos HTTP számára), valamint a cél-cím és a port között.
A hálózati biztonság kezeléséhez a tűzfalszoftver engedélyezheti vagy blokkolhatja az adatátvitelt vagy a kommunikációt olyan szabályok alapján, mint a portok vagy az IP-címek.
A Firewalld telepítése
Fedora, RHEL / CentOS 7/8, openSUSE
A Firewalld alapértelmezés szerint a Fedora, az RHEL / CentOS 7/8 és az openSUSE rendszerbe van telepítve. Ha nem, akkor a következő paranccsal telepítheti:
# yum telepíteni tűzfal -y
VAGY
#dnf tűzfal telepítése -y
Debian / Ubuntu
Az Ubuntu rendszerek alapértelmezés szerint a bonyolult tűzfalon szállítanak. A firewalld használatához engedélyeznie kell az univerzum adattárat, és deaktiválni kell a Nem egyszerű tűzfalat.
sudo add-apt-repository univerzum
sudo apt install firewalld
A bonyolult tűzfal deaktiválása:
sudo systemctl letiltja az ufw fájlt
A tűzfal engedélyezése indításkor:
sudo systemctl enable -now firewalld
Ellenőrizze, hogy a Firewalld fut-e:
sudo firewall-cmd -state
futás
Tűzfal zónák
A Firewalld az alapértelmezett zónák létrehozásával egyszerűvé teszi a tűzfal konfigurálását. A zónák olyan szabálykészlet, amely megfelel a legtöbb Linux rendszergazda mindennapi igényeinek. A tűzfal zóna meghatározhat megbízható vagy megtagadott szinteket a szolgáltatások és portok számára.
- Megbízható zóna: Minden hálózati kapcsolatot csak megbízható környezetekben fogadunk el és használunk, például családi házban vagy tesztlaboratóriumban.
- Nyilvános zóna: Csak olyan szabályokat határozhat meg, amelyek lehetővé teszik bizonyos portok számára a kapcsolatok megnyitását, miközben a többi kapcsolat megszakad. Nyilvános helyeken használható, ha nem bízik a hálózat más gazdagépeiben.
- Otthon, belső, munkahelyi zónák: A legtöbb bejövő kapcsolatot ebben a három zónában fogadják el. A bejövő kapcsolatok kizárják azon portok forgalmát, amelyek nem várnak kapcsolatokat vagy tevékenységeket. Alkalmazhatja otthoni kapcsolatokban, ahol a hálózat többi felhasználója általában megbízik. Csak a kiválasztott bejövő kapcsolatokat engedélyezi.
- Blokk zóna: Ez egy rendkívül paranoiás tűzfalbeállítás, ahol csak a hálózaton vagy a szerveren belül kezdeményezett kapcsolatok lehetségesek. A hálózatra érkező összes kapcsolatot elutasítjuk, és ICMP-host-tiltott üzenetet adunk ki.
- DMZ zóna: A demilitarizált zóna felhasználható bizonyos szolgáltatásokhoz való hozzáférés lehetővé tételéhez a nyilvánosság számára. Csak a kiválasztott kapcsolatokat fogadjuk el. Alapvető lehetőség bizonyos típusú szerverek számára a szervezet hálózatában.
- Külső zóna: Ha engedélyezve van, akkor ez a zóna routerként fog működni, és külső hálózatokban használható, ha engedélyezett a maszkolás. A magánhálózat IP-címe egy nyilvános IP-címhez van hozzárendelve és el van rejtve. Csak a kiválasztott bejövő kapcsolatokat fogadjuk el, beleértve az SSH-t is.
- Dobási zóna: A beérkező csomagok válasz nélkül elvetésre kerülnek. Ez a zóna csak kimenő hálózati kapcsolatokat engedélyez.
Példa a Fedora munkaállomás által meghatározott alapértelmezett zónákra
cat / usr / lib / firewalld / zone / FedoraWorkstation.xmlFedora munkaállomás A kéretlen bejövő hálózati csomagokat az 1–1024. Port elutasítja, kivéve a kiválasztott hálózati szolgáltatásokat. [tűzfal] A kimenő hálózati kapcsolatokhoz kapcsolódó bejövő csomagokat elfogadjuk. A kimenő hálózati kapcsolatok megengedettek.
Szerezze be az aktuális zónát:
Használhatja a - - get-active-zone jelző a rendszer jelenleg aktív zónáinak ellenőrzéséhez.
sudo firewall-cmd --get-active-zone
[sudo] jelszó a tutikhoz:
FedoraWorkstation
interfészek: wlp3s0
libvirt
interfészek: virbr0
Az alapértelmezett zóna a Fedora Workstation 33-on a FedoraWorkstation zónában
Alapértelmezett zóna és az összes meghatározott zóna beszerzése:
sudo firewall-cmd --get-default-zone
[sudo] jelszó a tutikhoz:
FedoraWorkstation
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --get-zone
FedoraServer A Fedora munkaállomás blokk dmz eldobja a külső otthoni belső libvirt nm-megosztott nyilvános megbízható munkát
Szolgáltatások listázása:
Megkaphatja azokat a szolgáltatásokat, amelyeket a tűzfal lehetővé tesz más rendszerek számára a - -lista-szolgáltatások zászló.
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --list-services
dhcpv6-client mdns samba-kliens ssh
A Fedora Linux 33 rendszeren a tűzfal négy szolgáltatáshoz (dhcpv6-client mdns samba-client ssh) tesz hozzáférést, jól ismert portszámokkal.
Tűzfal port beállításainak felsorolása:
Használhatja a - -list-portok jelző, hogy bármely zóna egyéb portbeállításait láthassa.
tuts @ fosslinux ~] $ sudo tűzfal-cmd --list-ports --zone = FedoraWorkstation
[sudo] jelszó a tutikhoz:
1025-65535 / udp 1025-65535 / tcp
A - -zone = FedoraWorkstaion opcióval meghatároztuk az ellenőrizni kívánt zónát.
Zónák, portok és szolgáltatások kezelése
A tűzfal konfigurációi futásidejűként vagy állandóként konfigurálhatók. Minden tűzfal-cmd művelet csak addig tart, amíg a számítógép vagy a tűzfal újra nem indul. Állandó beállításokat kell létrehoznia a -permanent zászlóval.
Hozzon létre egy zónát
Zóna létrehozásához a - -új zóna zászló.
Példa:
Hozzon létre egy új állandó zónát fosscorp néven:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd - new-zone fosscorp --permanent
[sudo] jelszó a tutikhoz:
siker
Töltse be újra a tűzfalszabályokat az új zóna aktiválásához:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --reload
Adjon hozzá ssh szolgáltatást a fosscorp zónához, hogy távolról is hozzáférhessen hozzá:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --zone fosscorp --add-service ssh --permanent
[sudo] jelszó a tutikhoz:
siker
Ellenőrizze, hogy aktív-e az új zóna: 'fosscorp':
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --get-zone
FedoraServer FedoraWorkstation blokk dmz drop külső fosscorp otthoni belső libvirt nm-megosztott nyilvános megbízható munka
Az új zóna fosscorp mostantól aktív, és az SSH forgalom kivételével minden bejövő kapcsolatot elutasít.
Használja a - -változás-interfész flag, hogy a fosscorp zóna aktív és alapértelmezett zónává váljon a védeni kívánt hálózati interfészhez (wlp3s0):
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --change-interface wlp3s0 \
> --zone fosscorp - állandó
Az interfész a NetworkManager [tűzfal] ellenőrzése alatt áll, a zónát „fosscorp” -ra állítja.
siker
Ha a fosscorp-ot szeretné alapértelmezettként és elsődleges zónaként beállítani, futtassa a következő parancsot:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd - set-default fosscorp
siker
Tekintse meg az egyes interfészekhez jelenleg hozzárendelt zónákat a - -get-active-zone zászló:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --get-active-zone
fosscorp
interfészek: wlp3s0
Szolgáltatások hozzáadása és eltávolítása:
A tűzfalon keresztüli forgalom engedélyezésének gyors módja egy előre definiált szolgáltatás hozzáadása.
Sorolja fel az előre meghatározott szolgáltatásokat:
tuts @ fosslinux ~] $ sudo tűzfal-cmd --get-services
[sudo] jelszó a tutikhoz:
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc
bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client
[…]
Feloldhatja egy előre definiált szolgáltatás letiltását
A tűzfalon keresztül engedélyezheti a HTTPS forgalmat (vagy bármely más előre meghatározott szolgáltatást) a - -kiegészítő szolgáltatás zászló.
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --add-service https --permanent
siker
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --reload
A szolgáltatást a - -eltávolító szolgáltatás zászló:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --remove-service https --permanent
siker
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --reload
Portok hozzáadása és eltávolítása
Port-számot és prototípust is hozzáadhat közvetlenül az -add-port zászlóval. A portszám közvetlen hozzáadása hasznos lehet, ha nem létezik előre definiált szolgáltatás.
Példa:
Hozzáadhatja a nem szabványosat 1717-es kikötő SSH esetén az egyéni zónához a következő paranccsal:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --add-port 1717 / tcp --permanent
[sudo] jelszó a tutikhoz:
siker
[tuts @ fosslinux ~] $ sudo tűzfal-cmd -reload
Távolítsa el a portot a -remove-port flag opcióval:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --remove-port 1717 / tcp --permanent
siker
[tuts @ fosslinux ~] $ sudo tűzfal-cmd -reload
Megadhat egy zónát is egy port hozzáadásához vagy eltávolításához, ha hozzáadja a -zone jelzőt a parancshoz:
Adja hozzá az 1718-as portot a TCP-kapcsolathoz a FedoraWorstation zónához:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --zone = FedoraWorkstation --permanent --add-port = 1718 / tcp
siker
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --reload
siker
Ellenőrizze, hogy a módosítások hatályba léptek-e:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --list-all
FedoraWorkstation (aktív)
cél: alapértelmezett
icmp-blokk-inverzió: nem
interfészek: wlp3s0
források:
szolgáltatások: dhcpv6-client mdns samba-client ssh
portok: 1025-65535 / udp 1025-65535 / tcp 1718 / tp
protokollok:
álarc: nem
előre-portok:
forrás-portok:
icmp-blokkok:
gazdag szabályok:
Megjegyzés: A portok alatt hozzáadtuk port száma 1718 a TCP forgalom engedélyezéséhez.
Eltávolíthatja port 1718 / tcp a következő parancs futtatásával:
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --zone = FedoraWorkstation --permanent --remove-port = 1718 / tcp
siker
[tuts @ fosslinux ~] $ sudo tűzfal-cmd --reload
siker
Megjegyzés: Ha állandóvá kívánja tenni a módosításokat, hozzá kell adnia a - -állandó jelezze a parancsokat.
Újrafutóz
A Firewalld nagyszerű segédprogram a hálózati biztonság kezeléséhez. A rendszergazdai ismeretek bővítésének legjobb módja a gyakorlati tapasztalatok megszerzése. Nagyon ajánlom a Fedora telepítését a kedvenc virtuális gépébe (VM) vagy a Dobozokba, hogy kísérletezzen az összes rendelkezésre álló tűzfal-cmd funkcióval. További tűzfal-cmd funkciókat a hivatalos Firewalld honlapon tanulhat meg.