Zwei-Faktor-Authentifizierung in OpenVPN mit Telegramm-Bot

In diesem Artikel wird beschrieben, wie Sie den OpenVPN-Server so konfigurieren, dass die Zwei-Faktor-Authentifizierung mit dem Telegramm-Bot aktiviert wird, der beim Herstellen einer Verbindung eine Bestätigungsnachricht sendet.


OpenVPN ist ein bekannter, kostenloser Open-Source-VPN-Server, der häufig verwendet wird, um den sicheren Zugriff von Mitarbeitern auf interne Ressourcen des Unternehmens zu organisieren.


Als Authentifizierung für die Verbindung zu einem VPN-Server wird normalerweise eine Kombination aus einem Schlüssel und einem Benutzer-Login / Passwort verwendet. Gleichzeitig verwandelt das auf dem Client gespeicherte Kennwort den gesamten Satz in einen einzigen Faktor, der nicht die richtige Sicherheitsstufe bietet. Ein Angreifer, der Zugriff auf einen Client-Computer erhält, erhält auch Zugriff auf einen VPN-Server. Dies gilt insbesondere für die Verbindung von Computern, auf denen Windows ausgeführt wird.


Die Verwendung des zweiten Faktors um 99% verringert das Risiko eines illegalen Zugriffs und erschwert den Verbindungsprozess für Benutzer nicht.


Nehmen Sie sofort eine Reservierung vor. Für die Implementierung müssen Sie einen Authentifizierungsserver eines Drittanbieters, multifactor.ru, verbinden, in dem Sie einen kostenlosen Tarif für Ihre Anforderungen verwenden können.


Arbeitsprinzip


  1. OpenVPN verwendet das openvpn-plugin-auth-pam-Plugin zur Authentifizierung
  2. Das Plugin überprüft das Benutzerkennwort auf dem Server und fordert den zweiten Faktor über das RADIUS-Protokoll im Multifactor-Dienst an
  3. Der Multifaktor sendet eine Nachricht über den Telegramm-Bot mit Zugriffsbestätigung an den Benutzer
  4. Der Benutzer bestätigt die Zugriffsanforderung im Telegramm-Chat und stellt eine Verbindung zum VPN her

Installieren Sie OpenVPN Server


Es gibt viele Artikel im Internet, die den Prozess der Installation und Konfiguration von OpenVPN beschreiben, sodass wir sie nicht duplizieren. Wenn Sie Hilfe benötigen, finden Sie am Ende des Artikels mehrere Links zu Schulungsunterlagen.


Multifaktoreinstellung


Gehen Sie zum Multifactor-Verwaltungssystem , gehen Sie zum Abschnitt "Ressourcen" und erstellen Sie ein neues VPN.
Nach der Erstellung stehen Ihnen zwei Parameter zur Verfügung: NAS-IDentifier und Shared Secret . Diese werden für die nachfolgende Konfiguration benötigt.



"", "All users" " ", VPN .


"VPN users", Telegram , VPN.



"" , VPN, "VPN users" . VPN .



OpenVPN


/etc/openvpn/server.conf PAM


plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn

/usr/lib/openvpn/plugins/ /usr/lib64/openvpn/plugins/ .


pam_radius_auth


$ sudo yum install pam_radius

/etc/pam_radius.conf RADIUS


radius.multifactor.ru   shared_secret   40

:


  • radius.multifactor.ru —
  • shared_secret — VPN
  • 40 —

( )

service-type openvpn


$ sudo vi /etc/pam.d/openvpn


auth    required pam_radius_auth.so skip_passwd client_id=[NAS-IDentifier]
auth    substack     password-auth
account substack     password-auth

PAM pam_radius_auth :


  • skip_passwd — RADIUS ( ).
  • client_id — [NAS-Identifier] VPN .
    .

, .


OpenVPN


$ sudo systemctl restart openvpn@server



auth-user-pass


OpenVPN, , . Telegram



, .


, OpenVPN .


-


, :


  • Auf einem Server mit OpenVPN ist ein Benutzer mit einem Kennwort festgelegt
  • Zugriff vom Server über den UDP-Port 1812 auf die Adresse radius.multifactor.ru
  • Die Parameter NAS-Identifier und Shared Secret wurden korrekt angegeben
  • Ein Multifaktorsystem hat einen Benutzer mit demselben Login und Zugriff auf die VPN-Benutzergruppe
  • Vom Benutzer konfigurierte Authentifizierungsmethode per Telegramm

Wenn Sie OpenVPN noch nicht konfiguriert haben, lesen Sie den ausführlichen Artikel .


Die Anweisung wird mit Beispielen unter CentOS 7 erstellt.

Source: https://habr.com/ru/post/undefined/


All Articles