ProHoster > احراز هویت دو مرحله ای در OpenVPN با ربات تلگرام
احراز هویت دو مرحله ای در OpenVPN با ربات تلگرام
این مقاله تنظیم یک سرور OpenVPN را برای فعال کردن احراز هویت دو مرحلهای با یک ربات تلگرام توضیح میدهد که هنگام اتصال درخواست تأیید ارسال میکند.
OpenVPN یک سرور VPN شناخته شده، رایگان و منبع باز است که به طور گسترده برای سازماندهی دسترسی ایمن کارمندان به منابع داخلی سازمانی استفاده می شود.
به عنوان احراز هویت برای اتصال به سرور VPN، معمولاً از ترکیب کلید و ورود / رمز عبور کاربر استفاده می شود. در عین حال، رمز عبور ذخیره شده روی کلاینت، کل مجموعه را به یک عامل واحد تبدیل می کند که سطح مناسبی از امنیت را فراهم نمی کند. یک مهاجم با دسترسی به رایانه مشتری، به سرور VPN نیز دسترسی پیدا می کند. این امر مخصوصاً برای اتصالات از ماشینهایی که ویندوز دارند صادق است.
استفاده از عامل دوم خطر دسترسی غیرمجاز را تا 99 درصد کاهش می دهد و به هیچ وجه فرآیند اتصال را برای کاربران پیچیده نمی کند.
اجازه دهید فوراً رزرو کنم: برای اجرا باید یک سرور احراز هویت شخص ثالث multifactor.ru را وصل کنید که در آن می توانید از تعرفه رایگان برای نیازهای خود استفاده کنید.
اصل عمل
OpenVPN از افزونه openvpn-plugin-auth-pam برای احراز هویت استفاده می کند.
این افزونه رمز عبور کاربر را در سرور بررسی می کند و فاکتور دوم را از طریق پروتکل RADIUS در سرویس Multifactor درخواست می کند.
Multifactor از طریق ربات تلگرام پیامی را برای تایید دسترسی به کاربر ارسال می کند
کاربر درخواست دسترسی را در چت تلگرام تایید کرده و به VPN متصل می شود
نصب سرور OpenVPN
مقالات زیادی در اینترنت وجود دارد که فرآیند نصب و پیکربندی OpenVPN را توضیح می دهد، بنابراین ما آنها را تکرار نمی کنیم. اگر به کمک نیاز دارید، چندین لینک به آموزش ها در انتهای مقاله وجود دارد.
راه اندازی Multifactor
قابل اعتماد و متخصص سیستم کنترل چند عاملی، به بخش "منابع" بروید و یک VPN جدید ایجاد کنید.
پس از ایجاد، شما دو گزینه در دسترس خواهید داشت: شناسه NAS и راز مشترک، برای پیکربندی بعدی مورد نیاز خواهند بود.
در قسمت "گروه ها" به تنظیمات گروه "همه کاربران" بروید و پرچم "همه منابع" را حذف کنید تا فقط کاربران یک گروه خاص بتوانند به سرور VPN متصل شوند.
یک گروه جدید "کاربران VPN" ایجاد کنید، همه روش های احراز هویت به جز تلگرام را غیرفعال کنید و نشان دهید که کاربران به منبع VPN ایجاد شده دسترسی دارند.
در بخش «کاربران»، کاربرانی را ایجاد کنید که به VPN دسترسی داشته باشند، آنها را به گروه «کاربران VPN» اضافه کنید و پیوندی برای پیکربندی عامل دوم احراز هویت برای آنها ارسال کنید. ورود کاربر باید با ورود در سرور VPN مطابقت داشته باشد.
راه اندازی سرور OpenVPN
فایل را باز کنید /etc/openvpn/server.conf و یک افزونه برای احراز هویت با استفاده از ماژول PAM اضافه کنید
خط اول ماژول PAM pam_radius_auth را با پارامترهای زیر متصل می کند:
skip_passwd - انتقال رمز عبور کاربر به سرور RADIUS Multifactor را غیرفعال می کند (او نیازی به دانستن آن ندارد).
client_id — [NAS-Identifier] را با پارامتر مربوطه از تنظیمات منبع VPN جایگزین کنید.
تمام پارامترهای ممکن در شرح داده شده است مستندات برای ماژول.
خط دوم و سوم شامل تأیید سیستم ورود، رمز عبور و حقوق کاربر روی سرور شما به همراه فاکتور دوم تأیید اعتبار است.
OpenVPN را مجددا راه اندازی کنید
$ sudo systemctl restart openvpn@server
راه اندازی مشتری
یک درخواست برای ورود کاربر و رمز عبور در فایل پیکربندی مشتری وارد کنید
auth-user-pass
Проверка
کلاینت OpenVPN را راه اندازی کنید، به سرور متصل شوید، نام کاربری و رمز عبور خود را وارد کنید. ربات تلگرام با دو دکمه درخواست دسترسی ارسال می کند
یک دکمه اجازه دسترسی را می دهد، دومی آن را مسدود می کند.
اکنون می توانید با خیال راحت رمز عبور خود را روی کلاینت ذخیره کنید؛ عامل دوم به طور قابل اعتمادی از سرور OpenVPN شما در برابر دسترسی غیرمجاز محافظت می کند.
اگر چیزی کار نمی کند
به طور متوالی بررسی کنید که چیزی را از دست ندهید:
یک کاربر در سرور با OpenVPN با یک رمز عبور وجود دارد
سرور از طریق پورت UDP 1812 به آدرس radius.multifactor.ru دسترسی دارد
پارامترهای NAS-Identifier و Shared Secret به درستی مشخص شده اند
کاربری با همان ورود در سیستم Multifactor ایجاد شده است و به گروه کاربری VPN دسترسی پیدا کرده است.
کاربر روش احراز هویت را از طریق تلگرام پیکربندی کرده است
اگر قبلا OpenVPN را تنظیم نکرده اید، بخوانید مقاله مفصل.
دستورالعمل ها با مثال هایی در CentOS 7 ساخته شده اند.