Hogyan állítsunk be tűzfalat az Ubuntu szerveren
Megjelent: 2025. február 15. 21:33:45 UTC
Ez a cikk elmagyarázza és néhány példát mutat be, hogyan állíthat be tűzfalat GNU/Linux rendszeren az ufw használatával, ami az Uncomplicated FireWall rövidítése – és a név is találó, ez egy nagyon egyszerű módja annak, hogy megbizonyosodjon arról, hogy nincs több megnyitott port, mint amennyire szüksége van.
How to Set Up a Firewall on Ubuntu Server
A bejegyzésben található információk az Ubuntu Server 14.04 x64-en alapulnak. Lehet, hogy más verziókra érvényes, de lehet, hogy nem. (Frissítés: Megerősíthetem, hogy az ebben a bejegyzésben szereplő információk alapvetően még mindig érvényesek és működőképesek az Ubuntu Server 24.04-től, de a közbenső 10 év alatt az ufw némileg "okosabb" lett, mivel profiljai vannak a gyakori szerveralkalmazásokhoz (például engedélyezheti a "Nginx full" beállítást a 80-as és a 443-as portok külön-külön történő alkalmazásának engedélyezése és az új tűzfal letiltása helyett). hosszabb ideig szükséges)
Amikor először elkezdtem a GNU/Linux (Ubuntu) kiszolgálókkal, a tűzfal beállítása magában foglalta egy potenciálisan összetett konfigurációs fájl manuális létrehozását és karbantartását az iptables számára. Nemrég azonban felfedeztem az ufw-t , ami az Uncomplicated Firewall rövidítése – és tényleg az :-)
Az Ubuntu Server 14.04-es telepítésemben már telepítve volt az ufw, de ha nem, egyszerűen telepítse a tárolókból:
Az UFW valójában csak egy eszköz, amely 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űzfala végzi a szűrést, tehát az ufw nem kevésbé és nem biztonságosabb ezeknél. Mivel azonban az ufw sokkal könnyebbé teszi a tűzfal helyes beállítását, csökkentheti az emberi hibák kockázatát, és ezért valószínűleg biztonságosabb a tapasztalatlan rendszergazdák számára.
Ha a szervere IPv6-tal és IPv4-gyel is be van állítva, győződjön meg arról, hogy ez az UFW számára is engedélyezve van. Szerkessze az /etc/default/ufw fájlt, és keressen egy IPV6=yes sort. Az én telepítésemen már ott volt, de ha nem, vagy ha nemet mond, akkor szerkessze
Ezután egyszerűen használja a parancssort a megnyitni kívánt portok engedélyezéséhez. Ha ssh-n keresztül csatlakozik a szerveréhez, feltétlenül engedélyezze ezt is, különben megszakíthatja a kapcsolatot, és kizárhatja a szerverről, amikor aktiválja azt – attól függően, hogy van-e fizikai hozzáférése a szerverhez vagy sem, ez kissé kényelmetlen lehet ;-)
Például, ha az ssh-t a szabványos 22-es porton használja, és olyan webszervert konfigurál, amely támogatja a titkosítatlan (HTTP a 80-as porton) és a titkosított (HTTPS a 443-as porton) kapcsolatokat, akkor a következő parancsokat kell kiadnia 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íme van, és csak egy helyről kell ssh-n keresztül csatlakoznia, akkor az ssh-kapcsolatokat egyetlen eredetcímre is korlátozhatja, például a következőképpen:
Természetesen helyette adja meg a saját IP-címét.
Ha kész, engedélyezze az ufw-t a következő beírásával:
És kész! A tűzfal fut, és a szerver újraindításakor automatikusan elindul :-)
Ha módosítja az ufw konfigurációt, előfordulhat, hogy le kell tiltania, majd újra engedélyeznie kell, hogy életbe lépjen, például:
sudo ufw enable
Az aktuális konfiguráció megtekintéséhez egyszerűen írja be:
Ha az ufw nincs engedélyezve, akkor ez egyszerűen „inaktív” üzenetet jelenít meg, ellenkező esetben a jelenleg definiált szabályokat sorolja fel.