Ketma-ket ikki VPN sakrashi: trafigingizni aslida kim ko'radi?
Ketma-ket sakrashlar birinchi shlyuzda shifrni ochib, qayta shifrlaydi; ichma-ich sakrashlar faqat tashqi qatlamni olib tashlaydi. Ikkala dizaynni ko'rib chiqing va qaysi operator nima o'qishini ko'ring.
Har bir mijoz profili bitta serverni nomlaydi, shuning uchun foydalanuvchi o'rnidan bitta tunnel va himoya tugaydigan bitta joy bor. O'sha birinchi shlyuzdan keyin nima bo'lishi mijoz hech qachon ko'rmaydigan dizayn qarori, va ikkala keng tarqalgan dizayn tekshiruvda juda boshqacha harakat qiladi. Ketma-ket zanjirda birinchi shlyuz shifrni ochadi va qayta shifrlaydi. Ichma-ich zanjirda u tashqi qatlamni olib tashlaydi va o'zi ocholmaydigan ichki tunnelni uzatadi. Sakrashlar soni ikkalasida ham bir xil, shuning uchun farqni sanash emas, chizish kerak.
Mijozdan boshlang va ikkala uchni nomlang
Foydalanuvchi boshlaydigan joydan, ya'ni ulanish profilidan boshlang. Unda bitta masofaviy manzil, bitta autentifikatsiya usuli va dizayn qo'llab-quvvatlasa, marshrutlar ro'yxati bor. Mijozdan A shlyuzigacha bo'lgan o'sha tashqi tunnelni belgilang va misol manzillar bering: mijoz tunnel manzili 10.77.0.2, A manzili 10.77.0.1 va A ning ommaviy oxirgi nuqtasi 198.51.100.10, TEST-NET-2 hujjat diapazonidan olingan, misolda hech narsa haqiqiy xost bilan to'qnashmasligi uchun.
Bu profilda B shlyuzi haqida hech narsa aytilmagan va bu nuqson emas. Ikkinchi sakrash A ga tegishli, mijozning yagona majburiyati trafikni A ga yetkazish va qaytganini qabul qilishdir. A tunnelni tugatadimi, uzatadimi yoki yangisini ochadimi — bu savolga ushbu sharhning qolgan qismi javob beradi va bu A nimani o'qiy olishini belgilaydi.
Ketma-ket: A shifrni ochadi, so'ng qayta shifrlaydi
Ketma-ket dizaynda A trafikni ikki marta tugatadi. U mijozdan himoyani olib tashlaydi, ilovaning IP paketini oladi va so'ng bu paketni A B tomon yaratadigan ikkinchi tunnel orqali yuboradi. Bu ikki amal orasida paket A ning uzatish yo'lida xususiy manzilga yo'naltirilgan oddiy IP paket sifatida turadi.
Bu ochiq aytishga arziydigan ikki oqibat beradi. A ichki paketga siyosat qo'llashi mumkin: marshrutlar, filtr qoidalari va manba hamda manzilning jurnallanishi, va A ikki to'plam hisob ma'lumotlarini saqlashi kerak: biri mijoz uchun server sifatida, biri B ning mijozi sifatida. Himoya har daqiqada mavjud, lekin himoyalangan obyekt A da o'zligini o'zgartiradi.
Bundan A ilovaning ochiq matnini o'qiydi degan xulosa chiqmaydi. Mijoz va xizmat TLS ishga tushirib, bir-birining sertifikatlarini tekshirganda, A o'qiladigan so'rov emas, TLS yozuvlar oqimini ko'radi. Bu himoya qayerda tugashini tasdiqlash uchun tunnel sxemasiga emas, xizmatning sertifikatlar zanjiriga qarash kerak.
Ichma-ich: A faqat tashqi qatlamni olib tashlaydi
Ichma-ich dizaynda mijoz avval B tomon ichki tunnel quradi, so'ng bu tunnelni tashqi tunnel ichida A gacha olib boradi. A tashqi sarlavhani olib tashlaydi, ichki tunnelni topadi va uning kalitlarini saqlamasdan uzatadi, shuning uchun ichki himoya baribir B da tugaydi.
Shunda mijozning yuqori kanali ikki qatlam, A va B orasidagi yo'l esa bitta qatlam tashiydi. A ichki tunnelning tashqi manzillarini ko'radi, bu trafik borligini va taxminan qayerga ketayotganini bilishga yetadi, foydali yukni o'qishga yetmaydi. Ketma-ket holatdan butun farq shu va buni hech qanday sakrash hisoblagichi ko'rsatmaydi. A hali ham qila oladigan narsa o'qiy olmaganini uzatishdan bosh tortishdir va bu o'sha shlyuz operatori uchun doim ochiq.
Ichma-ichlik bu xususiyat uchun to'laydi. Har bir qatlam sarlavha xarajatini qo'shadi, shuning uchun MTU va MSS rejalashtirish tartibli bo'lishdan ko'ra majburiy bo'ladi va bitta qatlam bilan ishlaydigan yo'l ikkitasi bilan katta paketlarni jimgina tashlab yuborishi mumkin. Har bir qatlam o'zining qayta ulanish va tirik saqlash xatti-harakatiga muhtoj, bir qatlamdagi nosozlik ikkinchisi orqali qisman uzilish kabi ko'rinadi.
Faqat tunnellarni emas, kuzatuvchilarni ham chizing
Tunnellar chizmaning oson qismi. Kuzatuvchilar dizaynning mavzusi, shuning uchun har bir qarash nuqtasi uchun bitta qator yozing va har biri aslida nima o'qiy olishini to'ldiring.
| Vantage point | Serial chain | Nested chain |
|---|---|---|
| Client's access network | Outer tunnel only | Outer tunnel only |
| Operator of A | Inner IP packet between A and B | Outer addresses of the inner tunnel, not its payload |
| Path between A and B | Second tunnel | Second tunnel |
| Operator of B | Inner packet re-originated by A | Payload after the inner layer is removed |
| Service edge | Traffic from the exit address | Traffic from the exit address |
Ikki qator doim aralashtiriladi: A operatori va mijoz tunnelining provayderi. Ular bitta subyekt bo'lishi mumkin va alohida shlyuz nomlari ularni mustaqil qilmaydi. Mustaqil egalik alohida ma'muriy nazorat, alohida hisob ma'lumotlari va alohida jurnallashni talab qiladi.
Metama'lumotlar ikkala dizaynda ham omon qoladi. Vaqt, paket o'lchamlari va ulanishlar soni har bir sakrashda kuzatiladigan bo'lib qoladi, shuning uchun ikki sakrash signalni olib tashlash o'rniga korrelyatsiya xarajatini oshiradi. Ko'rinmaslikni va'da qilgan dizayn birov unga tayanishdan oldin o'sha ro'yxat bilan tekshirilishi kerak.
Tanlashdan oldin nosozlik yo'llarini bosib o'ting
Mijozdan ataylab narsalarni buzing, foydalanuvchi uchratadigan tartibda. Interfeys va uning MTU sidan boshlang, chunki ichma-ichlik autentifikatsiyada emas, paket o'lchamida ancha oldin muvaffaqiyatsiz bo'ladi.
ip -4 addr show dev tun0
ip link show dev tun0 | grep mtu
ping -M do -s 1380 -c 2 10.77.1.1
So'ng himoya oxirgi nuqtalarini taxmin qilish o'rniga tasdiqlang. Qaysi tunnel ochiq bo'lsa, uning ichidan xizmatdan sertifikatini so'rang va mijoz ko'radigan zanjirni xizmat aslida taqdim etadigan zanjir bilan solishtiring. Qayta imzolaydigan yoki ushlab qoladigan shlyuz o'sha sertifikatni o'zgartiradi va tekshiruv bitta buyruqda ko'rinadi.
openssl s_client -connect intranet.example.com:443 -brief < /dev/null
Qayta ulanish matritsasi bilan tugating: mijoz tunnel yiqiladi, B tunnel yiqiladi, A va B orasidagi yo'l o'zgaradi. Nima qaytishini, nima qaytmasligini va ichki ulanish hech qachon o'z mo'ljallangan tashuvchisidan tashqari marshrutga tushishini yozib qo'ying. Har bir sinov ishlatgan manzillarni yozing, chunki boshqa kirish tarmog'ida takrorlash boshqa savolga javob beradi. Har qayta ulanishdan keyin MTU sinovini ham takrorlang, chunki o'zgargan yo'l bitta konfiguratsiya qatori qimirlamay turib foydali o'lchamni tushirishi mumkin.
A ichki paketga siyosat qo'llashi kerak bo'lganda yoki mijoz ikki qatlamli tunnel ishlata olmaganda ketma-ketni tanlang. Ichki foydali yuk A da o'qilmay qolishi kerak bo'lganda ichma-ichlikni tanlang. Tanlovni uning kuzatuvchilari va MTU raqamlari bilan yozing, keyingi odam bitta savolga javob berish uchun butun rasmni qayta chizishi shart bo'lmaydi.