Хэн нэгэн VPN хэрэглэгч яагаад аппын лог дотор гарц руу хамаарах хаягтай, эсвэл үдийн хоолны дараа өөрчлөгдсөн хаягтай гарч ирдэг гэж асуудаг. Хариулт нь энэ утга юу вэ гэдгээс эхэлнэ: вэб сервер хүсэлтийн орчинд тавьсан бүртгэл. Энэ нь туннель руу хийсэн асуулгалт биш, гэрчилгээний таних тэмдэг биш, дугаар нэг хүнд хамаарна гэсэн амлалт ч биш. Үүнийг эдгээрийн аль нэг гэж унших нь өөр өөр аргаар буруу итгэлтэй хариулт өгдөг.

Утга серверээс ирдэг, туннельээс биш

PHP хүсэлтийн орчныг скриптийг ажиллуулсан зүйлээс авдаг. PHP-ийн серверийн хувьсагчдын лавлагаа эдгээр бүртгэлийг вэб сервер үүсгэдэг гэж тодорхойлж, тэдгээрийн боломж нь хүсэлт хэрхэн ирснээс хамаарна.

VPN-ийн командын мөрийн hook болж ажиллаж буй скрипт нь огт өөр гүйцэтгэлийн орчин юм. Түүнд вэб хүсэлт, клиентийн сокет, REMOTE_ADDR байхгүй, тиймээс hook дотор хуулсан вэб код буруу утгын оронд хоосон утга өгдөг. Hook нь өөрийн орчинтой бөгөөд үүнийг демон дүүргэдэг, мөн тусдаа баримтлагдсан. Тэнд REMOTE_ADDR-ийг эрэх нь хэзээ ч тохируулагдаагүй хувьсагчийг эрэх хэрэг.

Хоёр логийг харьцуулахын өмнө энэ ялгааг санаж яв. Магадгүй та хуудасны хүсэлтийг hook-той харьцуулж байгаа байх, энэ нь огт харьцуулалт биш. Эхлээд гүйцэтгэлийн орчныг, дараа нь хаягийг шалга.

Дугаарт итгэхийн өмнө хүсэлтийн замыг дайр

Мэдээлсэн хаяг нь вэб серверийн харсан холболтын peer юм. Клиент ба тэр серверийн хооронд юу ч тавь, peer өөрчлөгдөнө. Орчуулга, терминаци, ачааллын тэнцвэржүүлэлт бүгд ажиглалтыг хэрэглэгчээс нэг алхам урагшлуулна.

Дөрвөн ердийн зам дөрвөн өөр ажиглалт өгдөг.

Path to the listenerWhat can be reported
Client routed straight to the private listener, no translationThe client's tunnel address
Gateway translates the source before forwardingThe gateway's translated address
Reverse proxy terminates the client and opens its own backend connectionThe proxy's backend address
Load balancer in front of two proxiesWhichever hop the server treats as its peer

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

Солих нь зөвхөн тохируулсан газарт болдог

Сервер эсвэл фреймворк клиентийн хаягийг санаатайгаар сольж болно. Apache-ийн remote-IP модуль, NGINX-ийн real-IP модуль хоёулаа үүнийг хийдэг бөгөөд PHP-ийн авдаг утга нь тэр тохиргоо болон скрипт боловсруулагчид дамжуулсан параметрүүдээс хамаарна.

Тиймээс REMOTE_ADDR нь бүх нийтийн хөндөгдөөгүй TCP-peer биш. Энэ нь серверийн өөрийн бодлогыг хэрэгжүүлсний дараа мэдээлэхээр сонгосон peer юм. Тэр ялгаа нь утга нотолгоо эсвэл чимэглэл эсэхийг шийднэ.

Серверийн эзнээс энэ суулгацад аль талбар нь эрх бүхий болохыг, солилт хийгдэх үед анхны peer хэрхэн хадгалагдахыг асуу. Хэрэв хэн ч хариулж чадахгүй бол лог одоохондоо юуг ч нотлохгүй.

Дамжуулах толгойг итгэлээр битгий унш

Дуудагч нь дамжуулах толгойг өөрөө илгээж болно. Таслалаар тусгаарлагдсан эхний бүртгэлийг баталгаажсан хэрэглэгчийн хаяг гэж үзэх нь холбогдсон хэн бүхэнд итгэх шийдвэр бөгөөд энэ нь толгойн зорилгын эсрэг зүйл юм. Толгой нь гинжийг дүрсэлдэг бөгөөд зөвхөн итгэмжлэгдсэн давхарга л тэр гинжид батлан дааж чадна.

Сервер эсвэл фреймворкийн итгэмжлэгдсэн прокси дэмжлэгийг бодит прокси гинжээр тохируулан ашиглаж, тэр гинжээс гадуурх эх сурвалжаас ирсэн утгыг хаяхыг зөвшөөр. Гараар бичсэн задлан шинжилгээ нь сонирхолтой алдааны ихэнх нь амьдардаг газар.

Проксигоор мэдээлсэн хаяг нь дээд талын галт ханын хардаг пакетийн эх үүсвэрийг ч өөрчлөхгүй. HTTP мета өгөгдөл ба сүлжээний шүүлтийг тусдаа ажиглалт болгон барь, учир нь тэд өөр асуултад хариулдаг.

Шийдвэрт аппын таних тэмдгийг ашигла

Хэрэглэгчийн бүртгэлд нэвтрэхдээ баталгаажсан субьект болон аппын зөвшөөрлийн дүрэмд найдах хэрэгтэй. Дотоод хаягийг дахин хуваарилж болно, нэг орчуулсан хаяг хэдэн зуун зэрэг хэрэглэгчийг төлөөлж болно. Эдгээр шинж чанарын аль нэгийг ч хаягийн шалгалт засахгүй.

Хэрэв үйл ажиллагаа хүсэлтийг VPN сессээр холбох шаардлагатай бол ажигласан хаяг болон цагийн тэмдэглэгээг баримтлагдсан орчуулгын загварын дагуу эрх бүхий сессийн бүртгэлтэй холбо. Энэ нь хамгаалж болох холбоо үүсгэдэг; ганц хаяг үүнийг хийдэггүй.

Оношилгоонд бүх серверийн массивийн оронд хэрэгтэй цөөн талбарыг логод бич, учир нь массив толгой болон баталгаажуулалтын материал агуулж болно. Ашигтай дүгнэлт нь энэ утга энэ суулгацад юу гэсэн үг болохыг хэлдэг, аль утга клиентэд хамгийн их төстэйг биш.

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