Hogyan állítsunk be tűzfalat az Ubuntu szerveren
Megjelent: 2025. február 15. 21:33:45 UTC
Utolsó frissítés: 2026. január 12. 8:37:03 UTC
Ez a cikk elmagyarázza és néhány példát is mutat arra, hogyan állíthatunk be tűzfalat GNU/Linux rendszeren az ufw használatával, ami az Uncomplicated FireWall rövidítése – és a név találó, ez valóban egy nagyon egyszerű módja annak, hogy megbizonyosodjunk arról, hogy nincs több nyitott portunk, mint amennyire szükségünk van.
How to Set Up a Firewall on Ubuntu Server
A bejegyzésben szereplő információk az Ubuntu Server 14.04 x64-en alapulnak. Előfordulhat, hogy más verziókra nem. (Frissítés: Megerősíthetem, hogy a bejegyzésben szereplő információk alapvetően továbbra is érvényesek és működőképesek az Ubuntu Server 24.04-ben, azonban az elmúlt 10 évben az ufw némileg „okosabb” lett azáltal, hogy profilokat készített a gyakori szerveralkalmazásokhoz (például engedélyezheti a „teljes Nginx”-et a 80-as és 443-as portok külön használata helyett), és a teljes tűzfal letiltása/engedélyezése az új szabályok alkalmazásához már nem szükséges.)
Amikor először kezdtem GNU/Linux (Ubuntu) szerverekkel dolgozni, egy tűzfal beállítása magában foglalta egy potenciálisan összetett iptables konfigurációs fájl manuális létrehozását és karbantartását. Nemrég azonban felfedeztem az ufw-t, ami az Uncomplicated Firewall rövidítése – és valóban az :-)
Az Ubuntu Server 14.04 telepítésemben már telepítve volt az ufw, de ha a tiéd nem, egyszerűen telepítsd a tárolókból:
Az UFW valójában csak egy eszköz, ami leegyszerűsíti az iptables konfigurációját – a színfalak mögött továbbra is az iptables és a Linux kernel tűzfal végzi a szűrést, így az ufw nem kevésbé és nem is biztonságosabb ezeknél. Mivel azonban az ufw sokkal könnyebbé teszi a tűzfal helyes konfigurálását, csökkentheti az emberi hiba kockázatát, és így valószínűleg biztonságosabb a tapasztalatlan rendszergazdák számára.
Ha a szervered IPv6 és IPv4 protokollal is konfigurálva van, akkor győződj meg arról, hogy ez az UFW esetében is engedélyezve van. Szerkeszd az /etc/default/ufw fájlt, és keresd meg az IPV6=yes sort. Az én telepítésemben már ott volt, de ha nem, vagy ha nemet ír ki, akkor szerkesztened kell.
Ezután egyszerűen használd a parancssort a megnyitni kívánt portok engedélyezéséhez. Ha ssh-n keresztül csatlakozol a szerveredhez, akkor azt is engedélyezd, különben megszakadhat a kapcsolatod, és esetleg kizárhatsz a szerverről, amikor aktiválod – attól függően, hogy van-e fizikai hozzáférésed a szerverhez vagy sem, ez kissé kellemetlen lehet ;-)
Például, ha ssh-t használsz a szabványos 22-es porton, és egy olyan webkiszolgálót konfigurálsz, amely támogatja mind a titkosítatlan (HTTP a 80-as porton), mind a titkosított (HTTPS a 443-as porton) kapcsolatokat, akkor a következő parancsokat kell kiadnod az ufw konfigurálásához:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Ha további szabályokra van szüksége, egyszerűen adja hozzá őket a fentiek szerint.
Ha statikus IP-címed van, és csak egyetlen helyről szeretnél ssh-n keresztül csatlakozni, akkor az ssh-kapcsolatokat egyetlen forráscímre is korlátozhatod, például így:
Természetesen inkább a saját IP-címedet add meg.
Ha kész, engedélyezd az ufw-t a következő parancs kiadásával:
És kész is vagy! A tűzfal fut, és automatikusan elindul, amikor újraindítod a szervert :-)
Ha módosításokat hajt végre az ufw konfigurációjában, előfordulhat, hogy le kell tiltania, majd újra engedélyeznie kell a módosításokat a hatályba lépéshez, például így:
sudo ufw enable
A jelenlegi konfiguráció megtekintéséhez egyszerűen írja be:
Ha az ufw nincs engedélyezve, akkor egyszerűen egy „inaktív” üzenet jelenik meg, egyébként pedig a jelenleg definiált szabályokat listázza.
