Хуваалцсан компьютер дээр нэг VPN нэвтрэлт: маршрутыг өөр хэн авах вэ?
VPN нэвтрэлт нэг хүнийг баталгаажуулдаг; түүний суулгах маршрут нь өөр хүрээ юм. Хуваалцсан машин дээр бүх хост, хэрэглэгч, апп-ын туннелийг харьцуул.
Ажлын станц хуваалцах нь ганц хэрэглэгчийн зөөврийн компьютер хэзээ ч хариулах шаардлагагүй асуулт тавьдаг: нэг хүн туннелийг баталгаажуулсны дараа өөр хэн үүнийг ашиглаж болох вэ? Нэвтрэлт нь субъектийг тодорхойлдог, суулгах маршрут нь хүрээг дүрсэлдэг, эдгээр нь ижил объект биш юм. Тэдний хооронд үйлдлийн систем, клиентийн тохиргоо, хувийн үйлчилгээ өөрөө шаарддаг зүйл байна. Хэрэгжүүлэх цэгүүдийг харьцуулах нь таамаглахгүйгээр хариулах цорын ганц арга юм.
Нэг нэвтрэлт, хэд хэдэн хүрээ
Баталгаажуулалт хэнийг оруулсныг хариулна. Маршрут ямар пакетууд туннелиар гарч болохыг хариулна. Эрх олголт аль үйлчилгээ үүссэн холболтыг хүлээн авахыг хариулна, гурвын аль нь ч дараагийг шаарддаггүй.
Бүх хостод зориулсан туннель нь ердийн анхдагч бөгөөд зөрүүг тодорхой болгодог. Маршрут цөмийн хүснэгтэд байдаг тул тэр хүснэгтийг ашигладаг ямар ч процесс хувийн сүлжээнд хүрч чадна, VPN диалогыг хэзээ ч хараагүй хэрэглэгчийн эхлүүлсэн процесс ч орно. Энэ нь туннелийн алдаа биш; системийн хэмжээний маршрутын утга нь энэ юм. Хувийн үйлчилгээ холболтыг үгүйсгэж болно, тиймээс хүртээмж ба зөвшөөрөл тусдаа хариулт шаарддаг.
Туршилтын өмнө дөрвөн асуултыг бичих нь хяналтыг тэдгээрийн аль нэгэнд хумигдахаас сэргийлнэ.
Хил хязгаар үнэндээ хаана байна
Дөрвөн зохион байгуулалт ихэнх машиныг хамардаг: бүх хостод зориулсан туннель, хэрэглэгч тутмын холболт, апп тутмын зөвшөөрлийн жагсаалт, тусдаа сүлжээний нэрийн орон зай эсвэл виртуал машин.
Тус бүр хэрэгжүүлэх цэгийг өөр газар тавьдаг, ялгаа нь шошгоноос илүү чухал. Хэрэглэгч тутмын холболтыг профайлын зөвшөөрлүүд хэрэгжүүлдэг, ширээний нэвтрэх дэлгэц биш. Апп тутмын зөвшөөрлийн жагсаалтыг клиентийн дотор хэрэгжүүлдэг, юу зөөхийг тэр шийднэ. Нэрийн орон зай эсвэл VM интерфэйсийн хил дээр хэрэгжүүлдэг тул доторх процесс хостын маршрутыг огт харж чадахгүй. Машин дээрх нэвтрэх дэлгэцийн тоо тэдгээрийн аль нэгийг ч тайлбарлахгүй.
| Arrangement | Enforced by | Who can use the path |
|---|---|---|
| Host-wide tunnel | The routing table | Any local process using that table |
| Per-user connection | Profile permission list | Only the listed accounts |
| Per-app allowlist | The VPN client itself | Only the selected applications |
| Namespace or VM | The interface boundary | Only processes inside it |
Хүснэгтийг мөр мөрөөр уншихад жинхэнэ асуулт тусгаарлалт байгаа эсэх нь биш, хаана хэрэгжсэн нь болохыг харуулна.
Дөрвөн хэрэгжүүлэх цэгийг харьцуул
Linux дээр маршрутын хүснэгтийг хамгийн түрүүнд шалгах ёстой, учир нь бүх хостод зориулсан туннель тэнд харагдана, нэрийн орон зай харагдахгүй. Хайлтыг хоёр дахь хэрэглэгчээр ажиллуулах нь хүмүүсийн алгасах алхам юм; хариулт тэд өөрсдөөрөө авснаас ялгаатай, энэ нь тайланг тайлбарлана.
Дараагийн хоёр шалгалт нь чиглүүлэлт биш бодлогыг хардаг. UID-тай таарч байгаа галт ханын дүрэм нь локал үүссэн трафикт хамаардаг тул хоёулаа маршрутыг хуваалцсан ч нэг хост дээрх хоёр хэрэглэгчийг тусгаарлаж чадна. Тодорхой зөвшөөрлийн жагсаалттай холболтын профайлыг идэвхжүүлэх үед сүлжээний менежер хэрэгжүүлдэг. Аль ч шалгалт туннелийг өөрчлөх шаардлагагүй, тиймээс ямар нэг зүйлийг дахин зохион бүтээхээс өмнө хийх нь зүйтэй.
ip route get 10.40.2.10
sudo -u bob ip route get 10.40.2.10
nmcli connection show vpn-work | grep -i permission
sudo nft list ruleset | grep -n skuid
Хэрэв хоёр дахь хайлт туннелийн маршрутыг харуулбал, хил нь загвар таамагласан газарт байхгүй.
Зэрэгцээ сессийн дүрэм нь тусдаа хяналт
Гарцууд нэг бүртгэл хэдэн сесс барьж болохыг ихэвчлэн хязгаарладаг, энэ хязгаар нь локал хэрэглэгчидтэй ямар ч холбоогүй. Энэ нь бүртгэлийг хязгаарладаг тул ижил итгэмжлэлээр нэвтэрсэн хоёр дахь хүн эхний хүний туннелийг тасалж болно.
Локал тусгаарлалтын асуудал гэж үзэхээс өмнө алдааг унш. Сессийн хязгаар гарц дээр таслалт үүсгэдэг бол хүрээний асуудал ажилладаг боловч нөгөө хэрэглэгчийн трафикийг зөөдөггүй туннель үүсгэдэг. Эдгээр хоёр шинж тэмдэг огт өөр засварт хүргэдэг. Клиентийн яг мессежийг хадгал, учир нь ихэвчлэн дүрмийн нэрийг агуулдаг. Хязгаарыг тойрохын оронд профайлын эзнээс батлагдсан ажлын урсгалыг хүс.
Виртуал машин хэнийг ч энэ дүрмээс чөлөөлөхгүй бөгөөд өөрийн сүлжээ, итгэмжлэлийн загварыг нэмдэг.
Өөрт тань чухал орчныг туршиж үз
Зорилтот хэрэглэгч, апп-ыг туршиж, дараа нь татгалзах ёстой орчныг туршина. Анхны нууц үг ажиллаж байгааг л батлах хяналт нь баталгаажуулалтыг туршсан, өөр юу ч биш.
sudo -u bob curl -sS -m 5 https://intranet.internal/health
wg show
ss -tnp | grep -E ':443|:51820'
Үр дүн бүрийн хажууд хэрэгжүүлэх цэгийг бич: маршрутын хүснэгт, UID дүрэм, профайлын зөвшөөрөл эсвэл гарцын сессийн бодлого. Тэр бичлэг дараагийн өөрчлөлтийг хянах боломжтой болгоно. Мөн хэн нэгэн хоёр дахь нэвтрэх дэлгэцийг анзаарах бүрт ижил асуулт дахин нээгдэхээс сэргийлнэ. Хүртээмж нь эрх олголт биш, аль нь ч тусгаарлалт биш.