Weboldal keresés

Az UFW telepítése és konfigurálása – egy egyszerű tűzfal a Debian/Ubuntu rendszerben


Mivel a számítógépek egymáshoz kapcsolódnak, a szolgáltatások gyorsan növekednek. Az E-mail, Közösségi média, Online áruház, Csevegés a Webkonferencia-ig olyan szolgáltatások, amelyek felhasználó által használt. De a másik oldalon ez a kapcsolat csak a kétoldalas kést szereti. Az is lehetséges, hogy rossz üzeneteket küldjön ezekre a számítógépekre, például vírus, rosszindulatú programok vagy trójai alkalmazások.

Az Internet, mint a legnagyobb számítógépes hálózat nem mindig van tele jó emberekkel. Annak érdekében, hogy megbizonyosodjunk arról, hogy számítógépeink/szervereink biztonságban vannak, meg kell védenünk azokat.

A számítógépen/szervereken az egyik kötelező összetevő a tűzfal. A Wikipedia definíciója a következő:

A számítástechnikában a tűzfal egy szoftver vagy hardver alapú hálózati biztonsági rendszer, amely a bejövő és kimenő hálózati forgalmat az adatcsomagok elemzésével és az alkalmazott szabálykészlet alapján meghatározza, hogy átengedjük-e vagy sem.

Az Iptables a szerverek által széles körben használt tűzfalak egyike. Ez egy olyan program, amely a kiszolgáló bejövő és kimenő forgalmának szabályrendszer alapján történő kezelésére szolgál. Általában csak megbízható kapcsolat léphet be a szerverre. De az IPTables konzol módban fut, és ez bonyolult. Azok, akik ismerik az iptables szabályokat és parancsokat, elolvashatják a következő cikket, amely leírja az iptables tűzfal használatát.

  1. Alapvető IPTables (Linux tűzfal) útmutató

UFW tűzfal telepítése Debian/Ubuntu alatt

Az IPTables beállításának bonyolultságának csökkentése érdekében számos előlap létezik. Ha Ubuntu Linuxot futtat, akkor az ufw alapértelmezett tűzfaleszköz. Kezdjük az ufw tűzfal felfedezésével.

Mi az ufw

Az ufw (Uncomplicated Firewall) a legszélesebb körben használt iptables tűzfal kezelőfelülete, és nagyon kényelmes a gazdagép alapú tűzfalak számára. Az ufw keretet ad a netfilter kezeléséhez, valamint parancssori felületet biztosít a tűzfal vezérléséhez. Felhasználóbarát és könnyen használható felületet biztosít azoknak a Linux kezdőknek, akik nem nagyon ismerik a tűzfal koncepciókat.

Míg a másik oldalon ugyanazok a bonyolult parancsok segítik az adminisztrátorokat, addig a parancssori felület segítségével bonyolult szabályokat állíthat be. Az ufw egy upstream más disztribúciókhoz, mint például a Debian, az Ubuntu és a Linux Mint.

Alapvető használat ufw

Először ellenőrizze, hogy az ufw telepítve van-e a következő paranccsal.

sudo dpkg --get-selections | grep ufw

ufw 		install

Ha nincs telepítve, az alább látható módon telepítheti az apt paranccsal.

sudo apt-get install ufw

Használat előtt ellenőrizze, hogy az ufw fut-e vagy sem. Az ellenőrzéshez használja a következő parancsot.

sudo ufw status

Ha az Állapot: inaktív lehetőséget találta, az azt jelenti, hogy nem aktív, vagy le van tiltva.

ÚJ! Nélkülözhetetlen e-könyv minden Linux rendszergazdának!

Töltsön le ingyenes 696 oldalas e-könyvet

Az ufw engedélyezése/letiltása

Az engedélyezéséhez csak be kell írnia a következő parancsot a terminálba.

sudo ufw enable

Firewall is active and enabled on system startup

A letiltásához csak írja be.

sudo ufw disable

Sorolja fel az aktuális ufw szabályokat

A tűzfal aktiválása után hozzáadhatja a szabályokat. Ha látni szeretné, hogy melyek az alapértelmezett szabályok, írjon be.

sudo ufw status verbose
Minta kimenet
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
$

Ufw szabályok hozzáadása

Amint látja, alapértelmezés szerint minden bejövő kapcsolat le van tiltva. Ha távolítani szeretné a gépet, akkor engedélyeznie kell a megfelelő portot. Például engedélyezni szeretné az ssh kapcsolatot. Itt van a parancs az engedélyezéséhez.

Hozzáférést enged
sudo ufw allow ssh

[sudo] password for pungki :
Rule added
Rule added (v6)
$

Ha újra ellenőrzi az állapotot, egy ehhez hasonló kimenetet fog látni.

sudo ufw status

To 		Action 			From
-- 		----------- 		------
22 		ALLOW 			Anywhere
22 		ALLOW 			Anywhere (v6)

Ha sok szabálya van, és menet közben minden szabályra számot szeretne tenni, használja a számozott paramétert.

sudo ufw status numbered

To 		Action 			From
------ 		----------- 		------
[1] 22 		ALLOW 			Anywhere
[2] 22 		ALLOW 			Anywhere (v6)

Az első szabály szerint a 22-es portra a Bárhonnan bejövő kapcsolat megengedett, mind a tcp, mind az udp csomagok engedélyezettek. Mi a teendő, ha csak a tcp csomagot szeretné engedélyezni? Ezután hozzáadhatja a tcp paramétert a port szám után. Íme egy példa minta kimenettel.

sudo ufw allow ssh/tcp

To 		Action 			From
------ 		----------- 		------
22/tcp 		ALLOW 			Anywhere
22/tcp 		ALLOW 			Anywhere (v6)
Magtagadni a hozzáférést

Ugyanezek a trükkök érvényesek a Megtagadás szabályra is. Tegyük fel, hogy szeretné megtagadni az ftp szabályt. Tehát csak gépelni kell.

sudo ufw deny ftp

To 		Action 			From
------ 		----------- 		------
21/tcp 		DENY 			Anywhere
21/tcp 		DENY 			Anywhere (v6)

Adott port hozzáadása

Néha van egy egyedi portunk, amely nem követ semmilyen szabványt. Tegyük fel, hogy a gépünkön lévő ssh portot 22-ről 2290-re változtatjuk. Ezután a 2290 port engedélyezéséhez a következőképpen adhatjuk hozzá.

sudo ufw allow

To 		Action 			From
-- 		----------- 		------
2290 		ALLOW 			Anywhere
2290 		ALLOW 			Anywhere (v6)

Arra is lehetőség van, hogy a port-tartományt hozzáadja a szabályhoz. Ha a 22902300 portot szeretnénk megnyitni tcp protokollal, akkor a parancs a következő lesz.

sudo ufw allow 2290:2300/tcp

To 			Action 			From
------ 			----------- 		------
2290:2300/tcp 		ALLOW 			Anywhere
2290:2300/tcp 		ALLOW			Anywhere (v6)

míg ha az udp parancsot szeretné használni, csak használja a következő parancsot.

sudo ufw allow 2290:2300/udp

To 			Action 			From
------ 			----------- 		------
2290:2300/udp 		ALLOW 			Anywhere
2290:2300/udp 		ALLOW			Anywhere (v6)

Kérjük, ne feledje, hogy a „tcp” vagy az „udp” kifejezést kifejezetten be kell írnia, különben az alábbihoz hasonló hibaüzenetet kap.

ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports

Adott IP hozzáadása

Korábban a szolgáltatás vagy a port alapján adtunk hozzá szabályokat. Az Ufw lehetővé teszi az IP-címen alapuló szabályok hozzáadását is. Íme a minta parancs.

sudo ufw allow from 192.168.0.104

Használhat alhálózati maszkot is a tartomány szélesítéséhez.

sudo ufw allow form 192.168.0.0/24

To 		Action 			From
-- 		----------- 		------
Anywhere	ALLOW 			192.168.0.104
Anywhere	ALLOW 			192.168.0.0/24

Mint látható, a paraméter csak a kapcsolat forrását korlátozza. Míg a cél – amelyet a Cél oszlop jelöl – Bárhol. A célt a „Címzett” paraméterrel is kezelheti. Lássuk a mintát a 22-es porthoz (ssh) való hozzáférés engedélyezéséhez.

sudo ufw allow to any port 22

A fenti parancs lehetővé teszi a hozzáférést bárhonnan és bármilyen protokollból a 22-es porthoz.

Paraméterek kombinálása

Konkrétabb szabályokhoz kombinálhatja az IP-címet, a protokollt és a portot. Tegyük fel, hogy olyan szabályt szeretnénk létrehozni, amely csak a 192.168.0.104 IP-címről, csak a tcp protokollról és a 22 portról korlátozza a kapcsolatot. Ezután a parancs az alábbi lesz.

sudo ufw allow from 192.168.0.104 proto tcp to any port 22

A tiltó szabály létrehozásának szintaxisa hasonló az engedélyezési szabályhoz. Csak a paramétert engedélyezésről megtagadásra kell módosítania.

Szabályok törlése

Előfordulhat, hogy időnként törölnie kell a meglévő szabályt. Az ufw segítségével ismét egyszerű a szabályok törlése. A fenti mintában van egy szabály, amelyet törölni szeretne.

To 		Action 			From
-- 		----------- 		------
22/tcp		ALLOW 			192.168.0.104
21/tcp		ALLOW 			Anywhere
21/tcp 		ALLOW 			Anywhere (v6)

A szabályok törlésének két módja van.

1. módszer

Az alábbi parancs törli az ftp szolgáltatásnak megfelelő szabályokat. Tehát a 21/tcp, amely az ftp portot jelenti, törlődik.

sudo ufw delete allow ftp
2. módszer

De amikor megpróbálta törölni az első szabályt a fenti példában az alábbi paranccsal.

sudo ufw delete allow ssh

Or 

sudo ufw delete allow 22/tcp

Hibaüzenetet találhat, mint pl.

Could not delete non-existent rule
Could not delete non-existent rule (v6)

Akkor meg tudod csinálni ezt a trükköt. Ahogy fentebb említettük, megjelenítheti a szabály számát, hogy jelezze, melyik szabályt szeretnénk törölni. Hadd mutassuk meg.

sudo ufw status numbered

To 		Action 			From
-- 		----------- 		------
[1] 22/tcp		ALLOW 			192.168.0.104
[2] 21/tcp		ALLOW 			Anywhere
[3] 21/tcp 		ALLOW 			Anywhere (v6)

Ezután törölheti az első szabályt a használatával. Nyomja meg az „y ” gombot a szabály végleges törléséhez.

sudo ufw delete 1

Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y

Ezekből a módszerekből látni fogja a különbséget. A 2. módszer felhasználói megerősítést kér a szabály törlése előtt, míg az 1. módszer nem.

A szabályok visszaállítása

Bizonyos esetekben érdemes lehet az összes szabályt törölni/visszaállítani. Gépeléssel megteheti.

sudo ufw reset

Resetting all rules to installed defaults. Proceed with operation (y|n)? y

Ha megnyomja az „y billentyűt”, az ufw biztonsági másolatot készít az összes létező szabályról az ufw visszaállítása előtt. A szabályok visszaállítása a tűzfalat is letiltja. Ha használni szeretné, újra engedélyeznie kell.

Speciális funkciók

Ahogy fentebb említettem, az ufw tűzfal bármire képes, amit az iptables. Ez különféle szabályfájlok használatával érhető el, amelyek nem mások, mint az iptables-restore megfelelő szövegfájlok. Az ufw finomhangolása és/vagy további, az ufw paranccsal nem engedélyezett iptables parancsok elhelyezése több szövegfájl szerkesztésének kérdése.

  1. /etc/default/ufw: Az alapértelmezett házirendek, az IPv6 támogatás és a kernelmodulok fő konfigurációja.
  2. /etc/ufw/before[6].rules: ezekben a fájlokban a szabályok az ufw paranccsal hozzáadott szabályok előtt számítódnak ki.
  3. /etc/ufw/after[6].rules: ezekben a fájlokban a szabályok az ufw paranccsal hozzáadott szabályok után kerülnek kiszámításra.
  4. /etc/ufw/sysctl.conf: a kernel hálózati hangolhatóságai.
  5. /etc/ufw/ufw.conf: beállítja, hogy az ufw engedélyezve legyen-e a rendszerindításkor, és beállítja a LOGLEVEL értéket.

Következtetés

Az UFW az iptables kezelőfelületeként minden bizonnyal egyszerű felhasználói felületet biztosít. A felhasználónak nem kell emlékeznie a bonyolult iptables szintaxisra. Az UFW a „plain english” paramétert is használja.

Az Engedélyezés, Megtagadás, Visszaállítás ezek közé tartozik. Úgy gondolom, hogy sokkal több iptable front-end létezik. De határozottan az ufw az egyik legjobb alternatíva azoknak a felhasználóknak, akik gyorsan, egyszerűen és természetesen biztonságosan szeretnék beállítani a tűzfalukat. További részletekért keresse fel az ufw kézikönyv oldalát a man ufw beírásával.