Vissza a bloghoz

Tűzfal konfigurálása UFW-vel Ubuntu 18.04-en

Tűzfal konfigurálása UFW-vel Ubuntu 18.04-en

A tűzfal az egyik legfontosabb összetevője a rendszerek biztonságossá tételének. Feladata a hálózaton keresztüli bejövő és kimenő kapcsolatok kezelése. Ez a szerverek és adatok elsődleges védelmi vonala. Ezért rendkívül fontos egy jól konfigurált tűzfal megléte. Ebben az útmutatóban lépésről lépésre bemutatjuk, hogyan állíthat be tűzfalat az UFW segítségével Ubuntu 18.04-en.

UFW Ubuntun

A UFW kifejezés az „Uncomplicated Firewall” (egyszerűsített tűzfal) rövidítése. Ez egy alapértelmezett tűzfalprogram, amely előre telepítve érkezik az Ubuntuval. Az UFW valójában az iptables egy felülete. Az UFW célja, hogy megkönnyítse a tűzfal konfigurálását és kezelését. Bár az iptables önmagában is egy stabil és rugalmas megoldás, a kezdők számára nem túl barátságos. Az UFW mind a kezdők, mind a tapasztalt felhasználók számára megkönnyíti a dolgát.

Először is tekintse meg az átfogó útmutatónkat, amely segít megismerkedni az alapvető UFW funkciókkal. Követheti ezt az útmutatót is az Ubuntu szerver telepítéséhez. Most pedig lássunk hozzá!

Kezdésként, ha valamilyen okból az UFW nincs telepítve, telepítse azonnal:

Az UFW konfigurálása

  • Az IPv6 használata

Jelenleg még az IPv4 a domináns. Ezt szem előtt tartva az útmutató nagy része az IPv4-re épül. Szerencsére az UFW támogatja az IPv6-ot is. Mindössze annyit kell tennie, hogy engedélyezi a funkciót az UFW konfigurációs fájljában.

Először nyissa meg az UFW konfigurációs fájlját egy szövegszerkesztőben. A módosítások mentéséhez a szövegszerkesztőt sudo jogosultsággal kell futtatni:

Keresse meg az „IPV6” bejegyzést, és győződjön meg róla, hogy az értéke „yes”.

  • Alapértelmezett házirend

Ha most először dolgozik tűzfallal, javasoljuk, hogy először az alapértelmezett házirendeket határozza meg. Ezek a szabályok határozzák meg, hogyan kezelje a rendszer az olyan forgalmat, amelyre nem vonatkozik semmilyen kifejezett szabály. Alapértelmezés szerint az UFW úgy van konfigurálva, hogy minden bejövő kapcsolatot elutasítson, de minden kimenő kapcsolatot engedélyezzen. Ez azt jelenti, hogy kívülről senki sem érheti el a szervert, miközben a szerveren futó alkalmazások elérhetik a külvilágot.

Az alábbi parancsok csupán újradefiniálják az UFW alapértelmezett működését. Vegye figyelembe, hogy ez megváltoztatja az UFW működését, ha azt korábban már módosították:

Egy személyi számítógép esetében ezek a tűzfalszabályok önmagukban is elegendők lennének. A szerverek biztonságának megfelelő megerősítéséhez azonban többre van szükség.

SSH-kapcsolatok engedélyezése

Az UFW jelenlegi konfigurációja mellett minden bejövő kapcsolatot elutasít. Egy távoli szerver esetében ez nem járható út. A szerverhez való hozzáférés nélkül semmit sem lehet tenni. A probléma elkerülése érdekében az UFW beállítható úgy, hogy engedélyezze a bejövő SSH vagy HTTP kapcsolatokat.

Az SSH-kapcsolatok engedélyezéséhez a szerverhez futtassa az alábbi parancsot. Ez lényegében arra utasítja az UFW-t, hogy engedélyezzen minden kapcsolatot a(z) 22 porton. Alapértelmezés szerint ezen a porton figyel az SSH démon:

E parancs helyett közvetlenül is beállítható a kapcsolatok engedélyezése a(z) 22 portra. Ez port a(z) /etc/services fájlban van meghatározva:

