Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

problēmas

Vēl nesen daudzi nezināja, kā ir strādāt no mājām. Pandēmija ir krasi mainÄ«jusi situāciju pasaulē, visi ir sākuÅ”i pielāgoties esoÅ”ajiem apstākļiem, proti, tam, ka ir kļuvis vienkārÅ”i nedroÅ”i iziet no mājas. Un daudziem bija ātri jāorganizē darbs no mājām saviem darbiniekiem.

Tomēr kompetentas pieejas trūkums attālināta darba risinājumu izvēlei var radīt neatgriezeniskus zaudējumus. Lietotāju paroles var tikt nozagtas, un tas ļaus uzbrucējam nekontrolējami izveidot savienojumu ar uzņēmuma tīklu un IT resursiem.

Tāpēc tagad ir pieaugusi nepiecieÅ”amÄ«ba izveidot uzticamus korporatÄ«vos VPN tÄ«klus. Es jums pastāstÄ«Å”u par uzticams, droÅ”i Šø vienkārÅ”s izmantojot VPN tÄ«klu.

Tas darbojas saskaņā ar IPsec/L2TP shēmu, kas izmanto neatgÅ«stamas atslēgas un sertifikātus, kas glabājas marÄ·ieros, lai autentificētu klientus, kā arÄ« pārsÅ«ta datus tÄ«klā Å”ifrētā veidā.

Kā konfigurācijas demonstrācijas stendi tika izmantoti serveris ar CentOS 7 (adrese: centos.vpn.server.ad) un klients ar Ubuntu 20.04, kā arī klients ar Windows 10.

Sistēmas apraksts

VPN darbosies saskaņā ar IPSec + L2TP + PPP shēmu. Protokols Point-to-Point protokols (VPP) darbojas OSI modeļa datu posma slānÄ« un nodroÅ”ina lietotāja autentifikāciju un pārsÅ«tÄ«to datu Å”ifrÄ“Å”anu. Tās dati ir iekapsulēti L2TP protokola datos, kas faktiski nodroÅ”ina savienojuma izveidi VPN tÄ«klā, bet nenodroÅ”ina autentifikāciju un Å”ifrÄ“Å”anu.

L2TP dati ir iekapsulēti IPSec, kas nodroÅ”ina arÄ« autentifikāciju un Å”ifrÄ“Å”anu, taču atŔķirÄ«bā no PPP autentifikācija un Å”ifrÄ“Å”ana notiek ierÄ«ces, nevis lietotāja lÄ«menÄ«.

Šī funkcija ļauj autentificēt lietotājus tikai no noteiktām ierīcēm. Mēs izmantosim IPSec protokolu tādu, kāds tas ir, un ļausim lietotāja autentifikāciju no jebkuras ierīces.

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Lietotāja autentifikācija, izmantojot viedkartes, tiks veikta PPP protokola līmenī, izmantojot EAP-TLS protokolu.

SÄ«kāku informāciju par Ŕīs shēmas darbÄ«bu var atrast Å is raksts.

