Tudásbázis Egyszerű utasítások a Profitserver szolgáltatással való együttműködéshez
Tudásbázis Tűzfal konfigurálása Linuxon

Tűzfal konfigurálása Linuxon


A Linux tűzfala létfontosságú szerepet játszik a számítógépes rendszerek védelmében. Gátként működik, szabályozza és szűri a hálózati forgalmat, hogy megvédje a rendszert az illetéktelen hozzáféréstől, támadásoktól és egyéb fenyegetésektől. Megfelelően konfigurált tűzfal nélkül a kiszolgáló kiszolgáltatott lehet különféle típusú kibertámadásoknak, ami súlyos következményekkel járhat az adatbiztonság és a bizalmas kezelés szempontjából.

Ebben a cikkben két fő eszközt fogunk megvizsgálni a Linux tűzfal konfigurálásához: a firewalld-t és az iptables-t. Összehasonlító elemzést végzünk funkcióikról, működésükről és előnyeikről. Ezenkívül részletes utasításokat adunk az egyes eszközök beállításához és használatához, valamint megvitatjuk a rendszer Linux platformon történő tűzfallal történő biztonságossá tételének legjobb gyakorlatait. Minden műveletet egy root hozzáféréssel rendelkező virtuális szerveren mutatunk be.

Tűzfal konfigurálása Linuxon

A Firewalld (tűzfal démon) egy program a Linux operációs rendszerek tűzfalának kezelésére. Felhasználói felületet biztosít a tűzfalszabályok konfigurálásához, a hálózati alkalmazások kapcsolatainak engedélyezéséhez vagy blokkolásához. A legtöbb szerverdisztribúcióban alapértelmezés szerint előre telepítve van. Ha a Firewalld nincs előre telepítve, akkor a disztribúció hivatalos tárhelyeitől függetlenül telepíthető.

Red Hat rendszerek esetén (például RHEL, CentOS, Fedora) a telepítés a következő paranccsal történik:

yum install firewalld

Debian/Ubuntu esetén:

apt-get install firewalld

Telepítés után azonnal elindítható és aktiválható a következő paranccsal:

systemctl start firewalld

Ezután hozzá kell adnia a szolgáltatást az induláshoz:

systemctl enable firewalld
Tűzfal hozzáadása a Linux automatikus betöltéséhez

Ezen a ponton javasoljuk az ufw letiltását, mivel ennek az eszköznek a tűzfallal vagy iptables-szal történő egyidejű használata nem javasolt. Ellenőrizze az állapotot:

systemctl status ufw
Ufw linux ellenőrzése

A leállításhoz írja be a következő parancsot:

systemctl stop ufw

A teljes deaktiváláshoz:

ufw disable

Ezen műveletek után folytathatja a tűzfal beállítását.

Először is meg kell határozni a bizalmi zónákat. A Firewall a zónák fogalmát használja a hálózati interfészek megbízhatósági szintjének meghatározására. Minden interfészhez egy zóna van hozzárendelve, és a tűzfalszabályok a zónától függően kerülnek alkalmazásra. Az összes elérhető zóna listája a következő paranccsal nyílik meg:

firewall-cmd --get-zones

Általában 4 fő zónát használnak:

  1. nyilvános: Ez a zóna az Ön által nem biztonságosnak tartott hálózatokhoz való;
  2. Magán: Otthoni hálózatokra vagy más megbízható hálózati kapcsolatokra vonatkozik;
  3. belső: Belső hálózatokhoz használatos, például egy szervezeten vagy vállalati hálózaton belüli hálózatokhoz;
  4. Demilitarizált zóna: Ebben a zónában általában olyan szervereket helyeznek el, amelyeknek elérhetőnek kell lenniük az internetről.

Ez azonban csak egy példa. Saját zónát a következő paranccsal adhat hozzá:

firewall-cmd --permanent --new-zone=nameyourzone

Hozzáadás után újra kell tölteni:

firewall-cmd --reload

Egy zóna törléséhez hasonló módszert alkalmaznak

firewall-cmd --permanent --delete-zone=nameyourzone

A zónák meghatározása után engedélyezni kell a forgalmat a szükséges szolgáltatások és portok számára. Egy bizonyos szolgáltatás engedélyezéséhez használja a következő parancsot:

firewall-cmd --zone=public --add-service=name

Ahol a name a szolgáltatás neve. Például az Apache forgalmának engedélyezéséhez:

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

A megengedett portok meghatározásához használja a következő parancsot:

firewall-cmd --zone=public --add-port=number/protocol

Például az SSH szabványos 22-es portja így néz ki:

firewall-cmd --zone=public --add-port=22/tcp

Ebben a szakaszban a fő szabályok már létrejöttek. Ezután határozza meg, hogyan kerüljön feldolgozásra a forgalom a forrás, a cél, a port és egyéb kritériumok alapján. Szabály hozzáadásához ( példaként a nyilvános zónát használva):

firewall-cmd --zone=public rule

Például a bejövő forgalom engedélyezéséhez bármely forrásból a 80-as portra (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent

Szabály eltávolítása:

firewall-cmd --permanent --remove-rule=rule_specification

Ahol a „rule” a szabály típusa (pl. port, szolgáltatás, rich-rule stb.), a „rule_specification” pedig magának a szabálynak a specifikációja.

Miután módosította a tűzfal konfigurációját, el kell mentenie és alkalmaznia kell azokat. A módosítások mentéséhez használja a következő parancsot:

firewall-cmd --runtime-to-permanent

A módosítások alkalmazása:

firewall-cmd --reload

A beállítás befejezése után ellenőrizheti a kiválasztott paramétereket az összes szabály listájának megnyitásával:

firewall-cmd --list-all
tűzfal Linux szabályai

Ha bármilyen probléma adódik, ellenőrizze a Firewalld naplóit a következő paranccsal:

journalctl -u firewalld

Megjegyzés: Csak a kapcsolat beállításának általános algoritmusát ismertettük. Az eszköz széleskörű funkcionalitással rendelkezik. Az összes elérhető opcióval kapcsolatos teljes információért használja a hivatalos dokumentációt vagy nyissa meg a súgót:

firewall-cmd --help

Az iptables beállítása Linuxon

A Firewallddal ellentétben az iptables egy régebbi, de még mindig széles körben használt eszköz a Linuxban a tűzfal kezelésére. Közvetlenebb és rugalmasabb megközelítést biztosít a csomagszűrési szabályokhoz a Linux kernel szintjén. Az iptables azonban fejlettebb tudást és tapasztalatot igényel, mint a Firewalld, így kevésbé hozzáférhető a kezdők számára. Ellenőrizze az eszköz előre telepített verzióját a következő paranccsal:

iptables -V

Ha az eszköz nincs telepítve, akkor telepíteni kell. Ubuntu, Debian telepítési parancs:

apt install iptables

Red Hat rendszerek esetén (pl. CentOS, Fedora):

yum install iptables

A telepítés utáni aktiválási parancs:

systemctl start iptables

Az indításhoz való hozzáadáshoz hajtsa végre:

systemctl enable iptables

Az iptables konfigurációjának elindítása előtt fontos megérteni, hogyan működik. Ebben segít a program szintaxisa. A következőképpen néz ki:

iptables -t table action chain additional_parameters

Nézzünk mélyebbre az egyes tételekbe.

Az Iptables négy fő táblával rendelkezik: filter, nat, mangle és raw . Mindegyik bizonyos típusú csomagok feldolgozására szolgál, és saját szabályláncokkal rendelkezik:

  1. szűrő: Ez a leggyakrabban használt tábla, amely csomagszűrési szabályokat tartalmaz. A csomagok engedélyezésével vagy elutasításával kapcsolatos döntések meghozatalára szolgál.
  2. nat: Ez a táblázat a csomagokban lévő hálózati címek és portok módosítására szolgál. Gyakran használják a maszkolás (NAT) beállítására.
  3. mángorló: Ebben a táblázatban módosíthatja a csomagfejléceket. Speciális csomagműveletekhez, például jelöléshez használják.
  4. nyers: Ez a táblázat a kapcsolatkövető rendszeren való áthaladás előtt érvényes szabályok konfigurálására szolgál. Általában olyan szabályok beállítására használják, amelyeket a nyomkövető rendszernek nem szabad módosítania, például csomagok eldobására bizonyos címekről.

Minden táblázat egy sor láncot tartalmaz. A láncok szabálysorozatok, amelyeket egymás után ellenőriznek. Három előre meghatározott lánc létezik:

  1. BEMENET (bejövő). A lánc szabályai határozzák meg, hogy mit kell tenni a bejövő csomagokkal.
  2. KIMENET (kimenő). Ez a lánc minden olyan csomagra vonatkozik, amelyet a számítógép a hálózat többi eszközére vagy számítógépére küld.
  3. ELŐRE (továbbítás). A lánc szabályai meghatározzák, hogy mit kell tenni a továbbított csomagokkal.

Végül minden láncnak van valamilyen akciója (célpontja). A gyakorlatban 5 fő műveletet alkalmaznak:

  1. ELFOGAD: Hagyja, hogy a csomag áthaladjon a tűzfalon.
  2. DROP: A csomag elutasítása és válasz nélkül dobja el.
  3. ELUTASÍT: A csomag elutasítása és ICMP hibaüzenet küldése a feladónak.
  4. BEJELENTKEZÉS: naplózza a csomagot a rendszernaplóba, és hajtson végre egy másik műveletet (pl. ELFOGADÁS vagy DROP).
  5. VISSZATÉRÉS: Hagyja abba a szabályok ellenőrzését az aktuális láncban, és térjen vissza a hívó lánchoz (ha van).

A telepítés elindításához nyissa meg a meglévő szabályok listáját a következő paranccsal:

iptables -L
Tűzfal konfigurálása Linuxon

Útmutatóként az Iptables konfigurálásához nézzünk gyakorlati példákat a leggyakrabban használt parancsokra. Az egyszerűség kedvéért a példákat 3 csoportra osztjuk, az adott lánctól függően.

Lánc bemenet :

  1. TCP protokollon keresztül bejövő forgalom engedélyezése a 80-as porton:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Engedélyezze a bejövő forgalmat UDP protokollon keresztül a 22-es porton:

iptables -A INPUT -p udp --dport 22 -j ACCEPT

3. Egy adott IP-címről érkező forgalom blokkolása:

iptables -A INPUT -s 192.168.1.100 -j DROP

Lánc KIMENET :

  1. Kimenő forgalom engedélyezése TCP protokollon keresztül a 443-as porton:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Engedélyezze a kimenő forgalmat UDP protokollon keresztül a 80-as porton:

iptables -A OUTPUT -p udp --dport 80 -j ACCEPT

3. Blokkolja a kimenő forgalmat egy adott portra (például 21):

iptables -A OUTPUT -p tcp --dport 21 -j DROP

Lánc ELŐRE :

  1. Az IP-címek meghatározott tartományáról továbbított forgalom blokkolása:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Blokkolja a csomagok továbbítását egy adott hálózati interfészről:

iptables -A FORWARD -i eth1 -j DROP

3. Korlátozza az egyidejű kapcsolatok számát egy adott porton (ebben a példában 10 kapcsolat percenként a 80-as porton):

iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT

Mint látható, minden egyes esetben egy további argumentum (parancs) kerül felhasználásra. A lehetséges érvek teljes listájának megtekintéséhez és az eszköz funkcióinak általános támogatásához írja be:

iptables -h
iptables linux setup parancslistája

A beállítások helyességének ellenőrzéséhez írja be újra a parancsot a szabályok listájának megtekintéséhez:

iptables -L
Az iptables linux szabályainak ellenőrzése

Egy adott szabály törléséhez használja a következő parancsot:

iptables -D chain rule_number

Például, ha törölni szeretné az 1. számú szabályt az INPUT láncból, a parancs így fog kinézni:

iptables -D INPUT 1

Az összes szabály törlése egyetlen paranccsal:

iptables -F

Fontos megjegyzés : az iptables szabályok nem kerülnek automatikusan mentésre a rendszer vagy szolgáltatás újraindítása után. A szabályok mentéséhez hozzá kell adni őket egy konfigurációs fájlhoz, és az újraindítás után vissza kell állítani. Az iptables-save és az iptables-restore segédprogramok segíthetnek ebben. A szabályok mentéséhez írja be a következő parancsot:

iptables-save > /etc/iptables/rules.v4

Ez elmenti az aktuális iptables-szabályokat a rules.v4 fájlba. Az újraindítás utáni visszaállításhoz írja be:

iptables-restore < /etc/iptables/rules.v4

Ez a parancs visszaállítja a szabályokat a rules.v4 fájlból.

Összegzés

A tűzfal konfigurálása Linux rendszeren tűzfal vagy iptables használatával fontos szempont a kiszolgáló biztonságának biztosításában. Mindkét eszköz megbízható eszközöket kínál a hálózati forgalom kezeléséhez, valamint a rendszer megóvásához az illetéktelen hozzáféréstől és a kibertámadásoktól. A tűzfal és az iptables közötti választás a felhasználó egyedi igényeitől és preferenciáitól függ, figyelembe véve a különböző funkciókat és erősségeiket.

❮ Előző cikk Szerverterhelési diagnosztika
Következő cikk ❯ Linux-felhasználók: Kezelés és engedélyek

Kérdezzen meg minket a VPS-ről

Mindig készséggel válaszolunk kérdéseire a nap és az éjszaka bármely szakában.