Egy SSH-munkamenet, egy webalkalmazás és egy névfeloldás megoszthat egyetlen VPN-kapcsolatot anélkül, hogy a portokon veszekednének. A kliens egyetlen titkosított folyamot épít az átjáró felé, és minden alkalmazásbeszélgetés ezen belül utazik. Kívülről csak az alagút saját átvitele és portja látható. Belül minden szolgáltatás megtartja a saját portját, és továbbra is saját engedélyre van szüksége.

Mit visz a külső folyam, és mit rejt el

A kliens minden csomagot az alagút átvitelébe csomagol, mielőtt az elhagyná a gépet. Ennek a külső folyamnak egyetlen célportja van, amelyet a VPN beállításakor rögzítettek. A burkolaton belül minden eredeti csomag megtartja a célzott szolgáltatás címét és portját. Az átjáró lehúzza a burkolatot, és a belső fejléc alapján irányít, így a cél egy hétköznapi klienst lát, amely a hálózat felől érkezik.

A WAN-interfészen készült felvétel ezért egy beszélgetést mutat, nem hármat. A belső portok csak a dekapszuláció után jelennek meg. Ezért egyetlen tűzfalnyílás egyszerre vihet SSH-t, HTTPS-t és DNS-t.

# WAN side: one outer tuple, whatever the inner services are
tcpdump -ni wan0 'udp port 443'
# tunnel side: the inner tuples appear after decapsulation
tcpdump -ni tun0

A TUN/TAP dokumentációja azt az átadást tárgyalja, amelyben egy irányított TUN-eszköz IP-csomagokat ad át a kernel és egy felhasználói térbeli folyamat között. Ez az átadás teszi láthatóvá a belső fejlécet az átjáró irányítási és tűzfal-kódja számára. Azt is elmagyarázza, miért nem mond semmit a külső port arról, mely szolgáltatások engedélyezettek.

A NAT-továbbítás a figyelőhöz tartozik, nem az alkalmazásokhoz

Az IPv4 NAT mögötti saját üzemeltetésű átjárónak egyetlen bejövő fordításra van szüksége: a nyilvános cím és port a VPN-figyelőre van leképezve. Nem kell szabály az SSH-hoz, a HTTPS-hez vagy a DNS-hez csak azért, mert az alagút felhasználói elérik őket. E portok közzététele olyan szolgáltatásokat tenne ki, amelyeket az alagút már véd. A továbbítási szabály a figyelő elérhetőségét írja le, nem engedélyt bármire belül.

A fordítottja is igaz. Az alagút portjának megnyitása semmi mást nem tesz ki, így a csak az alagúton át elérhető szolgáltatás nyilvános felülete zárva marad. Ez az elkülönítés általában épp az oka annak, hogy a szolgáltatást eleve privátként tartjuk.

A belső szabályzat az, ahol a hozzáférés valójában eldől

A titkosítás védi az utat; nem engedélyez egy célt. A kliensútvonalak választják ki, mely előtagok lépnek be az alagútba, az átjáró továbbítási szabályzata dönti el, elhagyhatják-e a csomagok, a cél tűzfala és a bejelentkezés pedig azt, hogy a szolgáltatás válaszol-e. A DNS a legvilágosabb eset: a lekérdezések szállítása nem készteti a feloldót arra, hogy azokat az ügyfélkészletedből elfogadja. Minden réteg önállóan mondhat nemet.

Tesztelj minden szolgáltatást külön az alagúton át. Egy sikeres névfeloldás semmit nem mond a webportról, és egy sikeres webkérés semmit nem mond az SSH-ról.

dig @10.40.0.53 app.corp.example
nc -vz 10.40.0.10 8443
ssh -p 2222 [email protected]

Amikor az alagút fent van és minden meghiúsul, először a kliens útválasztási táblázatát olvasd. Amikor egy szolgáltatás meghiúsul, miközben a többi működik, a hiba annál a célnál van. Ez a két megfigyelés különböző felelősökre mutat, és összekeverésük időt pazarol.

A WireGuard ugyanazt a vonalat húzza

A WireGuard a külső figyelőjét ListenPort néven nevezi el, és egy belső alkalmazás továbbra is azt a szolgáltatásportot használja, amelyre szüksége van. AllowedIPs irányított előtagok halmaza, nem az engedélyezett szolgáltatásportok listája. Portengedély-listaként olvasva olyan szabályokat hoz létre, amelyek nem egyeznek azzal, amit az alagút tesz. Az elnevezés más; a rétegzés nem.

Engedélyezd a szolgáltatást a helyi bemeneti szabályzatban, ha magán a végponton fut, vagy a továbbítási szabályzatban, ha a végpont mögött található. A megkülönböztetés dönti el, melyik szabálykészlet látja a csomagot.

Az általános forma egy külső átvitel sok belső beszélgetéssel. Azok a termékek, amelyeknek több külső váltásra vagy más IP-protokollra van szükségük, emlékeztetnek arra, hogy az egyetlen nyilvános port mintája ezt a kialakítást írja le, és nem minden VPN-t.

Kapcsolódó cikkek