Kāpēc Ŕī shēma atbilst visām trim laba VPN tÄ«kla prasÄ«bām?

  1. Å Ä«s shēmas uzticamÄ«bu ir pārbaudÄ«jis laiks. Tas ir izmantots VPN tÄ«klu izvietoÅ”anai kopÅ” 2000. gada.
  2. DroÅ”u lietotāja autentifikāciju nodroÅ”ina PPP protokols. PPP protokola standarta ievieÅ”ana, ko izstrādājis Pols Makerrass nenodroÅ”ina pietiekamu droŔības lÄ«meni, jo Autentifikācijai labākajā gadÄ«jumā tiek izmantota autentifikācija, izmantojot pieteikumvārdu un paroli. Mēs visi zinām, ka pieteikÅ”anās paroli var izspiegot, uzminēt vai nozagt. Tomēr jau ilgu laiku izstrādātājs Jans Justs Keisers Š² tās Ä«stenoÅ”ana Å is protokols izlaboja Å”o problēmu un pievienoja iespēju autentifikācijai izmantot protokolus, kuru pamatā ir asimetriskā Å”ifrÄ“Å”ana, piemēram, EAP-TLS. Turklāt viņŔ pievienoja iespēju autentifikācijai izmantot viedkartes, kas padarÄ«ja sistēmu droŔāku.
    Å obrÄ«d notiek aktÄ«vas sarunas par Å”o divu projektu apvienoÅ”anu un varat bÅ«t droÅ”i, ka agri vai vēlu tas tomēr notiks. Piemēram, PPP labota versija Fedora krātuvēs atrodas jau ilgu laiku, autentifikācijai izmantojot droÅ”us protokolus.
  3. Vēl nesen Å”o tÄ«klu varēja izmantot tikai Windows lietotāji, taču mÅ«su kolēģi no Maskavas Valsts universitātes Vasilijs Å okovs un Aleksandrs Smirnovs atrada vecs L2TP klienta projekts operētājsistēmai Linux un to modificēja. Kopā mēs novērsām daudzas kļūdas un nepilnÄ«bas klienta darbā, vienkārÅ”ojām sistēmas uzstādÄ«Å”anu un konfigurÄ“Å”anu, pat veidojot no avota. NozÄ«mÄ«gākie no tiem ir:
    • Novērstas vecā klienta saderÄ«bas problēmas ar jauno openssl un qt versiju saskarni.
    • Pppd ir noņemts no pilnvaras PIN nodoÅ”anas pagaidu failā.
    • Novērsta nepareiza paroles pieprasÄ«juma programmas palaiÅ”ana, izmantojot grafisko interfeisu. Tas tika paveikts, instalējot pareizo vidi pakalpojumam xl2tpd.
    • L2tpIpsecVpn dēmona bÅ«vÄ“Å”ana tagad tiek veikta kopā ar paÅ”a klienta bÅ«vniecÄ«bu, kas vienkārÅ”o veidoÅ”anas un konfigurÄ“Å”anas procesu.
    • Lai atvieglotu attÄ«stÄ«bu, Azure Pipelines sistēma ir pievienota, lai pārbaudÄ«tu bÅ«vējuma pareizÄ«bu.
    • Pievienota iespēja piespiest pazemināt versiju droŔības lÄ«menis openssl kontekstā. Tas ir noderÄ«gi, lai pareizi atbalstÄ«tu jaunas operētājsistēmas, kurās standarta droŔības lÄ«menis ir iestatÄ«ts uz 2, ar VPN tÄ«kliem, kas izmanto sertifikātus, kas neatbilst Ŕī lÄ«meņa droŔības prasÄ«bām. Å Ä« opcija bÅ«s noderÄ«ga darbam ar esoÅ”ajiem vecajiem VPN tÄ«kliem.

Izlaboto versiju var atrast Ŕo krātuvi.

Å is klients atbalsta viedkarÅ”u izmantoÅ”anu autentifikācijai, kā arÄ« pēc iespējas vairāk slēpj visas grÅ«tÄ«bas un grÅ«tÄ«bas, kas saistÄ«tas ar Ŕīs shēmas iestatÄ«Å”anu operētājsistēmā Linux, padarot klienta iestatÄ«Å”anu pēc iespējas vienkārŔāku un ātrāku.

Protams, ērtam savienojumam starp PPP un klienta GUI nebija iespējams bez papildu rediģējumiem katrā projektā, taču tie tomēr tika minimizēti un samazināti līdz minimumam:

Tagad varat sākt iestatīŔanu.

Servera noskaņoÅ”ana

Instalēsim visas nepiecieÅ”amās pakotnes.

Stiprā gulbja instalÄ“Å”ana (IPsec)

Vispirms konfigurēsim ugunsmūri ipsec darbībai

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

Pēc tam sāksim instalÄ“Å”anu

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

Pēc instalÄ“Å”anas jums ir jākonfigurē strongswan (viena no IPSec implementācijām). Lai to izdarÄ«tu, rediģējiet failu /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

Mēs arÄ« iestatÄ«sim kopēju pieteikÅ”anās paroli. Koplietotajai parolei jābÅ«t zināmai visiem tÄ«kla dalÄ«bniekiem autentifikācijai. Å Ä« metode ir acÄ«mredzami neuzticama, jo Ŕī parole var viegli kļūt zināma personām, kurām mēs nevēlamies nodroÅ”ināt piekļuvi tÄ«klam.
Tomēr pat Å”is fakts neietekmēs tÄ«kla droŔību, jo Pamatdatu Å”ifrÄ“Å”ana un lietotāja autentifikācija tiek veikta ar PPP protokolu. Bet godÄ«gi sakot, ir vērts atzÄ«mēt, ka strongswan atbalsta droŔākas autentifikācijas tehnoloÄ£ijas, piemēram, izmantojot privātās atslēgas. Strongswan ir arÄ« iespēja nodroÅ”ināt autentifikāciju, izmantojot viedkartes, taču lÄ«dz Å”im tiek atbalstÄ«ts tikai ierobežots ierīču klāsts, un tāpēc autentifikācija, izmantojot Rutoken marÄ·ierus un viedkartes, joprojām ir sarežģīta. IestatÄ«sim vispārÄ«gu paroli, izmantojot failu /etc/strongswan/ipsec.secrets:

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

Restartēsim strongswan:

sudo systemctl enable strongswan
sudo systemctl restart strongswan

xl2tp instalēŔana

sudo dnf install xl2tpd

Konfigurēsim to, izmantojot failu /etc/xl2tpd/xl2tpd.conf:

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

[lns default]
exclusive = no
; Š¾ŠæрŠµŠ“ŠµŠ»ŃŠµŃ‚ стŠ°Ń‚ŠøчŠµŃŠŗŠøŠ¹ Š°Š“рŠµŃ сŠµŃ€Š²ŠµŃ€Š° Š² Š²ŠøртуŠ°Š»ŃŒŠ½Š¾Š¹ сŠµŃ‚Šø
local ip = 100.10.10.1
; Š·Š°Š“Š°ŠµŃ‚ Š“ŠøŠ°ŠæŠ°Š·Š¾Š½ Š²ŠøртуŠ°Š»ŃŒŠ½Ń‹Ń… Š°Š“рŠµŃŠ¾Š²
ip range = 100.10.10.1-100.10.10.254
assign ip = yes
refuse pap = yes
require authentication = yes
; Š“Š°Š½Š½ŃƒŃŽ Š¾ŠæцŠøю Š¼Š¾Š¶Š½Š¾ Š¾Ń‚ŠŗŠ»ŃŽŃ‡Šøть ŠæŠ¾ŃŠ»Šµ усŠæŠµŃˆŠ½Š¾Š¹ Š½Š°ŃŃ‚Ń€Š¾Š¹ŠŗŠø сŠµŃ‚Šø
ppp debug = yes
length bit = yes
pppoptfile = /etc/ppp/options.xl2tpd
; уŠŗŠ°Š·Ń‹Š²Š°ŠµŃ‚ Š°Š“рŠµŃ сŠµŃ€Š²ŠµŃ€Š° Š² сŠµŃ‚Šø
name = centos.vpn.server.ad

Restartējam pakalpojumu:

sudo systemctl enable xl2tpd
sudo systemctl restart xl2tpd

PPP iestatīŔana

Ieteicams instalēt jaunāko pppd versiju. Lai to izdarÄ«tu, izpildiet Ŕādu komandu secÄ«bu:

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

RakstÄ«t failā /etc/ppp/options.xl2tpd Ŕādas (ja tur ir vērtÄ«bas, varat tās dzēst):

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

Mēs izsniedzam saknes sertifikātu un servera sertifikātu:

#Š“ŠøрŠµŠŗтŠ¾Ń€Šøя с сŠµŃ€Ń‚ŠøфŠøŠŗŠ°Ń‚Š°Š¼Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, Š£Š¦ Šø сŠµŃ€Š²ŠµŃ€Š°
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

Tādējādi esam pabeiguÅ”i pamata servera iestatÄ«Å”anu. Pārējā servera konfigurācija ietver jaunu klientu pievienoÅ”anu.

Jauna klienta pievienoŔana

Lai tīklam pievienotu jaunu klientu, tā sertifikāts ir jāpievieno Ŕī klienta uzticamo klientu sarakstam.

Ja lietotājs vēlas kļūt par VPN tÄ«kla dalÄ«bnieku, viņŔ Å”im klientam izveido atslēgu pāri un sertifikāta lietojumprogrammu. Ja lietotājs ir uzticams, tad Å”o lietojumprogrammu var parakstÄ«t un iegÅ«to sertifikātu var ierakstÄ«t sertifikātu direktorijā:

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

Pievienosim /etc/ppp/eaptls-server failam rindiņu, kas atbilst klienta nosaukumam un tā sertifikātam:

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

PIEZÄŖME
Lai izvairītos no neskaidrībām, labāk, ja: parastais nosaukums, sertifikāta faila nosaukums un lietotājvārds ir unikāli.

Tāpat ir vērts pārbaudīt, vai mūsu pievienojamā lietotāja vārds nekur neparādās citos autentifikācijas failos, pretējā gadījumā radīsies problēmas ar lietotāja autentifikācijas veidu.

Tas pats sertifikāts ir jānosūta atpakaļ lietotājam.

Atslēgu pāra un sertifikāta Ä£enerÄ“Å”ana

Veiksmīgai autentifikācijai klientam ir:

  1. ģenerēt atslēgu pāri;
  2. ir CA saknes sertifikāts;
  3. ir sertifikāts jūsu atslēgu pārim, ko parakstījusi saknes CA.

klientam operētājsistēmā Linux

Vispirms uz marķiera ģenerēsim atslēgu pāri un izveidosim sertifikāta lietojumprogrammu:

#ŠøŠ“ŠµŠ½Ń‚ŠøфŠøŠŗŠ°Ń‚Š¾Ń€ ŠŗŠ»ŃŽŃ‡Š° (ŠæŠ°Ń€Š°Š¼ŠµŃ‚Ń€ --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"

NosÅ«tiet parādÄ«to lietojumprogrammu client.req uz CA. Kad esat saņēmis sertifikātu savam atslēgu pārim, ierakstiet to pilnvarā ar tādu paÅ”u ID kā atslēgai:

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

Windows un Linux klientiem (universālāka metode)

Å Ä« metode ir universālāka, jo ļauj Ä£enerēt atslēgu un sertifikātu, ko veiksmÄ«gi atpazÄ«s Windows un Linux lietotāji, taču tam ir nepiecieÅ”ama Windows maŔīna, lai veiktu atslēgu Ä£enerÄ“Å”anas procedÅ«ru.

Pirms pieprasÄ«jumu Ä£enerÄ“Å”anas un sertifikātu importÄ“Å”anas VPN tÄ«kla saknes sertifikāts jāpievieno uzticamo sarakstam. Lai to izdarÄ«tu, atveriet to un atvērtajā logā atlasiet opciju ā€œInstalēt sertifikātuā€:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Atvērtajā logā atlasiet sertifikāta instalÄ“Å”anu vietējam lietotājam:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Instalēsim sertifikātu CA uzticamajā saknes sertifikātu krātuvē:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Pēc visām Ŕīm darbÄ«bām mēs piekrÄ«tam visiem turpmākajiem punktiem. Sistēma tagad ir konfigurēta.

Izveidosim failu cert.tmp ar Ŕādu saturu:

