Эдгээр шалгалтыг дарааллаар нь хийж, эхний бүтэлгүйтсэн дээр нь зогсоо, учир нь хариу бүр дараагийн алхамын утгыг өөрчилдөг. Жинхэнэ асуулт нь явцууд: ZeroTier сүлжээн дэх энгийн HTTP интернэтээр илгээгдэх үедээ нээлттэй явдаг уу? Хоёр ZeroTier peer хооронд ихэвчлэн тийм биш, учир нь оверлей тэр үсрэлтийг шифрлэдэг. Гэхдээ энэ нь хоёр төгсгөлийн цэгийн тухай мэдэгдэл, хүсэлт туулах бүх сегментийн тухай биш. Роутер, bridge эсвэл reverse proxy төгсгөлийн цэгийг зөөдөг, түүний цаана plaintext дахин эхэлдэг.

Шалгалт 1: хөтөч ямар хаяг руу залгаж байгааг ол

URL-ийг машин үнэхээр юу агуулж байгаатай харьцуул. ip -brief addr show нь zt интерфэйс болон сүлжээний контроллерын олгосон оверлей хаягийг харуулна; хэрэв URL тэр хаягийг ашиглаж байвал хөтчийн socket оверлей руу явна.

Харин нэр LAN хаяг руу resolve болбол, клиентийн төлөвийн индикатор юу ч харуулсан оверлей огт оролцохгүй байж болно. ip route get 10.147.20.5 нь цөм сонгох интерфэйс болон эх хаягийг хэвлэнэ, тиймээс тэнд zt интерфэйс байвал пакет оверлей руу орно, харин таны физик NIC-ийн нэр байвал орохгүй. Нэрс өөр нэг давхарга нэмдэг: оверлей хаяг руу заасан бичлэг LAN хаяг руу заасан бичлэгээс өөрөөр ажилладаг бөгөөд хайлтын дагавар эсвэл hosts файлын бичлэг аль нь олдохыг чимээгүйгээр шийдэж чадна.

Шалгалт 2: хоёр тал хоёулаа peer, шифр тайлдаг relay биш гэдгийг батал

ZeroTier peer хооронд шифрлэдэг бөгөөд шууд зам байхгүй үед пакетуудыг шифрлэгдсэн хэвээр дамжуулдаг root-оор дамжуулна. zerotier-cli peers нь peer бүрийн замыг DIRECT эсвэл RELAY гэж хоцролтын үзүүлэлттэйгээр тэмдэглэнэ. Relay зам нь round trip зарцуулдаг, нууцлалыг биш.

Хариултыг өөрчилдөг зүйл бол үнэхээр төгсгөлийн цэг биш гишүүн юм. Хэрэв цаана байгаа тал нь физик LAN руу route эсвэл bridge хийж буй ZeroTier гишүүн бол оверлей тэр гишүүн дээр дуусч, дараагийн үсрэлт нь энгийн Ethernet болно.

Шалгалт 3: хүсэлт хаана уншигдах болж байгааг ажигла

Хуудсыг үйлчилдэг гэж бодож буй хост дээрээ дахин ачаалах үед оверлей интерфэйсийг баривчлаарай: sudo tcpdump -i ztxxxxxxx -A -c 5 'tcp port 80'. Тэр гаралт дахь уншигдах хүсэлтийн мөр нь трафик тэр хост дээр шифр тайлагдсан байдалтай ирснийг батална, энэ бол таны хайж буй хил.

Дараа нь үлдсэн LAN руу харсан интерфэйс дээр баривчлаарай. Хэрэв ижил хүсэлт тэнд нээлттэй байдлаар гарч ирвэл энэ нь аппликейшнд хүрэхээс өмнө оверлейг орхисон бөгөөд тэр сегментийн бүх төхөөрөмж үүнийг уншиж чадна. Хэрэв LAN талд юу ч гарахгүй, хуудас ачаалсаар байвал аппликейшн ZeroTier хост дээрээ өөрөө terminate хийж байна.

Урд нь reverse proxy байгаа үед loopback-ыг баривчлах нь ч чухал, учир нь HTTPS хүлээн авч HTTP дамжуулдаг proxy хилээ өөрийн backend руу зөөдөг.

Шалгалт 4: роутер эсвэл bridge-ийн ард байгаа үсрэлт бүрийг бодолц

Оверлей болон LAN-ийн хооронд route хийхээр тохируулсан гишүүн бол энгийн загвар бөгөөд эдгээр таамаглал ихэнхдээ эвдэрдэг газар юм. Оверлей нь хөтөчөөс роутер хүртэлх хэсгийг хамгаалдаг, түүний дараа юу ч биш. Bridge нь өөр механизмаар ижил түүхийг өгүүлдэг: оверлей болон физик сегмент нэг broadcast домэйн болдог тул bridge хийсэн зөөврийн компьютероос ирсэн хүсэлт тэр компьютер ZeroTier сүлжээнд байсан ч энгийн Ethernet-ээр гардаг.

Таамаглахын оронд мөрдөж үз. Клиентээс үйлчилгээний хаяг руу traceroute хийж, гарц гишүүн дээрх routing хүснэгттэй хамт сүүлийн үсрэлт zt эсвэл eth эсэхийг харуулна.

ZeroTier мөн гүйцэтгэлийн төлөө томилогдсон локал зам дээр transport аюулгүй байдлыг орхиж болох trusted-path горимыг санал болгодог. Үүнийг ашиглаж буй сүлжээ ердийн шифрлэгдсэн замын таамаглалыг өвлөхгүй тул нэгийг иш татахын өмнө сүлжээний тохиргоог уншаарай. Протоколын баримт бичиг нь peer шифрлэлт болон тэр үл хамаарах тохиолдлыг хоёуланг нь тайлбарладаг.

Шалгалт 5: аппликейшн юу хийх ёстойгоо шийд

Оверлейд гишүүн байх нь төхөөрөмжийг сүлжээнд баталгаажуулдаг бөгөөд нөгөө талын үйлчилгээ таны хүрэхийг хүссэн үйлчилгээ мөн эсэхийг хэлдэггүй. HTTPS нь hostname-ыг түлхүүртэй холбож өөр асуултад хариулдаг тул эдгээр хоёр хамгаалалт бие биеэ орлуулахгүйгээр давхцдаг. Эрх бүхий peer ч буруу үйлчилгээ байж болох бөгөөд эвдэрсэн төгсгөлийн цэг хүсэлтийг шифрлэлтийн өмнө болон тайлагдсаны дараа хоёуланд нь уншдаг. Аль ч механизм аппликейшн юу бүртгэж байгааг аудит хийдэггүй.

Дахин ашиглах боломжтой session эсвэл нууц үгтэй бүх зүйлийн хувьд TLS-ийг аппликейшн дээр эсвэл өөрийн хянаж буй proxy дээр terminate хийж, гэрчилгээний баталгаажуулалтыг асаалттай орхи. Хуучин үйлчилгээ энгийн HTTP дээр үлдэх ёстой бол түүний ашиглаж болох яг host-to-host замыг, хэн хүрч болохыг, аль сегмент хамгаалалтгүй үлдэхийг бичиж тэмдэглэ; ирээдүйн хянагчид хэрэгтэй зүйл нь тэр тэмдэглэл юм.

"VPN холбогдсон" гэдэг нь эдгээрийн аль нэгийг ч үнэлэх үнэлгээ биш. Шударга хувилбар нь хоёр төгсгөлийн цэг, тэдний хоорондын зам, хамрагдаагүй эхний үсрэлтийг нэрлэдэг.

Баривчлалын гаралт болон peer-ийн жагсаалтыг үйлчилгээний баримт бичгийн дэргэд хадгал, ингэснээр route өөрчлөх эсвэл bridge нэмэх хэн бүхэн ямар таамаглалыг эвдэх гэж байгаагаа харж чадна.

Холбоотой нийтлэлүүд