Mivel a(z) 22 az SSH démon alapértelmezett portja, ez is ki lehet téve a támadásoknak. Mi van akkor, ha az SSH-szerver úgy van konfigurálva, hogy egy másik porton figyeljen? Ilyen helyzetben az UFW-nek engedélyeznie kell a kapcsolatot az adott portra. Feltételezve, hogy az SSH-szerver a(z) 1234 porton figyel, használja a következő parancsot:

Az UFW engedélyezése

Bár az UFW szabályok meg vannak határozva, semmit sem fognak tenni, amíg az UFW nincs aktiválva. Alapértelmezés szerint az UFW le van tiltva, ami azt jelenti, hogy a szabályok deklarálása ellenére nem fogja kényszeríteni azokat. Az UFW engedélyezéséhez futtassa a következő parancsot:

Az UFW figyelmeztető üzenetet jeleníthet meg a meglévő SSH-kapcsolatok megszakadásáról. Mivel az SSH-kapcsolatok engedélyezése be lett állítva, az UFW engedélyezése nem okoz semmilyen fennakadást. A beállított szabályok megtekintéséhez futtassa a következő parancsot:

Különböző kapcsolatok engedélyezése

Ezen a ponton az UFW-t fel kell szerelni más szabályokkal is a stabil működés érdekében. Az engedélyezendő kapcsolatok az Ön egyedi igényeitől függnek. Már bemutattuk, hogyan lehet utasítani az UFW-t a kapcsolatok engedélyezésére egy szolgáltatás neve vagy portszáma alapján.

Íme néhány egyéb port, amelyeket nagyon gyakran szoktak nyitva tartani:

  • SSH (22-es port): Ez az SSH-kapcsolatokhoz konfigurált alapértelmezett port.
  • HTTP (80-as port): Ez az az alapértelmezett port, amelyet a nem titkosított webszerverek használnak.
  • HTTPS (443-as port): Ez az az alapértelmezett port, amelyet a titkosított webszerverek használnak.

Az SSH-kapcsolatok engedélyezéséhez futtassa az alábbi parancsok egyikét:

Ezután a HTTP-kapcsolatok engedélyezéséhez futtassa az alábbi parancsok egyikét:

A HTTPS-kapcsolatok engedélyezéséhez futtassa az alábbi parancsok egyikét:

Porttartomány

Eddig bemutattuk, hogyan lehet engedélyezni egy bizonyos portot. Mi van akkor, ha portok egy tartományára van szükség? Minden egyes port megadása az UFW-nek meglehetősen rugalmatlan. Egyes alkalmazások több portot is használnak. Szerencsére az UFW lehetővé teszi egy porttartomány megadását. Ehhez használja a következő parancsszerkezetet:

Az alábbi példa engedélyezi az X11 kapcsolatokat, amelyek a következő portokat használják: 6000 - 6007:

Javasoljuk, hogy lehetőség szerint adja meg a protokollokat. A legtöbb esetben azonban ez nem szükséges, és a dolgok enélkül is jól működnek.

Konkrét IP-címek

Az UFW használatakor a kapcsolatok szűrése konkrét IP-címek alapján is lehetséges. Alapértelmezés szerint az UFW minden IP-címről blokkolja a kapcsolatokat. Lehetőség van bizonyos IP-címekről érkező kapcsolatok engedélyezésére. Egy IP-címről érkező kapcsolat engedélyezéséhez használja a következő parancsszerkezetet:

Megadhatja azokat a konkrét portokat is, amelyekhez az IP-cím csatlakozhat. Ehhez adja hozzá a to any port részt, majd a portszámot a parancshoz:

Alhálózatok

Ha egy IP-címekből álló alhálózatot kell engedélyeznie, ezt CIDR-jelöléssel teheti meg. Ebben a példában az UFW engedélyezi a kapcsolatot a következő tartományba eső IP-címekről: 203.0.113.1 - 203.0.113.254:

Az előző lépéshez hasonlóan megadható az a port is, amelyhez ezek az IP-címek csatlakozhatnak:

Csatlakozás egy adott hálózati interfészhez

Szerverkörnyezetben előfordulhat, hogy több hálózati interfész is csatlakozik a rendszerhez. Az UFW használatával megadható, hogy egy bizonyos szabály csak egy adott hálózati interfészre vonatkozzon. Először ellenőrizze a szerverhez csatlakozó összes hálózati interfészt. A cél hálózati interfész neve a legfontosabb:

 firewall with UFW on Ubuntu 18.04. 4

A mi esetünkben csak egy hálózati interfész van, az ens3, amely a nyilvános internethez kapcsolódik. Az erről a hálózati interfészről érkező bejövő kapcsolatok engedélyezéséhez használja a következő parancsszerkezetet:

Az is meghatározható, hogy a hálózati interfészről érkező forgalom melyik portot érheti el:

Kapcsolat elutasítása

Az alapértelmezett konfiguráció szerint az UFW minden forrásból megtagadja a kapcsolatot (a bejelentett kivételek kivételével). Ez az UFW használatának javasolt módja. Előfordulhat azonban, hogy blokkolni kell bizonyos kapcsolatokat egy adott forrás IP-címről vagy alhálózatról. Lehet, hogy az UFW alapértelmezett viselkedése az összes kapcsolat engedélyezésére van beállítva (nem ajánlott).

Bizonyos IP-címekről érkező kapcsolatok megtagadásához az UFW-nek megtagadási szabályokra van szüksége. A megtagadási szabályok írása meglehetősen egyszerű. Vegyen bármilyen engedélyezési szabályt, cserélje ki az „allow” kifejezést „deny”-ra, és voilà! Megtagadási szabállyá válik.

Tekintse meg a következő példát. Bármely HTTP-kapcsolat megtagadásához használja a következő megtagadási szabályt:

A kapcsolat megtagadásához a következő helyről: 203.0.113.1, használja a következő megtagadási szabályt:

Szabályok törlése

Amit eddig tanultunk, az az, hogyan kell szabályokat létrehozni. Ahogy a szabályok létrejönnek, úgy törölhetők is. Az UFW esetében két konkrét módja van a szabályok törlésének.

  • Szabály törlése szabályszám alapján

Ez az UFW-szabály törlésének legegyszerűbb módja. Az UFW minden szabályának van egy szabályszáma. A következő parancs kiírja az összes UFW-szabályt a szabály számaival együtt:

 firewall with UFW on Ubuntu 18.04. 3

A következő parancs törli a szabályszám által meghatározott szabályt:

  • Szabály törlése a tényleges szabály alapján

Ez a nehezebb módszer a szabályok törlésére. Ehhez manuálisan kell megadni a törölni kívánt tényleges szabályt. A következő példában az UFW törli a megadott szabályt: allow http:

A szabályt meg lehetett volna adni a következővel is: allow 80. Ebben az esetben a következő parancs törli azt:

Egy szabály törlése mind az IPv4, mind az IPv6 esetében törli azt.

Az UFW állapotának és szabályainak ellenőrzése

Alapvető fontosságú megbizonyosodni arról, hogy az UFW aktív-e vagy sem. Az UFW állapotának meghatározásához futtassa a következő parancsot:

 firewall with UFW on Ubuntu 18.04. 2

Ha az állapot „inactive”, akkor aktiválja a fenti Enabling UFW lépést követve. Ha aktív, akkor az UFW „active” állapotot jelez, és felsorolja az összes aktív szabályt.

Az UFW letiltása

Ha valamilyen okból nem használja az UFW-t, tiltsa le a következő paranccsal:

Ha az UFW le van tiltva, a létrehozott szabályok már nem aktívak. A szabályok azonban nem törlődnek. Amikor az UFW-t újraaktiválják, az összes szabály újra aktívvá válik. Mi van, ha a jelenlegi UFW-konfiguráció egy zűrzavar? A szabályok egyenkénti törlése helyett lehetőség van az összes törlésére egyetlen paranccsal. Az UFW visszaállításához futtassa a következő parancsot:

 firewall with UFW on Ubuntu 18.04. 1

Vegye figyelembe, hogy ez nem változtatja meg a kezdetben beállított alapértelmezett UFW-viselkedést.

Következtetés

A megfelelő tűzfal-konfiguráció szükséges a biztonság és a funkcionalitás biztosításához. Úgy kell beállítani, hogy csak a szükséges bejövő kapcsolatokat engedélyezze, miközben korlátozza a felesleges kapcsolatokat.

Ha szeretne megismerkedni további tűzfal-megoldásokkal, tekintse meg blogunkat további forrásokért:

Kellemes számítógép-használatot!

author

Hark Labs

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.