Weboldal keresés

Az UFW tűzfal beállítása Ubuntu és Debian rendszeren


A megfelelően működő tűzfal a teljes Linux rendszerbiztonság legfontosabb része. A Debian és az Ubuntu disztribúció alapértelmezés szerint az UFW (Uncomplicated Firewall) nevű tűzfalkonfigurációs eszközzel érkezik. Ez a legnépszerűbb és legkönnyebben használható parancssori eszköz a konfiguráláshoz tűzfal kezelése Ubuntu és Debian disztribúciókon.

Ebben a cikkben elmagyarázzuk, hogyan telepíthet és állíthat be UFW tűzfalat Ubuntu és Debian disztribúciókon.

Előfeltételek

Mielőtt elkezdené ezt a cikket, győződjön meg arról, hogy sudo felhasználóval vagy root fiókkal jelentkezett be az Ubuntu vagy Debian kiszolgálóra. Ha nem rendelkezik sudo felhasználóval, root felhasználóként a következő utasítások segítségével hozhat létre egyet.

adduser username
usermod -aG sudo username 
su - username
sudo whoami

Telepítse az UFW tűzfalat Ubuntu és Debian rendszerre

Az UFW-t (Uncomplicated Firewall) alapértelmezés szerint telepíteni kell az Ubuntuban és a Debianban, ha nem, telepítse az APT csomagkezelővel a következő paranccsal.

sudo apt install ufw

Ellenőrizze az UFW tűzfalat

A telepítés befejezése után gépeléssel ellenőrizheti az UFW állapotát.

sudo ufw status verbose

Első telepítéskor az UFW tűzfal alapértelmezés szerint le van tiltva, a kimenet hasonló lesz az alábbiakhoz.

Status: inactive

Engedélyezze az UFW tűzfalat

Az UFW tűzfalat a következő paranccsal aktiválhatja vagy engedélyezheti, amely betölti a tűzfalat, és lehetővé teszi a rendszerindításkor való elindulását.

sudo ufw enable

Az UFW tűzfal letiltásához használja a következő parancsot, amely eltávolítja a tűzfalat, és letiltja a rendszerindításkor való elindulását.

sudo ufw disable 

UFW alapértelmezett irányelvei

Alapértelmezés szerint az UFW tűzfal minden bejövő kapcsolatot megtagad, és csak az összes kimenő kapcsolatot engedélyezi a szerver felé. Ez azt jelenti, hogy senki sem férhet hozzá a szerveréhez, hacsak nem nyitja meg kifejezetten a portot, miközben a szerveren futó összes szolgáltatás vagy alkalmazás hozzáférhet a külső hálózathoz.

Az alapértelmezett UFW tűzfalszabályok az /etc/default/ufw fájlba kerülnek, és a következő paranccsal módosíthatók.

sudo ufw default deny incoming
sudo ufw default allow outgoing

UFW alkalmazásprofilok

Amikor egy szoftvercsomagot az APT csomagkezelő használatával telepít, az tartalmazni fog egy alkalmazásprofilt az /etc/ufw/applications.d könyvtárban, amely meghatározza a szolgáltatást és az UFW-beállításokat.

A következő paranccsal listázhatja az összes elérhető alkalmazásprofilt a szerveren.

sudo ufw app list

A rendszeren telepített szoftvercsomagoktól függően a kimenet a következőhöz hasonlóan fog kinézni:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

Ha többet szeretne megtudni egy adott profilról és meghatározott szabályokról, használja a következő parancsot.

sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

IPv6 engedélyezése UFW-vel

Ha a szervere IPv6 protokollal van konfigurálva, győződjön meg arról, hogy az UFW IPv6 és IPv4 támogatással van konfigurálva. Az ellenőrzéshez nyissa meg az UFW konfigurációs fájlt kedvenc szerkesztője segítségével.

sudo vi /etc/default/ufw

Ezután győződjön meg arról, hogy az „IPV6” „igen” értékre van állítva a konfigurációs fájlban az ábrán látható módon.

IPV6=yes

Mentés és kilépés. Ezután indítsa újra a tűzfalat a következő parancsokkal:

sudo ufw disable
sudo ufw enable

SSH-kapcsolatok engedélyezése az UFW-n

Ha mostanra engedélyezte az UFW tűzfalat, az blokkolna minden bejövő kapcsolatot, és ha távoli helyről csatlakozik a kiszolgálóhoz SSH-n keresztül, többé nem tudja újra csatlakozni.

Engedélyezzük az SSH-kapcsolatokat a szerverünkhöz, hogy ez ne történhessen meg a következő paranccsal:

sudo ufw allow ssh

Ha egyéni SSH-portot használ (például a 2222-es portot), akkor a következő paranccsal meg kell nyitnia azt a portot az UFW tűzfalon.

sudo ufw allow 2222/tcp

Az összes SSH-kapcsolat blokkolásához írja be a következő parancsot.

sudo ufw deny ssh/tcp
sudo ufw deny 2222/tcp  [If using custom SSH port]

Adott portok engedélyezése az UFW-n

Megnyithat egy adott portot a tűzfalban, hogy ezen keresztül kapcsolódhasson egy bizonyos szolgáltatáshoz. Például, ha olyan webszervert szeretne beállítani, amely a 80 (HTTP) és a 443 (HTTPS) porton figyel >) alapértelmezés szerint.

Az alábbiakban bemutatunk néhány példát arra, hogyan lehet engedélyezni az Apache szolgáltatásokhoz való bejövő kapcsolatokat.

Nyissa meg a 80-as HTTP-portot az UFW-n
sudo ufw allow http     [By service name]
sudo ufw allow 80/tcp   [By port number]
sudo ufw allow 'Apache' [By application profile]
Nyissa meg a 443-as HTTPS-portot az UFW-n
sudo ufw allow https
sudo ufw allow 443/tcp
sudo ufw allow 'Apache Secure'

Porttartományok engedélyezése az UFW-n

Feltéve, hogy vannak olyan alkalmazásai, amelyeket több porton (5000-5003) szeretne futtatni, ezeket a portokat a következő parancsok segítségével adhatja hozzá.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

Adott IP-címek engedélyezése

Ha engedélyezni szeretné a kapcsolatokat az összes porton egy adott 192.168.56.1 IP-címről, akkor az IP-cím előtt kell megadnia.

sudo ufw allow from 192.168.56.1

Adott IP-címek engedélyezése adott porton

Ha engedélyezni szeretné a csatlakozást egy adott porton (például a 22-es porton) otthoni gépéről 192.168.56.1 IP-címmel, akkor hozzá kell adnia bármely portot< és a portszám az IP-cím után, ahogy az ábrán látható.

sudo ufw allow from 192.168.56.1 to any port 22

Engedélyezze a hálózati alhálózatokat egy adott porthoz

Kapcsolódás engedélyezése bizonyos IP-címekhez (192.168.1.1 és 192.168.1.254) a 22 portig (SSH) , futtassa a következő parancsot.

sudo ufw allow from 192.168.1.0/24 to any port 22

Adott hálózati interfész engedélyezése

Ha egy adott 22-es porthoz (SSH) szeretne kapcsolatot engedélyezni az eth2 hálózati interfészhez, futtassa a következő parancsot.

sudo ufw allow in on eth2 to any port 22

Kapcsolatok megtagadása az UFW-n

Alapértelmezés szerint minden bejövő kapcsolat blokkolva van, hacsak nem nyitotta meg kifejezetten a kapcsolatot az UFW-n. Például megnyitotta a 80 és a 443 portot, és webszerverét a 11.12.13.0/24 ismeretlen hálózat támadása érte.

A következő parancs segítségével blokkolhatja az összes kapcsolatot ebből a bizonyos 11.12.13.0/24 hálózati tartományból.

sudo ufw deny from 11.12.13.0/24

Ha csak a 80 és a 443 porton szeretné letiltani a kapcsolatokat, használhatja a következő parancsokat.

sudo ufw deny from 11.12.13.0/24 to any port 80
sudo ufw deny from 11.12.13.0/24 to any port 443

Törölje az UFW szabályokat

Az UFW-szabályok törlésének két módja van, a szabályszám és a tényleges szabály alapján.

Ha törölni szeretne egy UFW-szabályt a szabályszám használatával, először listáznia kell a szabályokat számok szerint a következő paranccsal.

sudo ufw status numbered
Minta kimenet
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere

Az 1 számú szabály törléséhez használja a következő parancsot.

sudo ufw delete 1

A második módszer egy szabály törlése a tényleges szabály használatával, például egy szabály törléséhez adja meg a portszámot a protokollal az ábra szerint.

sudo ufw delete allow 22/tcp

Dry Run UFW szabályok

A --dry-run jelző használatával bármilyen ufw parancsot lefuttathat anélkül, hogy ténylegesen változtatásokat hajtana végre a rendszer tűzfalán, ez egyszerűen megmutatja a feltételezett változtatásokat.

sudo ufw --dry-run enable

Állítsa vissza az UFW tűzfalat

Ha valamelyik tűzfalszabályt törölni/vissza akarja állítani, írja be a következő parancsokat, és az összes módosítást visszaállítja, és újraindul.

sudo ufw reset
sudo ufw status

UFW speciális funkciók

Az UFW tűzfal bármire képes, amit az iptables. Ez megtehető különböző szabályfájlokkal, amelyek nem más, mint egyszerű iptables-restore szövegfájlok.

Az UFW tűzfal hangolása vagy további iptables parancsok hozzáadása nem engedélyezett ufw paranccsal, csak a következő szövegfájlok módosítása szükséges

  • /etc/default/ufw: A fő konfigurációs fájl előre meghatározott szabályokkal.
  • /etc/ufw/before[6].rules: Ebben a fájlban a szabályok kiszámítása az ufw paranccsal történő hozzáadása előtt történik.
  • /etc/ufw/after[6].rules: Ebben a fájlban a szabályok az ufw paranccsal történő hozzáadása után kerülnek kiszámításra.
  • /etc/ufw/sysctl.conf: Ez a fájl a kernelhálózat hangolására szolgál.
  • /etc/ufw/ufw.conf: Ez a fájl engedélyezi az ufw-t rendszerindításkor.

Ez az! Az UFW egy kiváló kezelőfelület az iptables-hoz, felhasználóbarát felülettel, amellyel összetett szabályokat határozhat meg egyetlen ufw paranccsal.

Ha bármilyen kérdése vagy gondolata van ezzel az ufw cikkel kapcsolatban, használja az alábbi megjegyzés űrlapot, hogy kapcsolatba lépjen velünk.