A Linux szervereken a UFW (Uncomplicated Firewall) leegyszerűsíti az összetett iptables szabályokat, így gyorsabbá és biztonságosabbá teszi a tűzfal kezelését SSH, HTTP, HTTPS és egyedi portok esetén. Különösen az Ubuntu és Debian alapú szervereken a UFW segítségével alapértelmezettként letilthatjuk a bejövő forgalmat, megnyithatjuk a szükséges szolgáltatásokat, engedélyezhetünk bizonyos IP-címeket, és korlátozhatjuk a hibás próbálkozásokat. Egy jól bevált, biztonságos kiindulási pont a következő: garantáljuk az SSH-hozzáférést, alapértelmezetten tiltsuk a bejövő forgalmat, engedélyezzük a kimenő forgalmat, csak a használt szolgáltatási portokat nyissuk meg, és rendszeresen ellenőrizzük a UFW állapotát.
Amint egy web szerver internetre kerül, botok, jelszópróbálgató programok, sebezhetőségvizsgálók és felesleges portlekérdezések célpontjává válik. Éppen ezért a tűzfal az egyik első védelmi réteg a Linux szerverek biztonságában. A UFW egy praktikus eszköz, amelyet a technikai csapatok napi szinten előszeretettel használnak, mert könnyen érthető parancsokat kínál, gyorsan hozzáadható és eltávolíthatóak a szabályok, naplózást biztosít, és kisebb a hibás konfiguráció kockázata, mint az iptables esetén. Ebben az útmutatóban lépésről lépésre bemutatjuk a UFW telepítését, alapvető parancsait, az SSH zárolás elkerülését, web szerver portok kezelését, IP-alapú engedélyezést, naplóellenőrzést, IPv6-támogatást, Dockerrel kapcsolatos speciális eseteket és a 2026-os biztonsági ajánlásokat.
Mi az a UFW és mire használható?
A UFW az Uncomplicated Firewall rövidítése, mely magyarul egyszerű tűzfalnak fordítható. A Linux kernel csomagszűrési rendszerére épül, ugyanakkor a rendszergazdák számára könnyebben érthető parancsokat biztosít. Például iptables vagy nftables szabályok kézi írása helyett elég a sudo ufw allow 443/tcp parancs a HTTPS forgalom engedélyezéséhez.
A UFW különösen a következő helyzetekben hasznos:
- Új VPS vagy dedikált szerver gyors alap hálózati biztonságának beállítására.
- Web szerver esetén csak a 80-as és 443-as portok nyitva tartására.
- SSH-hozzáférés korlátozására csak bizonyos IP-címekre.
- Brute force támadások csökkentésére SSH limitálással.
- Teszt, staging vagy adminisztrációs panelek internet felé való teljes zárására.
- Naplók alapján gyanús kapcsolatok követésére.
Bár a UFW nem old meg minden biztonsági problémát, jelentősen csökkenti a támadási felületet. Erős jelszavakkal, SSH kulcsos beléptetéssel, rendszeres frissítésekkel, SSL/TLS konfigurációval és alkalmazásbiztonsággal kombinálva kiváló alapot nyújt. Ha weboldalt üzemeltet, a tűzfal mellett az SSL tanúsítvány használatát sem szabad elhanyagolni SSL tanúsítványok.
UFW, iptables és firewalld összehasonlítása
A Linux környezetben többféle tűzfalkezelő eszköz létezik. Bár a UFW, az iptables és a firewalld gyakran hasonló célt szolgál, használhatóságuk, támogatottságuk és felépítésük eltérő. Az alábbi táblázat segít a választásban:
| Eszköz | Előnyök | Kinek ajánlott? | Figyelmeztetés |
|---|---|---|---|
| UFW | Egyszerű parancsok, gyors telepítés, Ubuntu/Debian kompatibilitás | VPS felhasználók, webfejlesztők, kis- és középvállalkozások | Bonyolult hálózati szegmentációhoz kevésbé alkalmas |
| iptables | Részletes szabálykezelés | Haladó rendszergazdák | Hibás szabály esetén elérési problémák léphetnek fel |
| firewalld | Zóna alapú, dinamikus szabálykezelés | CentOS, AlmaLinux, Rocky Linux környezetek | Nem olyan egyszerű, zóna-konfiguráció tanulást igényel |
Ubuntu alapú web szerverekhez a UFW a legtöbb esetben elegendő. Nagyvállalati hálózatok vagy többrétegű biztonsági architektúrák esetén viszont a UFW-t érdemes kiegészíteni felhő alapú biztonsági csoportokkal, WAF-fel, IDS/IPS megoldásokkal és központi naplózással.
UFW telepítése és alapvető ellenőrzések
A UFW általában előre telepítve érkezik Ubuntu rendszereken, de érdemes ellenőrizni a jelenlétét a sudo ufw status parancs kiadásával. Ha "command not found" hibaüzenetet kap, telepíteni kell.
Telepítés Ubuntu és Debian rendszereken
Először frissítsük a csomaglistát: sudo apt update. Ezután telepítsük a UFW-t: sudo apt install ufw -y. Telepítés után ellenőrizzük a szolgáltatás állapotát: sudo systemctl status ufw. Lehet, hogy inaktívnak tűnik, amíg a szabályok nincsenek engedélyezve.
A szerver kezelésekor az első szabály megalkotásakor legyünk óvatosak. Távoli VPS esetén győződjünk meg róla, hogy az SSH port engedélyezve van, mielőtt aktiváljuk a UFW-t, különben elveszíthetjük a hozzáférést. Ha Hostragons VPS-t használ, célszerű a panel és konzol elérhetőséget előre feljegyezni VPS szerver.
Jelenlegi állapot megtekintése
A UFW állapotát részletesen a sudo ufw status verbose paranccsal tekinthetjük meg. A szabályok sorszámozott listájához használjuk a sudo ufw status numbered parancsot. Ez megkönnyíti a szabályok törlését: például egy véletlenül megnyitott port eltávolításához először megkeressük a számát, majd sudo ufw delete 3 parancsal töröljük.
Biztonságos alapbeállítások: alapértelmezett szabályok
Új Linux szerver esetén a legbiztonságosabb alapmodell: alapértelmezés szerint tiltsuk a bejövő forgalmat, engedélyezzük a kimenőt, és csak a szükséges portokat nyissuk meg. Ez az ún. legkisebb jogosultság elvének felel meg.
Az alapvető parancsok:
sudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow OpenSSHvagysudo ufw allow 22/tcpsudo ufw enablesudo ufw status verbose
Kritikus az SSH hozzáférés fenntartása. Ha az SSH nem az alapértelmezett 22-es porton fut (például 2222-n), akkor aktiválás előtt futtassuk a sudo ufw allow 2222/tcp parancsot. Az SSH port megváltoztatása önmagában nem jelent teljes biztonságot, de csökkentheti az automatikus próbálkozásokat. Ennél fontosabb, hogy csak kulcs alapú belépést engedélyezzünk és a jelszavas bejelentkezést tiltsuk.
SSH hozzáférés biztonságossá tétele
Az SSH a szerver adminisztrációs kapuja, ezért a UFW konfiguráció egyik legfontosabb eleme. Ha bárki bárhonnan eléri az SSH portot, az automatizált támadók gyorsan megpróbálkoznak a bejutással.
SSH port engedélyezése
Alapértelmezett port esetén ez a legegyszerűbb: sudo ufw allow 22/tcp. Ubuntu alkalmazásprofilok esetén használhatjuk a sudo ufw allow OpenSSH parancsot is. Ha más portot használunk, például 2222-t, akkor sudo ufw allow 2222/tcp a megfelelő.
SSH hozzáférés korlátozása IP-címek szerint
Az egyik legbiztonságosabb megoldás, ha az SSH-t csak fix, megbízható IP-címekről engedélyezzük. Ha például irodánk IP-je 203.0.113.10, akkor a következő parancsot adjuk ki:
sudo ufw allow from 203.0.113.10 to any port 22 proto tcp
Így az SSH port nem lesz nyitva általánosan az internet felé.
Több adminisztrátor esetén minden IP-hez külön szabályt kell hozzáadni. Ha dinamikus IP-t használunk, ez a módszer nehézkes lehet, mert IP váltás esetén megszakadhat a kapcsolat. Ilyenkor érdemes VPN-t, bastion hostot vagy a szolgáltató konzolját használni a hozzáféréshez.
Brute force támadások korlátozása
A UFW limit parancsa segít csökkenteni a túl sok ismétlődő csatlakozási kísérletet: sudo ufw limit 22/tcp. Ez megakadályozza, hogy ugyanarról az IP-ről túl gyorsan érkezzenek az SSH próbálkozások. Azonban ez nem helyettesíti a fail2ban vagy hasonló eszközöket, melyek aktív védekezést biztosítanak. Termelési környezetben érdemes kombinálni a UFW limitet, fail2bant, kulcsos belépést és erős jelszópolitikát.
Web szerver portok megnyitása: HTTP és HTTPS
Weboldal közzétételéhez jellemzően a 80-as (HTTP) és 443-as (HTTPS) TCP portokat kell megnyitni. A HTTPS mára alapkövetelmény a keresőoptimalizálás, böngészőbiztonság és felhasználói bizalom miatt. SSL tanúsítvány hiányában az oldal biztonsági figyelmeztetéseket kap, és az átalakulási arány is csökkenhet SSL tanúsítványok.
Alapvető szabályok Nginx vagy Apache szerverekhez
HTTP esetén használjuk: sudo ufw allow 80/tcp, HTTPS esetén: sudo ufw allow 443/tcp. Egyes adminisztrátorok olvashatóság miatt külön kezelik a portokat, nem egyszerre nyitják meg őket.
A UFW alkalmazásprofilokat is támogatja. A sudo ufw app list paranccsal megtekinthetjük az elérhető profilokat. Nginx esetén például az Nginx Full profil engedélyezi a HTTP és HTTPS forgalmat egyaránt: sudo ufw allow "Nginx Full". Apache esetén hasonlóan elérhető az Apache Full profil.
Elég csak HTTPS-t használni?
Technikai szempontból lehetséges, hogy az oldal kizárólag HTTPS-en fusson; azonban a tanúsítvány megújításához (pl. Let's Encrypt) és a HTTP-ről HTTPS-re történő átirányításhoz a 80-as port nyitva tartása szükséges. Ezért a gyakorlatban érdemes mindkét portot kezelni, és a web szerveren minden HTTP kérést 301-es átirányítással a HTTPS-re irányítani.
Egyedi portok, adatbázisok és adminisztrációs panelek kezelése
Az összes port megnyitása könnyű, az igazi szakértelem az, hogy mely portokat ne nyissuk meg. Például a MySQL (3306), PostgreSQL (5432), Redis (6379) vagy Elasticsearch (9200) portjait soha ne hagyjuk nyitva az internet felé, mert komoly biztonsági kockázatot jelentenek. Ezeket a szolgáltatásokat lehetőleg csak localhost-on vagy zárt hálózaton belül érhetővé kell tenni.
Port megnyitása egy adott IP-nek
Ha például az alkalmazás szerverének engedélyeznénk hozzáférést az adatbázis szerverhez, IP alapú szabályt kell alkalmazni:
sudo ufw allow from 198.51.100.25 to any port 5432 proto tcp
Ezzel a PostgreSQL csak az adott IP-címről lesz elérhető.
Például rossz gyakorlat a sudo ufw allow 5432/tcp parancs használata nyilvános adatbázis szerveren, mert ez felesleges támadási felületet jelent. Mindig korlátozzuk a forrás IP-ket az adatbázisok, kezelőpanelek és belső szolgáltatások esetén.
Figyelem a cPanel, Plesk és egyéb adminisztrációs panelek esetén
Az ilyen hosting vezérlőpanelek több portot is használnak. Ha Plesk-et, cPanel-t vagy egyedi admin felületet üzemeltet, telepítés előtt ellenőrizzük a szükséges portokat, nehogy a tűzfal blokkolja az e-mail, DNS, FTP vagy panel hozzáférést. Felügyelt hosting esetén az ilyen beállításokat általában a szolgáltató intézi Webtárhely.
Szabályok törlése, módosítása és sorrendiségének jelentősége
A UFW szabálykezelése egyszerű, de éles környezetben fontos a változtatások dokumentálása. Először listázzuk a szabályokat sorszámozva: sudo ufw status numbered. A törölni kívánt szabály számát megkeresve használjuk a sudo ufw delete 5 parancsot.
Lehetőség van közvetlen szabálytörlésre is, például: sudo ufw delete allow 8080/tcp eltávolítja a 8080-as port engedélyezését. Az IP alapú bonyolult szabályok esetén a sorszám szerinti törlés biztonságosabb.
A szabályok sorrendje különösen fontos, ha engedélyező és tiltó szabályokat együtt használunk. Ha például egy adott IP-t azonnal tiltani akarunk, érdemes az insert parancs segítségével a szabályt a lista elejére tenni:
sudo ufw insert 1 deny from 203.0.113.55
Ezzel gyorsan blokkolhatók a rosszindulatú vagy visszaélő IP-címek.
UFW naplók és forgalomfigyelés
A tűzfal nem csak portnyitásra való, hanem a hálózati aktivitás megértésére is. A naplózást a sudo ufw logging on paranccsal aktiválhatjuk. A naplózási szintet beállíthatjuk low, medium, high vagy full értékekre, alapból a low a javasolt.
A naplókat a /var/log/ufw.log fájlban találhatjuk. Például a sudo tail -f /var/log/ufw.log parancs folyamatosan mutatja az utolsó bejegyzéseket. Itt láthatjuk az elutasított kapcsolódási kísérletek IP-címeit, célportokat és protokollokat. Ha rövid időn belül több száz különböző IP próbálkozik a 22-es porton, érdemes szigorítani a SSH védelmet.
A folyamatos magas szintű naplózás megnövelheti a lemezhasználatot, ezért forgalmas szervereken érdemes naplóforgatást, központi naplózást és riasztórendszert bevezetni. Vállalati környezetben nem elég csak tárolni a naplókat, hanem értelmesen elemezni is kell őket.
IPv6 támogatás UFW-ben
2026-tól az IPv6 támogatás a legtöbb adatközpontban alapértelmezett. Egyes rendszergazdák azonban csak az IPv4 szabályokat kezelik, ami biztonsági rést eredményezhet. Ha szervere IPv6 címmel rendelkezik, győződjön meg róla, hogy a UFW azt is kezeli.
Ellenőrzéshez nézze meg az /etc/default/ufw fájlban az IPV6=yes sort. Ha módosítja, a UFW-t újra kell indítani:
sudo ufw disable majd sudo ufw enable.
A sudo ufw status kimenetben ha v6-os szabályokat lát, az azt jelenti, hogy az IPv6 forgalmat is kezeli.
Ha nem használ IPv6-ot, ne kapcsolja ki automatikusan, előtte vizsgálja meg a szolgáltatói és alkalmazáskövetelményeket. Hibás IPv6 beállítás miatt előfordulhat, hogy egy bezárt IPv4 szolgáltatás az IPv6-on keresztül elérhető marad, ami gyakori, de nehezen észrevehető biztonsági hiba.
Miért viselkedhet másként a UFW Docker használata esetén?
A Docker a konténerek portjait megnyitáskor közvetlenül módosítja az iptables szabályokat. Ez meglepő lehet a UFW használók számára, mert egy tűzfalilag zártnak tűnő port valójában elérhető lehet a Docker beállításai miatt. Például a docker run -p 8080:80 parancs a konténer 80-as portját a host 8080-as portján teszi elérhetővé.
Dockerrel üzemeltetett szervereken érdemes az alábbiakat ellenőrizni:
- Vizsgáljuk meg a
docker pskimenetéből, mely portok vannak kitéve. - Távolítsuk el a felesleges
-pvagy ports beállításokat. - Fontoljuk meg, hogy a szolgáltatásokat csak a
127.0.0.1címen tegyük elérhetővé. - Ellenőrizzük együtt a felhő biztonsági csoportjait és a UFW szabályokat.
- Termelési környezetben inkább reverse proxy mögött kezeljük a forgalmat.
A konténeres környezetek biztonsága nem csak a UFW parancsoktól függ, hanem a Docker hálózatok, image biztonság, titkosítási kulcsok kezelése és frissítési stratégiák együttes tervezését igényli. Nagy forgalmú alkalmazások esetén a megfelelő szerverválasztás is kritikus Dedikált szerver.
Hasznos UFW biztonsági ellenőrző lista
Az alábbi lista gyors és praktikus kiindulópont egy frissen telepített Linux szerverhez. Különösen webprojektek, API-k, e-kereskedelmi oldalak vagy ügyfélpanelek indítása előtt érdemes végignézni a pontokat a biztonsági kockázatok és leállások minimalizálása érdekében.
- Frissítse a szervert:
sudo apt update && sudo apt upgrade -y. - Tesztelje az SSH hozzáférést, és ha lehet, hagyjon nyitva egy második terminálablakot.
- Állítsa be az alapértelmezett bejövő forgalom tiltását:
sudo ufw default deny incoming. - Engedélyezze az alapértelmezett kimenő forgalmat:
sudo ufw default allow outgoing. - Adjon hozzá SSH port engedélyt vagy IP korlátozást.
- Nyissa meg csak a 80-as és 443-as portokat a web szerverhez.
- Ne tegye nyilvánosan elérhetővé az adatbázis portokat.
- Aktiválja a UFW-t:
sudo ufw enable. - Ellenőrizze a szabályokat:
sudo ufw status verboseéssudo ufw status numbered. - Kapcsolja be a naplózást, és az első 24 órában figyelje a gyanús forgalmat.
- Nézze át az IPv6 szabályokat.
- Docker vagy admin panel használata esetén tesztelje a portok hatását.
Konkrét példa: WordPress szerver UFW beállítása
Tegyük fel, hogy egy Ubuntu szerveren fut egyetlen WordPress oldal Nginx, PHP-FPM és MySQL szolgáltatásokkal. A MySQL csak localhoston hallgatózik, az oldal HTTPS-en érhető el, az SSH pedig csak admin IP-címről hozzáférhető. Ebben az esetben a UFW konfiguráció:
sudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow from 203.0.113.10 to any port 22 proto tcpsudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw logging onsudo ufw enablesudo ufw status verbose
Ezzel a konfigurációval az SSH nem mindenki számára elérhető, a webes portok nyitva vannak, az adatbázis pedig védett. A WordPress oldal biztonságát tovább növelik a biztonsági bővítmények, erős admin jelszavak, naprakész témák és bővítmények, rendszeres mentések és SSL használata. A domain kezelés és DNS helyes beállítása is kulcsfontosságú a megbízhatóság szempontjából Domain ellenőrzés.
Gyakori hibák és megoldások
UFW bekapcsolása után megszakad az SSH kapcsolat
Ez rendszerint akkor történik, ha az SSH port engedélyezése előtt aktiváljuk a UFW-t. Ha van konzol hozzáférése a szolgáltató paneljén keresztül, csatlakozzon és adjon hozzá engedélyt az SSH porthoz (sudo ufw allow 22/tcp vagy a használt port). Ha nincs konzol, a szolgáltató ügyfélszolgálatához kell fordulni. Mindig győződjön meg róla, hogy a UFW aktiválása előtt az SSH szabályok be vannak állítva.
Weboldal nem elérhető
Ha az Nginx vagy Apache fut, de a 80-as és 443-as portok zártak, az oldal nem lesz elérhető. Ellenőrizze a portokat a sudo ufw status verbose paranccsal, és győződjön meg arról is, hogy a web szerver ténylegesen ezeken a portokon hallgatózik a ss -tulpn parancs segítségével. Fontos az is, hogy a DNS rekordok helyesen legyenek beállítva DNS kezelés.
E-mail szolgáltatások nem működnek
E-mail szerverek több portot használnak (SMTP, IMAP, POP3 és ezek biztonságos változatai). Ilyen portok például: 25, 465, 587, 993, 995. Ha e-mail szolgáltatást is üzemeltet, ezeket a portokat a tűzfalon engedélyezni kell, vagy a szolgáltató kezeli ezeket a beállításokat vállalati e-mail tárhely.
Új szabály hozzáadása után nem történik változás
Ennek oka lehet rossz port vagy protokoll megadása, Docker beállítások által módosított iptables szabályok, felhő biztonsági csoportok vagy a szolgáltatás más porton való hallgatózása. A tűzfal csak a hálózati forgalmat szűri, ha maga a szolgáltatás nem fut, akkor hiába nyitott a port, nem érhető el. Ezért mindig ellenőrizze a szolgáltatás állapotát és a hálózati szabályokat együtt.
2026-ra ajánlott legjobb UFW biztonsági gyakorlatok
Az aktuális biztonság nem merül ki néhány port bezárásában. A 2026-os évre a következő alapelvek mentén érdemes kialakítani a UFW konfigurációt:
- Legkisebb jogosultság elve: csak a ténylegesen szükséges portokat nyissa meg.
- Erős hitelesítés: SSH-nál használjon kulcsalapú belépést.
- IP korlátozás: adminisztrációs portokat csak fix IP vagy VPN mögé tegye.
- Átláthatóság: rendszeresen ellenőrizze a UFW és rendszer naplókat.
- Vészhelyzeti hozzáférés: tartson fenn konzol vagy mentési eljárást hibás szabály esetére.
- Többrétegű védelem: használja a UFW-t WAF, SSL, rendszerfrissítés, biztonsági mentés és alkalmazásvédelem mellett.
- Dokumentáció: minden szabályhoz írja le, miért került beállításra.
Egy jól konfigurált tűzfal elengedhetetlen része a gyors, megbízható hosting infrastruktúrának. Ahogy növekszik a forgalom és az igények, nem csak a portszabályokat, hanem az erőforrás-kezelést, mentéseket, CDN-t, SSL-t és monitoringot is tervezni kell Hosting csomagok.
Gyakran ismételt kérdések
A UFW aktiválása teljesen biztonságossá teszi a szerveremet?
Nem. A UFW csökkenti a támadási felületet azzal, hogy lezárja a felesleges portokat, de önmagában nem nyújt teljes védelmet. A rendszeres frissítések, SSH kulcs alapú belépés, erős jelszavak, SSL, biztonsági mentések és alkalmazásbiztonság mind elengedhetetlenek.
Elég csak a 80-as és 443-as portokat megnyitni UFW-vel?
Weboldalak esetén általában igen, azonban az SSH-hoz (22-es vagy egyedi port) is biztosítani kell a biztonságos hozzáférést. Az adatbázisok és admin panelek portjait lehetőleg IP-alapúan kell korlátozni.
Az SSH port megváltoztatása növeli a biztonságot?
Ez csökkentheti az automatikus botok támadásait, de önmagában nem jelent komoly védelmet. Sokkal hatékonyabb a kulcsalapú autentikáció, jelszótiltás, IP korlátozás, valamint a UFW limit vagy fail2ban használata.
A UFW kezeli a Docker konténerek portjait is?
Nem mindig a várt módon. A Docker közvetlenül módosítja az iptables szabályokat, ezért a Docker által nyitott portokat és a UFW szabályokat együtt kell ellenőrizni.
Fontos az IPv6 beállításainak ellenőrzése UFW használatakor?
Igen, ha a szerver IPv6 címmel rendelkezik, győződjön meg róla, hogy a UFW kezeli az IPv6 forgalmat is. Ellenőrizze az /etc/default/ufw fájlt és a sudo ufw status kimenetben az IPv6 szabályokat.
Összefoglalva, a Linux szervereken a UFW-vel gyorsan, érthetően és hatékonyan kezelhető a tűzfal. A megfelelő alapbeállítások, SSH védelem, webes portok szabályozása és naplózás jelentősen csökkenti a támadási felületet. Új projekt indításakor mindig tervezze meg a biztonságos hoszting környezetet, az SSL használatot és a rendszeres karbantartást. Ha segítségre van szüksége, nézze meg a Hostragons megoldásait, és építse fel fokozatosan a biztonsági konfigurációt a növekedési céloknak megfelelően.