Oktatóanyagok > Hogyan lehet beállítani és konfigurálni az UFW tűzfalat az Ubuntu 18.04-en?

Hogyan lehet beállítani és konfigurálni az UFW tűzfalat az Ubuntu 18.04-en?

Közzétéve: 09 szeptember 2020

Firewall Ubuntu

Bevezetés

Bármely Cloud Server működésében mindig található egy olyan védelmi eszköz, amely bizonyos szabályokra támaszkodva lehetővé teszi a szerver kommunikációját a világ felé. Ezt a szoftverkomponenst Tűzfalnak nevezik, és ez jelenti az első biztonsági szintet annak megakadályozására, hogy illetéktelen felhasználók hozzáférjenek a szerverhez, vagy egyszerűen annak biztosítására, hogy egy bizonyos szolgáltatás ne legyen hozzáférhető kívülről. 

Az UFW, az Uncomplicated Firewall rövidítése, az egyik leggyakrabban használt szoftver, amely egyszerű és intuitív módon kezeli a tűzfalat Linuxon, parancssorból.

Ebben az oktatóanyagban megtudhatja, hogyan kell helyesen beállítani és konfigurálni az UFW-t az Ubuntu 18.04 kiszolgálón.

Először csatlakozzon a szerverhez SSH kapcsolaton keresztül. Ha még nem tette meg, akkor ajánlott átböngésznie a Hogyan javítható az SSH biztonság az Ubuntu 18.04-en? útmutatónkat a folyamat megkezdése előtt. Helyi szerver esetén folytassa a következő lépéssel, és nyissa meg a szerver terminált.

Az UFW tűzfal telepítése

Az UFW egy előre telepített szoftver a legtöbb Linux disztribúcióban. Ha még nincs a rendszerén, akkor a következő parancs beírásával telepítheti:

 sudo apt-get install ufw 

Az UFW képes kezelni az alapértelmezés szerint engedélyezett IPV4-címeket és szükség esetén az IPV6-ot is. Ha engedélyeznie kell az IPV6-ot is, módosítsa ezt az opciót az "/ etc / default / ufw" fájlban.

A módosítás alkalmazásához nyissa meg a fájlt a nano szerkesztővel:

 sudo nano /etc/default/ufw 

Ezután állítsa az „IPV6” elemet „yes” értékre.

Enable IPV6

A szerkesztés befejezése után mentse el és zárja be a dokumentumot (CTRL + X / Y / Enter).

A változás a következő UFW újraindítással lép életbe. A tűzfal azonnali újraindításához és a módosítások életbelépéséhez írja be az alábbi parancsot:

 sudo ufw reload 

A tűzfal alapvető konfigurálása

Korai szakaszban minden típusú, kívülről érkező kommunikációt blokkolni kell a felhőszerver felé. A blokkolásukkal később könnyebbé válik a kommunikáció feloldása más gépekkel, amelyeket az IP alapján, vagy egyes portokon vagy szolgáltatásokon keresztül azonosítanak.

Ugyanígy engedélyezze a kiszolgáló kimenő forgalmát, hogy megbizonyosodjon arról, hogy a szerveren futó alkalmazások képesek-e lekérdezni külső szolgáltatásokat.

A kiszolgáló felé bármilyen típusú kommunikáció blokkolásához írja be az alábbi sort:

 sudo ufw default deny incoming 

A kiszolgálótól származó kimenő kommunikáció bármilyen formájának engedélyezéséhez írja be a következőt:

 sudo ufw default allow outgoing
Initial firewall settings

Az SSH kommunikáció engedélyezése

A szerverrel való interakció gyakran SSH kapcsolaton keresztül történik. Ez azonban az egyik olyan bejövő kapcsolat, ami alapból blokkolva van, éppen azért, mert megpróbál kommunikálni a szerver irányába.

Ezért hozzá kell adni az ilyen típusú kapcsolatot az UFW-szabályok közé, amelyek lehetővé teszik a tűzfalhoz korábban meghatározott szabványos házirendek felülírását.

