Rakstā aprakstīta OpenVPN servera iestatīšana, lai aktivizētu divfaktoru autentifikāciju ar Telegram robotu, kurš nosūtīs apstiprinājuma pieprasījumu, pieslēdzoties.
OpenVPN ir plaši pazīstams, bezmaksas VPN serveris ar atvērtu pirmkodu, ko plaši izmanto, lai nodrošinātu darbinieku drošu piekļuvi organizācijas iekšējiem resursiem.
Kā autentifikācijas līdzeklis pieslēgšanai VPN serverim parasti tiek izmantota kombinācija no atslēgas un lietotāja lietotājvārda/paroles. Šādā gadījumā, klientā saglabātā parole padara visu komplektu par vienu faktoru, kas nenodrošina nepieciešamo drošības līmeni. Ienaidnieks, iegūstot piekļuvi klienta datoram, iegūst arī piekļuvi VPN serverim. Īpaši tas attiecas uz pieslēgšanos ar Windows darbināmām mašīnām.
Otrā faktora izmantošana par 99% samazina neautorizētas piekļuves risku un pilnībā nepārslogot procesu lietotājiem.
Uzreiz jāatzīmē, ka īstenošanai būs nepieciešama savienojuma izveide ar trešo pušu autentifikācijas serveri multifactor.ru, kurā var izmantot bezmaksas tarifu.
Darba princips
- OpenVPN izmanto plugin openvpn-plugin-auth-pam autentifikācijas pārbaudei.
- Plugins pārbauda lietotāja paroli serverī un pieprasa otro faktoru caur RADIUS protokolu Mūlfaktoru pakalpojuma ietvaros.
- Mūlfaktors izmanto Telegram robotu, lai nosūtītu lietotājam apstiprinājuma ziņu par piekļuvi.
- Lietotājs apstiprina piekļuves pieprasījumu Telegram tērzēšanā un pieslēdzas VPN.
OpenVPN servera uzstādīšana.
Internetā ir daudz rakstu, kas apraksta OpenVPN uzstādīšanas un konfigurēšanas procesu, tāpēc mēs tos nevēlamies dublēt. Ja jums ir nepieciešama palīdzība, raksta beigās ir norādītas dažas saites uz apmācību materiāliem.
Mūlfaktora konfigurācija.
Piekļūstiet , dodieties uz sadaļu "Resursi" un izveidojiet jaunu VPN.
Pēc izveidošanas jums būs pieejami divi parametri: NAS-IDentifier. un Shared Secret., tie būs nepieciešami turpmākai konfigurācijai.

Sadaļā "Grupas" dodieties uz grupas "Visi lietotāji" iestatījumiem un noņemiet atzīmi "Visi resursi", lai tikai noteiktas grupas lietotāji varētu pieslēgties VPN serverim.
Izveidojiet jaunu grupu "VPN lietotāji", atslēdziet visus autentifikācijas veidus, izņemot Telegram, un norādiet, ka lietotājiem ir piekļuve izveidotajam VPN resursam.

Sadaļā "Lietotāji" izveidojiet lietotājus, kuriem būs pieeja VPN, pievienojiet tos grupai "VPN lietotāji" un nosūtiet viņiem saiti uz otrā faktora autentifikācijas iestatīšanu. Lietotāja pieteikšanās jāatbilst pieteikšanās datiem VPN serverī.

OpenVPN servera iestatīšana
Atveriet failu /etc/openvpn/server.conf un pievienojiet paplašinājumu autentifikācijai, izmantojot PAM moduli
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpnPaplašinājums var atrasties direktorijā /usr/lib/openvpn/plugins/ vai /usr/lib64/openvpn/plugins/ atkarībā no jūsu sistēmas.
Tālāk nepieciešams instalēt pam_radius_auth moduli
$ sudo yum install pam_radiusAtveriet priekš rediģēšanu failu /etc/pam_radius.conf un norādiet RADIUS servera adresi Mūlfaktora
radius.multifactor.ru shared_secret 40kur:
- radius.multifactor.ru — servera adrese
- shared_secret — nokopējiet no attiecīgā VPN iestatījumu parametra
- 40 sekundes — izsaukuma gaidīšanas laiks ar vēlmi
Pārējie serveri jādzēš vai jākonfigurē komentārs (priekšā jāsavieno punkts)
Tālāk izveidojiet failu service-type openvpn
$ sudo vi /etc/pam.d/openvpnun ierakstiet tajā
auth required pam_radius_auth.so skip_passwd client_id=[NAS-IDentifier]
auth substack password-auth
account substack password-authpirmā rindiņa pieslēdz PAM moduli pam_radius_auth ar parametriem:
- skip_passwd — izslēdz lietotāja parolē pārraidīšanu RADIUS serverī Mūlfaktoram (tam nav jāzina).
- client_id — ievietojiet vietā [NAS-Identifier] atbilstošo parametru no VPN resursu iestatījumiem.
Visi iespējami parametri ir aprakstīti .
Otrā un trešā rindiņa iekļauj sistēmas pārbaudi par pieteikšanos, paroli un lietotāja tiesībām jūsu serverī kopā ar otro faktoru autentifikācijai.
Restartējiet OpenVPN
$ sudo systemctl restart openvpn@serverKlienta iestatīšana
Iekļaujiet klienta konfigurācijas failā lietotāja vārda un paroles pieprasījumu
auth-user-passPārbaude
Palaižiet klientu OpenVPN, pieslēdzieties serverim, norādiet lietotāja vārdu un paroli. No Telegram robota saņemsiet piekļuves pieprasījumu ar divām pogām

Viena poga atļauj piekļuvi, otra bloķē.
Tagad varat droši saglabāt paroli klientā, otrais faktors droši aizsargās jūsu OpenVPN serveri no nesankcionētas piekļuves.
Ja kaut kas nedarbojas
Pakāpeniski pārbaudiet, vai neko neesat aizmirsis:
- Uz servera ar OpenVPN jābūt lietotājam ar iestatītu paroli
- Server access is opened via UDP port 1812 at address radius.multifactor.ru
- The NAS-Identifier and Shared Secret parameters are correctly specified
- A user with the same login has been registered in the Multifactor system and granted access to the VPN user group
- The user has configured the authentication method via Telegram
If you haven't configured OpenVPN before, please read .
The instruction is provided with examples on CentOS 7.
Avots: habr.com
