Хувийн VPN нэр ажиллахгүй байна уу? Сэжигтэн нь DNS rebinding-ийн хамгаалалт
Хувийн орчны хариултыг татгалздаг резолвер дотоод нэрсийг эвддэг, туннелийг биш. Хариултыг уншиж, үл хамаарах хэсгийг хязгаарлаж, хамгаалалтыг өөр газар үлдээгээрэй.
Оффисын LAN-д дотоод нэр тэр даруй хариулдаг. VPN асаах тэр мөчид ажиллахаа болиод, програм таймаут мэдээлж, туннель өөрөө гомдолгүйгээр трафик дамжуулж байна. Өөрчлөгдсөн зүйл бол резолвер бөгөөд тэр резолверт хувийн хаягийн талаар өөрийн гэсэн үзэл байдаг.
Rebinding-ийн хамгаалалт нэг тодорхой заль мэхийг зогсоохын тулд бий. Зориуд нийтэлсэн хувийн нэр хамгаалалт ажиллах хэмжээнд төстэй харагдана.
Бодлогыг уншихаас өмнө хариултыг унш
Нэрийг VPN үнэхээр түгээдэг резолвероос асуу, гэртээ зөөврийн компьютер чинь ашигладаг резолвероос биш. Хариултыг хүлээж буй бичлэгтэй харьцуулж, хариулт хоосон, татгалзсан эсвэл хэн ч төлөвлөөгүй нийтийн хаягуудаар дүүрсэн эсэхийг тэмдэглэ.
Шинж тэмдгүүд давхцдаг тул оношийг хариултын хэлбэр шийднэ. NXDOMAIN бол дутуу бичлэг, REFUSED бол хандалтын дүрэм, дотоод нэрэнд нийтийн хаяг бол бодлого эсвэл split-DNS-ийн алдаа, харин клиент ашиглаж чадахгүй зөв хувийн хаяг бол огт өөр асуудал. Татгалзсан холболт эсвэл гацсан хүсэлт өөрөө юу ч батлахгүй, ийм тасалбарт эхний команд нь дахин ачаалах бус хайлт байх ёстой. Ямар нэгэн зүйлийг өөрчлөхөөс өмнө хариултыг бичиж аваарай.
Хамгаалалт үнэхээр юуг зогсоодог вэ
DNS rebinding нь клиент нэрэнд аль хэдийн итгэсний дараа тухайн нэр юу руу шийдэгдэхийг өөрчилснөөр ажилладаг. Хуудас халдагчийн хяналтын дор байгаа нэрнээс ачаалагдаж, хариулт хувийн хаяг руу эргэж, хөтөч нь локал сүлжээнд байгаа, шууд холболтыг хэзээ ч хүлээж авахгүй байсан зүйлтэй ярилцахыг хууртагдана. Хамгаалалт гэдэг нь резолвероос хувийн нэрний орон зайд үйлчлэхийг хэзээ ч шаардаагүй үед хувийн орон зай руу чиглэсэн хариултыг татгалзах явдал юм. Тэр тэгш бус байдал бол бүхэл довтолгоо.
dnsmasq яг ийм зан төлөвийг домэйн тус бүрийн үл хамаарах зүйлсийн хамт баримтжуулдаг. Өөрийн гарын авлагад rebind-domain-ok-г ийм хаягийг хууль ёсоор буцааж болох домэйнуудыг нэрлэх арга гэж тайлбарладаг. Үүнийг зорьсон засвар нь хязгаарлагдмал зөвшөөрөл бөгөөд глобал унтраалга биш гэсэн дохио гэж уншаарай.
Үл хамаарах зүйлийг нэрний орон зайд хязгаарла
Эхлээд нэрний орон зайг зас, дараа нь үл хамаарах зүйлийг. Бүтэлгүйтэж буй нэр нь байгууллагын хянадаг домэйнд хамаарах бөгөөд бичлэг зориуд хадгалагдаж байгааг батал. Танил LAN мужид л төстэй гэнэтийн хаяг нь үл хамаарах зүйл биш, сэжигтэй хандах ёстой тул ямар нэгэн зөвшөөрөл бичихийн өмнө бүсийн эзнийг шалга.
# ask the resolver the VPN pushed, and show the full answer
dig +noall +answer db.corp.example @10.40.0.1
dig +short db.corp.example @10.40.0.1
# dnsmasq: what does the running configuration already allow?
grep -R 'rebind' /etc/dnsmasq.d /etc/dnsmasq.conf
Дараа нь зорьсон нэрсийг хамарсан хамгийн нарийн зөвшөөрлийг нэм: нэг домэйн эсвэл нэг делегацлагдсан дэд домэйн, VPN клиентүүд асуудаг резолверын тохиргоонд. Тэр резолвер дээрх бүх нэрэнд хамгаалалтыг унтраах нь тэдний бүгдэд нь нэгэн зэрэг хамгаалалтыг авч хаяна, хэзээ ч хэрэггүй байсан нэрсийг оролцуулан.
Split DNS мөн ижил шийдвэрт хамаарна. Хувийн нэрний орон зайд зөвхөн дотоод резолвер хариулах ёстой бол тэнд нийтэлж, нийтийн резолверууд руу алдагдахыг зогсоо, ингэснээр үл хамаарах зүйл бүх замыг биш, нэг замыг хамарна.
Нөөц болон хамгаалалтыг дахин шалга
Дахин асууж, дараа нь үйлчилгээнд холбогдож клиент юу харж байгааг шалга. Ажиллаж буй сесситэй зөв хувийн хариулт бол үл хамаарах зүйл хүчин төгөлдөр болсон гэсэн үг. Гацсан сесситэй зөв хариулт бол дараагийн сэжигтэн нь маршрут эсвэл үйлчилгээний таних тэмдэг юм.
# the internal name and the public control should behave differently
dig +short db.corp.example @10.40.0.1
dig +short www.example.com @10.40.0.1
# and the service itself, with the certificate it presents
curl -sS -o /dev/null -w '%{http_code}\n' https://db.corp.example/health
Нийтийн нэрийг ч мөн адил резолвероор шалга. Хамгаалалт үл хамаарах зүйлээс гадуурх нэрс дээр зөв ажиллах ёстой бөгөөд тэр шалгалт бүтэлгүйтвэл өөрчлөлт зорьсоноос өргөн байсан. Сертификатын баталгаажуулалтыг эцэс хүртэл хөндөхгүй байлга, учир нь зөв шийдэгддэг нэр ч үйлчилгээний танилцуулж буй сертификаттай тохирох ёстой.
Татгалзсан хариулт, домэйн, резолвер, бодлогын эзнийг тасалбарт бич. Тэр бичлэг л нууцлаг дотоод сааталыг хэн нэгэн хянаж болох тохиргооны өөрчлөлт болгоно.