Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Problematyka

Jeszcze niedawno wielu nie wiedziało, jak to jest pracować z domu. Pandemia drastycznie zmieniła sytuację na świecie, wszyscy zaczęli dostosowywać się do nowej rzeczywistości, a mianowicie do tego, że wychodzenie z domu stało się po prostu niebezpieczne. Wiele osób musiało szybko zorganizować pracę zdalną dla swoich pracowników.

Jednak brak przemyślanego podejścia w wyborze rozwiązań do pracy zdalnej może prowadzić do nieodwracalnych strat. Hasła użytkowników mogą zostać skradzione, co daje przestępcom możliwość niekontrolowanego łączenia się z siecią i zasobami IT przedsiębiorstwa.

Właśnie dlatego wzrosła potrzeba tworzenia niezawodnych korporacyjnych sieci VPN. Opowiem ci o niezawodnej, bezpiecznej i prostej w użyciu sieci VPN.

Działa ona w schemacie IPsec/L2TP, wykorzystując do uwierzytelniania klientów nieodwracalne klucze i certyfikaty przechowywane na tokenach, a także przesyła dane po sieci w postaci zaszyfrowanej.

Jako platformy demonstracyjne do konfiguracji użyto serwera z CentOS 7 (adres: centos.vpn.server.ad) oraz klienta z Ubuntu 20.04, a także klienta z Windows 10.

Opis systemu

VPN będzie działać w schemacie IPSec + L2TP + PPP. Protokół Point-to-Point Protocol (PPP) działa na poziomie łącza modelu OSI i zapewnia uwierzytelnianie użytkownika oraz szyfrowanie przesyłanych danych. Jego dane są inkapsulowane w danych protokołu L2TP, który z kolei zapewnia utworzenie połączenia w sieci VPN, ale nie zapewnia uwierzytelniania i szyfrowania.

Dane L2TP są inkapsulowane w protokole IPSec, który również zapewnia uwierzytelnianie i szyfrowanie, ale w przeciwieństwie do protokołu PPP, uwierzytelnianie i szyfrowanie odbywa się na poziomie urządzeń, a nie na poziomie użytkowników.

Ta cecha pozwala na uwierzytelnianie użytkowników tylko z określonych urządzeń. My natomiast będziemy używać protokołu IPSec i pozwolimy na uwierzytelnianie użytkowników z dowolnego urządzenia.

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Uwierzytelnienie użytkownika za pomocą kart inteligentnych będzie odbywać się na poziomie protokołu PPP przy użyciu protokołu EAP-TLS.

Szczegółowe informacje o działaniu tego schematu można znaleźć w w tym artykule.

Dlaczego ten schemat spełnia wszystkie trzy wymagania dobrej sieci VPN

  1. Niezawodność tego schematu została potwierdzona przez czas. Jest on stosowany do wdrażania sieci VPN od 2000 roku.
  2. Bezpieczną autoryzację użytkownika zapewnia protokół PPP. Standardowa implementacja protokołu PPP opracowana przez Paula Mackerrasa nie zapewnia wystarczającego poziomu bezpieczeństwa, ponieważ do autoryzacji w najlepszym przypadku wykorzystuje się autoryzację za pomocą loginu i hasła. Wszyscy wiemy, że login i hasło można podejrzeć, odgadnąć lub ukraść. Niemniej jednak, już dawno programista Jan Just Keijser do w swojej implementacji tego protokołu naprawił ten problem i dodał możliwość używania do autoryzacji protokołów opartych na asymetrycznym szyfrowaniu, takich jak EAP-TLS. Ponadto dodał możliwość używania kart inteligentnych do autoryzacji, co uczyniło ten system bardziej bezpiecznym.
    W tej chwili prowadzone są aktywne negocjacje dotyczące fuzji tych dwóch projektów i można być pewnym, że prędzej czy później będzie to miało miejsce. Na przykład w repozytoriach Fedory od dawna znajduje się załatana wersja PPP, która wykorzystuje bezpieczne protokoły do autoryzacji.
  3. Jeszcze niedawno z tej sieci mogli korzystać tylko użytkownicy Windows, ale nasi koledzy z MGU, Wasił Szokow i Aleksander Smirnow, znaleźli stary projekt klienta L2TP dla systemu Linux i zaktualizowali go. Wspólnymi siłami poprawiliśmy wiele błędów i niedociągnięć w działaniu klienta, uprościliśmy instalację i konfigurację systemu, nawet przy budowie z kodu źródłowego. Najważniejszymi z nich są:
    • Naprawiono problemy z kompatybilnością starego klienta z interfejsem nowych wersji openssl i qt.
    • Usunięto przesyłanie PIN-u pppd tokena przez tymczasowy plik.
    • Naprawiono nieprawidłowe uruchomienie programu żądania hasła przez interfejs graficzny. Zrealizowano to poprzez ustawienie poprawnego środowiska dla usługi xl2tpd.
    • Budowa demona L2tpIpsecVpn odbywa się teraz wspólnie z budową samego klienta, co ułatwia proces budowy i konfiguracji.
    • Dla ułatwienia rozwoju włączono system Azure Pipelines do testowania poprawności budowy.
    • Dodano możliwość wymuszonego obniżania poziomu bezpieczeństwa w kontekście openssl. Jest to przydatne dla poprawnej obsługi nowych systemów operacyjnych, w których standardowy poziom bezpieczeństwa ustawiony jest na 2, z sieciami VPN, które używają certyfikatów, które nie spełniają wymagań bezpieczeństwa tego poziomu. Ta opcja będzie przydatna do pracy z już istniejącymi starymi sieciami VPN.

Poprawioną wersję można znaleźć w tym repozytorium.

Ten klient wspiera użycie kart inteligentnych do uwierzytelniania, a także maksymalnie ukrywa wszystkie trudności i niedogodności związane z konfiguracją tej schemy w systemie Linux, czyniąc konfigurację klienta maksymalnie prostą i szybką.

Oczywiście, dla wygodnej komunikacji PPP i GUI klienta nie obyło się bez dodatkowych poprawek w każdym z projektów, jednak udało się je zminimalizować:

Teraz można przystąpić do konfiguracji.

Konfiguracja serwera

Zainstalujemy wszystkie niezbędne pakiety.

Instalacja strongswan (IPsec)

Najpierw skonfigurujemy zaporę ogniową do pracy z ipsec

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

Następnie przystąpimy do instalacji

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

Po instalacji należy ustawić konfigurację dla strongswan (jednej z implementacji IPSec). Aby to zrobić, edytujemy plik /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

Ustalmy również wspólne hasło do logowania. Wspólne hasło powinno być znane wszystkim uczestnikom sieci w celu autoryzacji. Ta metoda jest zasadniczo niepewna, ponieważ hasło to łatwo może stać się znane osobom, którym nie chcemy udostępniać dostępu do sieci.
Jednak ten fakt nie wpłynie na bezpieczeństwo organizacji sieci, ponieważ główne szyfrowanie danych i autoryzacja użytkowników odbywa się za pomocą protokołu PPP. Jednak należy zauważyć, że strongswan wspiera bardziej bezpieczne technologie autoryzacji, na przykład z wykorzystaniem kluczy prywatnych. W strongswan istnieje również możliwość zapewnienia autoryzacji za pomocą kart inteligentnych, ale obecnie wspierany jest ograniczony krąg urządzeń, przez co autoryzacja za pomocą tokenów i kart inteligentnych RarToken jest obecnie utrudniona. Ustalmy wspólne hasło poprzez plik. /etc/strongswan/ipsec.secrets:

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

Uruchommy ponownie strongswan:

sudo systemctl enable strongswan
sudo systemctl restart strongswan

Instalacja xl2tp

sudo dnf install xl2tpd

Skonfigurujemy go poprzez plik /etc/xl2tpd/xl2tpd.conf:

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

[lns default]
exclusive = no
; definiuje statyczny adres serwera w wirtualnej sieci
local ip = 100.10.10.1
; ustawia zakres adresów wirtualnych
ip range = 100.10.10.1-100.10.10.254
assign ip = yes
refuse pap = yes
require authentication = yes
; tę opcję można wyłączyć po pomyślnej konfiguracji sieci
ppp debug = yes
length bit = yes
pppoptfile = /etc/ppp/options.xl2tpd
; wskazuje na adres serwera w sieci
name = centos.vpn.server.ad

Uruchommy ponownie usługę:

sudo systemctl enable xl2tpd
sudo systemctl restart xl2tpd

Konfiguracja PPP

Zaleca się zainstalowanie najnowszej wersji pppd. W tym celu wykonajmy następujące polecenia:

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

Wpisz do pliku /etc/ppp/options.xl2tpd następujące (jeśli znajdują się tam jakieś wartości, można je usunąć):

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

Wydrukuj certyfikat root i certyfikat serwera:

#директория с сертификатами пользователей, УЦ и сервера
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

W ten sposób zakończyliśmy podstawową konfigurację serwera. Reszta konfiguracji serwera dotyczy dodawania nowych klientów.

Dodanie nowego klienta

Aby dodać nowego klienta do sieci, należy zapisać jego certyfikat na liście zaufanych dla tego klienta.

Jeśli użytkownik chce stać się uczestnikiem sieci VPN, tworzy parę kluczy i wniosek o certyfikat dla danego klienta. Jeśli użytkownik jest zaufany, wniosek ten można podpisać, a uzyskany certyfikat zapisać w katalogu certyfikatów:

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

Dodajemy linię do pliku /etc/ppp/eaptls-server, aby dopasować nazwę klienta do jego certyfikatu:

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

UWAGA
Aby uniknąć zamieszania, lepiej, aby: Common Name, nazwa pliku certyfikatu i nazwa użytkownika były unikalne.

Należy również upewnić się, że w innych plikach autoryzacji nie pojawia się nazwa użytkownika, którego dodajemy, w przeciwnym razie wystąpią problemy z metodą autoryzacji użytkownika.

Ten certyfikat należy również odesłać użytkownikowi.

Generowanie pary kluczy i certyfikatu

Aby autoryzacja była skuteczna, klient musi:

  1. wygenerować parę kluczy;
  2. mieć root certificate CA;
  3. mieć certyfikat dla swojej pary kluczy, podpisany przez root CA.

dla klienta na systemie Linux

Na początek wygenerujmy parę kluczy na tokenie i utwórzmy wniosek o certyfikat:

#идентификатор ключа (параметр --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"

Wniosek client.req należy wysłać do CA. Po otrzymaniu certyfikatu dla swojej pary kluczy zapisz go na tokenie z tym samym identyfikatorem co klucz:

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

dla klientów Windows i Linux (bardziej uniwersalny sposób)

Ten sposób jest bardziej uniwersalny, ponieważ pozwala wygenerować klucz i certyfikat, który będzie poprawnie rozpoznawany przez użytkowników Windows i Linux, ale wymaga posiadania maszyny z systemem Windows do przeprowadzenia procedury generowania kluczy.

Przed generowaniem wniosków i importem certyfikatów należy dodać root certificate VPN do listy zaufanych. Aby to zrobić, otwórz go i w nowym oknie wybierz opcję "Zainstaluj certyfikat":

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

W nowym oknie wybierzemy instalację certyfikatu dla lokalnego użytkownika:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Zainstalujemy certyfikat w magazynie zaufanych root certificates CA:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Po wykonaniu tych kroków zgadzamy się na wszystkie dalsze punkty. Teraz system jest skonfigurowany.

Utworzymy plik cert.tmp z następującą zawartością:

[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

Następnie wygenerujemy parę kluczy i stworzymy wniosek o certyfikat. W tym celu otworzymy PowerShell i wprowadzimy następujące polecenie:

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

Wyślij stworzony wniosek client.req do twojego centrum certyfikacji i poczekaj na otrzymanie certyfikatu client.pem. Można go zapisać na tokenie i dodać do magazynu certyfikatów Windows za pomocą następującego polecenia:

certreq.exe -accept .client.pem

Warto zauważyć, że analogiczne działania można przeprowadzić za pomocą graficznego interfejsu programu mmc, jednak ta metoda jest bardziej czasochłonna i mniej programowalna.

Konfiguracja klienta Ubuntu

UWAGA
Konfiguracja klienta na Linuxie w tej chwili jest dość czasochłonna, ponieważ wymaga kompilacji poszczególnych programów z kodu źródłowego. Postaramy się w najbliższym czasie, aby wszystkie zmiany trafiły do oficjalnych repozytoriów.

Aby zapewnić połączenie na poziomie IPSec z serwerem — wykorzystuje się pakiet strongswan i demon xl2tp. Aby uprościć połączenie do sieci za pomocą kart inteligentnych – użyjemy pakietu l2tp-ipsec-vpn, który zapewnia graficzny interfejs do uproszczonej konfiguracji połączenia.

Rozpoczniemy zbieranie elementów etapami, ale przed tym zainstalujemy wszystkie niezbędne pakiety do działania VPN:

sudo apt-get install xl2tpd strongswan libp11-3

Instalacja oprogramowania do pracy z tokenami

Zainstaluj najnowszą wersję biblioteki librtpkcs11ecp.so z strony, a także biblioteki do pracy z kartami inteligentnymi:

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

Podłącz Rutoken i sprawdź, czy system go rozpoznaje:

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

Instalacja poprawionego 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

Instalacja klienta L2tpIpsecVpn

Obecnie klient również musi być kompilowany z kodu źródłowego. Robi się to za pomocą następującej sekwencji poleceń:

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

Konfiguracja klienta L2tpIpsecVpn

Uruchamiamy zainstalowanego klienta:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Po uruchomieniu powinien otworzyć się aplet L2tpIpsecVPN. Kliknij na niego prawym przyciskiem myszy i skonfiguruj połączenie:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Aby pracować z tokenami, najpierw wskażemy ścieżkę do silnika opensc OpenSSL i biblioteki PKCS#11. W tym celu otwórz zakładkę „Preferencje”, aby skonfigurować parametry openssl:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI.

Zamkniemy okno ustawień OpenSSL i przejdziemy do konfiguracji sieci. Dodamy nową sieć, klikając przycisk Dodaj… na panelu ustawień i wprowadzimy nazwę sieci:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Po tym nowa sieć stanie się dostępna w panelu ustawień. Klikniemy prawym przyciskiem myszy na nową sieć, aby ją skonfigurować. Na pierwszej zakładce musimy skonfigurować IPsec. Ustawimy adres serwera i wspólny klucz:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Po tym przechodzimy do zakładki konfiguracji PPP i podajemy tam nazwę użytkownika, pod którą chcemy się zalogować do sieci:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Następnie otworzymy zakładkę Właściwości i wskażemy ścieżkę do klucza, certyfikatu klienta i CA:
Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Zamkniemy tę zakładkę i przeprowadzimy finalną konfigurację, otwierając zakładkę „Ustawienia IP” i zaznaczając opcję „Uzyskaj adres serwera DNS automatycznie”:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI
Ta opcja pozwoli klientowi uzyskać osobisty adres IP od serwera wewnątrz sieci.

Po wszystkich ustawieniach zamkniemy wszystkie zakładki i zrestartujemy klienta:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Połączenie z siecią

Po ustawieniach możemy połączyć się z siecią. W tym celu otworzymy zakładkę appletu i wybierzemy sieć, z którą chcemy się połączyć:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Podczas łączenia klient poprosi nas o podanie kodu PIN RUTOKEN:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Jeśli w pasku statusu pojawi się powiadomienie, że połączenie zostało pomyślnie nawiązane, oznacza to, że konfiguracja została przeprowadzona pomyślnie:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

W przeciwnym razie warto sprawdzić, dlaczego połączenie nie zostało nawiązane. W tym celu należy zajrzeć do dziennika programu, wybierając w appletcie polecenie „Informacje o połączeniu”:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Konfiguracja klienta Windows

Konfiguracja klienta w Windows jest znacznie prostsza niż w Linuxie, ponieważ całe potrzebne oprogramowanie jest już wbudowane w system.

Konfiguracja systemu

Zainstalujemy wszystkie niezbędne sterowniki do pracy z RUTOKENAMI, pobierając je z oficjalnej strony.

Import certyfikatu root do uwierzytelniania

Pobierzemy certyfikat root serwera i zainstalujemy go w systemie. W tym celu otworzymy go i w otwartym oknie wybierzemy opcję „Zainstaluj certyfikat”:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

W otwartym oknie wybierzemy instalację certyfikatu dla lokalnego użytkownika. Jeśli chcemy, aby certyfikat był dostępny dla wszystkich użytkowników komputera, należy wybrać instalację certyfikatu na lokalnym komputerze:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Zainstalujemy certyfikat w magazynie zaufanych root certificates CA:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Po wykonaniu tych kroków zgadzamy się na wszystkie dalsze punkty. Teraz system jest skonfigurowany.

Konfiguracja połączenia VPN

Aby skonfigurować połączenie VPN, przejdź do panelu sterowania i wybierz opcję utworzenia nowego połączenia.

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

W oknie dialogowym wybierz opcję tworzenia połączenia do miejsca pracy:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

W następnym oknie wybierz połączenie VPN:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

i wprowadź dane połączenia VPN oraz zaznacz opcję korzystania z karty smart:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Na tym etapie konfiguracja nie jest zakończona. Pozostaje podać wspólny klucz dla protokołu IPsec, w tym celu przejdź na zakładkę „Ustawienia połączeń sieciowych”, a następnie na zakładkę „Właściwości tego połączenia”:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

W otwartym oknie przejdź na zakładkę "Zabezpieczenia", wybierz jako typ sieci "Sieć L2TP/IPsec" i wybierz "Dodatkowe opcje":

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

W nowym oknie podaj wspólny klucz IPsec:
Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Podłączenie

Po zakończeniu konfiguracji możesz spróbować połączyć się z siecią:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Podczas łączenia będziemy proszeni o wprowadzenie kodu PIN tokena:

Konfiguracja uwierzytelniania w sieci L2TP za pomocą RUTOKEN ECP 2.0 i RUTOKEN PKI

Skonfigurowaliśmy bezpieczną sieć VPN i upewniliśmy się, że to nie jest trudne.

Podziękowania

Chciałbym jeszcze raz podziękować naszym kolegom Wasilijowi Szokowowi i Aleksandrowi Smirnowowi za wspólną pracę nad uproszczeniem tworzenia połączeń VPN dla klientów Linux.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster