ProHoster > Dvostopenjska avtentikacija v OpenVPN z botom Telegram
Dvostopenjska avtentikacija v OpenVPN z botom Telegram
Članek opisuje nastavitev strežnika OpenVPN za omogočanje dvofaktorske avtentikacije z robotom Telegram, ki bo ob povezovanju poslal zahtevo za potrditev.
OpenVPN je dobro poznan brezplačen odprtokodni strežnik VPN, ki se pogosto uporablja za organiziranje varnega dostopa zaposlenih do notranjih organizacijskih virov.
Kot avtentikacija za povezavo s strežnikom VPN se običajno uporablja kombinacija ključa in uporabniške prijave/gesla. Hkrati pa geslo, shranjeno na odjemalcu, spremeni celoten sklop v en sam dejavnik, ki ne zagotavlja ustrezne ravni varnosti. Napadalec, ki pridobi dostop do odjemalskega računalnika, pridobi tudi dostop do strežnika VPN. To še posebej velja za povezave iz strojev z operacijskim sistemom Windows.
Uporaba drugega faktorja zmanjša tveganje nepooblaščenega dostopa za 99% in uporabnikom sploh ne oteži procesa povezave.
Naj takoj rezerviram: za izvedbo boste morali povezati strežnik za preverjanje pristnosti tretje osebe multifactor.ru, v katerem lahko uporabite brezplačno tarifo za svoje potrebe.
Princip delovanja
OpenVPN za preverjanje pristnosti uporablja vtičnik openvpn-plugin-auth-pam
Vtičnik preveri geslo uporabnika na strežniku in prek protokola RADIUS v storitvi Multifactor zahteva drugi faktor.
Multifactor pošlje uporabniku sporočilo prek Telegram bota, ki potrdi dostop
Uporabnik potrdi zahtevo za dostop v klepetu Telegram in se poveže z VPN
Namestitev strežnika OpenVPN
Na internetu je veliko člankov, ki opisujejo postopek namestitve in konfiguracije OpenVPN, zato jih ne bomo podvajali. Če potrebujete pomoč, je na koncu članka več povezav do vadnic.
Nastavitev Multifactorja
Pojdi do Večfaktorski nadzorni sistem, pojdite na razdelek »Viri« in ustvarite nov VPN.
Ko ga ustvarite, boste imeli na voljo dve možnosti: NAS-IDentifier и Skupna skrivnost, bodo potrebni za nadaljnjo konfiguracijo.
V razdelku »Skupine« pojdite na nastavitve skupine »Vsi uporabniki« in odstranite zastavico »Vsi viri«, tako da se lahko samo uporabniki določene skupine povežejo s strežnikom VPN.
Ustvarite novo skupino »Uporabniki VPN«, onemogočite vse metode preverjanja pristnosti razen Telegrama in označite, da imajo uporabniki dostop do ustvarjenega vira VPN.
V razdelku »Uporabniki« ustvarite uporabnike, ki bodo imeli dostop do VPN, jih dodajte v skupino »Uporabniki VPN« in jim pošljite povezavo za konfiguracijo drugega faktorja avtentikacije. Prijava uporabnika se mora ujemati s prijavo na strežniku VPN.
Nastavitev strežnika OpenVPN
Odprite datoteko /etc/openvpn/server.conf in dodajte vtičnik za preverjanje pristnosti z uporabo modula PAM
Prva vrstica povezuje modul PAM pam_radius_auth s parametri:
skip_passwd - onemogoči prenos uporabnikovega gesla na strežnik RADIUS Multifactor (ni ga treba poznati).
client_id — zamenjajte [NAS-Identifier] z ustreznim parametrom iz nastavitev virov VPN.
Vsi možni parametri so opisani v dokumentacijo za modul.
Druga in tretja vrstica vključujeta sistemsko preverjanje prijave, gesla in uporabniških pravic na vašem strežniku skupaj z drugim faktorjem preverjanja pristnosti.
Znova zaženite OpenVPN
$ sudo systemctl restart openvpn@server
Nastavitev odjemalca
V konfiguracijsko datoteko odjemalca vključite zahtevo za uporabniško prijavo in geslo
auth-user-pass
Проверка
Zaženite odjemalca OpenVPN, povežite se s strežnikom, vnesite svoje uporabniško ime in geslo. Bot Telegram bo poslal zahtevo za dostop z dvema gumboma
En gumb omogoča dostop, drugi ga blokira.
Zdaj lahko varno shranite geslo na odjemalcu; drugi dejavnik bo zanesljivo zaščitil vaš strežnik OpenVPN pred nepooblaščenim dostopom.
Če kaj ne deluje
Zaporedoma preverite, ali niste česa zamudili:
Na strežniku je uporabnik z OpenVPN z nastavljenim geslom
Strežnik ima dostop prek vrat UDP 1812 do naslova radius.multifactor.ru
Parametra NAS-Identifier in Shared Secret sta pravilno podana
Uporabnik z isto prijavo je ustvarjen v sistemu Multifactor in ima dostop do uporabniške skupine VPN
Uporabnik je konfiguriral način preverjanja pristnosti prek Telegrama