Оффис болон VPN-д нэг URL? Яагаад зөвшөөрлийн жагсаалтын домог бүтэлгүйтдэг
VPN холболт зөвшөөрөгдсөн сайтын хардаг хаягийг өөрчлөхгүй. URL нэмэхийн өмнө бодит гаралт, итгэмжлэгдсэн прокси үсрэлт, IPv6 замыг шалгана уу.
Туннелийг холбож, ижил хавчуурыг нээхэд зөвшөөрөгдсөн сайт оффисоос хэрхэн хариулж байсан шиг яг адилхан хариулна. Энэ бол алсын хандалтын ихэнх төлөвлөгөө чимээгүй тулгуурладаг таамаглал бөгөөд гурав тусдаа зүйл нэгэн зэрэг үнэн байх үед л хүчинтэй. Тэдгээрийн аль нь ч VPN клиентийн шинж чанар биш бөгөөд ямар ч DNS бичлэг тэдгээрийн аль нэгийг өгч чадахгүй. Гэрт хавчуур бүтэлгүйтэхэд хөтөч танд нэг ерөнхий алдаа өгдөг, шалтгаан нь дутуу маршрут, зөвшөөрөөгүй гаралтын хаяг эсвэл өөрөө мэдээлдэг эх сурвалжийг сольсон прокси байсан ч. Тэдгээрийг нэг асуудал гэж үзэх нь жижиг бодлогын засварыг зөвшөөрлийн жагсаалтыг өргөжүүлэх нэг долоо хоног болгох зам юм.
Бодит оффисын сүлжээтэй харьцахыг даах загвар нь таамаглалаас нарийн: гурван мөрт тодорхой шийдвэрийн хүснэгт, тойрч гарах боломжгүй нэг хэрэгжүүлэх цэг, ямар нэг зүйлийг нотолдог татгалзалтын сорил. Таамаглалыг задлах нь эхэнд ирдэг, учир нь түүний дараах бүхэн аль давхарга эх сурвалжийг буруу дүрсэлж байгааг мэдэхээс хамаарна.
Домог: холбогдох нь чиглүүлэлт биш
Туннель бий болж, клиент зарим префикст маршрут суулгана. Холбогдохын хийдэг зүйл ердөө ийм. Хамааралгүй HTTPS хүсэлт туннелээр дамжих эсэх, ирэхдээ ямар нийтийн хаягаас ирсэн мэт харагдах нь дараа нь бусад бүрэлдэхүүн хэсгүүдийн гаргах шийдвэр юм: маршрутын хүснэгт замыг сонгож, гаралт эх сурвалжийг сонгоно.
Тиймээс нэг зөөврийн компьютер, нэг хөтчийн профайл, нэг хавчууртай оффис болон гал тогооны ширээ ялгаатай. Оффист хүсэлт сайтын оператор зөвшөөрсөн арчилгаатай нийтийн хаягаар гардаг. Бүрэн туннелээр энэ нь VPN гаралтаар гарч болох бөгөөд энэ нь өөр хаяг бөгөөд хэн нэгэн нэмэх хүртэл зөвшөөрөөгүй. Хуваасан туннелээр энэ нь туннельд огт орохгүй байж болно. Тэр гурван замын зөвхөн хоёр нь л сайтын эзэнтэй хийсэн гэрээний хэсэг байсан бөгөөд гурав дахь нь нэмэлт allow мөрөөр засах ёстой алдаа биш.
Хүсэлтийн гурван төлөв, хоёр зөвшөөрөгдсөн гаралт
Галт ханыг хүрэхийн өмнө матрицыг бичээрэй, учир нь хүснэгт нь загвар бөгөөд дүрэм нь түүний зөвхөн нэг хэрэгжилт. Доорх хаягууд нь баримтжуулалтын хүрээ; тэдгээрийг өөрийн арчилгаатай утгаар сольж, сайтын эзэн шалгаж болох газар хадгална уу.
| Request path | Source the site sees | Intended decision |
|---|---|---|
| Office, no tunnel | Office public exit | Admit to the application login |
| Remote, approved full tunnel | Approved VPN egress | Admit to the same login |
| Remote, ordinary connection | Neither approved address | Deny at the network boundary |
Эдгээр төлөвлөгөөний ихэнх нь яг дунд мөрөнд эвдэрдэг. Чухал нь хэрэгжүүлэгч төхөөрөмжийн хардаг хаяг бөгөөд зөөврийн компьютерын туннель дотор байлгадаг хувийн хаяг ч биш, түүний LAN хаяг ч биш. 10.8.0.6 гэх мэт утга нийтийн сайтад юу ч илэрхийлэхгүй, 192.168.1.44 ч мөн адил. Туннелийн хаяг нь туннелийн хаяглалтын дэлгэрэнгүй мэдээлэл бөгөөд сайтын шалгаж болох гэрчилгээ биш.
Хэрэв таны VPN тогтвортой, баримтжуулсан гаралтыг өгч чадахгүй бол матрицад хүчинтэй дунд мөр байхгүй бөгөөд зөвшөөрлийн жагсаалтыг хэчнээн нэмсэн ч нэгийг зохиохгүй. Тэр мөчид шударга сонголт бол тодорхой хувийн маршрутаар хүрэх хувийн сайт, эсвэл аппликейшны өмнөх өвөрмөц байдлыг мэддэг нэвтрэх гарц юм. Хоёулаа нийтийн зөвшөөрлийн жагсаалтаас өөр гэрээтэй бөгөөд хоёуланг нь аудиторт тайлбарлах нь санамсаргүй ажиллах хүртэл өссөн жагсаалтаас хялбар.
Шийдвэр гардаг газар эх сурвалжийг уншина уу
Хязгаарлалтыг хүсэлтийг дуусгадаг төхөөрөмжид тавьж, өөр гарал үүслийн зам түүнийг тойрохгүй гэдгийг баталгаажуулна уу. Nginx-ийн нэвтрэх модуль allow болон deny заавруудыг дарааллаар үнэлж, эхний тохирол ялж, хүрээлэх блокоос өвлөгдсөн дүрэм location дотор үргэлжлэн үйлчилнэ. Нэг газар нарийн allow өргөн allow-ийн хажууд байх нь ихэвчлэн өргөн нь шийддэг гэсэн үг. Түүний нэг мөрийг ч засахын өмнө тухайн location-ийн бүх хүчинтэй тохиргоог уншина уу.
server {
listen 443 ssl;
server_name intranet.example.com;
set_real_ip_from 10.20.0.10;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
location /app/ {
allow 203.0.113.24; # office public exit
allow 198.51.100.77; # approved VPN egress
deny all;
proxy_pass http://app_backend;
}
}
Ачааллын тэнцвэржүүлэгч эсвэл урвуу проксины цаана тэр дүрэм өөрөөр хэлэхгүй л бол проксиг хардаг. Дуудагчийн хаягийг зөвхөн дэмжигдсэн итгэмжлэгдсэн прокси механизмаар, прокси хаягуудын тодорхой жагсаалттайгаар сэргээнэ үү. Зөвшөөрөгдсөн хаягийг мэдэгдэж буй хүсэлтийн толгой нь дуудагч түүнийг эзэмшиж байгаагийн баталгаа биш бөгөөд нийтийн сонсогч дээр баталгаажаагүй дамжуулсан толгой нь зөвшөөрлийн жагсаалтыг чимэглэл болгоно.
Дараа нь хаягийн нөгөө бүлгийг шалгана уу. Зөвхөн IPv4-ийг хамарсан дүрмийн багц нь AAAA дээр ч хариулдаг хост нэрэнд бүрэн бус шийдвэр бөгөөд ажиллаж буй IPv6-тай клиент таны хэзээ ч хянаж үзээгүй замаар ижил аппликейшнд хүрнэ.
Хуваасан туннель: хэзээ ч орохгүй хүсэлт
Хуваасан туннель зөвхөн өөрийн жагсаалт дахь префиксүүдийг зөөнө. Оффисын дотоод дэд сүлжээнүүд ихэвчлэн тэр жагсаалтад ордог; нийтийн вэбсайт ордоггүй. Хөтөч нэрийг шийдэж, сонгосон хаягийг маршрутын хүснэгттэй харьцуулаад, гэсэн хэдий ч урд нь орон нутгийн анхдагч гарцыг олдог.
Ингэснээр хүсэлт хэрэглэгчийн гэрийн холболтоос ирж, татгалзагдаж, тайланд VPN эвдэрсэн гэж бичигддэг бөгөөд туннель яг юунд тохируулагдсанаа хийдэг. Хоёр засвар хууль ёсны: тэр очих газрыг туннелээр дамжуулж, зөвшөөрөгдсөн гаралт түүнийг зөөх боломж өгөх, эсвэл сайтад шууд хүрдэг гэдгийг хүлээн зөвшөөрч, алсын хэрэглэгчдэд нэвтрэх гарц гэх мэт өөр зөвшөөрөгдсөн зам өгөх. Гэрийн хаяг санамсаргүй багтах хүртэл сайтын нийтийн зөвшөөрлийн жагсаалтыг өргөжүүлэх нь аль нь ч биш бөгөөд загварын хэрэгжүүлэх ёстой хил хязгаарыг арилгана. Эхний хоёр нь матрицыг шударга байлгана; гурав дахь нь түүнээс нэг мөрийг чимээгүй устгана.
Татгалзалтыг нотол, дараа нь сэргэлтийг
Хүснэгтийн мөр бүр дээр зогсож буй клиентээс бодит шийдвэрийг хэрэгжүүлдэг хүсэлтээр туршина уу. Хамааралгүй ямар нэг хаяг харуулдаг хуудас руу хүрэх эсэхийг шалгах нь юу ч нотлохгүй, учир нь тэр очих газар аппликейшнаас өөр замаар явж болно.
curl -sS -o /dev/null -w 'status=%{http_code}
' https://intranet.example.com/app/login
# repeat with the tunnel up, then with it down
tail -f /var/log/nginx/access.log | grep ' /app/'
Хилийн нэвтрэх бичлэгийг хүснэгтийн урьдчилсан таамаглалтай харьцуулна уу. Дараа нь туннелийг буулгаж, татгалзагдах ёстой шинэ хүсэлт гаргана уу; аль хэдийн ачаалагдсан хуудас эсвэл аль хэдийн нээлттэй холболт юу ч шалгахгүй. Хэрэв татгалзалт харагдахгүй бол хэрэгжүүлэх цэг таны бодож буй газарт биш.
Сүлжээнд оруулсны дараа аппликейшны баталгаажуулалтыг хадгална уу, учир нь оффисын гаралт болон VPN гаралт тус бүр олон хүнийг төлөөлдөг бөгөөд аль нь ч хувь хүнийг танихгүй. Хэрэглэгчдэд өгөх заавар богино хэвээр байна: зөвшөөрөгдсөн туннелийг өргөж, дараа нь дахин оролдоно уу. Энэ нь нэг URL-ийг тохь тухтай байлгахын зэрэгцээ эх сурвалжийн дүрэм таамаг биш, шийдвэр хэвээр үлдэнэ.