Telegram boti bilan OpenVPN-da ikki faktorli autentifikatsiya

Maqolada Telegram boti bilan ikki faktorli autentifikatsiyani yoqish uchun OpenVPN serverini sozlash tasvirlangan, u ulanishda tasdiqlash so‘rovini yuboradi.

OpenVPN - bu taniqli, bepul, ochiq manbali VPN server bo'lib, u xodimlarning ichki tashkilot resurslariga xavfsiz kirishini tashkil qilish uchun keng qo'llaniladi.

VPN serveriga ulanish uchun autentifikatsiya sifatida odatda kalit va foydalanuvchi login/parol birikmasidan foydalaniladi. Shu bilan birga, mijozda saqlangan parol butun to'plamni tegishli darajadagi xavfsizlikni ta'minlamaydigan yagona omilga aylantiradi. Mijoz kompyuteriga kirish huquqiga ega bo'lgan tajovuzkor VPN serveriga ham kirish huquqiga ega bo'ladi. Bu, ayniqsa, Windows bilan ishlaydigan mashinalardan ulanishlar uchun to'g'ri keladi.

Ikkinchi omildan foydalanish ruxsatsiz kirish xavfini 99% ga kamaytiradi va foydalanuvchilar uchun ulanish jarayonini umuman murakkablashtirmaydi.

Menga darhol buyurtma berishga ruxsat bering: amalga oshirish uchun siz multifactor.ru uchinchi tomon autentifikatsiya serverini ulashingiz kerak bo'ladi, unda siz o'zingizning ehtiyojlaringiz uchun bepul tarifdan foydalanishingiz mumkin.

Ish printsipi

  1. OpenVPN autentifikatsiya qilish uchun openvpn-plugin-auth-pam plaginidan foydalanadi
  2. Plagin serverdagi foydalanuvchi parolini tekshiradi va Multifactor xizmatidagi RADIUS protokoli orqali ikkinchi omilni so'raydi.
  3. Multifaktor foydalanuvchiga Telegram boti orqali kirishni tasdiqlovchi xabar yuboradi
  4. Foydalanuvchi Telegram chatida kirish so‘rovini tasdiqlaydi va VPN ga ulanadi

OpenVPN serverini o'rnatish

Internetda OpenVPN-ni o'rnatish va sozlash jarayonini tavsiflovchi ko'plab maqolalar mavjud, shuning uchun biz ularni takrorlamaymiz. Agar sizga yordam kerak bo'lsa, maqolaning oxirida o'quv qo'llanmalariga bir nechta havolalar mavjud.

Multifaktorni sozlash

Boring Ko'p faktorli boshqaruv tizimi, "Resurslar" bo'limiga o'ting va yangi VPN yarating.
Yaratilgandan so'ng sizda ikkita variant mavjud bo'ladi: NAS identifikatori и Umumiy sir, ular keyingi konfiguratsiya uchun talab qilinadi.

Telegram boti bilan OpenVPN-da ikki faktorli autentifikatsiya

"Guruhlar" bo'limida "Barcha foydalanuvchilar" guruhi sozlamalariga o'ting va faqat ma'lum bir guruh foydalanuvchilari VPN serveriga ulanishi uchun "Barcha resurslar" bayrog'ini olib tashlang.

Yangi "VPN foydalanuvchilari" guruhini yarating, Telegramdan tashqari barcha autentifikatsiya usullarini o'chiring va foydalanuvchilarning yaratilgan VPN resursiga kirish huquqi borligini ko'rsating.

Telegram boti bilan OpenVPN-da ikki faktorli autentifikatsiya

"Foydalanuvchilar" bo'limida VPN-ga kirish huquqiga ega bo'lgan foydalanuvchilarni yarating, ularni "VPN foydalanuvchilari" guruhiga qo'shing va autentifikatsiyaning ikkinchi omilini sozlash uchun ularga havola yuboring. Foydalanuvchi logini VPN serveridagi loginga mos kelishi kerak.

Telegram boti bilan OpenVPN-da ikki faktorli autentifikatsiya

OpenVPN serverini sozlash

Faylni oching /etc/openvpn/server.conf va PAM moduli yordamida autentifikatsiya qilish uchun plagin qo'shing

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

Plagin katalogda joylashgan bo'lishi mumkin /usr/lib/openvpn/plugins/ yoki /usr/lib64/openvpn/plugins/ tizimingizga qarab.

Keyinchalik pam_radius_auth modulini o'rnatishingiz kerak

$ sudo yum install pam_radius

Faylni tahrirlash uchun oching /etc/pam_radius.conf va Multifaktorning RADIUS serverining manzilini belgilang

radius.multifactor.ru   shared_secret   40

qaerda:

  • radius.multifactor.ru — server manzili
  • shared_secret - mos keladigan VPN sozlamalari parametridan nusxa oling
  • 40 soniya - katta chegara bilan so'rovni kutish uchun kutish vaqti

Qolgan serverlar o'chirilishi yoki sharhlanishi kerak (boshiga nuqta-vergul qo'ying)

Keyin, xizmat turidagi openvpn uchun fayl yarating

$ sudo vi /etc/pam.d/openvpn

va uni yozing

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

Birinchi qator pam_radius_auth PAM modulini parametrlar bilan bog'laydi:

  • skip_passwd - foydalanuvchi parolini RADIUS Multifactor serveriga uzatishni o'chiradi (u buni bilishi shart emas).
  • client_id — [NAS-identifikator] ni VPN manba sozlamalaridagi mos parametr bilan almashtiring.
    Barcha mumkin bo'lgan parametrlar maqolada tasvirlangan modul uchun hujjatlar.

Ikkinchi va uchinchi qatorlar serveringizdagi login, parol va foydalanuvchi huquqlarini tizim tekshiruvi bilan birga ikkinchi autentifikatsiya faktorini o'z ichiga oladi.

OpenVPN-ni qayta ishga tushiring

$ sudo systemctl restart openvpn@server

Mijozni sozlash

Mijoz konfiguratsiya fayliga foydalanuvchi login va parol so'rovini qo'shing

auth-user-pass

tekshirish

OpenVPN mijozini ishga tushiring, serverga ulaning, foydalanuvchi nomingiz va parolingizni kiriting. Telegram boti ikkita tugma bilan kirish so‘rovini yuboradi

Telegram boti bilan OpenVPN-da ikki faktorli autentifikatsiya

Bitta tugma kirishga ruxsat beradi, ikkinchisi uni bloklaydi.

Endi siz parolingizni mijozda xavfsiz saqlashingiz mumkin; ikkinchi omil OpenVPN serveringizni ruxsatsiz kirishdan ishonchli himoya qiladi.

Agar biror narsa ishlamasa

Hech narsani o'tkazib yubormaganligingizni ketma-ket tekshiring:

  • OpenVPN bilan serverda parol o'rnatilgan foydalanuvchi bor
  • Server radius.multifactor.ru manziliga UDP port 1812 orqali kirish huquqiga ega
  • NAS-identifikator va Shared Secret parametrlari toʻgʻri koʻrsatilgan
  • Multifaktor tizimida bir xil loginga ega foydalanuvchi yaratilgan va unga VPN foydalanuvchi guruhiga kirish huquqi berilgan
  • Foydalanuvchi Telegram orqali autentifikatsiya usulini sozlagan

Agar siz oldin OpenVPN-ni sozlamagan bo'lsangiz, o'qing batafsil maqola.

Ko'rsatmalar CentOS 7 da misollar bilan tuzilgan.

Manba: www.habr.com

a Izoh qo'shish