Az SSH-kapcsolatok engedélyezéséhez a szerverhez írja be a két parancs egyikét:

sudo ufw allow ssh
sudo ufw allow 22

Az ok, hogy két különböző parancs használható azonos hatás elérésére, annak a ténynek köszönhető, hogy egy UFW konfigurációs fájlban összefüggés van az "ssh" szó és annak relatív portja között (22). Az összes társítás listája az "/ etc / services" fájl megnyitásával tekinthető meg.

nano /etc/services
Association of services and doors

Port vagy kapcsolat engedélyezése IP-címről

Nincs alapértelmezett szolgáltatás társítva az egyes portokhoz. Következésképpen, ahhoz, hogy engedélyezze a forgalmat az adott, a szokványostól eltérő porton, írja be az alábbit:

sudo ufw allow port_number

Megjegyzés: Cserélje a "port_number" szót a feloldáshoz szükséges portszámra.

Esetleges szabály hozzáadásával engedélyezheti a szerver és egy másik gép közötti forgalmat (kétirányú kommunikáció).

Ha be akarja fogadni az IP-címről érkező összes forgalmat a kommunikációs porttól függetlenül, írja be a következőt:

sudo ufw allow from ip_address 

Ha a kiszolgáló egyetlen portjára kívánja korlátozni a gép kommunikációját, használja a következő parancsot:

sudo ufw allow from ip_address to any port port_number

Megjegyzés: Cserélje az "ip_address" paramétert az engedélyezni kívánt gép IP-jére, a "port_number"-t pedig a "feloldandó" portra.

Például egy "87.197.5.125" IP-címmel rendelkező gép engedélyezéséhez a szerver SSH-kapcsolatához írja be a következőt:

sudo ufw allow from 87.197.5.125 to any port 22 

Portok tartományának engedélyezéséhez, a kommunikáció típusának (TCP vagy UDP) meghatározásához a végrehajtandó parancs a következő szintaxist tartja elfogadhatónak:

sudo ufw allow start_port:end_port/tcp
sudo ufw allow start_port:end_port/udp 

Megjegyzés: Cserélje ki a "start_port" szót a portszámra az intervallum kezdetére, a "end_port"-ot pedig az utoljára megadott portszámra.

Ha minden jól sikerült, az UFW üzenetben értesíti a szabály sikeres hozzáadásáról.

Port range added

Az UFW tűzfal engedélyezése indításkor

Pontosan azért, mert ez az első biztonsági réteg a szerver és a világháló között, fontos, hogy az UFW-t mindig a rendszer indításakor futtassa.

Az automatikus tűzfalfuttatás engedélyezéséhez gépelje be a következő parancsot:

sudo ufw enable

Megjegyzés: Ez a parancs ideiglenes SSH-bontást okozhat. Ezért a végrehajtás előtt győződjön meg arról, hogy engedélyezte az SSH kapcsolatot a tűzfalszabályok között a fentiek szerint. 

A parancs végrehajtása után azonnal értesül a kért változásról. Írja be az "y" -t, és nyomja meg az "Enter" billentyűt.

UFW enable

HTTP, HTTPS és FTP kérések engedélyezése

A HTTP és a HTTPS olyan protokollok, amelyek meghatározott portokon kommunikálnak: ahogy az SSH a 22-es porton keresztül kommunikál, a HTTP-nek a 80-as, míg a HTTPS-nek a 443-as portra van szüksége.

A HTTP-kommunikáció engedélyezéséhez írja be a két parancs egyikét:

sudo ufw allow http
sudo ufw allow 80

Hasonlóképpen, a HTTPS esetén az alábbi egyikét írja be:

sudo ufw allow https
sudo ufw allow 443

Az FTP a 21-es porton keresztül működő fájlátviteli protokoll. Az ilyen típusú kommunikáció engedélyezéséhez hajtsa végre az alábbi parancsok egyikét:

sudo ufw allow ftp
sudo ufw allow 21/tcp

Meglévő kapcsolat megtagadása

Ha az útmutató elején ajánlottaknak megfelelően a kiszolgálóval való összes kapcsolat meg lett tagadva, akkor ezen a ponton csak a szabályok közé adott portokon keresztül lehet kommunikálni a szerverrel.

Azonban néha hasznos lehet bizonyos kapcsolatok megtagadása egy adott porton vagy IP-cím alapján, mivel a kiszolgálót onnan támadhatják meg. Ebben az esetben használja ugyanazt a szintaxist, amelyet a kommunikáció engedélyezéséhez használt, azonban az allow opciót cserélje le deny-ra.

Feltéve, hogy meg akarja tiltani a HTTP-kapcsolatot, írja be a következő parancsot:

sudo ufw deny http
Example cancellation rules

Hasonlóképpen, annak érdekében, hogy ne engedje meg a kommunikációt egy adott gépről, egyszerűen tagadja meg a hozzáférését:

sudo ufw deny from ip_address

Megjegyzés: Cserélje le az "ip_address" szót a blokkolni kívánt gép IP-jére.

Meglévő szabályok megtekintése és törlése

A kiszolgálón az UFW-hez meghatározott szabályok összefoglalójának megtekintéséhez egyszerűen hívja meg az alábbi parancsot:

sudo ufw status numbered 
Rules List

Ez a parancs megmutatja a tűzfal számára létrehozott szabályok listáját, mindegyiket egyedi számmal azonosítva.

Egy szabály törléséhez használja a delete parancsot.

Például a HTTPS kommunikációra vonatkozó szabály (2-es számú) törléséhez a következő parancsot kell végrehajtani:

sudo ufw delete 2 

A törlés előtt megerősítésére van szükség. Ha meg kívánja erősíteni a parancsot, írja be az "y", majd nyomja meg az "Enter"-t . Ha mégsem akarja törölni, írja be az "n" karaktert a művelet megszakításához.

Ez a művelet megszakítja az IPV4 HTTPS kommunikációját, az IPV6 esetében azonban nem (amelyet az előző képernyőképen a 6. számú szabály képvisel). Valójában az összes korábban létrehozott szabályt létrehozták mind az IPV4, mind az IPV6 esetében: ahol a "(v6)" szabályok az IPV6 szabályai.

Az IPV6-ra vonatkozó szabály törléséhez keresse meg újra a meglévő szabályok listáját, mivel annak azonosító kódja megváltozik.

Az UFW engedélyezése, letiltása vagy visszaállítása

Korábban már bemutattuk, hogyan lehet engedélyezni az UFW-et a kiszolgáló elindításakor a következő paranccsal:

sudo ufw ufw enable 

Az automatikus indításból való eltávolításához használja a disable parancsot:

sudo ufw ufw disable

Ha vissza kell állítania az UFW beállításait, majd el kell távolítania a kapcsolat elfogadására / elutasítására vonatkozó szabályokat és házirendeket, használja a reset parancsot.

sudo ufw ufw reset

Az UFW tűzfalnapló

Biztonsági okokból szükség lehet az UFW adatnaplózás engedélyezésére annak ellenőrzése érdekében, hogy mely kapcsolatok jöttek létre a szerverrel és a szabályok meghatározása valóban helyes-e.

Az adatnaplózás engedélyezéséhez a következő parancsot kell végrehajtani:

sudo ufw logging on

A naplózási típus letiltásához ennek ellenkezőjére van szükség:

sudo ufw logging off

Az UFW naplók a "/var/log/ufw.log" fájlból kereshetők ki.

nano /var/log/ufw.log 

Összegzés

A tűzfal nagyon fontos elem a Cloud Server kezelésében és biztonságában. Az UFW engedélyezésével az Ubuntu Linux szerverre irányuló és onnan érkező összes kommunikáció átmegy ezen az eszközön, így megvédheti Önt az illetéktelen felhasználók nem kívánt támadásaitól és csatlakozási kísérleteitől.

Célszerű különös figyelmet fordítani az UFW tűzfal konfigurálására, mivel a kiszolgáló biztonsága és szolgáltatásainak megfelelő működése a beállított szabályoktól függhet.