Two-Factor Authentication in OpenVPN with Telegram Bot

Artiklis käsitletakse OpenVPN serveri seadistamist, et lubada kahefaktorilist autentimist Telegrami boti abil, mis saadab kinnitustaotlust ühendamisel.

OpenVPN on laialdaselt tuntud tasuta avatud lähtekoodiga VPN server, mida kasutatakse laialdaselt töötajate kaitstud ligipääsu tagamiseks organisatsiooni sisemistele ressurssidele.

VPN serverisse ühendamiseks kasutatakse tavaliselt kombinatsiooni võtme ja kasutaja sisselogimis-/parooli kombinatsioonist. Klientidel säilitatud parool muudab kogu komplekti üheks faktoriks, mis ei tagada vajalikku turvalisuse taset. Kurjategija, kes pääseb juurde kliendi arvutile, saab ligipääsu ka VPN serverile. See kehtib eriti Windowsi all töötavate masinate puhul.

Teise faktori kasutamine vähendab ebaseadusliku juurdepääsu riski 99% ja ei muuda ühendamise protsessi kasutajatele keerulisemaks.

Koheselt ütlen, et rakendamiseks on vajalik kolmanda osapoole autentimiserveri multifactor.ru ühendamine, kus oma vajadustega saab kasutada tasuta plaani.

Tööprintsiip

  1. OpenVPN kasutab autentimise kontrollimiseks openvpn-plugin-auth-pam pistikprogrammi.
  2. Pistikprogramm kontrollib kasutaja parooli serveris ja küsib teist tegurit RADIUS protokolli kaudu Mültifaktori teenuses.
  3. Mültifaktor saadetakse Telegrami boti kaudu sõnum kasutajale juurdepääsu kinnitamiseks.
  4. Kasutaja kinnitab Telegrami vestluses juurdepääsu taotluse ja ühendub VPN-iga.

OpenVPN serveri seadistamine.

Internetis on palju artikleid, mis kirjeldavad OpenVPN-i paigaldamise ja seadistamise protsessi, seetõttu ei hakka me neid kordama. Kui vajate abi, on artikli lõpus mitu linki õppevahenditele.

Mültifaktori seadistamine.

Logige sisse Mültifaktori haldussüsteemi, minge jaotisse "Ressursid" ja looge uus VPN.
Pärast loomist on teil juurdepääs kahe parameetri: NAS-IDentifier ja Shared Secret, need on vajalikud edasiseks seadistamiseks.

Two-Factor Authentication in OpenVPN with Telegram Bot

Minge jaotisse "Rühmad", leidke rühma "Kõik kasutajad" seaded ja eemaldage märkeruut "Kõik ressursid", et ainult konkreetse grupi kasutajad saaksid VPN-serveriga ühendada.

Looge uus rühm "VPN kasutajad", keelake kõik autentimise viisid peale Telegrami ja määrake, et kasutajatel on juurdepääs loodud VPN-resursile.

Two-Factor Authentication in OpenVPN with Telegram Bot

Jaotises "Kasutajad" looge kasutajad, kellel on juurdepääs VPN-ile, lisage nad rühma "VPN kasutajad" ja saatke neile link teise autentimise teguri seadistamiseks. Kasutaja sisselogimisnimi peab vastama VPN-serveri sisselogimisnimedele.

Two-Factor Authentication in OpenVPN with Telegram Bot

OpenVPN serveri seadistamine

Avage fail /etc/openvpn/server.conf ja lisage autentimise plugina PAM mooduli kaudu

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

Plugin võib asuda kataloogis /usr/lib/openvpn/plugins/ või /usr/lib64/openvpn/plugins/ olenevalt teie süsteemist.

Seejärel tuleb installida pam_radius_auth moodul

$ sudo yum install pam_radius

Avage redigeerimiseks fail /etc/pam_radius.conf ja määrake RADIUS-serveri aadress Multifaktori jaoks

radius.multifactor.ru shared_secret 40

kus:

  • radius.multifactor.ru — serveri aadress
  • shared_secret — kopeerige vastavast VPN-i seadistuste parameetrist
  • 40 sekundit — konto taotluse ooteaeg suure varuga

Teised serverid tuleb eemaldada või kommenteerida (kanna alguses punkt-kolmainsu)

Järgnevalt loo fail teenuse tüübi openvpn jaoks

$ sudo vi /etc/pam.d/openvpn

ja kirjuta sinna

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

Esimene rida ühendab PAM mooduli pam_radius_auth parameetritega:

  • skip_passwd — keelab kasutaja parooli edastamise RADIUS serverisse, et Multifaktor oleks teada.
  • client_id — asenda [NAS-Identifier] vastava parameetriga VPN ressursi seadistustest.
    Kõik võimalikud parameetrid on kirjas mooduli dokumentatsioonis.

Teine ja kolmas rida sisaldavad süsteemi login, parooli ning kasutajaõiguste kontrolli koos teise autentimisfaktoriga.

Taaskäivita OpenVPN

$ sudo systemctl restart openvpn@server

Kliendi seadistus

Lisa kliendi konfiguratsioonifaili kasutaja login ja parooli nõue

auth-user-pass

Kontrollimine

Käivita OpenVPN klient, ühenda serveriga, esita login ja parool. Telegrami botilt tuleb juurdepääsu küsimus koos kahe nupuga

Two-Factor Authentication in OpenVPN with Telegram Bot

Üks nupp lubab juurdepääsu, teine blokeerib.

Nüüd on julgelt võimalik parooli kliendis salvestada, teine tegur kaitseb teie OpenVPN serverit volitamata juurdepääsu eest usaldusväärselt.

Kui midagi ei toimi

Kontrollige järkjärgult, et te ei oleks midagi unustanud:

  • OpenVPN serveris on kasutaja, kellel on seadistatud parool
  • Serverist on avatud juurdepääs UDP pordile 1812 aadressil radius.multifactor.ru
  • Parameetrid NAS-Identifier ja Shared Secret on korrektselt määratud
  • MultiFactor süsteemis on registreeritud kasutaja sama sisenemisega ja talle on antud juurdepääs VPN kasutajate gruppi
  • Kasutaja on seadistanud autentimise Telegrami kaudu

Kui te pole varem OpenVPN-i seadistanud, lugege ülevaatlikku artiklit.

Juhend on koostatud näidistega CentOS 7-l.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster