المصادقة الثنائية في OpenVPN باستخدام Telegram bot

توضح المقالة كيفية تكوين خادم OpenVPN لتمكين المصادقة ذات العاملين باستخدام برنامج Telegram bot ، والذي سيرسل رسالة تأكيد عند الاتصال.


OpenVPN هو خادم VPN مفتوح المصدر معروف جيدًا ويستخدم على نطاق واسع لتنظيم وصول آمن للموظفين إلى الموارد الداخلية للمؤسسة.


كمصادقة للاتصال بخادم VPN ، عادة ما يتم استخدام مزيج من مفتاح وكلمة مرور / تسجيل دخول مستخدم. في نفس الوقت ، فإن كلمة المرور المخزنة على العميل تحول المجموعة بالكامل إلى عامل واحد لا يوفر المستوى المناسب من الأمان. يتمكن المهاجم ، الذي يحصل على حق الوصول إلى جهاز كمبيوتر عميل ، من الوصول إلى خادم VPN أيضًا. هذا صحيح بشكل خاص للاتصال من الأجهزة التي تعمل بنظام Windows.


يقلل استخدام العامل الثاني بنسبة 99٪ من خطر الوصول غير القانوني ولا يعقد عملية الاتصال للمستخدمين.


قم بإجراء حجز على الفور ، من أجل التنفيذ ، ستحتاج إلى الاتصال بخادم مصادقة تابع لجهة خارجية multifactor.ru ، حيث يمكنك استخدام تعريفة مجانية لاحتياجاتك.


مبدأ التشغيل


  1. يستخدم OpenVPN البرنامج المساعد openvpn-plugin-auth-pam للمصادقة
  2. يتحقق المكون الإضافي من كلمة مرور المستخدم على الخادم ويطلب العامل الثاني عبر بروتوكول RADIUS في خدمة Multifactor
  3. يرسل العامل المتعدد رسالة من خلال برنامج Telegram إلى المستخدم مع تأكيد الوصول
  4. يؤكد المستخدم طلب الوصول في دردشة Telegram ويتصل بـ VPN

قم بتثبيت خادم OpenVPN


هناك العديد من المقالات على الإنترنت التي تصف عملية تثبيت OpenVPN وتكوينه ، لذلك لن نكررها. إذا كنت بحاجة إلى المساعدة ، فهناك العديد من الروابط إلى مواد التدريب في نهاية المقالة.


إعداد متعدد العوامل


انتقل إلى نظام إدارة Multiactor ، وانتقل إلى قسم "الموارد" وقم بإنشاء شبكة افتراضية خاصة جديدة.
بعد الإنشاء ، ستتوفر معلمتان لك: NAS-IDentifier و Shared Secret ، ستكون مطلوبة للتكوين اللاحق.



"", "All users" " ", VPN .


"VPN users", Telegram , VPN.



"" , VPN, "VPN users" . VPN .



OpenVPN


/etc/openvpn/server.conf PAM


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

/usr/lib/openvpn/plugins/ /usr/lib64/openvpn/plugins/ .


pam_radius_auth


$ sudo yum install pam_radius

/etc/pam_radius.conf RADIUS


radius.multifactor.ru   shared_secret   40

:


  • radius.multifactor.ru —
  • shared_secret — VPN
  • 40 —

( )

service-type 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 pam_radius_auth :


  • skip_passwd — RADIUS ( ).
  • client_id — [NAS-Identifier] VPN .
    .

, .


OpenVPN


$ sudo systemctl restart openvpn@server



auth-user-pass


OpenVPN, , . Telegram



, .


, OpenVPN .


-


, :


  • على خادم مع OpenVPN ، يوجد مستخدم لديه مجموعة كلمات مرور
  • الوصول من الخادم عبر منفذ UDP 1812 إلى عنوان radius.multifactor.ru
  • تم تحديد معلمات NAS ومعرف السر المشترك بشكل صحيح
  • لدى النظام متعدد العوامل مستخدم لديه نفس تسجيل الدخول والوصول إلى مجموعة مستخدمي VPN
  • طريقة مصادقة تم تكوينها بواسطة المستخدم عبر Telegram

إذا لم تقم بتهيئة OpenVPN مسبقًا ، فاقرأ المقالة المفصلة .


يتم إجراء التعليمات مع أمثلة على CentOS 7.

Source: https://habr.com/ru/post/undefined/


All Articles