[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

Pēc tam mēs Ä£enerēsim atslēgu pāri un izveidosim sertifikāta lietojumprogrammu. Lai to izdarÄ«tu, atveriet Powershell un ievadiet Ŕādu komandu:

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

NosÅ«tiet izveidoto lietojumprogrammu client.req savai CA un gaidiet, lÄ«dz tiks saņemts client.pem sertifikāts. To var ierakstÄ«t pilnvarā un pievienot Windows sertifikātu krātuvei, izmantojot Ŕādu komandu:

certreq.exe -accept .client.pem

Ir vērts atzÄ«mēt, ka lÄ«dzÄ«gas darbÄ«bas var reproducēt, izmantojot mmc programmas grafisko interfeisu, taču Ŕī metode ir laikietilpÄ«gāka un mazāk programmējama.

Ubuntu klienta iestatīŔana

PIEZÄŖME
Klienta iestatÄ«Å”ana operētājsistēmā Linux paÅ”laik ir diezgan laikietilpÄ«ga, jo... nepiecieÅ”ama atseviŔķu programmu izveide no avota. Mēs centÄ«simies nodroÅ”ināt, lai visas izmaiņas tuvākajā laikā tiktu iekļautas oficiālajos krātuvēs.

Lai nodroÅ”inātu savienojumu ar serveri IPSec lÄ«menÄ«, tiek izmantota pakete strongswan un xl2tp dēmons. Lai vienkārÅ”otu savienojuma izveidi ar tÄ«klu, izmantojot viedkartes, mēs izmantosim l2tp-ipsec-vpn pakotni, kas nodroÅ”ina grafisko apvalku vienkārÅ”otai savienojuma iestatÄ«Å”anai.

Sāksim elementu montāžu soli pa solim, bet pirms tam instalēsim visas nepiecieÅ”amās pakotnes, lai VPN darbotos tieÅ”i:

sudo apt-get install xl2tpd strongswan libp11-3

ProgrammatÅ«ras instalÄ“Å”ana darbam ar žetoniem

Instalējiet jaunāko bibliotēku librtpkcs11ecp.so no сŠ°Š¹Ń‚Š°, arÄ« bibliotēkas darbam ar viedkartēm:

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

Pievienojiet Rutoken un pārbaudiet, vai sistēma to atpazīst:

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

Patched ppp instalēŔana

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

L2tpIpsecVpn klienta instalēŔana

Å obrÄ«d klientam ir jākompilējas arÄ« no pirmkoda. Tas tiek darÄ«ts, izmantojot Ŕādu komandu secÄ«bu:

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

L2tpIpsecVpn klienta iestatīŔana

Palaidiet instalēto klientu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Pēc palaiÅ”anas vajadzētu atvērt L2tpIpsecVPN sÄ«klietotni. Ar peles labo pogu noklikŔķiniet uz tā un konfigurējiet savienojumu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Lai strādātu ar marķieriem, pirmkārt, mēs norādām ceļu uz OpenSSL dzinēja opensc dzinēju un PKCS#11 bibliotēku. Lai to izdarītu, atveriet cilni "Preferences", lai konfigurētu openssl parametrus:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI.

Aizveram OpenSSL iestatījumu logu un pāriesim pie tīkla iestatīŔanas. Pievienosim jaunu tīklu, iestatījumu panelī noklikŔķinot uz pogas Pievienot... un ievadiet tīkla nosaukumu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Pēc tam Å”is tÄ«kls bÅ«s pieejams iestatÄ«jumu panelÄ«. Veiciet dubultklikŔķi uz jaunā tÄ«kla, lai to konfigurētu. Pirmajā cilnē jums jāievada IPsec iestatÄ«jumi. IestatÄ«sim servera adresi un publisko atslēgu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Pēc tam dodieties uz cilni PPP iestatījumi un norādiet tur lietotājvārdu, ar kuru mēs vēlamies piekļūt tīklam:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Pēc tam atveriet cilni Rekvizīti un norādiet ceļu uz atslēgu, klienta sertifikātu un CA:
Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Aizveram Å”o cilni un veiksim galÄ«gos iestatÄ«jumus; lai to izdarÄ«tu, atveriet cilni "IP iestatÄ«jumi" un atzÄ«mējiet izvēles rÅ«tiņu blakus opcijai "Automātiski iegÅ«t DNS servera adresi":

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI
Šī opcija ļaus klientam saņemt personīgo IP adresi tīklā no servera.

Pēc visu iestatÄ«jumu veikÅ”anas aizveriet visas cilnes un restartējiet klientu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

TÄ«kla savienojums

Pēc iestatÄ«jumu veikÅ”anas varat izveidot savienojumu ar tÄ«klu. Lai to izdarÄ«tu, atveriet sÄ«klietotnes cilni un atlasiet tÄ«klu, ar kuru mēs vēlamies izveidot savienojumu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Savienojuma izveides laikā klients lūgs ievadīt Rutoken PIN kodu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Ja statusa joslā tiek parādÄ«ts paziņojums, ka savienojums ir veiksmÄ«gi izveidots, tas nozÄ«mē, ka iestatÄ«Å”ana bija veiksmÄ«ga:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Pretējā gadījumā ir vērts noskaidrot, kāpēc savienojums netika izveidots. Lai to izdarītu, jums vajadzētu apskatīt programmas žurnālu, sīklietotnē atlasot komandu "Savienojuma informācija":

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Windows klienta iestatīŔana

Klienta iestatÄ«Å”ana operētājsistēmā Windows ir daudz vienkārŔāka nekā Linux, jo... Visa nepiecieÅ”amā programmatÅ«ra jau ir iebÅ«vēta sistēmā.

Sistēmas iestatÄ«Å”ana

Mēs instalēsim visus nepiecieÅ”amos draiverus darbam ar Rutokens, lejupielādējot tos no no. vietne.

Saknes sertifikāta importÄ“Å”ana autentifikācijai

Lejupielādējiet servera saknes sertifikātu un instalējiet to sistēmā. Lai to izdarÄ«tu, atveriet to un atvērtajā logā atlasiet opciju ā€œInstalēt sertifikātuā€:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Atvērtajā logā atlasiet sertifikāta instalÄ“Å”anu vietējam lietotājam. Ja vēlaties, lai sertifikāts bÅ«tu pieejams visiem datora lietotājiem, izvēlieties sertifikātu instalēt lokālajā datorā:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Instalēsim sertifikātu CA uzticamajā saknes sertifikātu krātuvē:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Pēc visām Ŕīm darbÄ«bām mēs piekrÄ«tam visiem turpmākajiem punktiem. Sistēma tagad ir konfigurēta.

VPN savienojuma iestatīŔana

Lai iestatītu VPN savienojumu, dodieties uz vadības paneli un atlasiet iespēju izveidot jaunu savienojumu.

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

UznirstoŔajā logā atlasiet opciju, lai izveidotu savienojumu, lai izveidotu savienojumu ar savu darba vietu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Nākamajā logā atlasiet VPN savienojumu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

un ievadiet VPN savienojuma informāciju, kā arī norādiet iespēju izmantot viedkarti:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

IestatÄ«Å”ana vēl nav pabeigta. Atliek tikai norādÄ«t IPsec protokola koplietoto atslēgu; lai to izdarÄ«tu, dodieties uz cilni ā€œTÄ«kla savienojuma iestatÄ«jumiā€ un pēc tam uz cilni ā€œÅ Ä« savienojuma rekvizÄ«tiā€.

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Atvērtajā logā dodieties uz cilni ā€œDroŔībaā€, kā tÄ«kla veidu norādiet ā€œL2TP/IPsec tÄ«klsā€ un atlasiet ā€œPapildu iestatÄ«jumiā€:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Atvērtajā logā norādiet koplietoto IPsec atslēgu:
Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Pieslēgums

Pēc iestatÄ«Å”anas varat mēģināt izveidot savienojumu ar tÄ«klu:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Savienojuma laikā mums būs jāievada marķiera PIN kods:

Autentifikācijas iestatīŔana L2TP tīklā, izmantojot Rutoken EDS 2.0 un Rutoken PKI

Esam izveidojuŔi droŔu VPN tīklu un pārliecinājuŔies, ka tas nav grūti.

Pateicības

Vēlos vēlreiz pateikties mÅ«su kolēģiem Vasilijam Å okovam un Aleksandram Smirnovam par kopÄ«gi paveikto darbu, lai vienkārÅ”otu VPN savienojumu izveidi Linux klientiem.

Avots: www.habr.com

Pievieno komentāru