Telegram бот ашиглан OpenVPN дээр хоёр хүчин зүйлийн баталгаажуулалт

Уг нийтлэлд Telegram бот ашиглан хоёр хүчин зүйлийн баталгаажуулалтыг идэвхжүүлэхийн тулд OpenVPN серверийг тохируулах талаар тайлбарласан бөгөөд энэ нь холбогдох үед баталгаажуулах хүсэлт илгээх болно.

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

VPN серверт холбогдох баталгаажуулалтын хувьд түлхүүр болон хэрэглэгчийн нэвтрэх/нууц үгийн хослолыг ихэвчлэн ашигладаг. Үүний зэрэгцээ, үйлчлүүлэгч дээр хадгалагдсан нууц үг нь бүхэл бүтэн багцыг аюулгүй байдлын зохих түвшинг хангахгүй нэг хүчин зүйл болгон хувиргадаг. Халдагчид үйлчлүүлэгчийн компьютерт нэвтэрч, VPN серверт нэвтрэх эрхтэй болдог. Энэ нь ялангуяа Windows үйлдлийн системтэй машинуудын холболтын хувьд үнэн юм.

Хоёрдахь хүчин зүйлийг ашиглах нь зөвшөөрөлгүй нэвтрэх эрсдлийг 99% бууруулж, хэрэглэгчдийн холболтын үйл явцыг огт хүндрүүлдэггүй.

Би даруй захиалгаа өгье: хэрэгжүүлэхийн тулд та multifactor.ru гуравдагч этгээдийн баталгаажуулалтын серверийг холбох шаардлагатай бөгөөд үүнд та өөрийн хэрэгцээнд үнэ төлбөргүй тариф ашиглаж болно.

Хэрхэн ажилладаг

  1. OpenVPN нь баталгаажуулалтад openvpn-plugin-auth-pam залгаасыг ашигладаг.
  2. Энэхүү залгаас нь сервер дээрх хэрэглэгчийн нууц үгийг шалгаж, Multifactor үйлчилгээний RADIUS протоколоор дамжуулан хоёр дахь хүчин зүйлийг шаарддаг.
  3. Multifactor нь хэрэглэгч рүү Telegram ботоор дамжуулан хандалтыг баталгаажуулсан мессеж илгээдэг
  4. Хэрэглэгч Telegram чат дахь хандалтын хүсэлтийг баталгаажуулж, VPN-д холбогдоно

OpenVPN сервер суулгаж байна

Интернет дээр OpenVPN-г суулгах, тохируулах үйл явцыг тайлбарласан олон нийтлэл байдаг тул бид тэдгээрийг хуулбарлахгүй. Хэрэв танд тусламж хэрэгтэй бол өгүүллийн төгсгөлд хэд хэдэн хичээлийн холбоос байна.

Multifactor-ийг тохируулах

Явна уу Олон хүчин зүйлийн хяналтын систем, "Нөөц" хэсэгт очоод шинэ VPN үүсгэнэ үү.
Нэгэнт үүсгэсний дараа танд хоёр сонголт байх болно: NAS танигч и Хуваалцсан нууц, тэдгээр нь дараагийн тохиргоонд шаардлагатай болно.

Telegram бот ашиглан OpenVPN дээр хоёр хүчин зүйлийн баталгаажуулалт

"Бүлгүүд" хэсэгт "Бүх хэрэглэгчид" бүлгийн тохиргоонууд руу очоод "Бүх нөөц" гэсэн тугийг устгаснаар зөвхөн тодорхой бүлгийн хэрэглэгчид VPN серверт холбогдох боломжтой болно.

"VPN хэрэглэгчид" гэсэн шинэ бүлгийг үүсгэн, Telegram-аас бусад бүх баталгаажуулалтын аргыг идэвхгүй болгож, хэрэглэгчид үүсгэсэн VPN нөөцөд хандах боломжтой гэдгийг харуул.

Telegram бот ашиглан OpenVPN дээр хоёр хүчин зүйлийн баталгаажуулалт

"Хэрэглэгчид" хэсэгт VPN-д хандах боломжтой хэрэглэгчдийг үүсгэж, "VPN хэрэглэгчид" бүлэгт нэмж, баталгаажуулалтын хоёр дахь хүчин зүйлийг тохируулах холбоосыг илгээнэ үү. Хэрэглэгчийн нэвтрэлт нь VPN сервер дээрх нэвтрэлттэй тохирч байх ёстой.

Telegram бот ашиглан OpenVPN дээр хоёр хүчин зүйлийн баталгаажуулалт

OpenVPN серверийг тохируулж байна

Файлыг нээнэ үү /etc/openvpn/server.conf болон PAM модулийг ашиглан нэвтрэлт танилтад зориулсан залгаасыг нэмнэ үү

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn

Plugin нь лавлахад байрлаж болно /usr/lib/openvpn/plugins/ буюу /usr/lib64/openvpn/plugins/ таны системээс хамаарна.

Дараа нь та pam_radius_auth модулийг суулгах хэрэгтэй

$ sudo yum install pam_radius

Засварлахын тулд файлыг нээнэ үү /etc/pam_radius.conf мөн Multifactor-ийн RADIUS серверийн хаягийг зааж өгнө

radius.multifactor.ru   shared_secret   40

хаана:

  • radius.multifactor.ru — серверийн хаяг
  • shared_secret - харгалзах VPN тохиргооны параметрээс хуулах
  • 40 секунд - их хэмжээний зөрүүтэй хүсэлтийг хүлээх хугацаа

Үлдсэн серверүүдийг устгах эсвэл тайлбар өгөх шаардлагатай (эхэнд цэг таслал тавина)

Дараа нь үйлчилгээний төрлийн openvpn файл үүсгэнэ үү

$ sudo vi /etc/pam.d/openvpn

мөн үүнийг бичнэ үү

auth    required pam_radius_auth.so skip_passwd client_id=[NAS-IDentifier]
auth    substack     password-auth
account substack     password-auth

Эхний мөр нь pam_radius_auth PAM модулийг дараах параметрүүдтэй холбодог.

  • skip_passwd - хэрэглэгчийн нууц үгийг RADIUS Multifactor сервер рүү дамжуулахыг идэвхгүй болгодог (тэр үүнийг мэдэх шаардлагагүй).
  • client_id — [NAS-Identifier]-ийг VPN нөөцийн тохиргооноос харгалзах параметрээр солино.
    Бүх боломжит параметрүүдийг доор тайлбарласан болно модулийн баримт бичиг.

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

OpenVPN-г дахин эхлүүлнэ үү

$ sudo systemctl restart openvpn@server

Үйлчлүүлэгчийн тохиргоо

Үйлчлүүлэгчийн тохиргооны файлд хэрэглэгчийн нэвтрэх болон нууц үг оруулах хүсэлтийг оруулна уу

auth-user-pass

хяналт

OpenVPN клиентийг ажиллуулж, серверт холбогдож, хэрэглэгчийн нэр, нууц үгээ оруулна уу. Telegram бот нь нэвтрэх хүсэлтийг хоёр товчлуураар илгээх болно

Telegram бот ашиглан OpenVPN дээр хоёр хүчин зүйлийн баталгаажуулалт

Нэг товчлуур нь нэвтрэх боломжийг олгодог бол хоёр дахь нь блоклодог.

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

Хэрэв ямар нэг зүйл ажиллахгүй бол

Та юу ч алдаагүй эсэхээ дараалан шалгана уу:

  • OpenVPN-тэй сервер дээр нууц үг тохируулсан хэрэглэгч байна
  • Сервер нь UDP порт 1812-ээр дамжуулан radius.multifactor.ru хаяг руу нэвтрэх боломжтой
  • NAS-Identifier болон Shared Secret параметрүүдийг зөв зааж өгсөн
  • Multifactor системд ижил нэвтрэлттэй хэрэглэгчийг үүсгэсэн бөгөөд VPN хэрэглэгчийн бүлэгт хандах эрх олгосон
  • Хэрэглэгч Telegram-ээр дамжуулан баталгаажуулах аргыг тохируулсан

Хэрэв та OpenVPN-г өмнө нь тохируулаагүй бол уншина уу дэлгэрэнгүй нийтлэл.

Зааврыг CentOS 7 дээрх жишээнүүдийн дагуу хийсэн болно.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх