Autentifikimi me dy faktorë në OpenVPN me bot Telegram

Artikulli përshkruan konfigurimin e një serveri OpenVPN për të mundësuar vërtetimin me dy faktorë me një bot Telegram që do të dërgojë një kërkesë konfirmimi kur të lidhet.

OpenVPN është një server i njohur, falas, me burim të hapur VPN, i cili përdoret gjerësisht për të organizuar akses të sigurt të punonjësve në burimet e brendshme organizative.

Si vërtetim për t'u lidhur me një server VPN, zakonisht përdoret një kombinim i kyçit dhe hyrjes/fjalëkalimit të përdoruesit. Në të njëjtën kohë, fjalëkalimi i ruajtur në klient e kthen të gjithë grupin në një faktor të vetëm që nuk siguron nivelin e duhur të sigurisë. Një sulmues, pasi ka fituar akses në kompjuterin e klientit, gjithashtu fiton akses në serverin VPN. Kjo është veçanërisht e vërtetë për lidhjet nga makinat që përdorin Windows.

Përdorimi i faktorit të dytë ul rrezikun e aksesit të paautorizuar me 99% dhe nuk e ndërlikon aspak procesin e lidhjes për përdoruesit.

Më lejoni të bëj një rezervim menjëherë: për zbatim do t'ju duhet të lidhni një server vërtetimi të palëve të treta multifactor.ru, në të cilin mund të përdorni një tarifë falas për nevojat tuaja.

Parimi i operacionit

  1. OpenVPN përdor shtojcën openvpn-plugin-auth-pam për vërtetim
  2. Shtojca kontrollon fjalëkalimin e përdoruesit në server dhe kërkon faktorin e dytë nëpërmjet protokollit RADIUS në shërbimin Multifactor
  3. Multifactor i dërgon një mesazh përdoruesit nëpërmjet robotit Telegram duke konfirmuar hyrjen
  4. Përdoruesi konfirmon kërkesën për qasje në bisedën Telegram dhe lidhet me VPN

Instalimi i një serveri OpenVPN

Ka shumë artikuj në internet që përshkruajnë procesin e instalimit dhe konfigurimit të OpenVPN, kështu që ne nuk do t'i kopjojmë ato. Nëse keni nevojë për ndihmë, ka disa lidhje me mësimet në fund të artikullit.

Vendosja e Multifactor

Shko tek Sistemi i kontrollit me shumë faktorë, shkoni te seksioni "Burimet" dhe krijoni një VPN të re.
Pasi të krijohet, do të keni në dispozicion dy opsione: NAS-Identifikuesi и Sekret i Përbashkët, ato do të kërkohen për konfigurimin e mëvonshëm.

Autentifikimi me dy faktorë në OpenVPN me bot Telegram

Në seksionin "Grupet", shkoni te cilësimet e grupit "Të gjithë përdoruesit" dhe hiqni flamurin "Të gjitha burimet" në mënyrë që vetëm përdoruesit e një grupi të caktuar të mund të lidhen me serverin VPN.

Krijoni një grup të ri "Përdorues VPN", çaktivizoni të gjitha metodat e vërtetimit përveç Telegramit dhe tregoni që përdoruesit kanë qasje në burimin e krijuar VPN.

Autentifikimi me dy faktorë në OpenVPN me bot Telegram

Në seksionin "Përdoruesit", krijoni përdorues që do të kenë akses në VPN, shtojini ata në grupin "Përdoruesit VPN" dhe dërgojini një lidhje për të konfiguruar faktorin e dytë të vërtetimit. Hyrja e përdoruesit duhet të përputhet me hyrjen në serverin VPN.

Autentifikimi me dy faktorë në OpenVPN me bot Telegram

Vendosja e një serveri OpenVPN

Hapni skedarin /etc/openvpn/server.conf dhe shtoni një shtojcë për vërtetim duke përdorur modulin PAM

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

Shtojca mund të gjendet në drejtori /usr/lib/openvpn/plugins/ ose /usr/lib64/openvpn/plugins/ në varësi të sistemit tuaj.

Më pas duhet të instaloni modulin pam_radius_auth

$ sudo yum install pam_radius

Hapni skedarin për redaktim /etc/pam_radius.conf dhe specifikoni adresën e serverit RADIUS të Multifactor

radius.multifactor.ru   shared_secret   40

ku:

  • radius.multifactor.ru — adresa e serverit
  • shared_secret - kopjoni nga parametri përkatës i cilësimeve VPN
  • 40 sekonda - koha e pritjes për një kërkesë me një diferencë të madhe

Serverët e mbetur duhet të fshihen ose komentohen (vendosni një pikëpresje në fillim)

Tjetra, krijoni një skedar për openvpn të llojit të shërbimit

$ sudo vi /etc/pam.d/openvpn

dhe shkruani atë në

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

Rreshti i parë lidh modulin PAM pam_radius_auth me parametrat:

  • skip_passwd - çaktivizon transmetimin e fjalëkalimit të përdoruesit në serverin RADIUS Multifactor (ai nuk ka nevojë ta dijë atë).
  • klient_id — zëvendësoni [NAS-Identifier] me parametrin përkatës nga cilësimet e burimeve VPN.
    Të gjithë parametrat e mundshëm përshkruhen në dokumentacionin për modulin.

Rreshti i dytë dhe i tretë përfshijnë verifikimin e sistemit të hyrjes, fjalëkalimit dhe të drejtave të përdoruesit në serverin tuaj së bashku me një faktor të dytë vërtetimi.

Rinisni OpenVPN

$ sudo systemctl restart openvpn@server

Konfigurimi i klientit

Përfshini një kërkesë për hyrjen e përdoruesit dhe fjalëkalimin në skedarin e konfigurimit të klientit

auth-user-pass

Проверка

Nisni klientin OpenVPN, lidheni me serverin, shkruani emrin e përdoruesit dhe fjalëkalimin tuaj. Boti Telegram do të marrë një kërkesë aksesi me dy butona

Autentifikimi me dy faktorë në OpenVPN me bot Telegram

Një buton lejon hyrjen, i dyti e bllokon atë.

Tani mund të ruani me siguri fjalëkalimin tuaj në klient; faktori i dytë do të mbrojë me besueshmëri serverin tuaj OpenVPN nga qasja e paautorizuar.

Nëse diçka nuk funksionon

Kontrolloni në mënyrë sekuenciale që të mos keni humbur asgjë:

  • Ekziston një përdorues në server me OpenVPN me një fjalëkalim të caktuar
  • Serveri ka akses nëpërmjet portit UDP 1812 në adresën radius.multifactor.ru
  • Parametrat NAS-Identifier dhe Shared Secret janë specifikuar saktë
  • Një përdorues me të njëjtën hyrje është krijuar në sistemin Multifactor dhe i është dhënë akses në grupin e përdoruesve VPN
  • Përdoruesi ka konfiguruar metodën e vërtetimit përmes Telegramit

Nëse nuk e keni konfiguruar OpenVPN më parë, lexoni artikull i detajuar.

Udhëzimet janë bërë me shembuj në CentOS 7.

Burimi: www.habr.com

Shto një koment