Divu faktoru autentifikācija OpenVPN ar Telegram robotu

Rakstā ir aprakstīta OpenVPN servera iestatīšana, lai iespējotu divu faktoru autentifikāciju ar Telegram robotu, kas savienojuma laikā nosūtīs apstiprinājuma pieprasījumu.

OpenVPN ir labi zināms, bezmaksas atvērtā pirmkoda VPN serveris, ko plaši izmanto, lai organizētu drošu darbinieku piekļuvi iekšējiem organizācijas resursiem.

Kā autentifikācija savienojuma izveidei ar VPN serveri parasti tiek izmantota atslēgas un lietotāja pieteikšanās/paroles kombinācija. Tajā pašā laikā klienta saglabātā parole pārvērš visu komplektu par vienu faktoru, kas nenodrošina atbilstošu drošības līmeni. Uzbrucējs, ieguvis piekļuvi klienta datoram, iegūst arī piekļuvi VPN serverim. Tas jo īpaši attiecas uz savienojumiem no iekārtām, kurās darbojas sistēma Windows.

Otrā faktora izmantošana samazina nesankcionētas piekļuves risku par 99% un lietotājiem nemaz nesarežģī savienojuma procesu.

Ļaujiet man nekavējoties veikt rezervāciju: ieviešanai jums būs jāpievieno trešās puses autentifikācijas serveris multifactor.ru, kurā varat izmantot bezmaksas tarifu savām vajadzībām.

Kā tas darbojas

  1. OpenVPN autentifikācijai izmanto spraudni openvpn-plugin-auth-pam
  2. Spraudnis pārbauda lietotāja paroli serverī un pieprasa otro faktoru, izmantojot RADIUS protokolu daudzfaktoru pakalpojumā
  3. Multifactor nosūta lietotājam ziņojumu, izmantojot Telegram bot, apstiprinot piekļuvi
  4. Lietotājs apstiprina piekļuves pieprasījumu Telegram tērzēšanā un izveido savienojumu ar VPN

OpenVPN servera instalēšana

Internetā ir daudz rakstu, kuros aprakstīts OpenVPN instalēšanas un konfigurēšanas process, tāpēc mēs tos nedublēsim. Ja jums nepieciešama palīdzība, raksta beigās ir vairākas saites uz apmācībām.

Daudzfaktoru iestatīšana

Iet uz Daudzfaktoru vadības sistēma, dodieties uz sadaļu "Resursi" un izveidojiet jaunu VPN.
Kad esat izveidojis, jums būs pieejamas divas iespējas: NAS identifikators и Dalīts noslēpums, tie būs nepieciešami turpmākai konfigurēšanai.

Divu faktoru autentifikācija OpenVPN ar Telegram robotu

Sadaļā "Grupas" dodieties uz grupas "Visi lietotāji" iestatījumiem un noņemiet karogu "Visi resursi", lai tikai noteiktas grupas lietotāji varētu izveidot savienojumu ar VPN serveri.

Izveidojiet jaunu grupu "VPN lietotāji", atspējojiet visas autentifikācijas metodes, izņemot Telegram, un norādiet, ka lietotājiem ir piekļuve izveidotajam VPN resursam.

Divu faktoru autentifikācija OpenVPN ar Telegram robotu

Sadaļā "Lietotāji" izveidojiet lietotājus, kuriem būs piekļuve VPN, pievienojiet tos grupai "VPN lietotāji" un nosūtiet viņiem saiti, lai konfigurētu otro autentifikācijas faktoru. Lietotāja pieteikumvārdam ir jāsakrīt ar VPN servera pieteikumvārdu.

Divu faktoru autentifikācija OpenVPN ar Telegram robotu

OpenVPN servera iestatīšana

Atveriet failu /etc/openvpn/server.conf un pievienojiet spraudni autentifikācijai, izmantojot PAM moduli

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

Spraudnis var atrasties direktorijā /usr/lib/openvpn/plugins/ vai /usr/lib64/openvpn/plugins/ atkarībā no jūsu sistēmas.

Tālāk jums jāinstalē modulis pam_radius_auth

$ sudo yum install pam_radius

Atveriet failu rediģēšanai /etc/pam_radius.conf un norādiet daudzfaktoru RADIUS servera adresi

radius.multifactor.ru   shared_secret   40

ja:

  • radius.multifactor.ru — servera adrese
  • shared_secret - kopējiet no atbilstošā VPN iestatījumu parametra
  • 40 sekundes - taimauts, lai gaidītu pieprasījumu ar lielu rezervi

Atlikušie serveri ir jāizdzēš vai jākomentē (sākumā ielieciet semikolu)

Pēc tam izveidojiet failu pakalpojuma tipa openvpn

$ sudo vi /etc/pam.d/openvpn

un ierakstiet to

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

Pirmā rinda savieno PAM moduli pam_radius_auth ar parametriem:

  • skip_passwd - atspējo lietotāja paroles pārsūtīšanu uz RADIUS Multifactor serveri (viņam tas nav jāzina).
  • client_id — aizstājiet [NAS-Identifier] ar atbilstošo parametru no VPN resursa iestatījumiem.
    Visi iespējamie parametri ir aprakstīti moduļa dokumentācija.

Otrajā un trešajā rindā ir iekļauta pieteikšanās, paroles un lietotāja tiesību sistēmas pārbaude jūsu serverī, kā arī otrs autentifikācijas faktors.

Restartējiet OpenVPN

$ sudo systemctl restart openvpn@server

Klienta iestatīšana

Klienta konfigurācijas failā iekļaujiet lietotāja pieteikšanās un paroles pieprasījumu

auth-user-pass

Проверка

Palaidiet OpenVPN klientu, izveidojiet savienojumu ar serveri, ievadiet savu lietotājvārdu un paroli. Telegram bot nosūtīs piekļuves pieprasījumu ar divām pogām

Divu faktoru autentifikācija OpenVPN ar Telegram robotu

Viena poga ļauj piekļūt, otra to bloķē.

Tagad varat droši saglabāt savu paroli klientā; otrs faktors droši aizsargās jūsu OpenVPN serveri no nesankcionētas piekļuves.

Ja kaut kas nedarbojas

Secīgi pārbaudiet, vai neesat neko palaidis garām:

  • Serverī ir lietotājs ar OpenVPN ar iestatītu paroli
  • Serverim caur UDP portu 1812 ir piekļuve adresei radius.multifactor.ru
  • Parametri NAS-Identifier un Shared Secret ir norādīti pareizi
  • Lietotājs ar tādu pašu pieteikšanos ir izveidots Multifactor sistēmā un viņam ir piešķirta piekļuve VPN lietotāju grupai
  • Lietotājs ir konfigurējis autentifikācijas metodi, izmantojot telegrammu

Ja iepriekš neesat iestatījis OpenVPN, izlasiet detalizēts raksts.

Instrukcijas ir veidotas ar piemēriem, izmantojot CentOS 7.

Avots: www.habr.com

Pievieno komentāru