Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Problemstellung

Noch vor kurzem wussten viele nicht, wie es ist, von zu Hause aus zu arbeiten. Die Pandemie hat die Situation in der Welt abrupt verändert; alle begannen, sich an die neuen Umstände anzupassen, insbesondere daran, dass es einfach unsicher geworden ist, das Haus zu verlassen. Viele mussten schnell die Arbeit von zu Hause aus für ihre Mitarbeiter organisieren.

Das Fehlen eines vernünftigen Ansatzes bei der Auswahl von Lösungen für die remote Arbeit kann jedoch zu irreversiblen Verlusten führen. Die Passwörter der Nutzer können gestohlen werden, was einem Angreifer ermöglicht, unkontrolliert auf das Netzwerk und die IT-Ressourcen des Unternehmens zuzugreifen.

Deshalb ist der Bedarf an der Schaffung zuverlässiger Unternehmens-VPN-Netze gestiegen. Ich werde Ihnen von eine zuverlässige, sichere und einfache zu verwendende VPN-Netzwerk erzählen.

Es arbeitet nach dem IPsec/L2TP-Schema, das unveränderbare Schlüssel und Zertifikate, die auf Tokens gespeichert sind, zur Authentifizierung der Clients verwendet und überträgt Daten über das Netzwerk in verschlüsselter Form.

Als Demonstrationsstände für die Einrichtung wurden ein Server mit CentOS 7 (Adresse: centos.vpn.server.ad) und ein Client mit Ubuntu 20.04 sowie ein Client mit Windows 10 verwendet.

Systembeschreibung

VPN funktioniert nach dem IPSec + L2TP + PPP-Schema. Protokoll Point-to-Point-Protokoll (PPP) arbeitet auf der Datenlink-Ebene des OSI-Modells und sorgt für die Benutzerauthentifizierung sowie die Verschlüsselung der übertragenden Daten. Diese Daten werden in die L2TP-Protokolldaten encapsuliert, welches die Verbindung im VPN-Netzwerk bereitstellt, jedoch keine Authentifizierung und Verschlüsselung bietet.

L2TP-Daten werden im IPSec-Protokoll encapsuliert, welches ebenfalls Authentifizierung und Verschlüsselung ermöglicht, jedoch im Gegensatz zu PPP auf Geräteebene und nicht auf Benutzerebene arbeitet.

Diese Besonderheit ermöglicht die Authentifizierung von Benutzern nur von bestimmten Geräten. Wir werden jedoch das IPSec-Protokoll verwenden und die Authentifizierung von Benutzern von jedem Gerät aus ermöglichen.

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Die Benutzerauthentifizierung mithilfe von Smartcards erfolgt auf der Ebene des PPP-Protokolls durch das EAP-TLS-Protokoll.

Detailliertere Informationen über die Funktionsweise dieses Schemas finden Sie in in diesem Artikel.

Warum dieses Schema allen drei Anforderungen eines guten VPN-Netzwerks entspricht

  1. Die Zuverlässigkeit dieses Systems hat sich über die Jahre bewährt. Es wird seit 2000 zum Aufbau von VPN-Netzen eingesetzt.
  2. Der PPP-Protokoll sorgt für sichere Benutzerauthentifizierung. Die Standardimplementierung des PPP-Protokolls, die von Paul Mackerras entwickelt wurde, bietet keinen ausreichenden Sicherheitsgrad, da bestenfalls Login- und Passwortauthentifizierung verwendet wird. Wir alle wissen, dass Login-Passwörter angeschaut, erraten oder gestohlen werden können. Dennoch hat der Entwickler Jan Just Keijser in in seiner Implementierung dieses Protokolls diesen Aspekt behoben und die Möglichkeit hinzugefügt, Protokolle auf Basis asymmetrischer Verschlüsselung wie EAP-TLS für die Authentifizierung zu verwenden. Zudem wurde die Nutzung von Smartcards zur Authentifizierung ermöglicht, was das System insgesamt sicherer gemacht hat.
    Aktuell finden aktive Verhandlungen über die Fusion dieser beiden Projekte statt, und man kann sicher sein, dass dies früher oder später geschehen wird. So liegt beispielsweise in den Fedora-Repositories längst eine gepatchte Version von PPP vor, die sichere Protokolle für die Authentifizierung verwendet.
  3. Noch vor kurzer Zeit konnten nur Windows-Nutzer dieses Netzwerk verwenden, doch unsere Kollegen von der MGU, Wasilij Schokow und Alexander Smirnow, fanden ein altes L2TP-Client-Projekt für Linux und haben es weiterentwickelt. Gemeinsam haben wir zahlreiche Bugs und Unzulänglichkeiten in der Client-Software behoben, die Installation und Konfiguration des Systems vereinfacht, selbst beim Kompilieren aus dem Quellcode. Zu den wichtigsten Verbesserungen zählen:
    • Kompatibilitätsprobleme des alten Clients mit der Benutzeroberfläche neuer Versionen von OpenSSL und Qt wurden behoben.
    • Die Übertragung des PIN-Codes des PPPD-Tokens über eine temporäre Datei wurde entfernt.
    • Der fehlerhafte Start des Passwortabfrage-Programms über die grafische Benutzeroberfläche wurde korrigiert. Dies wurde erreicht durch die Einrichtung einer korrekten Umgebung für den XL2TPD-Dienst.
    • Der Aufbau des L2TP-IPSec-VPN-Daemons erfolgt nun gemeinsam mit der Erstellung des Clients, was den Kompilierungs- und Konfigurationsprozess vereinfacht.
    • Zur Erleichterung der Entwicklung wurde das Azure Pipelines-System zur Überprüfung der Korrektheit der Kompilierung integriert.
    • Die Möglichkeit, Sicherheitslevel zwangsweise zu reduzieren, wurde hinzugefügt. security level Im Kontext von OpenSSL ist dies nützlich für die ordnungsgemäße Unterstützung neuer Betriebssysteme, bei denen das Standard-Sicherheitslevel auf 2 gesetzt ist, sowie für VPN-Netzwerke, die Zertifikate verwenden, die die Sicherheitsanforderungen dieses Levels nicht erfüllen. Diese Option ist hilfreich für die Arbeit mit bereits bestehenden, älteren VPN-Netzen.

Die korrigierte Version finden Sie in diesem Repository.

Dieser Client unterstützt die Verwendung von Smartcards zur Authentifizierung und minimiert alle Schwierigkeiten und Herausforderungen bei der Konfiguration dieses Schemas unter Linux, wodurch die Einrichtung des Clients so einfach und schnell wie möglich gestaltet wird.

Natürlich erforderte die bequeme Verbindung von PPP und dem GUI-Client zusätzliche Anpassungen in jedem der Projekte, dennoch ist es gelungen, diese weitestgehend zu minimieren:

Jetzt können wir mit der Konfiguration beginnen.

Serverkonfiguration

Wir installieren alle erforderlichen Pakete.

Installation von strongswan (IPsec)

Zuerst konfigurieren wir die Firewall für IPsec.

sudo firewall-cmd --permanent --add-port=1701/{tcp,udp}
sudo firewall-cmd --permanent --add-service=ipsec
sudo firewall-cmd --reload

Dann fahren wir mit der Installation fort.

sudo yum install epel-release ipsec-tools dnf
sudo dnf install strongswan

Nach der Installation müssen wir die Konfiguration für strongswan (eine der Implementierungen von IPSec) festlegen. Dazu bearbeiten wir die Datei. /etc/strongswan/ipsec.conf :

config setup
    nat_traversal=yes
    virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
    oe=off
    protostack=netkey

conn L2TP-PSK-NAT
    rightsubnet=vhost:%priv
    also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
    authby=secret
    pfs=no
    auto=add
    keyingtries=3
    rekey=no
    ikelifetime=8h
    keylife=1h
    type=transport
    left=%any
    leftprotoport=udp/1701
    right=%any
    rightprotoport=udp/%any
    ike=aes128-sha1-modp1536,aes128-sha1-modp1024,aes128-md5-modp1536,aes128-md5-modp1024,3des-sha1-modp1536,3des-sha1-modp1024,3des-md5-modp1536,3des-md5-modp1024
    esp=aes128-sha1-modp1536,aes128-sha1-modp1024,aes128-md5-modp1536,aes128-md5-modp1024,3des-sha1-modp1536,3des-sha1-modp1024,3des-md5-modp1536,3des-md5-modp1024

Lassen Sie uns auch ein gemeinsames Passwort für den Zugriff festlegen. Dieses Passwort muss allen Teilnehmern im Netzwerk bekannt sein, um eine Authentifizierung zu ermöglichen. Allerdings ist diese Methode von Natur aus unsicher, da das Passwort leicht in die Hände von Personen gelangen kann, denen wir keinen Zugang zum Netzwerk gewähren möchten.
Dennoch wird dieser Umstand die Sicherheit des Netzwerks nicht beeinträchtigen, da die Hauptverschlüsselung der Daten und die Benutzerautorisierung über das PPP-Protokoll erfolgt. Fairerweise muss erwähnt werden, dass strongswan sicherere Authentifizierungstechnologien unterstützt, beispielsweise mit privaten Schlüsseln. Außerdem bietet strongswan die Möglichkeit, die Authentifizierung durch Smartcards zu gewährleisten, jedoch wird aktuell nur eine begrenzte Anzahl von Geräten unterstützt, weshalb die Authentifizierung mittels Token und Smartcards von Rutoken derzeit schwierig ist. Legen wir ein allgemeines Passwort über die Datei fest. /etc/strongswan/ipsec.secrets:

# ipsec.secrets - strongSwan IPsec secrets file
%any %any : PSK "SECRET_PASSPHRASE"

Lassen Sie uns strongswan neu starten:

sudo systemctl enable strongswan
sudo systemctl restart strongswan

Installation von xl2tp

sudo dnf install xl2tpd

Wir konfigurieren ihn über die Datei /etc/xl2tpd/xl2tpd.conf:

[global]
force userspace = yes
listen-addr = 0.0.0.0
ipsec saref = yes

[lns default]
exclusive = no
; definiert die statische Adresse des Servers im virtuellen Netzwerk
local ip = 100.10.10.1
; legt den Bereich der virtuellen Adressen fest
ip range = 100.10.10.1-100.10.10.254
assign ip = yes
refuse pap = yes
require authentication = yes
; diese Option kann nach erfolgreicher Netzwerkkonfiguration deaktiviert werden
ppp debug = yes
length bit = yes
pppoptfile = /etc/ppp/options.xl2tpd
; gibt die Adresse des Servers im Netzwerk an
name = centos.vpn.server.ad

Lassen Sie uns den Dienst neu starten:

sudo systemctl enable xl2tpd
sudo systemctl restart xl2tpd

PPP-Konfiguration

Es wird empfohlen, die neueste Version von pppd zu installieren. Führen Sie hierzu die folgenden Befehle aus:

sudo yum install git make gcc openssl-devel
git clone "https://github.com/jjkeijser/ppp"
cd ppp
./configure --prefix /usr
make -j4
sudo make install

Fügen Sie in die Datei /etc/ppp/options.xl2tpd Folgendes ein (vorhandene Werte können gelöscht werden):

ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
ms-dns 1.1.1.1

noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000

Schreiben Sie das Root-Zertifikat und das Server-Zertifikat auf:

#директория с сертификатами пользователей, УЦ и сервера
sudo mkdir /etc/ppp/certs
#директория с закрытыми ключами сервера и УЦ
sudo mkdir /etc/ppp/keys
#запрещаем любой доступ к этой дирректории кроме администатора
sudo chmod 0600 /etc/ppp/keys/

#генерируем ключ и выписываем сертификат УЦ
sudo openssl genrsa -out /etc/ppp/keys/ca.pem 2048
sudo openssl req -key /etc/ppp/keys/ca.pem -new -x509 -out /etc/ppp/certs/ca.pem -subj "/C=RU/CN=L2TP CA"

#генерируем ключ и выписываем сертификат сервера
sudo openssl genrsa -out /etc/ppp/keys/server.pem 2048
sudo openssl req -new -out server.req -key /etc/ppp/keys/server.pem -subj "/C=RU/CN=centos.vpn.server.ad"
sudo openssl x509 -req -in server.req -CAkey /etc/ppp/keys/ca.pem -CA /etc/ppp/certs/ca.pem -out /etc/ppp/certs/server.pem -CAcreateserial

Damit haben wir die grundlegende Serverkonfiguration abgeschlossen. Der restliche Teil der Serverkonfiguration bezieht sich auf das Hinzufügen neuer Clients.

Neuen Kunden hinzufügen

Um einen neuen Client in das Netzwerk aufzunehmen, muss sein Zertifikat in die vertrauenswürdige Liste für diesen Client aufgenommen werden.

Wenn der Benutzer Teil des VPN-Netzwerks werden möchte, erstellt er ein Schlüsselpaar und einen Zertifikatantrag für diesen Client. Wenn der Benutzer vertrauenswürdig ist, kann dieser Antrag signiert und das erhaltene Zertifikat im Verzeichnis der Zertifikate gespeichert werden:

sudo openssl x509 -req -in client.req -CAkey /etc/ppp/keys/ca.pem -CA /etc/ppp/certs/ca.pem -out /etc/ppp/certs/client.pem -CAcreateserial

Fügen Sie eine Zeile in die Datei /etc/ppp/eaptls-server ein, um den Clientnamen mit seinem Zertifikat abzugleichen:

"client" * /etc/ppp/certs/client.pem /etc/ppp/certs/server.pem /etc/ppp/certs/ca.pem /etc/ppp/keys/server.pem *

HINWEIS
Um Verwirrung zu vermeiden, sollten der Common Name, der Dateiname des Zertifikats und der Benutzername einzigartig sein.

Es ist auch ratsam, zu überprüfen, dass der Benutzername, den wir hinzufügen, in anderen Authentifizierungsdateien nicht auftaucht, da dies zu Authentifizierungsproblemen führen kann.

Das Client-Zertifikat muss dem Benutzer zurückgesendet werden.

Generierung von Schlüsselpaar und Zertifikat

Für eine erfolgreiche Authentifizierung muss der Client:

  1. ein Schlüsselpaar generieren;
  2. ein Root-Zertifikat der CA besitzen;
  3. ein Zertifikat für sein Schlüsselpaar haben, das von der Root-CA signiert ist.

für Clients unter Linux

Lassen Sie uns zunächst ein Schlüsselpaar auf dem Token generieren und einen Zertifikatsantrag erstellen:

#идентификатор ключа (параметр --id) можно заменить на любой другой.
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45

openssl
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:librtpkcs11ecp.so
...
OpenSSL> req -engine pkcs11 -new -key 45 -keyform engine -out client.req -subj "/C=RU/CN=client"

Sendet den entstehenden Antrag client.req an die CA. Nachdem Sie das Zertifikat für Ihr Schlüsselpaar erhalten haben, speichern Sie es auf dem Token mit derselben ID wie der Schlüssel:

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w ./client.pem --id 45

für Windows- und Linux-Clients (eine universellere Methode)

Diese Methode ist universeller, da sie die Generierung eines Schlüssels und Zertifikats ermöglicht, das sowohl von Windows- als auch von Linux-Nutzern erfolgreich erkannt wird. Allerdings ist hierfür ein Windows-Gerät erforderlich, um den Schlüsselgenerierungsprozess durchzuführen.

Vor der Generierung von Anfragen und dem Import von Zertifikaten muss das Root-Zertifikat des VPN-Netzwerks zur Liste der vertrauenswürdigen Zertifikate hinzugefügt werden. Dazu öffnen wir es und wählen im angezeigten Fenster die Option "Zertifikat installieren":

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Im kommenden Fenster wählen wir die Installation des Zertifikats für den lokalen Benutzer:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Wir installieren das Zertifikat im Speicher der vertrauenswürdigen Root-Zertifikate der CA:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Nach diesen Schritten stimmen wir allen weiteren Punkten zu. Das System ist nun konfiguriert.

Legen wir die Datei cert.tmp mit folgendem Inhalt an:

[NewRequest]
Subject = "CN=client"
KeyLength = 2048
KeySpec = "AT_KEYEXCHANGE" 
ProviderName = "Microsoft Base Smart Card Crypto Provider"
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE"
KeyUsageProperty = "NCRYPT_ALLOW_DECRYPT_FLAG"
RequestType = PKCS10
SMIME = FALSE

Danach generieren wir das Schlüsselpaar und erstellen einen Zertifikatsantrag. Dazu öffnen wir PowerShell und geben den folgenden Befehl ein:

certreq.exe -new -pin $PIN .cert.tmp .client.req

Senden Sie die erstellte Anfrage client.req an Ihre Zertifizierungsstelle und warten Sie auf den Erhalt des Zertifikats client.pem. Dieses kann auf das Token geschrieben und mit dem folgenden Befehl in den Windows-Zertifikatsspeicher hinzugefügt werden:

certreq.exe -accept .client.pem

Es ist zu beachten, dass ähnliche Aktionen auch über die grafische Benutzeroberfläche des Programms mmc durchgeführt werden können, dieser Weg jedoch zeitaufwendiger und weniger programmierbar ist.

Konfiguration des Ubuntu-Clients

HINWEIS
Die Einrichtung des Clients unter Linux ist derzeit zeitintensiv, da sie den Aufbau einzelner Programme aus dem Quellcode erfordert. Wir werden uns bemühen, dass alle Änderungen in Kürze in die offiziellen Repositories aufgenommen werden.

Um eine Verbindung auf der IPSec-Ebene zum Server herzustellen, wird das Paket strongswan und der Daemon xl2tp verwendet. Um die Verbindung zum Netzwerk über Smartcards zu erleichtern, werden wir das Paket l2tp-ipsec-vpn verwenden, das eine grafische Oberfläche für die vereinfachte Konfiguration der Verbindung bietet.

Lassen Sie uns die Komponenten schrittweise zusammenstellen, bevor wir alle erforderlichen Pakete für den direkten Betrieb des VPN installieren:

sudo apt-get install xl2tpd strongswan libp11-3

Installation der Software für die Token-Verwaltung

Installieren Sie die neueste Version der Bibliothek librtpkcs11ecp.so mit der Website, sowie den Bibliotheken für die Arbeit mit Smartcards:

sudo apt-get install pcscd pcsc-tools opensc libengine-pkcs11-openssl

Schließen Sie den Rutoken an und überprüfen Sie, ob er vom System erkannt wird:

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O -l

Installation des gepatchten ppp

sudo apt-get -y install git make gcc libssl-dev
git clone "https://github.com/jjkeijser/ppp"
cd ppp
./configure --prefix /usr
make -j4
sudo make install

Installation des L2tpIpsecVpn-Clients

Der Client muss momentan ebenfalls aus dem Quellcode erstellt werden. Dies erfolgt mit folgender Befehlsfolge:

sudo apt-get -y install git qt5-qmake qt5-default build-essential libctemplate-dev libltdl-dev
git clone "https://github.com/Sander80/l2tp-ipsec-vpn"
cd l2tp-ipsec-vpn
make -j4
sudo make install

Konfiguration des L2tpIpsecVpn-Clients

Starten Sie den installierten Client:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Nach dem Start sollte sich das Applet L2tpIpsecVPN öffnen. Klicken Sie mit der rechten Maustaste darauf und konfigurieren Sie die Verbindung:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Für die Arbeit mit Tokens geben wir zunächst den Pfad des opensc-Generators von OpenSSL und der PKCS#11-Bibliothek an. Öffnen Sie dazu die Registerkarte "Einstellungen" zur Anpassung der OpenSSL-Parameter:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI.

Schließen Sie das Einstellungsfenster von OpenSSL und gehen Sie zur Netzwerkkonfiguration über. Fügen Sie ein neues Netzwerk hinzu, indem Sie im Einstellungsbereich auf die Schaltfläche Hinzufügen… klicken und den Namen des Netzwerks eingeben:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Nach diesem Schritt wird das Netzwerk im Einstellungsfenster verfügbar sein. Klicken Sie mit der rechten Maustaste auf das neue Netzwerk, um es zu konfigurieren. Auf der ersten Registerkarte müssen die IPsec-Einstellungen vorgenommen werden. Geben Sie die Serveradresse und den gemeinsamen Schlüssel ein:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Anschließend wechseln wir zur Registerkarte PPP-Einstellungen und geben den Benutzernamen ein, mit dem wir uns in das Netzwerk einloggen möchten:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Danach öffnen wir die Registerkarte Eigenschaften und geben den Pfad zum Schlüssel, zum Kundenzertifikat und zur Zertifizierungsstelle an:
Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Wir schließen diese Registerkarte und führen die abschließenden Einstellungen durch. Öffnen Sie dazu die Registerkarte "IP-Einstellungen" und setzen Sie ein Häkchen bei der Option "DNS-Serveradresse automatisch beziehen":

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI
Diese Option ermöglicht es dem Client, eine private IP-Adresse innerhalb des Netzwerks vom Server zu erhalten.

Nach allen Einstellungen schließen wir alle Registerkarten und starten den Client neu:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Verbindung zum Netzwerk

Nach den Einstellungen kann die Verbindung zum Netzwerk hergestellt werden. Öffnen Sie dazu die Applet-Registerkarte und wählen Sie das Netzwerk aus, mit dem Sie sich verbinden möchten:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Während des Verbindungsaufbaus wird der Client aufgefordert, unseren PIN-Code für den Rutoken einzugeben:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Wenn in der Statusleiste eine Benachrichtigung erscheint, dass die Verbindung erfolgreich hergestellt wurde, war die Konfiguration erfolgreich:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Andernfalls sollten Sie herausfinden, warum die Verbindung nicht hergestellt werden konnte. Dazu empfiehlt es sich, das Protokoll der Software einzusehen, indem Sie im Applet die Option "Verbindungsinformationen" wählen:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Windows-Client einrichten

Die Einrichtung des Clients in Windows ist wesentlich einfacher als in Linux, da die gesamte benötigte Software bereits im System integriert ist.

Systemeinrichtung

Laden Sie alle erforderlichen Treiber für die Arbeit mit RUTOKEN herunter von der offiziellen Website.

Wurzelzertifikat für die Authentifizierung importieren

Laden Sie das Wurzelzertifikat des Servers herunter und installieren Sie es im System. Öffnen Sie dazu das Zertifikat und wählen Sie im sich öffnenden Fenster die Option "Zertifikat installieren":

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Wählen Sie im sich öffnenden Fenster die Installation des Zertifikats für den lokalen Benutzer. Wenn das Zertifikat allen Benutzern des Computers zugänglich sein soll, sollten Sie die Installation des Zertifikats für den lokalen Computer wählen:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Wir installieren das Zertifikat im Speicher der vertrauenswürdigen Root-Zertifikate der CA:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Nach diesen Schritten stimmen wir allen weiteren Punkten zu. Das System ist nun konfiguriert.

VPN-Verbindung einrichten

Um eine VPN-Verbindung einzurichten, gehen Sie zur Systemsteuerung und wählen Sie die Option zum Erstellen einer neuen Verbindung.

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Wählen Sie im Popup-Fenster die Option zur Erstellung einer Verbindung für den Zugriff auf den Arbeitsplatz:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Wählen Sie im nächsten Fenster die VPN-Verbindung aus:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

und geben Sie die Daten der VPN-Verbindung ein, sowie die Option zur Nutzung einer Smartcard an:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Hier endet die Konfiguration noch nicht. Wir müssen den gemeinsamen Schlüssel für das IPsec-Protokoll angeben. Gehen wir dazu auf die Registerkarte „Netzwerkverbindungen“ und dann auf die Registerkarte „Eigenschaften dieser Verbindung“:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

In dem sich öffnenden Fenster wechseln wir zur Registerkarte "Sicherheit", wählen als Netzwerktyp "L2TP/IPsec" und klicken auf "Erweiterte Optionen":

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

In dem sich öffnenden Fenster geben wir den gemeinsamen IPsec-Schlüssel ein:
Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Domain-Anbindung

Nach Abschluss der Konfiguration können wir versuchen, eine Verbindung zum Netzwerk herzustellen:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Bei der Verbindung werden wir aufgefordert, den PIN-Code des Tokens einzugeben:

Konfiguration der Authentifizierung im L2TP-Netzwerk mit Rutoken EDS 2.0 und Rutoken PKI

Wir haben ein sicheres VPN-Netzwerk eingerichtet und festgestellt, dass dies nicht schwierig ist.

Danksagungen

Wir möchten uns erneut bei unseren Kollegen Wasilij Schokow und Alexander Smirnow für die gemeinsame Arbeit bedanken, die die Erstellung von VPN-Verbindungen für Linux-Kunden erleichtert hat.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster