Dviejų veiksnių autentifikavimas OpenVPN su „Telegram“ robotu

Šiame straipsnyje aprašoma, kaip sukonfigūruoti serverį. OpenVPN Dviejų veiksnių autentifikavimo įjungimas naudojant „Telegram“ robotą, kuris prisijungus atsiųs patvirtinimo užklausą.

OpenVPN — plačiai žinomas, nemokamas, atvirojo kodo VPN serveris, plačiai naudojamas siekiant užtikrinti saugią darbuotojų prieigą prie organizacijos vidinių išteklių.

Prisijungiant prie VPN serverio, autentifikavimui paprastai naudojamas rakto ir vartotojo prisijungimo vardo / slaptažodžio derinys. Tačiau kliento kompiuteryje saugomas slaptažodis visą rinkinį paverčia vienu veiksniu, o tai neužtikrina reikiamo saugumo lygio. Užpuolikas, gavęs prieigą prie kliento kompiuterio, taip pat gauna prieigą prie VPN serverio. Tai ypač pasakytina apie ryšius iš kompiuterių, kuriuose veikia Windows.

Antrojo veiksnio naudojimas sumažina neteisėtos prieigos riziką 99% ir visiškai neapsunkina prisijungimo proceso vartotojams.

Leiskite man iš karto rezervuoti: įgyvendinimui turėsite prijungti trečiosios šalies autentifikavimo serverį multifactor.ru, kuriame galėsite naudoti nemokamą tarifą savo poreikiams.

Veikimo principas

  1. OpenVPN autentifikavimui naudoja įskiepį „openvpn-plugin-auth-pam“
  2. Papildinys patikrina vartotojo slaptažodį serveryje ir per RADIUS protokolą daugiafaktorinėje tarnyboje prašo antrojo faktoriaus
  3. „Multifactor“ siunčia vartotojui pranešimą per „Telegram“ robotą, patvirtinantį prieigą
  4. Vartotojas patvirtina prieigos užklausą „Telegram“ pokalbyje ir prisijungia prie VPN

Montavimas OpenVPN serveris

Internete yra daug straipsnių, kuriuose aprašomas diegimo ir konfigūravimo procesas. OpenVPN, todėl jų nedubliuosime. Jei reikia pagalbos, straipsnio pabaigoje yra kelios nuorodos į mokymo medžiagą.

Daugiafaktorių nustatymas

Eiti į Daugiafaktorinė valdymo sistema, eikite į skyrių „Ištekliai“ ir sukurkite naują VPN.
Sukūrę turėsite dvi parinktis: NAS identifikatorius и Bendra paslaptis, jie bus reikalingi tolesnei konfigūracijai.

Dviejų veiksnių autentifikavimas OpenVPN su „Telegram“ robotu

Skiltyje „Grupės“ eikite į grupės „Visi vartotojai“ nustatymus ir pašalinkite žymą „Visi ištekliai“, kad prie VPN serverio galėtų prisijungti tik tam tikros grupės vartotojai.

Sukurkite naują grupę „VPN vartotojai“, išjunkite visus autentifikavimo būdus, išskyrus „Telegram“, ir nurodykite, kad vartotojai turi prieigą prie sukurto VPN šaltinio.

Dviejų veiksnių autentifikavimas OpenVPN su „Telegram“ robotu

Skiltyje „Vartotojai“ sukurkite vartotojus, kurie turės prieigą prie VPN, pridėkite juos prie „VPN vartotojų“ grupės ir nusiųskite jiems nuorodą, kad sukonfigūruotumėte antrąjį autentifikavimo veiksnį. Vartotojo prisijungimas turi sutapti su prisijungimu prie VPN serverio.

Dviejų veiksnių autentifikavimas OpenVPN su „Telegram“ robotu

reguliavimas OpenVPN serveris

Atidarykite failą /etc/openvpn/server.conf ir pridėkite papildinį autentifikavimui naudojant PAM modulį

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

Papildinys gali būti kataloge /usr/lib/openvpn/plugins/ arba /usr/lib64/openvpn/plugins/ priklausomai nuo jūsų sistemos.

Tada turite įdiegti modulį pam_radius_auth

$ sudo yum install pam_radius

Atidarykite failą redaguoti /etc/pam_radius.conf ir nurodykite daugiafaktorio RADIUS serverio adresą

radius.multifactor.ru   shared_secret   40

, jeigu:

  • radius.multifactor.ru — serverio adresas
  • share_secret – nukopijuokite iš atitinkamo VPN nustatymų parametro
  • 40 sekundžių - skirtasis laikas laukti užklausos su didele atsarga

Likę serveriai turi būti ištrinti arba pakomentuoti (pradžioje padėkite kabliataškį)

Tada sukurkite paslaugos tipo openvpn failą

$ sudo vi /etc/pam.d/openvpn

ir įrašykite

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

Pirmoji eilutė sujungia PAM modulį pam_radius_auth su parametrais:

  • skip_passwd – išjungia vartotojo slaptažodžio perdavimą RADIUS Multifactor serveriui (jam to žinoti nereikia).
  • client_id – pakeiskite [NAS-Identifier] atitinkamu parametru iš VPN išteklių nustatymų.
    Visi galimi parametrai aprašyti modulio dokumentacija.

Antroje ir trečioje eilutėse yra sistemos patikrinimas jūsų serverio prisijungimo vardu, slaptažodžiu ir vartotojo teisėmis bei antrasis autentifikavimo veiksnys.

Perkrauti OpenVPN

$ sudo systemctl restart openvpn@server

Kliento sąranka

Į kliento konfigūracijos failą įtraukite vartotojo prisijungimo ir slaptažodžio užklausą

auth-user-pass

Проверка

Paleiskite klientą OpenVPN, prisijunkite prie serverio ir įveskite savo vartotojo vardą bei slaptažodį. „Telegram“ robotas atsiųs jums prieigos užklausą dviem mygtukais.

Dviejų veiksnių autentifikavimas OpenVPN su „Telegram“ robotu

Vienas mygtukas leidžia pasiekti, antrasis blokuoja.

Dabar galite saugiai išsaugoti slaptažodį kliento programoje, antrasis veiksnys patikimai apsaugos jūsų OpenVPN serverį nuo neteisėtos prieigos.

Jei kažkas neveikia

Paeiliui patikrinkite, ar nieko nepraleidote:

  • Serveryje su OpenVPN yra vartotojas su nustatytu slaptažodžiu
  • Serveris per UDP prievadą 1812 turi prieigą prie adreso radius.multifactor.ru
  • NAS-Identifier ir Shared Secret parametrai nurodyti teisingai
  • Vartotojas su tuo pačiu prisijungimu buvo sukurtas Multifactor sistemoje ir jam suteikta prieiga prie VPN vartotojų grupės
  • Vartotojas sukonfigūravo autentifikavimo metodą per telegramą

Jei dar nenustatėte OpenVPN, perskaitykite tai išsamus straipsnis.

Instrukcijos pateikiamos su pavyzdžiais CentOS 7.

Šaltinis: www.habr.com

Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster