Miért nem védi meg az otthoni NAT a VPN-interfészt
Az otthoni router továbbítja az alagutat, de a gazdagép ítéli meg a visszafejtett csomagot. Olvassa külön a figyelőt, a belső útvonalat és a bemeneti szabályzatot.
Az otthoni router mögötti laptopok porttovábbítás nélkül is fogadják a VPN-en érkező SSH-kapcsolatokat. Ez nem ellentmondás, mert két különböző eszköz két különböző csomagot ítél meg. A router továbbítja a titkosított átvitelt, a gazdagép pedig eldönti, mi történjen a visszafejtett csomaggal, amely az alagút-interfészére érkezik. Ennek a két döntésnek a szétválasztása az egész gyakorlat.
A router továbbítja az alagutat, a gazdagép megítéli a csomagot
Vázolja fel az utat a távoli forrástól a szolgáltatásig, mielőtt akár egyetlen szabályt megnézne. A külső szakasz a VPN-átvitel, amelyet a router és az átjáró kezel. A belső szakasz akkor kezdődik, amikor a végpont lehúzza az alagút rétegét, és a gazdagép megkapja a VPN-címére címzett csomagot.
Vonja össze ezt a két szakaszt, és a router olyan döntésért kap elismerést, amelyet a gazdagép hoz. Egy porttovábbítási oldal vagy egy router-napló csak külső beszélgetéseket ír le, és egyik sem mondja meg, milyen visszafejtett forgalmat fogad el a gazdagép. A gazdagép a saját bemeneti szabályzatát alkalmazza a belső csomagra, ugyanúgy, mint bármely interfészre érkező csomagra. Ebben a szabályzatban dől el valójában a kitettség kérdése.
A helyettesítő figyelő nem nyilvános szolgáltatás
Linuxon a INADDR_ANY címhez kötés minden helyi címet jelent, így egy szolgáltatás válaszolhat olyan alagút-interfészen, amelyet soha nem nevezett meg. Az IP-socket referenciája leírja ezt a kötést, és érdemes elolvasni, mielőtt következtetéseket von le egy figyelőlistából. A helyettesítő bejegyzés tény a socketről, nem állítás az elérhetőségről.
Az alábbi két sor ugyanaz a szolgáltatás két különböző kötésben, és a különbség a teljes válasz arra, hogy számít-e az interfész. Először olvassa el, melyik címen ül a socket.
ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))
Nevezze meg azt az elrendezést, amely elérhetné a portot
Három elrendezés tesz csomagot arra az interfészre, és különböző tulajdonosaik vannak. A megfelelő megnevezése dönti el, kinek kell szabályzatot változtatnia.
| Arrangement | What reaches the port | Where the decision lives |
|---|---|---|
| Another permitted VPN peer | A packet from the same tunnel subnet | Gateway forwarding policy and host input rules |
| A deliberate public forward | Traffic the gateway publishes on purpose | Gateway service definition |
| A subnet routed behind the gateway | Client traffic from the far side | Gateway route and host input rules |
Egy nyilvános kilépési címet mutató böngészőeredmény semmit sem mond a három közül egyikről sem, mert azt írja le, hogyan távozik a kimenő forgalom, nem pedig azt, hogy mi engedélyezett a bejövő forgalomnak. Dolgozzon visszafelé a figyelőtől és a szolgáltatásnapló forráscímétől. Ha a forrás egy másik alagút-peer, az átjáró szabályzata az érdekes dokumentum. Ha fordított cím, keresse meg a fordítást, mielőtt szabályt módosít.
Szűkítse a szolgáltatást a szándékolt útvonalra
Ha az SSH-ra csak egy felügyeleti útvonalról van szükség, írja le azt az útvonalat forrástartományként és interfészként. Ezután szűkítse a gazdagép bemeneti szabályait interfész, cél és forrás szerint, ne hálózatnév szerint, mert egy magánnak látszó név bármely címet jelenthet. Tartson fenn egy útvonalat annak, aki a következő problémát megoldja.
nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input
Az a szabály, amely megnevezi az alagút-interfészt és a felügyeleti tartományt, egy helyen fejezi ki a szándékot. Hasonlítsa össze egy Wi-Fi-hálózathoz írt szabállyal, amely semmit sem mond a visszafejtett alagútforgalomról. Amikor a két réteg nem ért egyet, a gazdagép szabályzata az, amellyel a csomag találkozik.
Hagyja a bejelentkezéseket és a javításokat pontosan ott, ahol vannak; portot elérni soha nem volt ugyanaz, mint használhatni azt. Rögzítse a címcsaládot és az időpontot minden ismeretlen forrásnál, és vizsgálja ki, mielőtt egy funkciót vagy egy sebezhetőséget hibáztatna. Az a szabály, amely minden alagút-peert beenged, más terv, mint amely egy felügyeleti alhálózatot beenged, és egyetlen naplósor sem mondja meg, melyiket szánták.
Fogadja el a javítást egy sikerrel és egy elutasítással
Bizonyítsa mindkét felét: egy jóváhagyott kapcsolat sikerül, és egy kizárt útvonalat elutasítanak. Az elutasítás az a fél, amelyet az emberek kihagynak, és ez mutatja, hogy a szabály dolgozik, nem pedig egy megengedő alapérték mellett áll. A kizárt oldalról teszteljen, ahelyett hogy elmélkedne róla.
Ismételje meg a párt újracsatlakozás után, mert egy másik interfésznévvel visszatérő alagút csendben megkerülheti a régihez kötött szabályt. Az a határ számít, amelyet a gazdagép a ténylegesen fogadott csomagokra alkalmaz.