Pomocí alternativní metody ověřování

OpenVPN 2.0 a novější obsahují funkci, která umožňuje OpenVPN server, aby bezpečně získat uživatelské jméno a heslo připojení klienta, a použít tyto informace jako základ pro ověřování klienta.

Chcete-li použít tuto metodu ověřování, nejprve přidejte směrnici auth-user-pass do konfigurace klienta. Nasměruje klienta OpenVPN k dotazu uživatele na uživatelské jméno/heslo a předá jej serveru přes zabezpečený kanál TLS.

dále nakonfigurujte server tak, aby používal autentizační plugin, kterým může být skript, sdílený objekt nebo DLL. OpenVPN server zavolá plugin pokaždé, když VPN klient pokusí připojit, kolem je uživatelské jméno/heslo, vstoupil na klienta. Autentizační plugin může řídit, zda server OpenVPN umožňuje klientovi připojit se vrácením hodnoty selhání (1) nebo úspěchu (0).

použití skriptových pluginů

pluginy skriptů lze použít přidáním směrnice auth-user-pass-verify do konfiguračního souboru na straně serveru. Příklad:

auth-user-pass-verify auth-pam.pl via-file

bude používat auth-pam.pl perl skript pro ověření uživatelského jména / hesla spojujících klientů. Další informace naleznete v popisu auth-user-pass-verify na manuálové stránce.

auth-pam.pl skript je součástí distribuce zdrojového souboru OpenVPN ve vzorku-scriptssubdirectory. Ověřuje uživatele na serveru Linux pomocí autentizačního modulu PAM, který by zase mohl implementovat stínové heslo, RADIUS nebo ověřování LDAP. auth-pam.pl je primárně určen pro demonstrační účely. Pro autentizaci PAM v reálném světě použijte plugin openvpn-auth-pamshared object popsaný níže.

pomocí sdíleného objektu nebo DLL pluginů

sdílený objekt nebo DLL pluginy jsou obvykle kompilované C moduly, které jsou načteny serverem OpenVPN v době běhu. Například pokud používáte balíček OpenVPN založený na RPM v systému Linux, měl by být již vytvořen plugin openvpn-auth-pam. Použít to, přidat na straně serveru config:

plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login

To vám řekne, OpenVPN server ověření, uživatelské jméno/heslo, vstoupil do klientů pomocí loginPAM modul.

Pro real-svět výroby, použití, to je lepší použít openvpn-auth-pam plugin, protože to má několik výhod oproti auth-pam.pl skript:

  • sdílený objekt openvpn-auth-pam plugin používá split-privilegium provedení modelu pro lepší bezpečnost. To znamená, že server OpenVPN může běžet se sníženými oprávněními pomocí směrnic user nobody, group nobody a chroot a stále se bude moci autentizovat proti souboru stínového hesla, který je čitelný pouze pro root.
  • OpenVPN může předat uživatelské jméno/heslo pro plugin přes virtuální paměti, spíše než prostřednictvím souboru nebo na životní prostředí, což je lepší pro místního zabezpečení v počítači serveru.
  • C-kompilované moduly pluginů obecně běží rychleji než skripty.

Chcete-li získat více informací o vývoji vlastních pluginů pro použití s OpenVPN, podívejte se na soubory README v podadresáři pluginu zdrojové distribuce OpenVPN.

Chcete-li vytvořit openvpn-auth-pam plugin na Linuxu, cd do adresáře plugin/auth-pam ve zdrojové distribuci OpenVPN a spustit make.

Pomocí uživatelské jméno/heslo ověřování jako jedinou formu ověřování klienta

ve výchozím nastavení, pomocí auth-user-pass-ověří nebo uživatelské jméno/heslo-kontrola plugin na server umožní duální ověřování vyžaduje, aby jak klient-osvědčení a uživatelské jméno/heslo ověřování uspět, aby pro klienta musí být ověřen.

Zatímco to se nedoporučuje z hlediska bezpečnosti, je také možné zakázat používání klientských certifikátů, a síla uživatelské jméno/heslo pouze ověřování. Na serveru:

client-cert-not-required

Taková konfigurace by měla obvykle také nastavit:

username-as-common-name

, který bude vyprávět serveru chcete-li použít uživatelské jméno pro účely indexace jako by používat Společný Název klienta, což bylo ověřování pomocí klientského certifikátu.

Všimněte si, že client-cert-ne-nutné se nevyhýbá potřeba certifikát serveru, tak klienta připojení k serveru, který používá klient-cert-ne-požadováno, může odstranit cert a key směrnic z klientského konfiguračního souboru, ale ne ca směrnice, protože je nutné pro klienta k ověření certifikátu serveru.



+