Ez a cikk bemutatja, hogyan kell telepíteni és használni az UFW-t az Ubuntu 20-ra.04 LTS rendszer.
Telepítés
Az UFW a legtöbb Ubuntu rendszerre előre telepítve van. Ha a buildben még nincs telepítve ez a program, akkor a snap vagy az apt csomagkezelők segítségével telepítheti.$ sudo snap install ufw
$ sudo apt install ufwÉn személy szerint inkább az apt csomagkezelőt használom erre, mert a snap kevésbé népszerű, és nem akarom, hogy ez a bonyolultabb legyen. Az írás idején az UFW számára közzétett verzió 0.36 a 20-hoz.04 kiadás.
Bejövő vs. Kimenő forgalom
Ha kezdő vagy a hálózati világban, akkor először tisztáznod kell a különbséget a bejövő és a kimenő forgalom között.
Amikor az apt-get használatával telepíti a frissítéseket, böngészhet az interneten, vagy ellenőrizheti e-mailjeit, akkor mit csinál, kimenő kéréseket küld szervereknek, például Ubuntu, Google, stb. E szolgáltatások eléréséhez még nyilvános IP-re sincs szüksége. Általában egyetlen nyilvános IP-címet osztanak ki például otthoni szélessávú kapcsolathoz, és minden eszköz megkapja a saját privát IP-jét. Ezután az útválasztó úgy kezeli a forgalmat, hogy az úgynevezett NAT vagy hálózati címfordítás.
A NAT és a privát IP-címek részletei túlmutatnak a cikk keretein, de a fent linkelt videó kiváló kiindulópont. Visszatérve az UFW-re, alapértelmezés szerint az UFW lehetővé teszi az összes rendszeres kimenő webes forgalmat. A böngészők, a csomagkezelők és más programok véletlenszerű portszámot választanak - általában 3000 feletti számot -, és így minden alkalmazás nyomon követheti a kapcsolatait.
Ha a kiszolgálókat a felhőben futtatja, azok általában nyilvános IP-címmel rendelkeznek, és a kimenő forgalom engedélyezésének fenti szabályai továbbra is érvényesek. Mivel továbbra is olyan segédprogramokat fogsz használni, mint a csomagkezelők, amelyek „kliensként” beszélnek a világ többi részével, az UFW ezt alapértelmezés szerint engedélyezi.
A szórakozás a bejövő forgalommal kezdődik. Az alkalmazások, például az OpenSSH-kiszolgáló, amelyet a virtuális gépre való bejelentkezéshez használnak, az adott portokon (például 22) figyelnek beérkező kéréseket, csakúgy, mint más alkalmazásokat. A webszervereknek hozzáférésre van szükségük a 80-as és a 443-as portokhoz.
A tűzfal feladata, hogy bizonyos alkalmazások engedélyezzék bizonyos bejövő forgalom meghallgatását, miközben blokkolják az összes feleslegeset. Lehet, hogy van egy adatbázis-kiszolgáló telepítve a virtuális gépére, de általában nem kell meghallgatnia a bejövő kéréseket egy nyilvános IP-vel rendelkező felületen. Általában csak a loopback felületen figyeli a kéréseket.
Számos olyan robot található kint az interneten, amelyek folyamatosan hamis kérelmekkel bombázzák a szervereket, hogy nyers erővel lépjenek be, vagy egyszerű szolgáltatásmegtagadási támadást hajtsanak végre. Egy jól konfigurált tűzfalnak képesnek kell lennie a legtöbb ilyen shenanigan blokkolására olyan külső pluginek segítségével, mint a Fail2ban.
De egyelőre egy nagyon alapvető beállításra fogunk koncentrálni.
Alapvető használat
Most, hogy az UFW telepítve van a rendszerére, megvizsgáljuk a program néhány alapvető felhasználását. Mivel a tűzfalszabályokat az egész rendszerre alkalmazzák, az alábbi parancsokat futtatják root felhasználóként. Ha úgy tetszik, használhatja a sudo-t megfelelő jogosultságokkal ehhez az eljáráshoz.
# ufw állapotÁllapot: inaktív
Alapértelmezés szerint az UFW inaktív állapotban van, ami jó dolog. Nem akarja blokkolni az összes bejövő forgalmat a 22. porton, amely az alapértelmezett SSH port. Ha SSH-n keresztül van bejelentkezve egy távoli kiszolgálóra, és blokkolja a 22-es portot, akkor ki lesz zárva a kiszolgálóról.
Az UFW megkönnyíti számunkra a lyukasztást csak az OpenSSH számára. Futtassa az alábbi parancsot:
[e-mail védett]: ~ # ufw alkalmazáslistaElérhető alkalmazások:
OpenSSH
Figyelje meg, hogy még mindig nem engedélyeztem a tűzfalat. Most hozzáadjuk az OpenSSH-t az engedélyezett alkalmazások listájához, majd engedélyezzük a tűzfalat. Ehhez írja be a következő parancsokat:
# ufw engedélyezi az OpenSSH-tA szabályok frissítve
Szabályok frissítve (v6)
# ufw engedélyezése
A parancs megzavarhatja a meglévő SSH kapcsolatokat. Folytassa a műveletet (y | n)? y.
A tűzfal most aktív és engedélyezve van a rendszer indításakor.
Gratulálunk, az UFW most aktív és működik. Az UFW most már csak az OpenSSH számára engedélyezi a bejövő kérések meghallgatását a 22. porton. A tűzfal állapotának bármikor történő ellenőrzéséhez futtassa a következő kódot:
# ufw állapotÁllapot: aktív
Akciótól kezdve
-- ------ ----
OpenSSH ALLOW Bárhol
OpenSSH (v6) ALLOW Anywhere (v6)
Mint láthatja, az OpenSSH mostantól bárhonnan fogadhat kéréseket az interneten, feltéve, hogy a 22. porton eléri. A v6 sor azt jelzi, hogy a szabályokat az IPv6-ra is alkalmazni kell.
Természetesen letilthatja az IP bizonyos tartományait, vagy csak az IP-k egy meghatározott tartományát engedélyezheti, attól függően, hogy milyen biztonsági korlátok között dolgozik.
Alkalmazások hozzáadása
A legnépszerűbb alkalmazások esetében az ufw alkalmazáslista parancs a telepítéskor automatikusan frissíti a házirendek listáját. Például az Nginx webkiszolgáló telepítésekor a következő új lehetőségek jelennek meg:
# apt install nginx# ufw alkalmazáslista
Elérhető alkalmazások:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Menjen előre, és próbáljon kísérletezni ezekkel a szabályokkal. Ne feledje, hogy egyszerűen megengedheti a portszámokat, nem pedig arra, hogy megvárja az alkalmazás profiljának megjelenését. Például a 443-as port engedélyezéséhez HTTPS-forgalomhoz egyszerűen használja a következő parancsot:
# ufw 443 engedélyezése# ufw állapot
Állapot: aktív
Akciótól kezdve
-- ------ ----
OpenSSH ALLOW Bárhol
443 ALLOW Bárhol
OpenSSH (v6) ALLOW Anywhere (v6)
443 (v6) Engedélyezze bárhol (v6)
Következtetés
Miután rendezte az UFW alapjait, felfedezheti az egyéb hatékony tűzfal képességeket, kezdve az IP tartományok engedélyezésétől és blokkolásától. Világos és biztonságos tűzfalszabályokkal a rendszerek biztonságban és biztonságban lesznek.