Twa-faktor autentikaasje yn OpenVPN mei Telegram bot

It artikel beskriuwt it ynstellen fan in OpenVPN-tsjinner om twa-faktor-autentikaasje yn te skeakeljen mei in Telegram-bot dy't in befêstigingsfersyk sil stjoere by ferbining.

OpenVPN is in bekende, fergese, iepen-boarne VPN-tsjinner dy't in soad brûkt wurdt om feilige wurknimmer tagong te organisearjen ta ynterne organisatoaryske boarnen.

As autentikaasje foar ferbining mei in VPN-tsjinner, wurdt meastentiids in kombinaasje fan in kaai en brûkersoanmelding/wachtwurd brûkt. Tagelyk feroaret it wachtwurd dat op 'e kliïnt is opslein de heule set yn ien faktor dy't net it juste nivo fan feiligens leveret. In oanfaller, dy't tagong hat ta in kliïntkompjûter, krijt ek tagong ta de VPN-tsjinner. Dit is benammen wier foar ferbiningen fan masines dy't Windows draaie.

It brûken fan de twadde faktor ferleget it risiko fan net autorisearre tagong mei 99% en komplisearret it ferbiningsproses foar brûkers hielendal net.

Lit my direkt in reservearje meitsje: foar ymplemintaasje moatte jo in autentikaasjetsjinner fan tredden ferbine multifactor.ru, wêryn jo in fergese taryf kinne brûke foar jo behoeften.

Hoe't it wurket

  1. OpenVPN brûkt de openvpn-plugin-auth-pam-plugin foar autentikaasje
  2. De plugin kontrolearret it wachtwurd fan 'e brûker op' e tsjinner en freget de twadde faktor fia it RADIUS-protokol yn 'e Multifactor-tsjinst
  3. Multifactor stjoert in berjocht nei de brûker fia Telegram bot dy't tagong befêstiget
  4. De brûker befêstiget it tagongsfersyk yn Telegram-chat en ferbynt mei de VPN

It ynstallearjen fan in OpenVPN-tsjinner

D'r binne in protte artikels op it ynternet dy't it proses fan it ynstallearjen en konfigurearjen fan OpenVPN beskriuwe, dus wy sille se net duplikearje. As jo ​​​​help nedich binne, binne d'r ferskate keppelings nei tutorials oan 'e ein fan it artikel.

It ynstellen fan de Multifactor

Gean nei Multifactor kontrôle systeem, gean nei de seksje "Boarnen" en meitsje in nije VPN.
Sadree't jo makke binne, sille jo twa opsjes foar jo hawwe: NAS-IDentifier и Dielde geheim, se sille nedich wêze foar folgjende konfiguraasje.

Twa-faktor autentikaasje yn OpenVPN mei Telegram bot

Gean yn 'e seksje "Groepen" nei de groepynstellingen "Alle brûkers" en ferwiderje de flagge "Alle boarnen", sadat allinich brûkers fan in bepaalde groep kinne ferbine mei de VPN-tsjinner.

Meitsje in nije groep "VPN-brûkers", útskeakelje alle autentikaasjemetoaden útsein Telegram en jouwe oan dat brûkers tagong hawwe ta de makke VPN-boarne.

Twa-faktor autentikaasje yn OpenVPN mei Telegram bot

Meitsje yn 'e seksje "Brûkers" brûkers dy't tagong hawwe ta de VPN, foegje se ta oan 'e groep "VPN-brûkers" en stjoer se in keppeling om de twadde faktor fan autentikaasje te konfigurearjen. De brûkersoanmelding moat oerienkomme mei de oanmelding op de VPN-tsjinner.

Twa-faktor autentikaasje yn OpenVPN mei Telegram bot

In OpenVPN-tsjinner ynstelle

Iepenje de triem /etc/openvpn/server.conf en foegje in plugin ta foar autentikaasje mei de PAM-module

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

De plugin kin lizze yn 'e map /usr/lib/openvpn/plugins/ of /usr/lib64/openvpn/plugins/ ôfhinklik fan jo systeem.

Folgjende moatte jo de pam_radius_auth-module ynstallearje

$ sudo yum install pam_radius

Iepenje de triem foar bewurkjen /etc/pam_radius.conf en spesifisearje it adres fan de RADIUS-tsjinner fan de Multifactor

radius.multifactor.ru   shared_secret   40

wêr:

  • radius.multifactor.ru — tsjinneradres
  • shared_secret - kopiearje fan 'e oerienkommende VPN-ynstellingsparameter
  • 40 sekonden - timeout foar wachtsjen op in fersyk mei in grutte marzje

De oerbleaune tsjinners moatte wiske of kommentearre wurde (set in puntkomma oan it begjin)

Meitsje dan in bestân foar service-type openvpn

$ sudo vi /etc/pam.d/openvpn

en skriuw it yn

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

De earste rigel ferbynt de PAM-module pam_radius_auth mei de parameters:

  • skip_passwd - skeakelet oerdracht fan it wachtwurd fan de brûker nei de RADIUS Multifactor-tsjinner út (hy hoecht it net te witten).
  • client_id - ferfange [NAS-Identifier] mei de oerienkommende parameter út de VPN-boarne ynstellings.
    Alle mooglike parameters wurde beskreaun yn dokumintaasje foar de module.

De twadde en tredde rigels omfetsje systeemferifikaasje fan 'e oanmelding, wachtwurd en brûkersrjochten op jo server tegearre mei in twadde autentikaasjefaktor.

OpenVPN opnij starte

$ sudo systemctl restart openvpn@server

Client opset

Opnimme in fersyk foar brûkersoanmelding en wachtwurd yn it clientkonfiguraasjetriem

auth-user-pass

ynspeksje

Starte de OpenVPN-kliïnt, ferbine mei de tsjinner, fier jo brûkersnamme en wachtwurd yn. De Telegram-bot sil in tagongsfersyk stjoere mei twa knoppen

Twa-faktor autentikaasje yn OpenVPN mei Telegram bot

Ien knop lit tagong ta, de twadde blokkearret it.

No kinne jo jo wachtwurd feilich opslaan op 'e kliïnt; de twadde faktor sil jo OpenVPN-tsjinner betrouber beskermje tsjin net foechhawwende tagong.

As wat net wurket

Kontrolearje sekwinsjele dat jo neat hawwe mist:

  • D'r is in brûker op 'e server mei OpenVPN mei in wachtwurd ynsteld
  • De tsjinner hat tagong fia UDP haven 1812 oan it adres radius.multifactor.ru
  • De parameters NAS-Identifier en Shared Secret binne korrekt oantsjutte
  • In brûker mei deselde oanmelding is makke yn it Multifactor-systeem en hat tagong krigen ta de VPN-brûkersgroep
  • De brûker hat de autentikaasjemetoade konfigureare fia Telegram

As jo ​​OpenVPN net earder ynsteld hawwe, lês dan detaillearre artikel.

De ynstruksjes binne makke mei foarbylden op CentOS 7.

Boarne: www.habr.com

Add a comment