Dviejų veiksnių autentifikavimas „OpenVPN“ su „Telegram“ robotu

Straipsnyje aprašomas „OpenVPN“ serverio nustatymas, kad būtų galima įgalinti dviejų veiksnių autentifikavimą naudojant „Telegram“ robotą, kuris jungiantis išsiųs patvirtinimo užklausą.

OpenVPN yra gerai žinomas nemokamas atvirojo kodo VPN serveris, plačiai naudojamas organizuoti saugią darbuotojų prieigą prie vidinių organizacijos išteklių.

Kaip autentifikavimas prisijungiant prie VPN serverio, dažniausiai naudojamas rakto ir vartotojo prisijungimo / slaptažodžio derinys. Tuo pačiu metu kliente saugomas slaptažodis paverčia visą rinkinį vienu veiksniu, kuris neužtikrina tinkamo saugumo lygio. Užpuolikas, gavęs prieigą prie kliento kompiuterio, taip pat gauna prieigą prie VPN serverio. Tai ypač pasakytina apie ryšius iš įrenginių, 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

„OpenVPN“ serverio diegimas

Internete yra daug straipsnių, kuriuose aprašomas „OpenVPN“ diegimo ir konfigūravimo procesas, todėl mes jų nedubliuosime. Jei jums reikia pagalbos, straipsnio pabaigoje yra keletas nuorodų į mokymo programas.

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

„OpenVPN“ serverio nustatymas

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.

Iš naujo paleiskite 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 OpenVPN klientą, prisijunkite prie serverio, įveskite savo vartotojo vardą ir slaptažodį. „Telegram“ robotas atsiųs 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į kliente; antrasis veiksnys patikimai apsaugos jūsų OpenVPN serverį nuo neteisėtos prieigos.

Jei kažkas neveikia

Paeiliui patikrinkite, ar nieko nepraleidote:

  • Serveryje yra vartotojas su OpenVPN ir nustatytas slaptažodis
  • 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 anksčiau nenustatėte OpenVPN, skaitykite išsamus straipsnis.

Instrukcijos pateikiamos naudojant CentOS 7 pavyzdžius.

Šaltinis: www.habr.com

Добавить комментарий