ProHoster > Dvoufaktorová autentizace v OpenVPN s telegramovým botem
Dvoufaktorová autentizace v OpenVPN s telegramovým botem
Článek popisuje nastavení serveru OpenVPN pro umožnění dvoufaktorové autentizace pomocí telegramového robota, který při připojení odešle žádost o potvrzení.
OpenVPN je známý, bezplatný, open-source server VPN, který se široce používá k organizaci bezpečného přístupu zaměstnanců k interním organizačním zdrojům.
Jako autentizace pro připojení k VPN serveru se obvykle používá kombinace klíče a uživatelského jména/hesla. Heslo uložené na klientovi zároveň změní celou sadu na jediný faktor, který neposkytuje správnou úroveň zabezpečení. Útočník, který získal přístup ke klientskému počítači, také získá přístup k serveru VPN. To platí zejména pro připojení z počítačů se systémem Windows.
Použití druhého faktoru snižuje riziko neoprávněného přístupu o 99 % a uživatelům vůbec nekomplikuje proces připojení.
Dovolte mi provést rezervaci hned: pro implementaci budete muset připojit ověřovací server třetí strany multifactor.ru, ve kterém můžete pro své potřeby použít bezplatný tarif.
Princip činnosti
OpenVPN používá k ověřování plugin openvpn-plugin-auth-pam
Plugin zkontroluje heslo uživatele na serveru a požádá o druhý faktor prostřednictvím protokolu RADIUS ve službě Multifactor
Multifactor odešle zprávu uživateli prostřednictvím robota Telegram potvrzující přístup
Uživatel potvrdí žádost o přístup v telegramovém chatu a připojí se k VPN
Instalace serveru OpenVPN
Na internetu je mnoho článků popisujících proces instalace a konfigurace OpenVPN, takže je nebudeme duplikovat. Pokud potřebujete pomoc, na konci článku je několik odkazů na tutoriály.
Nastavení multifaktoru
Přejít na Vícefaktorový řídicí systém, přejděte do sekce „Zdroje“ a vytvořte novou VPN.
Po vytvoření budete mít k dispozici dvě možnosti: NAS identifikátor и Sdílené tajemství, budou vyžadovány pro následnou konfiguraci.
V sekci "Skupiny" přejděte do nastavení skupiny "Všichni uživatelé" a odstraňte příznak "Všechny zdroje", aby se k serveru VPN mohli připojit pouze uživatelé určité skupiny.
Vytvořte novou skupinu „Uživatelé VPN“, vypněte všechny metody ověřování kromě telegramu a označte, že uživatelé mají přístup k vytvořenému prostředku VPN.
V sekci "Uživatelé" vytvořte uživatele, kteří budou mít přístup k VPN, přidejte je do skupiny "Uživatelé VPN" a pošlete jim odkaz pro konfiguraci druhého faktoru ověřování. Přihlášení uživatele se musí shodovat s přihlášením na serveru VPN.
Nastavení serveru OpenVPN
Otevřete soubor /etc/openvpn/server.conf a přidejte plugin pro ověřování pomocí modulu PAM
První řádek spojuje modul PAM pam_radius_auth s parametry:
skip_passwd - zakáže přenos hesla uživatele na server RADIUS Multifactor (nemusí ho znát).
client_id — nahraďte [NAS-Identifier] odpovídajícím parametrem z nastavení prostředků VPN.
Všechny možné parametry jsou popsány v dokumentaci k modulu.
Druhý a třetí řádek obsahuje systémové ověření přihlašovacího jména, hesla a uživatelských práv na vašem serveru spolu s druhým autentizačním faktorem.
Restartujte OpenVPN
$ sudo systemctl restart openvpn@server
Nastavení klienta
Do konfiguračního souboru klienta zahrňte požadavek na uživatelské jméno a heslo
auth-user-pass
Проверка
Spusťte klienta OpenVPN, připojte se k serveru, zadejte své uživatelské jméno a heslo. Robot Telegram odešle žádost o přístup pomocí dvou tlačítek
Jedno tlačítko umožňuje přístup, druhé jej blokuje.
Nyní můžete bezpečně uložit své heslo na klientovi; druhý faktor spolehlivě ochrání váš OpenVPN server před neoprávněným přístupem.
Pokud něco nefunguje
Postupně zkontrolujte, zda vám nic neuniklo:
Na serveru je uživatel s OpenVPN s nastaveným heslem
Server má přístup přes UDP port 1812 na adresu radius.multifactor.ru
Parametry NAS-Identifier a Shared Secret jsou zadány správně
V systému Multifactor byl vytvořen uživatel se stejným přihlašovacím jménem a byl mu udělen přístup do skupiny uživatelů VPN
Uživatel nakonfiguroval metodu ověřování prostřednictvím telegramu
Pokud jste OpenVPN ještě nenastavili, přečtěte si rozšířený článek.