VPN холбогдсон ч галт хана блоклож байна: алийг нь хэрхэн мэдэх вэ
Туннель ажиллаж байгаа ч нэг порт амжилтгүй хэвээр. Замыг уншиж, дараа нь давхарга бүрийн бодлогыг үзэж, хоёр хяналтын аль нэгийг унтраахын оронд хамгийн нарийн дүрмийг өөрчил.
Клиент холбогдсон гэж хэлэх ч нөөц татгалсаар байна, дараагийн ердийн алхам нь ямар нэг зүйлийг унтраах. Тэр өгүүлбэрт хоёр хяналт өөр ажил хийдэг: VPN хамрагдсан урсгалд зам барьдаг, галт хана холболт бүрт урсгал нэвтрэх эсэхийг шийддэг. Татгалздаг бодлоготой ажиллаж буй туннель хэрэглэгчийн суудлаас эвдэрсэн туннельтэй яг ижил харагддаг тул аль давхарга хариу үйлдэл үзүүлж байгааг олох нь ажил. Миний баримталдаг дараалал энэ, зогсохыг хэлэх унших хэсэгтэй хамт.
Замыг бодлогоос тусгаарла
Алдааны хэлбэрээс эхэл, учир нь энэ үнэгүй мэдээлэл. Пакет унасан үед хугацаа хэтэрдэг: клиент дахин оролддог, юу ч буцаж ирэхгүй, командыг бууж өгөх хүртэл өлгөгдөнө. Татгалзалт нь татгалзал эсвэл дахин тохируулалт үүсгэдэг: ямар нэг зүйл хариулж, үгүй гэж хэлсэн. Сонсохгүй үйлчилгээ хост дээр өөрөө татгалздаг, ямар ч галт ханагүйгээр.
Эдгээр гурван үр дүн өөр өөр давхаргыг заана. Хугацаа хэтэрсэн нь хаа нэгтээ бодлого чимээгүй хаяж байгаа, эсвэл зам хэзээ ч машинаас гарахгүй гэсэн үг. Татгалзсан нь хостод хүрсэн бөгөөд түүний стек эсвэл локал галт хана татгалзсан гэсэн үг. Бүрэн чимээгүй, туннелийн интерфэйс өргөгдсөн бөгөөд очих газар руу зам байхгүй бол зам буруу бөгөөд ямар ч галт хананы дүрэм засахгүй.
Замыг нэг удаа унш
Нэг ч дүрэм харахаас өмнө туннель очих газрыг хамрах эсэхийг батал. Зөвхөн оффисын дэд сүлжээг зөөдөг хуваагдсан туннель хүсэлтийг өөр мужид чиглүүлэхгүй, тэгэхэд алдаа нь галт хананы блоклолт мэт харагдана, гэхдээ тийм биш:
ip route get 10.20.4.15
ip -brief address show
wg show
sudo ipsec statusall
Замын гаралт нь пакет ямар интерфэйсээр гарах, ямар эх хаяг агуулахыг хэлнэ. Хэрэв тэр интерфэйс нь туннель биш, таны физик сүлжээний карт бол, асуудал чиглүүлэлт эсвэл туннелийн зөвшөөрөгдсөн мужид байна, энэ нь галт хананд биш, VPN тохиргоонд хамаарна.
VPN-д онцгой нэг урхи тусдаа шалгалт хийх ёстой. WireGuard-д хамтрагчийн AllowedIPs нь зам ба криптограф шүүлтүүр нэгэн зэрэг: эх хаяг нь хамтрагчийн зөвшөөрөгдсөн олонлогтой тохирохгүй пакет, ямар ч галт хананы дүрэм үзэхээс өмнө хаягдана. Тиймээс бүрэн зөв хост галт хана нь бодлого мэт харагдах чимээгүй хаялтын ард байж болох бөгөөд засвар нь дүрэм биш, түлхүүрийн тохиргооны мөр юм.
Хариу үйлдэл үзүүлж буй давхаргад бодлогыг унш
Зам зөв болсны дараа бодлогыг хостноос гадагш дамжуулж, тоолуур нь хөдөлж буй ганц давхаргыг анхаар:
ss -ltn | grep ':443'
sudo nft list ruleset
sudo iptables -S INPUT
sudo ufw status verbose
Сонсож буй сокет дүрмээс өөр асуултад хариулдаг. Порт дээр юу ч сонсохгүй бол цөм холболтыг татгалзаж, ямар ч оролтын дүрэм хамаагүй. Сокет байгаа бөгөөд алсын клиентийн холболт хугацаа хэтэрвэл зам дээр хаа нэгтээ хаялт болж байна, дүрмийн тоолуур энэ энд болж байгаа эсэхийг хэлнэ.
Гаднаас таамаглахын оронд сэжиглэж буй профайл эсвэл гинжид бүртгэлийг асаа. Эх, очих газар, портыг нэрлэсэн нэг бүртгэгдсэн хаялт нь давхарга ба дүрмийг тодорхойлж, пакет ирснийг ч батална, үүнийг клиентийн талын ямар ч туршилт тогтоохгүй.
Туннель тэнд дуусах үед гарцын шийдвэрийг унш
Сайт хоорондын эсвэл алсын хандалтын гарц дээр VPN хэрэглэгчийг баталгаажуулж, бодлого нөөцийг зөвшөөрдөг, эдгээр нь тусдаа зөвшөөрөл. Туннельд орсон хэрэглэгч бүх дотоод хостод автоматаар орохгүй, татгалзал нь туннель өөрөө эрүүл байхад дамжуулалтын дүрмээс ихэвчлэн ирдэг. Ижил тусгаарлалт IPsec-д ч харагддаг: урсгалыг сонгодог аюулгүй байдлын бодлого түүнийг нэвтрүүлэх шүүлтүүрээс ялгаатай, тиймээс хоёрыг өөр механизм гэж RFC 4301.
Буцах замыг явах замын адил болгоомжтой шалга. Төлөвт шүүлтүүр хариуг харах ёстой, тиймээс туннелээр нэг чиглэлд, түүнийг тойрч нөгөө чиглэлд тэгш бус чиглүүлэлт нь санамсаргүй мэт харагдах, зөвхөн зарим клиентээс давтагдах хаялтуудыг үүсгэдэг. Урсгал гарцад хүрч зогсвол, ямар нэг зүйлийг өргөтгөхөөс өмнө дамжуулалтын дүрэм ба буцах замыг хамт унш.
Гарц бол NAT эсвэл маскарад дүрэм бодит эхийг нууж болох газар юм. Дотоод хостнууд клиентийн оронд гарцын хаягийг харвал клиентийн пултай тохирох ёстой тэдний хост галт хананы дүрэм хэзээ ч тохирохгүй, засвар нь сервер бүр дээр биш, гарц дээр.
Хамгийн нарийн давхаргыг өөрчил, дараа нь шалга
Өргөн засварыг эсэргүүц. Хост галт ханаг унтраах, бүгдийг зөвшөөрөх дүрэм нэмэх, эсвэл интерфэйс бүрийг итгэмжлэгдсэн профайл руу түлхэх нь тус бүр өөрийн ажлыг хийж байсан хяналтыг арилгаж, өөрчлөлт нь ослоос хойш ч үлддэг. Эх мужаар болон холбогдох портоор хязгаарласан дүрмийг хянахад хялбар, арилгахад хялбар, машины бусад бодлогыг хөндөхгүй үлдээнэ.
Бүтэлгүйтсэн тэр туршилтаар, тэр клиентээс шалга, дараа нь дахин холбогдсоны дараа дахин нэг удаа, учир нь туннель дахин хэлэлцэхээс өмнө тохирч байсан дүрэм дараа нь тохирохоо болиж болно:
nc -vz 10.20.4.15 443
curl -v --max-time 5 https://10.20.4.15/
Хаахаас өмнө:
- Очих газар руу зам туннелийн интерфэйсээр гарч, эх хаяг бодлогын хүлээж буйтай тохирно.
- Порт дээр ямар нэг зүйл сонсож байна, татгалзал эсвэл хугацаа хэтэрсэн нь таамаг биш, нэрлэсэн дүрэмд хамааруулагдана.
- Гарц хоёр чиглэлд дамжуулж, очих газар таны дүрэм бичигдсэн эхийг харна.
- Туршилт давхинд гарахын тулд ямар ч хяналт унтраагаагүй, таны хийсэн өөрчлөлт нэг эх муж ба нэг портыг нэрлэнэ.