ProHoster > To-faktor-godkendelse i OpenVPN med Telegram-bot
To-faktor-godkendelse i OpenVPN med Telegram-bot
Artiklen beskriver opsætning af en OpenVPN-server for at aktivere to-faktor-godkendelse med en Telegram-bot, der sender en bekræftelsesanmodning, når der oprettes forbindelse.
OpenVPN er en velkendt, gratis, open source VPN-server, der er meget brugt til at organisere sikker medarbejderadgang til interne organisatoriske ressourcer.
Som autentificering for at oprette forbindelse til en VPN-server bruges normalt en kombination af en nøgle og brugerlogin/adgangskode. Samtidig gør adgangskoden, der er gemt på klienten, hele sættet til en enkelt faktor, der ikke giver det rette sikkerhedsniveau. En angriber, der har fået adgang til en klientcomputer, får også adgang til VPN-serveren. Dette gælder især for forbindelser fra maskiner, der kører Windows.
Brug af den anden faktor reducerer risikoen for uautoriseret adgang med 99 % og komplicerer overhovedet ikke forbindelsesprocessen for brugerne.
Lad mig foretage en reservation med det samme: for implementering skal du tilslutte en tredjeparts autentificeringsserver multifactor.ru, hvor du kan bruge en gratis takst til dine behov.
Virkemåde
OpenVPN bruger openvpn-plugin-auth-pam plugin til godkendelse
Pluginnet kontrollerer brugerens adgangskode på serveren og anmoder om den anden faktor via RADIUS-protokollen i Multifactor-tjenesten
Multifactor sender en besked til brugeren via Telegram-bot, der bekræfter adgang
Brugeren bekræfter adgangsanmodningen i Telegram-chat og opretter forbindelse til VPN
Installation af en OpenVPN-server
Der er mange artikler på internettet, der beskriver processen med at installere og konfigurere OpenVPN, så vi vil ikke duplikere dem. Hvis du har brug for hjælp, er der flere links til tutorials i slutningen af artiklen.
Opsætning af multifaktoren
Gå til Multifaktor kontrolsystem, gå til afsnittet "Ressourcer" og opret en ny VPN.
Når først oprettet, vil du have to muligheder tilgængelige for dig: NAS-IDentifier и Delt hemmelighed, vil de være nødvendige for efterfølgende konfiguration.
I sektionen "Grupper" skal du gå til gruppeindstillingerne "Alle brugere" og fjerne flaget "Alle ressourcer", så kun brugere af en bestemt gruppe kan oprette forbindelse til VPN-serveren.
Opret en ny gruppe "VPN-brugere", deaktiver alle godkendelsesmetoder undtagen Telegram og angiv, at brugerne har adgang til den oprettede VPN-ressource.
I afsnittet "Brugere" skal du oprette brugere, der vil have adgang til VPN, tilføje dem til gruppen "VPN-brugere" og sende dem et link for at konfigurere den anden godkendelsesfaktor. Brugerlogin skal svare til login på VPN-serveren.
Opsætning af en OpenVPN-server
Åbn filen /etc/openvpn/server.conf og tilføje et plugin til godkendelse ved hjælp af PAM-modulet
Den første linje forbinder PAM-modulet pam_radius_auth med parametrene:
skip_passwd - deaktiverer transmission af brugerens adgangskode til RADIUS Multifactor-serveren (han behøver ikke at vide det).
client_id — erstat [NAS-Identifier] med den tilsvarende parameter fra VPN-ressourceindstillingerne.
Alle mulige parametre er beskrevet i dokumentation for modulet.
Den anden og tredje linje inkluderer systembekræftelse af login, adgangskode og brugerrettigheder på din server sammen med en anden godkendelsesfaktor.
Genstart OpenVPN
$ sudo systemctl restart openvpn@server
Klient opsætning
Inkluder en anmodning om brugerlogin og adgangskode i klientkonfigurationsfilen
auth-user-pass
inspektion
Start OpenVPN-klienten, opret forbindelse til serveren, indtast dit brugernavn og adgangskode. Telegram-botten sender en adgangsanmodning med to knapper
Den ene knap giver adgang, den anden blokerer den.
Nu kan du sikkert gemme din adgangskode på klienten; den anden faktor vil pålideligt beskytte din OpenVPN-server mod uautoriseret adgang.
Hvis noget ikke virker
Tjek sekventielt, at du ikke er gået glip af noget:
Der er en bruger på serveren med OpenVPN med en adgangskode
Serveren har adgang via UDP-port 1812 til adressen radius.multifactor.ru
Parametrene NAS-Identifier og Shared Secret er angivet korrekt
En bruger med samme login er oprettet i Multifactor-systemet og har fået adgang til VPN-brugergruppen
Brugeren har konfigureret godkendelsesmetoden via Telegram
Hvis du ikke har konfigureret OpenVPN før, så læs udvidet artikel.
Instruktionerne er lavet med eksempler på CentOS 7.