Az UFW (Uncomplicated Firewall) egy egyszerű eszköz a tűzfalszabályok kezelésére Linux rendszereken. Leegyszerűsíti a tűzfal beállításának folyamatát, így különösen hasznos az újabb felhasználók számára, akik számára a hagyományos iptables kihívást jelenthet. Az UFW egyszerű módot biztosít a tűzfalszabályok egyszerű parancsokkal történő létrehozására és kezelésére, így elérhető és hatékony.
Az UFW műszaki jellemzői a következők:
- Könnyű használat: A parancsok egyszerűsödnek a gyakori tűzfalfeladatokhoz.
- Előre konfigurált profilok: Az általános szolgáltatásokhoz tartozó profilokkal érkezik.
- Fakitermelés: Lehetővé teszi a naplók egyszerű konfigurálását a tevékenység figyeléséhez.
- IPv6 támogatás: Teljes mértékben támogatja az IPv6-ot.
- Bővíthető: Kibővíthető további szabályokkal a fejlettebb beállításokhoz.
Az új felhasználók számára az UFW gyakran jobb, mint az iptables, mert elrejti a bonyolultságot, ugyanakkor robusztus biztonsági funkciókat kínál. Lehetővé teszi a felhasználók számára a tűzfalszabályok gyors beállítását anélkül, hogy meg kellene érteniük az iptables részletes szintaxisát és műveleteit, csökkentve ezzel a hibák esélyét.
Ez az útmutató bemutatja, hogyan telepítheti és konfigurálhatja az UFW-t Debian 12, 11 vagy 10 rendszeren, valamint alapvető parancsokat és tippeket tartalmaz a tűzfal hatékony kezeléséhez.
Telepítse az UFW-t (Uncomplicated Firewall) az APT Command segítségével
Ha még nem ismeri a Debian Linuxot és a parancsterminált, ijesztő lehet megtanulni a rendszer tűzfallal történő védelmét. Szerencsére a Debian-felhasználók könnyen használhatják az Uncomplicated Firewall-t (UFW) rendszerük biztonságának kezelésére.
Az UFW telepítése előtt elengedhetetlen, hogy rendszere naprakész legyen, hogy elkerülje a telepítés során felmerülő konfliktusokat. Futtassa a következő parancsot a rendszer frissítéséhez:
sudo apt update && sudo apt upgrade
Vegye figyelembe, hogy ha a Linux kernel frissítve lett, előfordulhat, hogy újra kell indítania a rendszert.
A rendszer frissítése után a következő parancs futtatásával telepítheti az UFW-t:
sudo apt install ufw
Más Debian-alapú disztribúciókkal, például az Ubuntuval ellentétben az UFW alapértelmezés szerint nincs telepítve a Debianban. Ezért kulcsfontosságú az UFW manuális telepítése.
Az UFW telepítése után engedélyeznie kell a szolgáltatást a következő parancs futtatásával:
sudo systemctl enable ufw --now
Ez a parancs engedélyezi az UFW szolgáltatást a rendszerindításkor, biztosítva a rendszer védelmét az újraindítás után.
Végül elengedhetetlen az UFW állapotának ellenőrzése, hogy megbizonyosodjon arról, hogy hibamentesen fut. Az UFW szolgáltatás állapotát a következő parancs futtatásával ellenőrizheti:
systemctl status ufw
A fenti parancsok futtatásával sikeresen telepítette az UFW-t, és biztosította a megfelelő működést. A következő lépésben megvizsgáljuk az UFW használatát a rendszer védelmére.
Engedélyezze az UFW tűzfalat
Most, hogy az UFW telepítve van és fut, a tűzfal engedélyezve lesz. Alapértelmezés szerint az UFW blokkol minden bejövő forgalmat, és engedélyezi az összes kimenő forgalmat. A tűzfal engedélyezése biztosítja, hogy a rendszer védett maradjon az illetéktelen hozzáférés blokkolásával.
Az UFW engedélyezéséhez futtassa a következő parancsot:
sudo ufw enable
A parancs futtatása után megerősítő üzenetet kap arról, hogy a tűzfal aktív, és automatikusan elindul, amikor újraindítja a rendszert. Íme egy példa kimenet:
Firewall is active and enabled on system startup
Amint a tűzfal aktív, blokkol minden bejövő forgalmat a rendszerbe, megvédve Önt az illetéktelen hozzáféréstől. Érdemes azonban megjegyezni, hogy ez bizonyos jogos forgalmat is megakadályozhat, például a szükséges szolgáltatásokhoz való hozzáférést.
Ellenőrizze az UFW állapotát
Az UFW tűzfal engedélyezése után döntő fontosságú annak ellenőrzése, hogy a szabályok aktívak és helyesen vannak konfigurálva. A tűzfal állapotát a következő paranccsal ellenőrizheti:
sudo ufw status verbose
A parancs futtatása megmutatja a tűzfal aktuális állapotát, beleértve az aktív szabályokat és a bejövő és kimenő forgalomhoz beállított alapértelmezett házirendeket.
A tűzfalszabályok tömörebb áttekintése érdekében használhatja helyette a „számozott” opciót. Ez az opció számozott sorrendben jeleníti meg a tűzfalszabályokat, megkönnyítve azok azonosítását és kezelését. A tűzfalszabályok számozott sorrendben történő felsorolásához használja a következő parancsot:
sudo ufw status numbered
A számozott kimenet rendezettebben jeleníti meg a szabályokat, megkönnyítve azok azonosítását és kezelését. A szabályszámokat használhatja bizonyos szabályok módosítására vagy törlésére a „delete” paranccsal.
Összefoglalva, a tűzfal állapotának ellenőrzése elengedhetetlen annak érdekében, hogy a rendszer védve legyen az illetéktelen hozzáféréstől. Az ebben a lépésben felvázolt parancsok segítségével gyorsan ellenőrizheti az UFW tűzfal állapotát, és azonosíthatja a hibás konfigurációkat.
Állítsa be az UFW alapértelmezett házirendjeit
Az UFW tűzfal alapértelmezett beállítása az összes bejövő kapcsolat blokkolása és az összes kimenő kapcsolat engedélyezése. Ez a konfiguráció a legbiztonságosabb, mivel biztosítja, hogy illetéktelen felhasználók kifejezett engedély nélkül ne csatlakozhassanak a rendszerhez. A bejövő kapcsolatok engedélyezéséhez speciális szabályokat kell létrehozni, amelyek IP-címek, programok, portok vagy e tényezők kombinációja alapján engedélyezik a forgalmat.
Az UFW szabályok módosításához írja be a következő parancsot a terminálba:
Minden bejövő kapcsolat letiltásához:
sudo ufw default deny incoming
Az összes kimenő kapcsolat engedélyezése:
sudo ufw default allow outgoing
Alapértelmezés szerint az UFW már engedélyezve van az alapértelmezett szabályokkal. Ezeket a szabályokat azonban saját igényei szerint módosíthatja. Ha például blokkolni szeretné az összes kimenő kapcsolatot, és csak bizonyos kimenő kapcsolatokat szeretne engedélyezni, a következő paranccsal módosíthatja a szabályokat ennek megfelelően:
Az összes kimenő kapcsolat blokkolása:
sudo ufw default deny outgoing
Érdemes megjegyezni, hogy ha meg kell találnia az alapértelmezett UFW tűzfal házirendeket, megtalálhatja azokat az /etc/default/ufw fájlban. Ez a fájl tartalmazza az UFW konfigurációs beállításait, beleértve a bejövő és kimenő forgalom alapértelmezett irányelveit. A fájl beállításainak módosításával személyre szabhatja a tűzfalszabályokat, hogy azok megfeleljenek sajátos biztonsági igényeinek.
További UFW-parancsok
A következő szakaszok az UFW néhány alapvető szempontját ismertetik. Alapértelmezés szerint a legtöbb asztali felhasználó egyszerűen blokkolja a bejövő kapcsolatokat és engedélyezi az összes kimenő forgalmat, ami a legtöbb környezet számára megfelelő. Az UFW azonban további konfigurációkat biztosít, amelyek hasznosak asztali számítógépek és szerverek számára. Az alábbiakban bemutatunk néhány példát arra, hogy mit tehet az UFW-vel.
UFW alkalmazásprofilok megtekintése
Ha többet szeretne megtudni az UFW-n keresztül elérhető alkalmazásprofilokról, a következő parancs futtatásával tekintheti meg őket:
sudo ufw app list
Ekkor megjelenik az összes elérhető alkalmazásprofil listája. Fontos megjegyezni, hogy az alkalmazások listája attól függően változhat, hogy milyen szoftvert telepített a rendszerére.
Az UFW-alkalmazásprofilok egyik hasznos funkciója, hogy több információhoz jut egy adott profilról. Ehhez futtassa a következő parancsot:
sudo ufw app info [application]
Cserélje ki az [alkalmazás] kifejezést arra a névre, amelyről többet szeretne megtudni. Ez a parancs rövid leírást ad az alkalmazásról és az általa használt portokról. Ez akkor hasznos, ha megvizsgálja a nyitott portokat, és megpróbálja meghatározni, hogy melyik alkalmazáshoz tartoznak.
IPv6 engedélyezése UFW-n
Ha a Debian rendszer IPv6-tal van konfigurálva, meg kell győződnie arról, hogy az UFW az IPv6 és IPv4 forgalom támogatására van beállítva. Alapértelmezés szerint az UFW-nek automatikusan engedélyeznie kell az IP mindkét verziójának támogatását; azonban jó ötlet ezt megerősíteni.
Ehhez nyissa meg az alapértelmezett UFW tűzfalfájlt a következő paranccsal:
sudo nano /etc/default/ufw
A fájl megnyitása után keresse meg a következő sort:
IPV6=yes
Ha az érték „no”-ra van állítva, módosítsa „igen”-re, és mentse a fájlt a gomb megnyomásával CTRL+O
és akkor CTRL+X
kilépni.
A fájl módosításait követően újra kell indítania az UFW tűzfalszolgáltatást, hogy a módosítások érvénybe lépjenek. Ehhez futtassa a következő parancsot:
sudo systemctl restart ufw
Ezzel újraindul az UFW tűzfalszolgáltatás az új konfigurációval, lehetővé téve az IPv6 forgalom támogatását.
Engedélyezze az UFW SSH kapcsolatokat
Az SSH (Secure Shell) kulcsfontosságú a Linux-kiszolgálók távoli eléréséhez. Alapértelmezés szerint azonban az UFW nem engedélyezi az SSH-kapcsolatokat. Ez problémás lehet, különösen akkor, ha távolról engedélyezte a tűzfalat, mivel előfordulhat, hogy ki van zárva. Az SSH-kapcsolatok engedélyezéséhez kövesse ezeket a lépéseket.
Először engedélyezze az SSH alkalmazásprofilt a következő parancs beírásával:
sudo ufw allow ssh
Ha az alapértelmezett 22-es porttól eltérő egyéni figyelési portot állított be az SSH-kapcsolatokhoz, például a 3541-es portot, akkor a következő beírásával meg kell nyitnia a portot az UFW tűzfalon.
sudo ufw allow 3541/tcp
A következő parancsokkal blokkolhatja az összes SSH-kapcsolatot, vagy módosíthatja a portot és blokkolhatja a régieket.
A következő paranccsal blokkolja az összes SSH-kapcsolatot (győződjön meg arról, hogy a helyi hozzáférés lehetséges):
sudo ufw deny ssh/tcp
Ha módosítja az egyéni SSH-portot, nyisson egy új portot, és zárja be a meglévőt, például:
sudo ufw deny 3541/tcp
Engedélyezze az UFW portokat
Az UFW hozzáférést biztosíthat bizonyos portokhoz az alkalmazások vagy szolgáltatások számára. Ez a rész bemutatja, hogyan lehet megnyitni a HTTP (80-as port) és HTTPS-portokat (443-as port) egy webszerver számára, és hogyan engedélyezheti a porttartományokat.
A 80-as HTTP-port engedélyezéséhez a következő parancsok bármelyikét használhatja:
Engedélyezés alkalmazásprofil alapján:
sudo ufw allow 'Nginx HTTP
Engedélyezés szolgáltatásnév alapján:
sudo ufw allow http
Engedélyezés portszám szerint:
sudo ufw allow 80/tcp
A 443-as HTTPS-port engedélyezéséhez a következő parancsok bármelyikét használhatja:
Engedélyezés alkalmazásprofil alapján:
sudo ufw allow 'Nginx HTTPS'
Engedélyezés szolgáltatásnév alapján:
sudo ufw allow https
Engedélyezés portszám szerint:
sudo ufw allow 443/tcp
Ha engedélyezni szeretné a HTTP- és a HTTPS-portokat is, használja a következő parancsot:
sudo ufw allow 'Nginx Full'
UFW Porttartományok engedélyezése
Engedélyezheti az egyes portokat és porttartományokat. Porttartomány megnyitásakor meg kell határoznia a portprotokollt.
A TCP és UDP protokollokkal rendelkező porttartomány engedélyezéséhez használja a következő parancsokat:
sudo ufw allow 6500:6800/tcp
sudo ufw allow 6500:6800/udp
Alternatív megoldásként több portot is engedélyezhet egy találaton belül a következő parancsokkal:
sudo ufw allow 6500, 6501, 6505, 6509/tcp
sudo ufw allow 6500, 6501, 6505, 6509/udp
Távoli kapcsolatok engedélyezése az UFW-n
A távoli kapcsolatok engedélyezése az UFW-n kulcsfontosságú lehet hálózati célokra, és néhány egyszerű paranccsal gyorsan megtehető. Ez a rész elmagyarázza, hogyan engedélyezhet távoli kapcsolatokat a rendszerrel az UFW-n keresztül.
UFW Adott IP-címek engedélyezése
A következő paranccsal engedélyezheti, hogy adott IP-címek csatlakozzanak a rendszerhez. Ez akkor hasznos, ha csak bizonyos rendszereknek kell engedélyeznie a csatlakozást a szerverhez, és megadhatja az IP-címüket.
sudo ufw allow from 192.168.55.131
UFW Adott IP-címek engedélyezése adott porton
A következő paranccsal engedélyezheti, hogy egy IP csatlakozzon a rendszer egy adott portjához. Például, ha engedélyeznie kell egy IP-címnek, hogy csatlakozzon a rendszer 3900-as portjához, használja ezt a parancsot:
sudo ufw allow from 192.168.55.131 to any port 3900
Alhálózati kapcsolatok engedélyezése egy megadott porthoz
A következő paranccsal engedélyezheti a kapcsolatokat egy alhálózat IP-címei közül egy adott porthoz. Ez akkor hasznos, ha engedélyeznie kell a kapcsolatokat egy adott IP-tartományból, és megadhatja az alhálózatot a kapcsolatok engedélyezéséhez.
sudo ufw allow from 192.168.1.0/24 to any port 3900
Ez a parancs a 192.168.1.1 és 192.168.1.254 közötti összes IP-címet a 3900-as porthoz kapcsolja.
Adott hálózati interfész engedélyezése
Ha engedélyeznie kell a kapcsolatokat egy adott hálózati interfészhez, használja a következő parancsot. Ez akkor hasznos, ha több hálózati interfésszel rendelkezik, és engedélyeznie kell a kapcsolatokat egy adott interfészhez.
sudo ufw allow in on eth2 to any port 3900
E parancsok használatával könnyedén engedélyezheti a távoli kapcsolatokat a rendszerrel az UFW-n keresztül, miközben megőrzi annak biztonságát.
Távoli kapcsolatok megtagadása az UFW-n
Ha gyanús vagy nem kívánt forgalmat észlel egy adott IP-címről, az UFW használatával megtagadhatja az erről a címről érkező kapcsolatokat. Az UFW alapértelmezés szerint megtagad minden bejövő kapcsolatot, de létrehozhat szabályokat a bizonyos IP-címekről vagy IP-tartományokból származó kapcsolatok blokkolására.
Például az egyetlen IP-címről érkező kapcsolatok blokkolásához használja a következő parancsot:
sudo ufw deny from 203.13.56.121
Ha egy hacker több IP-címet használ ugyanazon az alhálózaton belül, hogy megtámadja a rendszert, blokkolhatja a teljes alhálózatot, ha megadja az IP-tartományt a CIDR-jelölésben:
sudo ufw deny from 203.13.56.121/24
Létrehozhat szabályokat is, amelyek megtiltják a hozzáférést bizonyos portokhoz a blokkolt IP- vagy IP-tartományban. Például az azonos alhálózatról a 80-as és 443-as portokhoz tartó kapcsolatok blokkolásához a következő parancsokat használhatja:
sudo ufw deny from 203.13.56.121/24 to any port 80
sudo ufw deny from 203.13.56.121/24 to any port 443
Fontos megjegyezni, hogy a bejövő kapcsolatok blokkolása hatékony biztonsági intézkedés lehet, de nem biztonságos. A hackerek továbbra is használhatnak olyan technikákat, mint az IP-hamisítás, hogy álcázzák valódi IP-címüket. Ezért fontos, hogy több biztonsági réteget valósítson meg, és ne hagyatkozzon kizárólag az IP-blokkolásra.
Törölje az UFW szabályokat
A szükségtelen vagy nem kívánt UFW-szabályok törlése elengedhetetlen a szervezett és hatékony tűzfal fenntartásához. Az UFW-szabályokat kétféleképpen törölheti. Először is, egy UFW-szabály számának használatával történő törléséhez listáznia kell a szabályszámokat a következő parancs beírásával:
sudo ufw status numbered
A kimeneten megjelenik a számozott UFW-szabályok listája, amely lehetővé teszi a törölni kívánt szabály azonosítását. Miután meghatározta az eltávolítani kívánt szabály számát, írja be a következő parancsot:
sudo ufw delete [rule number]
Tegyük fel például, hogy törölni szeretné az 1.1.1.1 IP-cím harmadik szabályát. Ebben az esetben meg kell találnia a szabály számát a „sudo ufw status numbered” parancs futtatásával, és be kell írnia a következő parancsot a terminálba:
sudo ufw delete 3
A már nem szükséges szabályok törlése segít megőrizni a tűzfal biztonságát és hatékonyságát.
Az UFW-naplók elérése és megtekintése
Az UFW tűzfal minden eseményt naplóz, és alapvető fontosságú, hogy rendszeresen ellenőrizze ezeket a naplókat a potenciális biztonsági rések azonosítása vagy a hálózati problémák elhárítása érdekében. Alapértelmezés szerint az UFW naplózás alacsonyra van állítva, ami a legtöbb asztali rendszerhez megfelelő. Előfordulhat azonban, hogy a szerverek magasabb szintű naplózást igényelnek a további részletek rögzítéséhez.
Beállíthatja az UFW naplózási szintjét alacsonyra, közepesre vagy magasra, vagy teljesen letilthatja. Az UFW naplózási szintjének alacsonyra állításához használja a következő parancsot:
sudo ufw logging low
Az UFW naplózás közepesre állítása:
sudo ufw logging medium
Az UFW naplózás magasra állításához:
sudo ufw logging high
Az utolsó lehetőség a naplózás teljes letiltása; győződjön meg róla, hogy elégedett ezzel, és nincs szükség naplóellenőrzésre.
sudo ufw logging off
Az UFW-naplók megtekintéséhez a /var/log/ufw.log alapértelmezett helyén találja őket. A tail paranccsal megtekintheti az élő naplókat, vagy kinyomtathatja a legutóbbi naplósorok meghatározott számát. Például a napló utolsó 30 sorának megtekintéséhez használja a következő parancsot:
sudo ufw tail /var/log/ufw.log -n 30
A naplók áttekintése segíthet megállapítani, hogy mely IP-címek próbálnak csatlakozni a rendszerhez, és azonosítani lehet a gyanús vagy jogosulatlan tevékenységeket. Ezenkívül a naplók áttekintése segíthet megérteni a hálózati forgalmi mintákat, optimalizálni a hálózati teljesítményt, és azonosítani az esetlegesen felmerülő problémákat.
Tesztelje az UFW szabályokat
Mindig jó ötlet az UFW-tűzfalszabályok tesztelése alkalmazása előtt, hogy megbizonyosodjon arról, hogy megfelelően működnek. A „–dry-run” jelző lehetővé teszi, hogy megtekintse azokat a változtatásokat, amelyeket tényleges alkalmazása nélkül hajtottak volna végre. Ez egy hasznos lehetőség rendkívül kritikus rendszerek számára a véletlen változtatások elkerülése érdekében.
A „–dry-run” jelző használatához írja be a következő parancsot:
sudo ufw --dry-run enable
A „–dry-run” jelző letiltásához egyszerűen használja a következő parancsot:
sudo ufw --dry-run disable
Állítsa vissza az UFW szabályokat
Néha előfordulhat, hogy vissza kell állítania a tűzfalat az eredeti állapotába, minden bejövő kapcsolat blokkolva és a kimenő kapcsolat engedélyezett. Ezt a "reset" paranccsal lehet megtenni:
sudo ufw reset
Erősítse meg a visszaállítást, írja be a következőket:
sudo ufw status
A kimenetnek a következőnek kell lennie:
Status: inactive
A visszaállítás befejeztével a tűzfal inaktív lesz, és újra kell engedélyeznie, és új szabályokat kell hozzáadnia. Fontos megjegyezni, hogy a reset parancsot takarékosan kell használni, mivel eltávolítja az összes létező szabályt, és potenciálisan sebezhetővé teheti a rendszert, ha nem megfelelően hajtja végre.
Hogyan lehet megtalálni az összes nyitott portot (biztonsági ellenőrzés)
A rendszer biztonságának elsődleges prioritásnak kell lennie, és ennek biztosításának egyik módja a nyitott portok rendszeres ellenőrzése. Az UFW alapértelmezés szerint blokkol minden bejövő kapcsolatot, de előfordulhat, hogy a portok véletlenül vagy jogos okokból nyitva maradnak. Ebben az esetben fontos tudni, hogy mely portok vannak nyitva, és miért.
A nyitott portok ellenőrzésének egyik módja az Nmap, egy jól ismert és megbízható hálózatfelderítő eszköz. Az Nmap telepítéséhez először írja be a következő parancsot.
sudo apt install nmap
Ezután keresse meg rendszere belső IP-címét a következő beírásával:
hostname -I
Példa kimenet:
192.168.50.45
Az IP-címmel futtassa a következő parancsot:
nmap 192.168.50.45
Az Nmap átvizsgálja a rendszert, és felsorolja az összes nyitott portot. Ha olyan nyitott portokat talál, amelyekben nem biztos, vizsgálja meg azokat, mielőtt bezárja vagy blokkolja őket, mivel ez megszakíthatja a szolgáltatásokat, vagy kizárhatja a rendszerből.
Az oktatóanyagban található információk alapján egyéni UFW-szabályokat hozhat létre a nyitott portok bezárásához vagy korlátozásához. Az UFW alapértelmezés szerint blokkol minden bejövő kapcsolatot, ezért a változtatások végrehajtása előtt győződjön meg arról, hogy nem blokkolja a jogszerű forgalmat.
UFW Management APT parancsok
Távolítsa el az UFW tűzfalat
Az UFW értékes eszköz a tűzfalszabályok kezeléséhez és a Debian rendszer védelméhez. Előfordulhatnak azonban olyan helyzetek, amikor le kell tiltania vagy el kell távolítania.
Ha ideiglenesen le szeretné tiltani az UFW-t, ezt a következő parancs beírásával teheti meg:
sudo ufw disable
Ezzel kikapcsolja a tűzfalat, lehetővé téve az összes forgalom áthaladását a rendszeren.
Másrészt, ha teljesen el kell távolítania az UFW-t a rendszerből, akkor ezt a következő paranccsal teheti meg:
sudo apt remove ufw
Fontos azonban megjegyezni, hogy az UFW teljes eltávolítása a rendszerből sebezhetővé teheti a külső támadásokkal szemben. Hacsak nincs szilárd alternatívája a rendszer tűzfalának kezelésére, vagy nem ismeri az IPTables használatát, nem tanácsos eltávolítani az UFW-t.
Ezért az UFW eltávolítása előtt győződjön meg arról, hogy van alternatív megoldása a rendszer biztonságának megőrzésére és az illetéktelen hozzáférés megakadályozására.