Divu faktoru autentifikācija OpenVPN ar Telegram robotu

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

  1. OpenVPN izmanto plugin openvpn-plugin-auth-pam autentifikācijas pārbaudei.
  2. Plugins pārbauda lietotāja paroli serverī un pieprasa otro faktoru caur RADIUS protokolu Mūlfaktoru pakalpojuma ietvaros.
  3. Mūlfaktors izmanto Telegram robotu, lai nosūtītu lietotājam apstiprinājuma ziņu par piekļuvi.
  4. 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 Mūlfaktora pārvaldības sistēma., 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.

Divu faktoru autentifikācija OpenVPN ar Telegram robotu

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.

Divu faktoru autentifikācija OpenVPN ar Telegram robotu

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ī.

Divu faktoru autentifikācija OpenVPN ar Telegram robotu

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 openvpn

Paplaš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_radius

Atveriet priekš rediģēšanu failu /etc/pam_radius.conf un norādiet RADIUS servera adresi Mūlfaktora

radius.multifactor.ru shared_secret 40

kur:

  • 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/openvpn

un ierakstiet tajā

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

pirmā 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 moduļa dokumentācijā.

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@server

Klienta iestatīšana

Iekļaujiet klienta konfigurācijas failā lietotāja vārda un paroles pieprasījumu

auth-user-pass

Pā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

Divu faktoru autentifikācija OpenVPN ar Telegram robotu

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 detailed article.

The instruction is provided with examples on CentOS 7.

Avots: habr.com

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster