Csak IPv6-os kapcsolat, IPv4-es szolgáltatás: híd legyen a SOCKS proxy
A SOCKS proxy fogad egy kapcsolatot és nyit egy másikat, így a csak IPv6-os kliens eléri az IPv4-es szolgáltatást. Ez átjárás, nem natív IPv4-hozzáférés.
Nem kell a cél címcsaládjába tartozó cím, hogy elérje, amíg valami az útvonalon hajlandó továbbítani. Az alkalmazás csatlakozik a proxyhoz, a proxy pedig egy második kapcsolatot nyit a célhoz. Ez két socket független címcsaládokkal, és egyik protokoll sem követeli meg, hogy egyezzenek. Ez alkalmazásszintű továbbítás, nem natív IPv4-útvonal, és ez a különbség dönti el, mi fog működni és mi nem. A kettő összetévesztése az, amiért egy laptopot IPv4-kapcsolatúnak írnak le, holott mindössze egy proxyja van.
Két socket, két címcsalád
A SOCKS5-kérés három forma egyikében nevezi meg a célt: szó szerinti v4-cím, szó szerinti v6-cím, vagy a proxy által feloldandó név. A kérés azt írja le, hova csatlakozzon a proxy, nem azt, hogy néz ki a kliens és a proxy közötti kapcsolat.
Ezeket a címtípusokat három független választásként olvassa egy üzeneten belül. Az IPv6-on elérhető proxy akkor is nyithat IPv4-es cél-socketet, ha működő IPv4-kimenete van, és a házirendje engedélyezi a kérést. A SOCKS5 specifikáció ezeket a kliens átvitelére való bármilyen hivatkozás nélkül határozza meg.
Kontrollált SSH-példa
Vegyen egy SSH-gazdagépet, amelynek használatára jogosult, IPv6-on válaszol, és maga is el tud érni egy csak v4-en létező HTTPS-szolgáltatást. Az OpenSSH dinamikus továbbítása helyi SOCKS-figyelőt tesz a gépére, miközben a bejelentkezési munkamenet v6-on fut.
ssh -6 -N -D 127.0.0.1:1081 -o ExitOnForwardFailure=yes [email protected]A fenti gazdagép és fiók példák, a loopback-kötés pedig ezen a számítógépen tartja a figyelőt. Ne cserélje vadkártyás kötésre, hogy egy iroda megoszthasson egy hitelesítés nélküli proxyt. ExitOnForwardFailure=yes azért létezik, hogy a sikertelen továbbítás lezárja a munkamenetet, ne pedig csendben fusson tovább egy parancs a háttérben.
A futó munkamenet mellett a kérés így néz ki:
curl --proxy socks5h://127.0.0.1:1081 https://v4-only.example/A loopback-kapcsolat nem IPv4-es internetútvonal. A gépéről a v6-os bejelentkezési munkamenet lép ki, és a cél-socketet a távoli oldal nyitja. A socks5h forma a névfeloldást is arra az oldalra bízza, ami akkor számít, ha a kliensnek nincs saját IPv4-es feloldó útvonala.
Amit a cél valójában lát
A cél a továbbító kimenő címét látja. Nem jelenik meg ott a laptopjához tartozó cím. Az adott szolgáltatás forrásengedély-listájának meg kell neveznie a továbbítót. A naplói is a továbbítónak tulajdonítják majd a forgalmat. Írja ezt a változásrekordba az audit előtt, mert a klienscímek köré épített engedélyezési lista az első kérésnél elbukik.
A továbbító az a hely is, ahol a beszélgetés két fele látható, ami diagnóziskor hasznos tulajdonság, és teher, ha a továbbítót házirend nélkül osztják meg.
Ez nem DNS64 és nem NAT64
A DNS64 szintetizált rekordokkal válaszol, amelyek v4-es célokat helyettesítenek, a NAT64 pedig a konfigurált útvonal mentén írja át a csomagokat. Egyik sem írja le, ami itt történik, ahol az egyik átviteli beszélgetés véget ér és egy másik elkezdődik, és semmilyen szintetizált cím nem magyarázza az eredményt. A sikeres kérés ezért semmit sem mond arról, milyen fordítási szolgáltatásokat üzemeltet a szolgáltatója, és a proxy a saját kimenetén közönséges NAT-ot futtathat.
Mindkét mechanizmus létezhet ugyanabban a hálózatban, ezért azt írja le, amit valóban ellenőrzött, ne azt, amelyik a leginkább hasonlónak hangzik.
Ismerje a hatókört, mielőtt megígéri
Az OpenSSH dinamikus továbbítása TCP-kapcsolatokat visz, nem tetszőleges IP-forgalmat, ezért az UDP-nek, az ICMP-nek és minden proxy-t figyelmen kívül hagyó protokollnak más támogatott kialakításra van szüksége. Tartsa meg az SSH-gazdagépkulcs ellenőrzését, a szerver továbbítási korlátait és a HTTPS-tanúsítvány érvényesítését, mert a proxy további megbízható résztvevő, nem pedig ok az identitásellenőrzések gyengítésére. Ha a cél a VPN külső átvitelének átvitele a proxyn, ellenőrizze, hogy mindkét vég támogatja ezt az átvitelt, ahelyett hogy feltételezné, bármely SOCKS-figyelő továbbíthatja.
Ezek egyike sem teszi a klienst kettős vereművé, és erre nincs is szükség. Eléri, hogy egy alkalmazás egy továbbítón keresztül egy szolgáltatást érjen el, ami kisebb állítás és sokkal könnyebben ellenőrizhető.