Бүртгэл бүрийг ердийн байдлаар нэвтрэх боломжтой байлга, гэхдээ зөвхөн нэг бүлэг VPN ашиглахыг зөвшөөр. PAM энэ ялгааг хоёр дахь нууц үгийн сангүйгээр илэрхийлж чадах бөгөөд OpenVPN залгуурыг зөвхөн таны зорьсон шалгалтуудыг агуулсан үйлчилгээ рүү чиглүүлж болно. Арга нь тэр үйлчилгээг системийн стекийг санамсаргүй өвлөхгүйгээр байгуулах явдал юм.

Эндээс эхлэх зам нь залгуурын үйлчилгээний нэрээс эхэлж, бодлого бүтээгээд дараа нь чухал гурван үр дүнг шалгана: гишүүн, хүчинтэй нууц үгтэй гадны хүн, муу нэвтрэх мэдээлэл.

Яагаад тусдаа PAM үйлчилгээ

auth-pam залгуур аргументаа үйлчилгээний нэрээр авдаг. Тэр нэр /etc/pam.d-ийн доорх файлыг сонгож, тэр файлын стек нь VPN нэвтрэлтийн үед ажилладаг. Хэрэв системийн нэвтрэлтийн ашигладаг ижил нэрийг өгвөл та тэр стекийн бүх шийдвэрийг өвлөнө, дараа нь хамааралгүй шалтгаанаар нэмэгдсэнийг ч оруулаад.

Оронд нь тусдаа үйлчилгээ үүсгэ. Зорьсон backend рүү аль хэдийн баталгаажуулдаг ажиллаж буй стекаас эхэл, жишээ нь локал нууц үгийн файл, SSSD эсвэл лавлах үйлчилгээ, дараа нь тохирох байдлын дүрмийг нэм. Хоосон файл руу хоёр мөрийг хуулах нь түгээмэл алдаа: нууц үгийн хугацаа дуусах, бүртгэл түгжих болон бусад шалгалтууд хуулаагүй стекид байж болно.

Үйлчилгээг тусгаарлах нь хохирлын хүрээг бас хязгаарладаг. Хуваалцсан стекид зөвхөн VPN-д зориулсан дүрэм хүн бүрт SSH эсвэл консолын хандалтыг хориглож, хандалтын өөрчлөлтийг тасалдал болгож болно.

Бүлгийн дүрмийг бичих

Тохирох байдлын шалгалт нь нэвтрэх мэдээлэл баталгаажсаны дараах бүртгэлийн үе шатанд хамаарна. account required pam_succeed_if.so user ingroup vpnusers гэх мэт дүрэм нь баталгаажсан хэрэглэгч тэр бүлгийн гишүүн байх үед л боловсруулалтыг үргэлжлүүлэх боломжийг олгоно.

Тэр мөр нь хэсэг бөгөөд бүрэн үйлчилгээ биш. Үүнийг хүлээн зөвшөөрөгдсөн зам бүр хүрдэг газарт нэгтгэж, эргэн тойрны удирдлагын тугуудыг шалга. Стекийн эрт sufficient эсвэл үсрэлтийн удирдлага таны дүрэм ажиллахаас өмнө боловсруулалтыг дуусгаж болох бөгөөд энэ нь хязгаарлалтыг санал болгочихдог.

Зуршлаар use_uid нэмэх хэрэггүй. Үүнгүйгээр модуль баталгаажиж буй хэрэглэгчийг үнэлдэг; үүнтэйгээр модуль OpenVPN процесс ажиллаж буй бүртгэлийг үнэлдэг бөгөөд энэ нь ихэвчлэн root эсвэл үйлчилгээний бүртгэл тул нэвтэрч буй хүн биш.

Бүлгийн гишүүнчлэл нь системийн таних тэмдгийн шийдвэрээс ирдэг, таны таньдаг нэрнээс биш. Лавлахын хэрэглэгчдийн хувьд ижил backend тэр хэрэглэгчийн бүлгийн асуултад хариулж байгааг батал, учир нь танил нэртэй локал бүлэг ижил нэртэй лавлахын бүлгээс өөр объект юм.

Дараалал ба таних тэмдгийн урхи

Бүлгийн дүрмийг баталгаажуулалтын стекийн дараа, мөн хүчинтэй хэвээр байх ёстой шалгалт бүрийн дараа, гэхдээ та хадгалж буй бүртгэлийн шалгалтуудын өмнө эсвэл тэдгээрийн хажууд байрлуул. PAM модулиудыг файлын дарааллаар үнэлдэг бөгөөд мөр бүрийн удирдлагын утга нь алдаа эцсийн эсэхийг шийддэг.

Давхардсан стегүүдээс болгоомжил. Түгээмэл загвар нь бүртгэлийн дүрэм аль хэдийн агуулсан include, дараа нь таны өөрийн бүлгийн дүрэм байх бөгөөд энэ нь нэг шийдвэр хүлээж байсан газарт хоёр шийдвэр үүсгэдэг. Зөвхөн засварласан файлыг бус, оруулсан файлыг ч унш. Бодит дарааллыг харах хурдан арга бол файлыг дээрээс доош уншиж, удирдлагын утга бүрийг тэмдэглэх юм.

Бусад элсэлтийн шаардлагыг хөндөхгүй байлга. Амжилттай нууц үг нь гэрчилгээний шалгалт, хоёр дахь хүчин зүйл эсвэл холболтын дараах зөвшөөрлийг орлохгүй бөгөөд энэ бодлого тэдгээрийн аль нэгийг орлохгүй. Энэ нь зөвхөн бүртгэл VPN хандалтад хэлэлцэгдэх эрхтэй эсэхийг шийддэг.

Гишүүд, гадны хүмүүс, буруу нууц үгийг шалгах

Бодлогыг дууссан гэж үзэхээс өмнө гурван тохиолдлыг шалга. Гишүүн амжилттай холбогддог. Бүлгийн гаднах хүчинтэй бүртгэл нууц үгээ баталгаажуулдаг боловч VPN хандалтаас татгалздаг. Аль ч бүртгэлийн буруу нууц үг нь баталгаажуулалтын үе шатанд татгалзагдана, бүлгийн дүрмээр биш.

Клиентэд харагдах алдаа болон серверийн логыг хамт хар, учир нь хоёр бүтэлгүйтэл холбогдож буй хүнд ижил мэт санагдаж болно. Ялгаа нь дэмжлэгт чухал: зөв нууц үгтэй гадны хүнд бүлэг өөрчлөх шаардлагатай, харин буруу нууц үг нэвтрэх мэдээллийг дахин тохируулахыг шаарддаг.

PAM-ыг засварлаж байхдаа хоёр дахь сессийг нээлттэй байлга, өөрчлөлтийн дараа ердийн SSH нэвтрэлтийг ч шалга. Тусдаа үйлчилгээний утга нь системийн нэвтрэлт нөлөөгүй байх ёстой бөгөөд үүнийг мэдэх цорын ганц арга бол шалгах юм.

Ямар нэгэн зүйл эвдэрвэл өмнөх үйлчилгээний файлыг хуулбараас сэргээ. Хүссэн дүрмээ хэлэхэд хялбар: гишүүнчлэл нь бүртгэлийг VPN хандалтад тохирох болгодог бөгөөд бусад бүх заавал шалгах зүйл хүчинтэй хэвэр байна.

Холбоотой нийтлэлүүд