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 орнату және конфигурациялау процесін сипаттайтын көптеген мақалалар бар, сондықтан біз оларды қайталамаймыз. Егер сізге көмек қажет болса, мақаланың соңында оқулықтарға бірнеше сілтемелер бар.

Мультифакторды орнату

Өту Көп факторлы басқару жүйесі, «Ресурстар» бөліміне өтіп, жаңа 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

Плагин каталогта орналасуы мүмкін /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 секунд – үлкен маржамен сұрауды күту үшін күту уақыты

Қалған серверлерді жою немесе түсініктеме беру керек (басына нүктелі үтір қойыңыз)

Әрі қарай, қызмет түріне арналған 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 Multifactor серверіне жіберуді өшіреді (оны білудің қажеті жоқ).
  • client_id — [NAS-идентификатор] параметрін VPN ресурсы параметрлеріндегі сәйкес параметрмен ауыстырыңыз.
    Барлық мүмкін параметрлер бөлімінде сипатталған модульге арналған құжаттама.

Екінші және үшінші жолдар сервердегі логинді, құпия сөзді және пайдаланушы құқықтарын жүйелік тексеруді және екінші аутентификация факторын қамтиды.

OpenVPN қайта іске қосыңыз

$ sudo systemctl restart openvpn@server

Клиентті орнату

Клиент конфигурация файлына пайдаланушы логині мен құпия сөзін сұрауды қосыңыз

auth-user-pass

тексеру

OpenVPN клиентін іске қосыңыз, серверге қосылыңыз, пайдаланушы аты мен құпия сөзді енгізіңіз. Telegram боты екі түйме арқылы рұқсат сұрауын жібереді

Telegram боты арқылы OpenVPN-де екі факторлы аутентификация

Бір түйме кіруге мүмкіндік береді, екіншісі оны блоктайды.

Енді сіз құпия сөзіңізді клиентте қауіпсіз сақтай аласыз, екінші фактор OpenVPN серверіңізді рұқсатсыз кіруден сенімді қорғайды.

Егер бірдеңе жұмыс істемесе

Ештеңені жіберіп алмағаныңызды ретімен тексеріңіз:

  • OpenVPN серверінде құпия сөз орнатылған пайдаланушы бар
  • Сервер UDP порты 1812 арқылы radius.multifactor.ru мекенжайына қол жеткізе алады
  • NAS-идентификатор және ортақ құпия параметрлері дұрыс көрсетілген
  • Бірдей логині бар пайдаланушы Multifactor жүйесінде жасалды және VPN пайдаланушылар тобына кіруге рұқсат алды
  • Пайдаланушы Telegram арқылы аутентификация әдісін конфигурациялады

Бұрын OpenVPN орнатпаған болсаңыз, оқыңыз егжей-тегжейлі мақала.

Нұсқаулар CentOS 7 жүйесіндегі мысалдармен жасалған.

Ақпарат көзі: www.habr.com

пікір қалдыру