ProHoster > Tofaktorautentisering i OpenVPN med Telegram-bot
Tofaktorautentisering i OpenVPN med Telegram-bot
Artikkelen beskriver å sette opp en OpenVPN-server for å aktivere tofaktorautentisering med en Telegram-bot som sender en bekreftelsesforespørsel når du kobler til.
OpenVPN er en velkjent, gratis, åpen kildekode VPN-server som er mye brukt for å organisere sikker ansattes tilgang til interne organisasjonsressurser.
Som autentisering for tilkobling til en VPN-server brukes vanligvis en kombinasjon av nøkkel og brukerpålogging/passord. Samtidig gjør passordet som er lagret på klienten hele settet til en enkelt faktor som ikke gir riktig sikkerhetsnivå. En angriper, som har fått tilgang til klientdatamaskinen, får også tilgang til VPN-serveren. Dette gjelder spesielt for tilkoblinger fra maskiner som kjører Windows.
Bruk av den andre faktoren reduserer risikoen for uautorisert tilgang med 99 % og kompliserer ikke tilkoblingsprosessen for brukere i det hele tatt.
La meg gjøre en reservasjon med en gang: for implementering må du koble til en tredjeparts autentiseringsserver multifactor.ru, der du kan bruke en gratis tariff for dine behov.
Prinsippet om drift
OpenVPN bruker openvpn-plugin-auth-pam plugin for autentisering
Plugin sjekker brukerens passord på serveren og ber om den andre faktoren via RADIUS-protokollen i Multifactor-tjenesten
Multifactor sender en melding til brukeren via Telegram-bot som bekrefter tilgang
Brukeren bekrefter tilgangsforespørselen i Telegram-chat og kobler til VPN
Installere en OpenVPN-server
Det er mange artikler på Internett som beskriver prosessen med å installere og konfigurere OpenVPN, så vi vil ikke duplisere dem. Hvis du trenger hjelp, er det flere lenker til opplæringsprogrammer på slutten av artikkelen.
Sette opp multifaktoren
Gå til Multifaktor kontrollsystem, gå til "Ressurser"-delen og opprett en ny VPN.
Når den er opprettet, vil du ha to tilgjengelige alternativer: NAS-IDentifier и Delt hemmelighet, vil de være nødvendige for påfølgende konfigurasjon.
I delen "Grupper" går du til gruppeinnstillingene "Alle brukere" og fjerner flagget "Alle ressurser", slik at bare brukere av en bestemt gruppe kan koble til VPN-serveren.
Opprett en ny gruppe "VPN-brukere", deaktiver alle autentiseringsmetoder unntatt Telegram og angi at brukere har tilgang til den opprettede VPN-ressursen.
I delen "Brukere" oppretter du brukere som skal ha tilgang til VPN, legger dem til i gruppen "VPN-brukere" og sender dem en lenke for å konfigurere den andre autentiseringsfaktoren. Brukerpåloggingen må samsvare med påloggingen på VPN-serveren.
Sette opp en OpenVPN-server
Åpne filen /etc/openvpn/server.conf og legg til en plugin for autentisering ved hjelp av PAM-modulen
Den første linjen kobler PAM-modulen pam_radius_auth med parameterne:
skip_passwd - deaktiverer overføring av brukerens passord til RADIUS Multifactor-serveren (han trenger ikke å vite det).
client_id — erstatt [NAS-Identifier] med den tilsvarende parameteren fra VPN-ressursinnstillingene.
Alle mulige parametere er beskrevet i dokumentasjon for modulen.
Den andre og tredje linjen inkluderer systemverifisering av pålogging, passord og brukerrettigheter på serveren din sammen med en andre autentiseringsfaktor.
Start OpenVPN på nytt
$ sudo systemctl restart openvpn@server
Klientoppsett
Inkluder en forespørsel om brukerinnlogging og passord i klientkonfigurasjonsfilen
auth-user-pass
Проверка
Start OpenVPN-klienten, koble til serveren, skriv inn brukernavn og passord. Telegram-boten vil sende en tilgangsforespørsel med to knapper
En knapp gir tilgang, den andre blokkerer den.
Nå kan du trygt lagre passordet ditt på klienten; den andre faktoren vil pålitelig beskytte OpenVPN-serveren din mot uautorisert tilgang.
Hvis noe ikke fungerer
Sjekk sekvensielt at du ikke har gått glipp av noe:
Det er en bruker på serveren med OpenVPN med et passord satt
Serveren har tilgang via UDP-port 1812 til adressen radius.multifactor.ru
Parameterne for NAS-identifikator og Shared Secret er riktig spesifisert
En bruker med samme pålogging er opprettet i Multifactor-systemet og har fått tilgang til VPN-brukergruppen
Brukeren har konfigurert autentiseringsmetoden via Telegram