Š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
- OpenVPN autentifikavimui naudoja įskiepį „openvpn-plugin-auth-pam“
- Papildinys patikrina vartotojo slaptažodį serveryje ir per RADIUS protokolą daugiafaktorinėje tarnyboje prašo antrojo faktoriaus
- „Multifactor“ siunčia vartotojui pranešimą per „Telegram“ robotą, patvirtinantį prieigą
- 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 į , eikite į skyrių „Ištekliai“ ir sukurkite naują VPN.
Sukūrę turėsite dvi parinktis: NAS identifikatorius и Bendra paslaptis, jie bus reikalingi tolesnei konfigūracijai.

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.

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.

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 openvpnPapildinys 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_radiusAtidarykite 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/openvpnir įrašykite
auth required pam_radius_auth.so skip_passwd client_id=[NAS-IDentifier]
auth substack password-auth
account substack password-authPirmoji 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 .
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@serverKliento 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.

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 .
Instrukcijos pateikiamos su pavyzdžiais CentOS 7.
Šaltinis: www.habr.com
