Ажиллагааны заавар: хоёр OpenVPN хэрэглэгчийг тус тусад нь нэвтрүүлэх
Нэг OpenVPN хост дээрх хоёр хэрэглэгчид тусдаа сонсогч, сан, итгэлцлийн файл, цуцлалтын хүргэлт шаардлагатай бөгөөд тэдгээрийг тусгаарлах хүлээн авалтын шалгалт хэрэгтэй.
Нэг хост дээрх хоёр хэрэглэгч дахин нэг серверийн блок ба хоёр дахь порт мэт сонсогддог. Харин хэрэглэгчийн үнэхээр эзэмшдэг бүх зүйлийг жагсаахад энэ нь өөр төсөл болдог: сонсогч, туннелийн сан, таних тэмдэг, итгэлцлийн файлууд, маршрутууд ба цуцлалтын хуваарь. Тэдгээрийн аль нэгийг алгасвал хоёр дахь хэрэглэгч эхнийхээс нэг хэсгийг чимээгүй өвлөнө. Хэрэглэгч бүрт карт хийж, эхний клиент холбогдохоос өмнө бөглөнө үү.
Хэрэглэгч бүрт бүрэн нөөцийн карт олгоно уу
Бүх багцыг хамт нөөцөлнө үү: нийтийн порт, туннелийн дэд сүлжээ, тохиргооны зам, логын очих газар, үйлчилгээний хуулбарын нэр ба төхөөрөмж. Тэднийг бүлэг гэж нэрлэх нь эхний хэрэглэгчийн сан эсвэл интерфейсийг агуулсан ажиллаж буй файлын сонгодог хуулбараас сэргийлдэг. Утгууд нь жишээ бөгөөд нөөцөлсөн порт биш тул хост аль хэдийн юу ашиглаж байгааг шалгана уу. Эхэлсэн үйлчилгээ бүрэн хэрэглэгчтэй ижил биш.
Картыг тохиргооны дэргэд хадгалж, утга өөрчлөгдөх бүрт шинэчилнэ үү. Бодит байдлаас холдсон баримт бичиг байхгүйгээс дор.
Итгэлцлийн материалыг хэрэглэгч бүрийн дотор байлгана уу
Хэрэглэгч бүрт тусдаа олгогч байгууллага байх нь хил хязгаарыг ойлгоход хялбар болгож, гарын үсгийн түлхүүрийг интернетэд нээлттэй хостоос хол байлгадаг. Хамтын үндэс ч ажиллаж болох боловч нийтлэг зангуу хоёр үйлчилгээг нэг гишүүнчлэлийн домэйн болгодоггүй. Сонсогч бүр ямар гинжийг хүлээн авч, ямар клиентийн таних тэмдэгт зөвшөөрөхөө шийдэж, хоёуланг нь бичнэ үү. Ямар нэгэн зүйл холбогдох хүртэл туршилт, алдаагаар гинжээс гэрчилгээг салгаж болохгүй.
Серверийн өөрийн хувийн түлхүүр нь хэрэглэгч бүрийн хамгаалагдсан файлд байх ёстой, тохиргоотой хамт хуулагддаг загварын хавтас биш.
Үйл явцын адил сүлжээг ч тусгаарлана уу
Хоёр порт дээрх хоёр процесс тусгаарлахгүй л бол нэг хост ба нэг маршрутжуулалтын хүснэгтийг хуваалснаар үлддэг. Загварт итгэхээс өмнө юу сонсож байгааг баталгаажуулна уу.
ss -lunp | grep -E '1194|1195'
openssl verify -CAfile customer-a/ca.crt customer-a/client.pemСонсогчийн шалгалт аль процесс нийтийн порт бүрийг эзэмшиж байгааг харуулж, баталгаажуулалт клиентийн гэрчилгээ зориулсан зангуутай гинжилж байгаа эсэхийг харуулна. Аль ч гаралт нь A-ийн клиент B-ийн дэд сүлжээнд хүрч чадахгүй гэдгийг нотолдоггүй тул эх сурвалж ба очих газрын бодлого, буцах маршрут, санаатайгаар хуваалцсан аливаа үйлчилгээг тодорхойлно уу. Сүлжээний нэрийн орон зай эсвэл контейнерууд маршрутжуулалтын контекстийг тусгаарлаж, санамсаргүй холилдолтыг бууруулдаг боловч тэдгээр нь бүрэн түрээслэгчийн хил биш дангаараа. Аюулын загвар шаардсан үед илүү хүчтэй тусгаарлалтын механизм сонгоно уу.
Цуцлалтыг шилжүүлэхээс өмнө хүргэнэ үү
Цуцлалтын хүргэлтийн зам байхгүй бол гэрчилгээний байршуулалт бүрэн бус. Нэвтрүүлэлтийн хэсэг болгон CRL-ийн олгогч ба хүчинтэй байдлын цонхыг шалгана уу.
openssl crl -in customer-a/crl.pem -noout -lastupdate -nextupdate
systemctl status openvpn@customer-aCRL-ийн шалгалт жагсаалт хэзээ олгогдож, хэзээ дуусахыг мэдээлж, үйлчилгээний төлөв түүнийг уншиж буй хуулбар ажиллаж байгааг батална. Шинээр юу ч цуцлагдаагүй байсан ч олголтын бодлогын хуваарийн дагуу жагсаалтыг шинэчилнэ үү, учир нь хугацаа дууссан CRL бүх клиентийг татгалзаж болно. Уншигчид хэсэгчилсэн бичигдэлтэй тааралдахгүйн тулд бүрэн файлыг нийтэлж, байршуулахаас өмнө гарын үсгийг баталгаажуулна уу. Олголт, төгсгөлийн цэгийн ажиллагаа, ашиглалтаас гаргах эрхийг хэн эзэмшихийг бүртгэж, A хэрэглэгчийг зогсоох нь B-д саад болохгүй болгоно уу.
Дараа нь хүлээн авалтын хосыг ажиллуулна уу: зөвшөөрөгдсөн клиент өөрийн үйлчилгээнд хүрч, A-ийн итгэмжлэл B-ийн сонсогчоос татгалзагдана. Энэ бол шалгалт хэлбэрээр илэрхийлсэн хил юм.