VPN-ээс VLAN руу нэвтрэх: эхлээд матриц, дараа нь дүрэм
Нэг талд дүрүүд, нөгөө талд үйлчилгээнүүд. Таван шалгалт VPN-ээс VLAN руу нэвтрэх бүрхэг загварыг галт ханын эзэн хэрэгжүүлж болох хүснэгт болгоно.
Галт ханын синтаксээс биш, матрицаас эхэл. Нэг талд дүрүүд, нөгөө талд үйлчилгээнүүд байх хүснэгтийг програмын эзэн хянаж, аюулгүй байдлын эзэн хэлэлцэж, гарцгүй байгаа хүн хэрэгжүүлж болно. Энэ хяналт нь хэн ч тохиролцоогүй дүрмийг алдаа засахаас хямд.
Бичихэд зарцуулсан нэг цаг дараа нь долоо хоногийн дүрмийн археологийг хэмнэнэ. Загвар нь хэн аль үйлчилгээнд хүрэхийг ярьдаг бөгөөд дахин дугаарлалтын дараа үлддэг хэсэг нь яг тэр.
1-р алхам: сүлжээнээс өмнө дүрүүдийг нэрлэ
Сүлжээний төхөөрөмжөөс биш, хүмүүсээс эхэл. Алсаас холбогддог бүр бүлэг болон тэр бүлэг юу хийдгийг тодорхойлсон нэг өгүүлбэрийг бич, жишээ нь нөөцийн түвшинг уншдаг агуулахын ажилчид эсвэл нэг интеграцийг арчилж байгаа гэрээт ажилтан. Хоёр бүлэг ижил нэвтрэх эрх авбал энэ зорилгоор тэд нэг дүр.
Хэрэв дүр зөвхөн байгууллагын бүтцийн улмаас оршиж байвал энд зогс. Өөрийн гэсэн үйлчилгээний хэрэгцээгүй дүр ижил нүднүүдийн мөр болж, ижил мөрүүд хожим тав тухын үүднээс бүхэл дэд сүлжээг өгөхөд хэн нэгнийг уруу татдаг. Хүмүүс юу хийдгээр нь хува, тэдний зардлыг хэн гарын үсэг зурдагаар нь биш. Жижиг оффисын хувьд зургаан дүр ихэвчлэн хэтэрхий олон, гурав нь ихэвчлэн зөв.
2-р алхам: нүд бүрийг үйлчилгээний мэдэгдэл болго
«Аппликейшн» гэж бичсэн нүдийг шалгах боломжгүй. «443 порт дээрх ERP хост руу HTTPS, ажилтны пулаас» гэж бичсэн нүдийг шалгаж болно. Сүлжээний нэр бүрийг очих газар, протокол, портоор соль, дараа нь үйлчилгээ түүнгүйгээр ажиллахгүй хамаарлыг нэм, жишээ нь дотоод шийдэгч эсвэл таних тэмдгийн нийлүүлэгч.
| Check | Passes when | Stop if |
|---|---|---|
| Destination named | Host and port appear in the cell | Cell names a VLAN or a subnet |
| Direction stated | Initiator and responder are both clear | Cell implies two-way access |
| Dependency listed | DNS or identity path is explicit | Whole infrastructure range is granted |
| Negative case written | At least one denied pair is recorded | Only allow rules exist |
Чиглэлийн багана хамгийн үнэтэй алдааг барьдаг. Ажилтнуудад аппликейшн нээхийг зөвшөөрөх нь аппликейшны серверүүд ажилтнуудын зөөврийн компьютер руу буцах холболт нээхийг зөвшөөрөх гэсэн үг биш бөгөөд эхний чиглэлийг зөвшөөрсөн төлөвтэй дүрэм хоёр дахийг ч зөвшөөрсөн мэт уншигддаг.
3-р алхам: таних тэмдэг хаана бодлого болохыг шийд
Хэн нэгэн баталгаажсан сессийг гарц хэрэгжүүлж болох дүр болгон хувиргах ёстой. Дэмжигдсэн сонголтууд нь баталгаажуулалтын backend-ийн өгдөг бүлгийн бодлого, итгэмжлэгдсэн сессийн шинж чанарууд эсвэл дүр бүрд тусдаа хаягийн пулууд юм. Гурвуулаа ажилладаг; клиентийн илгээсэн шошго ажиллахгүй. Форум дахь пост дүрсэлсэнийг биш, гарц чинь баримтжуулсаныг сонго.
Зөвхөн VLAN-д хамаарах мэт харагдах хаяг өгөх нь өөр хувцастай ижил хариултгүй байдал юм. OpenVPN-ийн галт ханын дүрмийн тухай Netgate гарын авлага энэ ялгааг тодорхой болгодог: туннелийг босгохыг зөвшөөрөх нь түүгээр урсгал нэвтрүүлэхийг зөвшөөрөхөөс өөр шийдвэр.
Ямар механизм сонгосон, хаана тохируулсан талаар бич. Дүр өөрчлөгдөхөд тэр тэмдэглэл нь нэг засвар болон гурван интерфейсээр хайх хоёрын ялгаа юм. Энэ нь аудиторт эхлээд хаанаа харахыг ч хэлнэ.
4-р алхам: очих газар хардаг эх хаягийг ажигла
Хил дээр дамжуулах бодлого бодит эх сурвалжтай тохирох ёстой. Хэрэв гарц VPN клиентүүдийг өөрийн хаяг руу хөрвүүлдэг бол, доорх галт хан бүр нэг эх сурвалж харж, дүрээр шийдвэр гаргах чадвараа алддаг. Хэрэв клиентийн хаягийг хадгалбал тэр пулын буцах зам байх ёстой.
Эцсийн дүрмийг бичихээс өмнө хоёр чиглэлийг шалга, дараа нь ажигласан эх сурвалжийг нүд бүрийн хажууд тэмдэглэ. Мөн шалгалтыг хоёр өөр дүрээс ажиллуулж үр дүнг харьцуул. Хоёулаа гарцын хаягийг харуулбал дүрүүдийн ялгаа аль хэдийн алдагдсан. Гарц эх сурвалжийн хөрвүүлэлт хийж байхад хадгалсан хаяг гэж үзсэн матриц эхний доод ACL дээр бүтэлгүйтнэ.
5-р алхам: гаргахаас өмнө нүд бүрийг шалга
Зөвшөөрөгдсөн нүд бүрийг нэг төлөөлөх үйлдэл болгож, хориглосон нүд бүрийг сөрөг тохиолдол болго. Хоёуланг бодит дүр дэх клиентээс ажиллуул, гарцын консолоос биш, учир нь консол чиний шалгаж байгаа замыг тойрч гардаг.
# allowed: staff role reaches the ERP endpoint
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://erp.internal.example/health
# denied: the same role must not reach a management host
nc -vz -w 3 10.30.5.11 22
# observed source address at the destination
sudo tcpdump -ni any 'tcp port 443 and host 10.30.20.15'
Холбогддог сөрөг тохиолдол бол олдвор, санамсаргүй зүйл биш бөгөөд дүрэм засагдтал түүний байр матрицад бүтэлгүй нүд юм. Туршилтын командуудыг хүснэгтийн хажууд байлга, дараагийн шүүмжлэгч үндэслэлийг дахин бүтээхийн оронд тэдгээрийг дахин ажиллуулна.
Дууссан хүснэгт нь түүнийг бичсэн гарцаас илүү удаан амьдардаг. Дүрмүүд firmware болон нийлүүлэгчтэй хамт өөрчлөгддөг бол гэрээт ажилтан нэг төслийн үйлчилгээнд хүрдэг гэсэн мөр тэр ажил өөрчлөгдтөл үнэн хэвээр үлддэг.