Hiányzik az UFW-alkalmazásprofil? Portokat ír le, nem szolgáltatásokat
Az UFW-alkalmazásprofil portok és protokollok nevesített listája, nem szolgáltatás. Olvasd el az app info kimenetét, vesd össze a tényleges figyelővel, és tarts visszautat az újratöltés előtt.
Az UFW azt jelzi, hogy nem talál az OpenSSH-hoz illő profilt, és az ok keresése egyenesen az SSH-kiszolgálóhoz vezet. Ez a rossz irány: az üzenet egy nevesített tűzfaldefinícióról szól, és semmit nem mond arról, hogy az sshd telepítve van-e, fut-e vagy figyel-e. Az UFW-alkalmazásprofil portok és protokollok listája egy címkével. A definíció elolvasása egy parancsba kerül, és általában lezárja a vizsgálatot.
Lépés 1: soroljuk fel azokat a neveket, amelyeket az UFW valóban ismer
Kérdezd meg a tűzfalat, milyen nevei vannak, mielőtt engedélyeznéd az egyiket. A lista az ezen a gépen telepített profilokból származik, így a hiányzó név erről a rendszerről szóló tény, nem pedig arról a szoftverről, amelyet védeni próbáltál. Ha a név létezik, a hiba egy elütésből vagy a shell-előzményeid elavult álnevéből ered.
ufw app list
ufw app info OpenSSH
A lista alapértelmezett telepítésnél rövid, és a nevek nem csomagnevek. Az OpenSSH nevű profil hiányozhat, miközben az openssh-server csomag telepítve van, és fordítva is lehetséges. A lista által kiírt pontos nevet használd; egy hasonló írásmódú VPN-profilnév vagy asztali indító nem UFW-alkalmazásprofil. Ha a kívánt név hiányzik, az a megállapítás, és a következő lépés annak megnézése, minek kellene szolgáltatnia.
Lépés 2: a definíciót olvasd, ne a címkét
A profil egy INI stílusú fájl a /etc/ufw/applications.d alatt, névvel, címmel, leírással és portmezővel. A portmező több portot és átvitelt is felsorolhat, ezért a címke kevesebbet mond a definíciónál. Az UFW kézikönyve dokumentálja ezeket a mezőket és az alkalmazások frissítésének műveletét. Olvasd el a fájlt ahelyett, hogy azt feltételeznéd, a név egy ismert portot jelent.
cat /etc/ufw/applications.d/openssh-server
ufw app info OpenSSH
A 22/tcp tartalmú definíció a 22-es TCP-portot írja le, és semmi mást. Nem bizonyítja, hogy a gépen futó démon ott figyel, és nem fedi le a később hozzáadott második portot. Ha a démon máshol fut, a profil a rossz engedély, még akkor is, ha a neve illik a termékhez. Hasonlítsd össze a figyelőt a definícióval, mielőtt bármelyiket engedélyezed.
ss -ltnp 'sport = :22'
Állj meg, ha a definíció és a figyelő nem egyezik. Egy olyan profil engedélyezése, amely olyan portot nevez meg, ahol senki nem figyel, olyan szabályt hoz létre, amely előrelépésnek látszik, és semmit nem véd.
Lépés 3: válaszd szét a profilt a futó szolgáltatástól
Egy nevesített profil engedélyezése nem telepíti, nem indítja és nem konfigurálja a szolgáltatást, és egy futó szolgáltatásnak nincs szüksége csomagolt profilra az elérhetőséghez. Ezek külön döntések, amelyek különböző eszközök tulajdonában vannak: a csomagkezelő, a szolgáltatáskezelő és a tűzfal. Egyként kezelésük az az út, amelyen az emberek nem kívánt kiszolgálót telepítenek, hogy egy szimbolikus név megjelenjen.
VPN-kiszolgálónál a szétválasztás a külső figyelő engedélyezése után is folytatódik. A titkosított átvitel portjára adott engedély nem kapcsolja be a kernel továbbítását, nem ad hozzá NAT-szabályt, és nem ad a csatornafelhasználóknak hozzáférést egy LAN-hoz. Ezek mindegyike külön szabályzat a saját felülvizsgálatával. A VPN-termékről elnevezett profil csak az általa felsorolt portokat írja le, a kiszolgáló konfigurációjának többi részét pedig továbbra is neked kell megírni.
Ha a profil hiányzik, és szükséged van egyre, egy felülvizsgált kifejezett portszabály vagy egy helyi profil az applications.d alatt egyaránt elfogadható. Egy nem kívánt csomag telepítése nem az.
Lépés 4: tarts visszautat, mielőtt újratöltöd a tűzfalat
Bármilyen szabálymódosítás előtt erősítsd meg, hogy van második utad a géphez: konzol, sávon kívüli cím vagy ütemezett visszaállítás. Aztán olvasd el a szabálykészletet és az alapértelmezett házirendet, mert az SSH-szabály nélküli alapértelmezett elutasítás a klasszikus módja annak, hogy tesztelés közben kizárd magadat. Egyszerre egy szabályt módosíts, és olvasd el az UFW által kiírt megerősítést. Egy mentett szabály, egy aktív szabály és egy elérhető szolgáltatás három különböző megfigyelés.
ufw status verbose
ufw allow 22/tcp
ufw app update OpenSSH
A módosítás után teszteld az engedélyezett kapcsolatot és egy olyan útvonalat, amelynek továbbra is elutasítottnak kell lennie. Az elutasítási teszt ugyanolyan fontos, mint az engedélyezési, mert a szándékoltál szélesebb szabály átmegy az első teszten, és elbukik a másodikon. Jegyezd fel a profil nevét, a benne lévő portokat és a figyelőt, amelyhez képest ellenőriztél.
Az ellenőrzőlista akkor ér véget, amikor a név létezik vagy szándékosan lecserélték, a definíció illik a valódi figyelőhöz, a szolgáltatást külön kezelik, és teszteltél egy engedélyezett és egy elutasított útvonalat is, kéznél lévő helyreállítási úttal. Egy név a listán nem egyik sem ezek közül.