In einem früheren Tutorial haben wir gezeigt, wie PAM-RADIUS konfiguriert wird, um die Zwei-Faktor-Authentifizierung zu unterstützen. Jetzt und in zukünftigen Tutorials werden wir diesem Server Fernzugriffsdienste hinzufügen, die auch WiKID für die Zwei-Faktor-Authentifizierung verwenden. In diesem Tutorial zeigen wir, wie Sie dieses Setup nutzen können, um die Zwei-Faktor-Authentifizierung über Radius zu OpenVPN auf Centos 7 hinzuzufügen.
Zusätzlich zur Veröffentlichung dieses Tutorials veröffentlichen wir auch Packer-Skripte, die automatisch virtuelle Appliances erstellen können, wie in diesem Tutorial beschrieben.
Installieren Sie die Software.
Installieren Sie zunächst das EPEL-Repository:
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm
rpm -ivh epel-release-7-1.noarch.rpm
Installieren Sie nun openvpn und easy-rsa:
yum install openvpn easy-rsa
OpenVPN konfigurieren
Wechseln Sie in das Beispielverzeichnis und kopieren Sie die Beispielkonfigurationsdatei nach /etc/openvpn:
cd /usr/share/doc/openvpn-2.3.2/sample/
cp server.conf /etc/openvpn/fqdn.conf
wobei fqdn der Name Ihres Servers ist. Es muss nicht der vollqualifizierte Domänenname sein. Sie verwenden das einfach, um es über systemctl zu starten.
Neue Zertifikate erstellen
mkdir -p /etc/openvpn/easy-rsa/keys/p>
cp /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Bearbeiten Sie Ihre vars-Datei, insbesondere die Felder für das Zertifikat. Führen Sie dann die Zertifikatsbefehle aus.
cd /etc/openvpn/easy-rsa/
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh
Kopieren Sie die resultierenden Dateien nach /etc/openvpn oder bearbeiten Sie die Datei fqdn.conf, um ihren Speicherort widerzuspiegeln.
Erstellen Sie ein Client-Zertifikat:
./build-key client
Bearbeiten Sie die Datei fqnd.conf und fügen Sie unten die folgenden Zeilen hinzu:
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so sshd client-cert-not-required username-as-common-name
Firewalld für Openvpn konfigurieren:
firewall-cmd --add-service openvpn
firewall-cmd --permanent --add-service openvpn
firewall-cmd --add-masquerade
firewall-cmd --permanent --add-masquerade
Starten Sie nun openvpn:
systemctl start [email protected]
systemctl enable [email protected]
Das ist es. Sie sollten in der Lage sein, das Client-Zertifikat auf Ihren Computer herunterzuladen und die Anmeldung mit Ihrem WiKID-Token zu testen. Beachten Sie, dass Sie den OpenVPN-Server mit „openvpn /etc/openvpn/fqdn.conf“ zur Fehlerbehebung ausführen können. Gleiches gilt für den Client.
Client-Konfiguration
Fügen Sie auf dem Client einfach die Zeile „auth-user-pass“ zur Client-Konfiguration hinzu, um zu erzwingen, dass er zur Eingabe eines Passworts auffordert. Fügen Sie „auth-user-pass“ zur Client-Konfigurationsdatei hinzu. Geben Sie Ihren in WiKID aufgelisteten Benutzernamen und Ihren einmaligen WiKID-Passcode ein, wenn Sie auf dem Client dazu aufgefordert werden. PAM-RADIUS leitet die Authentifizierungsdaten abhängig von Ihrer Konfiguration direkt oder über einen Radius-Server an WiKID weiter.
Packer-Skripte
Packer ist ein Tool, das virtuelle Appliances in verschiedenen Formaten wie VirtualBox, VMware, EC2, Google Compute usw. erstellt. Eine vollständige Anleitung finden Sie unter Erstellen einer 2FA-fähigen virtuellen OpenVPN-Community-Appliance.