Двофакторска аутентификација у ОпенВПН-у са Телеграм ботом

Чланак описује подешавање ОпенВПН сервера да омогући двофакторску аутентификацију са Телеграм ботом који ће послати захтев за потврду приликом повезивања.

ОпенВПН је добро познат, бесплатан ВПН сервер отвореног кода који се широко користи за организовање безбедног приступа запослених интерним организационим ресурсима.

Као аутентификација за повезивање са ВПН сервером, обично се користи комбинација кључа и корисничког логин/лозинке. Истовремено, лозинка сачувана на клијенту претвара цео сет у један фактор који не пружа одговарајући ниво сигурности. Нападач, након што је добио приступ клијентском рачунару, такође добија приступ ВПН серверу. Ово посебно важи за везе са машина које користе Виндовс.

Коришћење другог фактора смањује ризик од неовлашћеног приступа за 99% и уопште не компликује процес повезивања за кориснике.

Дозволите ми да одмах резервишем: за имплементацију ћете морати да повежете сервер за аутентификацију треће стране мултифацтор.ру, у којем можете користити бесплатну тарифу за своје потребе.

Принцип рада

  1. ОпенВПН користи опенвпн-плугин-аутх-пам додатак за аутентификацију
  2. Додатак проверава корисничку лозинку на серверу и захтева други фактор преко РАДИУС протокола у Мултифацтор сервису
  3. Мултифактор шаље кориснику поруку преко Телеграм бота којом потврђује приступ
  4. Корисник потврђује захтев за приступ у Телеграм ћаскању и повезује се на ВПН

Инсталирање ОпенВПН сервера

На Интернету постоји много чланака који описују процес инсталирања и конфигурисања ОпенВПН-а, тако да их нећемо дуплирати. Ако вам је потребна помоћ, постоји неколико веза до туторијала на крају чланка.

Подешавање Мултифактора

Иди на Вишефакторски систем управљања, идите на одељак „Ресурси“ и креирајте нови ВПН.
Након креирања, биће вам на располагању две опције: НАС-ИДентификатор и Схаред Сецрет, биће потребни за накнадну конфигурацију.

Двофакторска аутентификација у ОпенВПН-у са Телеграм ботом

У одељку „Групе“ идите на подешавања групе „Сви корисници“ и уклоните ознаку „Сви ресурси“ како би само корисници одређене групе могли да се повежу на ВПН сервер.

Направите нову групу „ВПН корисници“, онемогућите све методе аутентификације осим Телеграма и назначите да корисници имају приступ креираном ВПН ресурсу.

Двофакторска аутентификација у ОпенВПН-у са Телеграм ботом

У одељку „Корисници“ креирајте кориснике који ће имати приступ ВПН-у, додајте их у групу „ВПН корисници“ и пошаљите им везу за конфигурисање другог фактора аутентификације. Корисничка пријава мора да се подудара са пријавом на ВПН серверу.

Двофакторска аутентификација у ОпенВПН-у са Телеграм ботом

Подешавање ОпенВПН сервера

Otvorite datoteku /етц/опенвпн/сервер.цонф и додајте додатак за аутентификацију помоћу ПАМ модула

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

Додатак се може налазити у директоријуму /уср/либ/опенвпн/плугинс/ или /уср/либ64/опенвпн/плугинс/ у зависности од вашег система.

Затим морате да инсталирате модул пам_радиус_аутх

$ sudo yum install pam_radius

Отворите датотеку за уређивање /етц/пам_радиус.цонф и наведите адресу РАДИУС сервера Мултифактора

radius.multifactor.ru   shared_secret   40

где је:

  • радиус.мултифацтор.ру — адреса сервера
  • схаред_сецрет - копија из одговарајућег параметра ВПН подешавања
  • 40 секунди - временско ограничење за чекање захтева са великом маргином

Преостале сервере морате обрисати или коментарисати (ставите тачку и зарез на почетак)

Затим креирајте датотеку за опенвпн типа услуге

$ 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

Први ред повезује ПАМ модул пам_радиус_аутх са параметрима:

  • скип_пассвд - онемогућава пренос корисничке лозинке на РАДИУС Мултифацтор сервер (он не мора да зна).
  • цлиент_ид — замените [НАС-Идентифиер] одговарајућим параметром из подешавања ВПН ресурса.
    Сви могући параметри су описани у документацију за модул.

Други и трећи ред обухватају верификацију система за пријаву, лозинку и корисничка права на вашем серверу заједно са другим фактором аутентификације.

Поново покрените ОпенВПН

$ sudo systemctl restart openvpn@server

Подешавање клијента

Укључите захтев за пријаву корисника и лозинку у конфигурациону датотеку клијента

auth-user-pass

Проверка

Покрените ОпенВПН клијент, повежите се са сервером, унесите своје корисничко име и лозинку. Телеграм бот ће послати захтев за приступ са два дугмета

Двофакторска аутентификација у ОпенВПН-у са Телеграм ботом

Једно дугме дозвољава приступ, друго га блокира.

Сада можете безбедно да сачувате своју лозинку на клијенту; други фактор ће поуздано заштитити ваш ОпенВПН сервер од неовлашћеног приступа.

Ако нешто не ради

Узастопно проверите да нисте ништа пропустили:

  • На серверу постоји корисник са ОпенВПН-ом са постављеном лозинком
  • Сервер има приступ преко УДП порта 1812 адреси радиус.мултифацтор.ру
  • Параметри НАС-идентификатора и Схаред Сецрет су исправно наведени
  • Корисник са истом пријавом је креиран у систему Мултифацтор и добио је приступ ВПН групи корисника
  • Корисник је конфигурисао метод аутентификације преко Телеграма

Ако раније нисте подесили ОпенВПН, прочитајте детаљан чланак.

Упутства су направљена са примерима на ЦентОС 7.

Извор: ввв.хабр.цом

Додај коментар