ProHoster > ΠΠ»ΠΎΠ³ > Pagdumala > Pag-set up sa authentication sa L2TP network gamit ang Rutoken EDS 2.0 ug Rutoken PKI
Pag-set up sa authentication sa L2TP network gamit ang Rutoken EDS 2.0 ug Rutoken PKI
Mga isyu
Bag-o lang, daghan ang wala mahibal-an kung unsa ang trabaho gikan sa balay. Ang pandemya mahinuklugong nagbag-o sa kahimtang sa kalibutan; ang tanan nagsugod sa pagpahiangay sa karon nga mga kahimtang, nga mao ang kamatuoran nga kini nahimong dili luwas nga mobiya sa balay. Ug daghan ang kinahanglan nga dali nga mag-organisar sa trabaho gikan sa balay alang sa ilang mga empleyado.
Bisan pa, ang kakulang sa usa ka takos nga pamaagi sa pagpili sa mga solusyon alang sa hilit nga trabaho mahimong mosangput sa dili mabag-o nga mga pagkawala. Ang mga password sa user mahimong kawaton, ug kini magtugot sa usa ka tig-atake nga dili mapugngan nga makonektar sa network ug mga kapanguhaan sa IT sa negosyo.
Mao nga ang panginahanglan sa paghimo sa kasaligan nga mga network sa VPN sa korporasyon miuswag karon. Sultihan ko ikaw bahin sa kasaligan, luwas ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ sa paggamit sa usa ka VPN network.
Naglihok kini sumala sa laraw sa IPsec/L2TP, nga naggamit sa dili makuha nga mga yawe ug mga sertipiko nga gitipigan sa mga token aron mapamatud-an ang mga kliyente, ug nagpadala usab mga datos sa network sa naka-encrypt nga porma.
Usa ka server nga adunay CentOS 7 (address: centos.vpn.server.ad) ug usa ka kliyente nga adunay Ubuntu 20.04, ingon man usa ka kliyente nga adunay Windows 10, gigamit ingon nga demonstration stands for configuration.
Deskripsyon sa Sistema
Ang VPN molihok sumala sa laraw sa IPSec + L2TP + PPP. Protokol Point-to-Point Protocol (PPP) naglihok sa data link layer sa OSI nga modelo ug naghatag sa user authentication ug encryption sa gipadala nga data. Ang datos niini gisulod sa datos sa L2TP protocol, nga sa pagkatinuod nagsiguro sa paghimo sa usa ka koneksyon sa VPN network, apan wala maghatag ug authentication ug encryption.
Ang datos sa L2TP gi-encapsulated sa IPSec, nga naghatag usab og authentication ug encryption, apan dili sama sa PPP, ang authentication ug encryption mahitabo sa lebel sa device, dili sa user level.
Kini nga bahin nagtugot kanimo sa pag-authenticate sa mga tiggamit lamang gikan sa pipila ka mga device. Atong gamiton ang IPSec protocol ingon nga kini ug tugotan ang user authentication gikan sa bisan unsang device.
Ang pag-authenticate sa user gamit ang mga smart card ipahigayon sa PPP protocol level gamit ang EAP-TLS protocol.
Ang mas detalyado nga impormasyon bahin sa operasyon niini nga sirkito makita sa kini nga artikulo.
Ngano nga kini nga laraw nakab-ot ang tanan nga tulo nga mga kinahanglanon sa usa ka maayo nga network sa VPN?
Ang pagkakasaligan niini nga laraw gisulayan sa panahon. Gigamit kini sa pag-deploy sa mga network sa VPN sukad sa 2000.
Ang luwas nga pag-authenticate sa tiggamit gihatag sa protocol sa PPP. Standard nga pagpatuman sa PPP protocol nga gimugna ni Paul Mackerras wala maghatag ug igong lebel sa seguridad, tungod kay Alang sa panghimatuud, sa labing kaayo nga kaso, gigamit ang pag-authenticate gamit ang login ug password. Kitang tanan nahibalo nga ang usa ka login password mahimong espiya, matag-an o kawaton. Apan, sa dugay nga panahon karon ang developer Jan Just Keijser Π² pagpatuman niini Gitul-id niini nga protocol kini nga isyu ug gidugang ang abilidad sa paggamit sa mga protocol base sa asymmetric encryption, sama sa EAP-TLS, para sa authentication. Dugang pa, gidugang niya ang abilidad sa paggamit sa mga smart card alang sa pag-authentication, nga naghimo sa sistema nga mas luwas.
Sa pagkakaron, ang mga aktibong negosasyon nagpadayon aron sa paghiusa niining duha ka mga proyekto ug makasiguro ka nga sa madugay o sa madali kini mahitabo gihapon. Pananglitan, ang usa ka patched nga bersyon sa PPP naa sa mga repositoryo sa Fedora sa dugay nga panahon, gamit ang luwas nga mga protocol alang sa pag-authenticate.
Hangtud bag-o lang, kini nga network magamit ra sa mga tiggamit sa Windows, apan ang among mga kauban gikan sa Moscow State University Vasily Shokov ug Alexander Smirnov nakit-an daan nga proyekto sa kliyente sa L2TP alang sa Linux ug giusab kini. Mag-uban, giayo namon ang daghang mga bug ug mga kakulangan sa trabaho sa kliyente, gipasimple ang pag-install ug pag-configure sa sistema, bisan kung nagtukod gikan sa gigikanan. Ang labing hinungdanon kanila mao ang:
Giayo nga mga problema sa pagpahiangay sa daan nga kliyente nga adunay interface sa mga bag-ong bersyon sa openssl ug qt.
Gikuha ang pppd gikan sa pagpasa sa token PIN pinaagi sa temporaryo nga file.
Giayo ang sayup nga paglansad sa programa sa paghangyo sa password pinaagi sa graphical interface. Gihimo kini pinaagi sa pag-instalar sa husto nga palibot alang sa serbisyo sa xl2tpd.
Ang pagtukod sa L2tpIpsecVpn daemon gipatuman karon kauban ang pagtukod sa kliyente mismo, nga nagpasimple sa proseso sa pagtukod ug pag-configure.
Alang sa kasayon ββsa pag-uswag, ang sistema sa Azure Pipelines konektado aron sulayan ang pagkahusto sa pagtukod.
Gidugang ang abilidad sa pagpugos sa pag-downgrade seguridad sa konteksto sa openssl. Mapuslanon kini alang sa husto nga pagsuporta sa bag-ong mga operating system diin ang standard nga lebel sa seguridad gitakda sa 2, nga adunay mga network sa VPN nga naggamit mga sertipiko nga wala makaabut sa mga kinahanglanon sa seguridad sa kini nga lebel. Kini nga opsyon mahimong mapuslanon alang sa pagtrabaho uban sa kasamtangan nga daan nga VPN network.
Gisuportahan sa kini nga kliyente ang paggamit sa mga smart card alang sa pag-authenticate, ug gitago usab kutob sa mahimo ang tanan nga mga kalisud ug kalisud sa pag-set up niini nga laraw sa ilawom sa Linux, nga naghimo sa pag-setup sa kliyente nga yano ug paspas kutob sa mahimo.
Siyempre, alang sa usa ka kombenyente nga koneksyon tali sa PPP ug sa kliyente nga GUI, kini dili mahimo nga walay dugang nga mga pag-edit sa matag usa sa mga proyekto, apan bisan pa niana sila gipamubu ug gipakunhod ngadto sa usa ka minimum:
Giayo sayop sa han-ay sa pagkarga sa configuration ug pagsugod sa openssl konteksto. Kini nga sayop wala magtugot kanamo sa pag-load sa bisan unsa gikan sa lokal nga /etc/ppp/openssl.cnf configuration file gawas sa impormasyon mahitungod sa openssl nga mga makina alang sa pagtrabaho uban sa mga smart card, nga usa ka seryoso nga kahasol kon, pananglitan, dugang sa impormasyon mahitungod sa mga makina, gusto namong magbutang ug laing butang. Pananglitan, ayohon ang lebel sa seguridad kung maghimo usa ka koneksyon.
Karon mahimo ka magsugod sa pag-set up.
Pag-tune sa Server
Atong i-install ang tanan nga gikinahanglan nga mga pakete.
Pag-instalar sa strongswan (IPsec)
Una sa tanan, atong i-configure ang firewall para sa operasyon sa ipsec
Human sa pag-instalar, kinahanglan nimo nga i-configure ang strongswan (usa sa mga pagpatuman sa IPSec). Aron mahimo kini, usba ang file /etc/strongswan/ipsec.conf :
Magbutang usab kami usa ka sagad nga password sa pag-login. Ang gipaambit nga password kinahanglan mahibal-an sa tanan nga mga partisipante sa network alang sa pag-authenticate. Kini nga pamaagi klaro nga dili kasaligan, tungod kay kini nga password dali nga mahibal-an sa mga indibidwal nga dili namo gusto nga hatagan ug access sa network.
Bisan pa, bisan kini nga kamatuoran dili makaapekto sa seguridad sa network, tungod kay Ang sukaranan nga pag-encrypt sa datos ug pag-authenticate sa gumagamit gihimo sa protocol sa PPP. Apan sa patas, angay nga matikdan nga ang strongswan nagsuporta sa mas luwas nga mga teknolohiya alang sa pag-authenticate, pananglitan, gamit ang pribadong mga yawe. Ang Strongswan usab adunay katakus sa paghatag og panghimatuud gamit ang mga smart card, apan hangtod karon limitado ra ang gisuportahan nga mga aparato ug busa ang pag-authenticate gamit ang mga token sa Rutoken ug mga smart card lisud gihapon. Atong ibutang ang usa ka kinatibuk-ang password pinaagi sa file /etc/strongswan/ipsec.secrets:
Sa ingon, nahuman na kami sa sukaranan nga pag-setup sa server. Ang nahabilin sa configuration sa server naglakip sa pagdugang sa bag-ong mga kliyente.
Pagdugang og bag-ong kliyente
Aron makadugang ug bag-ong kliyente sa network, kinahanglan nimong idugang ang sertipiko niini sa lista sa mga kasaligan alang niini nga kliyente.
Kung gusto sa usa ka user nga mahimong miyembro sa usa ka network sa VPN, maghimo siya usa ka yawe nga pares ug usa ka aplikasyon sa sertipiko alang niini nga kliyente. Kung ang tiggamit kasaligan, nan kini nga aplikasyon mahimong mapirmahan, ug ang sangputanan nga sertipiko mahimong isulat sa direktoryo sa mga sertipiko:
PAHINUMDOM
Aron malikayan ang kalibog, mas maayo nga: Common Name, certificate file name ug user name mahimong talagsaon.
Angayan usab nga susihon nga ang ngalan sa user nga among gidugang dili makita bisan asa sa ubang mga file sa pag-authentication, kung dili adunay mga problema sa paagi sa pag-authenticate sa user.
Ang parehas nga sertipiko kinahanglan ipadala balik sa tiggamit.
Paghimo usa ka yawe nga pares ug sertipiko
Alang sa malampuson nga pag-authenticate, ang kliyente kinahanglan:
paghimo og usa ka yawe nga pares;
adunay CA root certificate;
adunay usa ka sertipiko alang sa imong yawe nga pares nga gipirmahan sa gamut nga CA.
alang sa kliyente sa Linux
Una, maghimo kita usa ka yawe nga pares sa token ug maghimo usa ka aplikasyon alang sa sertipiko:
Ipadala ang client.req nga aplikasyon nga makita sa CA. Kung makadawat ka usa ka sertipiko alang sa imong pares sa yawe, isulat kini sa usa ka timaan nga adunay parehas nga id sa yawe:
alang sa mga kliyente sa Windows ug Linux (mas unibersal nga pamaagi)
Kini nga pamaagi mas unibersal, tungod kay nagtugot kanimo sa pagmugna og usa ka yawe ug sertipiko nga malampuson nga mailhan sa mga tiggamit sa Windows ug Linux, apan nagkinahanglan kini og usa ka makina sa Windows aron ipatuman ang yawe nga pamaagi sa paghimo.
Sa dili pa makahimo og mga hangyo ug mag-import og mga sertipiko, kinahanglan nimong idugang ang root certificate sa VPN network ngadto sa listahan sa mga kasaligan. Aron mahimo kini, ablihi kini ug sa bintana nga magbukas, pilia ang kapilian nga "I-install ang sertipiko":
Sa bintana nga nagbukas, pilia ang pag-instalar sa usa ka sertipiko alang sa lokal nga tiggamit:
Atong i-install ang certificate sa kasaligang root certificate store sa CA:
Pagkahuman sa tanan nga kini nga mga aksyon, miuyon kami sa tanan nga dugang nga mga punto. Ang sistema karon gi-configure.
Maghimo kita og file cert.tmp nga adunay mosunod nga sulod:
Pagkahuman niini, maghimo kami usa ka yawe nga pares ug maghimo usa ka aplikasyon alang sa sertipiko. Aron mahimo kini, ablihi ang powershell ug isulod ang mosunod nga sugo:
certreq.exe -new -pin $PIN .cert.tmp .client.req
Ipadala ang gibuhat nga aplikasyon client.req sa imong CA ug hulata ang client.pem certificate nga madawat. Mahimo kining isulat sa usa ka token ug idugang sa Windows certificate store gamit ang mosunod nga sugo:
certreq.exe -accept .client.pem
Angay nga matikdan nga ang susamang mga aksyon mahimong kopyahon gamit ang graphical interface sa mmc nga programa, apan kini nga pamaagi mas makagugol sa panahon ug dili kaayo maprograma.
Pag-set up sa kliyente sa Ubuntu
PAHINUMDOM
Ang pag-set up sa usa ka kliyente sa Linux sa pagkakaron nag-usik sa oras, tungod kay ... nanginahanglan sa paghimo og bulag nga mga programa gikan sa gigikanan. Paningkamutan namon nga masiguro nga ang tanan nga mga pagbag-o gilakip sa opisyal nga mga repository sa umaabot nga umaabot.
Aron masiguro ang koneksyon sa lebel sa IPSec sa server, gigamit ang strongswan package ug ang xl2tp daemon. Aron mapasayon ββang pagkonektar sa network gamit ang mga smart card, atong gamiton ang l2tp-ipsec-vpn package, nga naghatag ug graphical shell para sa gipasimple nga pag-setup sa koneksyon.
Magsugod kita sa pag-assemble sa mga elemento sa lakang, apan sa wala pa kana i-install ang tanan nga kinahanglan nga mga pakete aron direkta nga molihok ang VPN:
sudo apt-get install xl2tpd strongswan libp11-3
Pag-instalar sa software alang sa pagtrabaho sa mga token
I-install ang pinakabag-o nga librarya sa librtpkcs11ecp.so gikan sa site, usab mga librarya alang sa pagtrabaho sa mga smart card:
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
Pag-instalar sa L2tpIpsecVpn nga kliyente
Sa pagkakaron, ang kliyente kinahanglan usab nga ma-compile gikan sa source code. Gihimo kini gamit ang mosunod nga han-ay sa mga sugo:
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
Pag-set up sa L2tpIpsecVpn nga kliyente
Ilunsad ang na-install nga kliyente:
Pagkahuman sa paglansad, ang L2tpIpsecVPN applet kinahanglan magbukas. Pag-right-click niini ug i-configure ang koneksyon:
Aron magtrabaho uban ang mga token, una sa tanan, among gipakita ang agianan padulong sa opensc engine sa OpenSSL engine ug sa PKCS#11 library. Aron mahimo kini, ablihi ang tab nga "Preferences" aron ma-configure ang mga parameter sa openssl:
.
Atong isira ang bintana sa mga setting sa OpenSSL ug magpadayon sa pag-set up sa network. Magdugang ta og bag-ong network pinaagi sa pag-klik sa Add... button sa settings panel ug isulod ang network name:
Pagkahuman niini, kini nga network mahimong magamit sa panel sa mga setting. Doble nga pag-right-click sa bag-ong network aron ma-configure kini. Sa una nga tab kinahanglan nimo nga maghimo mga setting sa IPsec. Atong ibutang ang adres sa server ug yawe sa publiko:
Pagkahuman niini, adto sa tab nga mga setting sa PPP ug ipakita didto ang ngalan sa gumagamit diin gusto namon ma-access ang network:
Pagkahuman niini, ablihi ang tab nga Properties ug ipiho ang agianan sa yawe, sertipiko sa kliyente ug CA:
Atong tapuson kini nga tab ug buhaton ang katapusang mga setting; aron mahimo kini, ablihi ang tab nga "Mga setting sa IP" ug susiha ang kahon tapad sa kapilian nga "Pagkuha og DNS server address awtomatikong":
Kini nga opsyon magtugot sa kliyente nga makadawat og personal nga IP address sulod sa network gikan sa server.
Pagkahuman sa tanan nga mga setting, isira ang tanan nga mga tab ug i-restart ang kliyente:
Pagkonektar sa network
Pagkahuman sa mga setting, mahimo ka makonektar sa network. Aron mahimo kini, ablihi ang applet tab ug pilia ang network nga gusto namon nga ikonektar:
Atol sa proseso sa pagtukod sa koneksyon, ang kliyente mohangyo kanamo sa pagsulod sa Rutoken PIN code:
Kung ang usa ka pahibalo makita sa status bar nga ang koneksyon malampuson nga natukod, kini nagpasabut nga ang setup malampuson:
Kung dili, angay nga mahibal-an kung ngano nga wala matukod ang koneksyon. Aron mahimo kini, kinahanglan nimong tan-awon ang log sa programa pinaagi sa pagpili sa "Impormasyon sa koneksyon" nga mando sa applet:
Pag-set up sa kliyente sa Windows
Ang pag-set up og kliyente sa Windows mas sayon ββkay sa Linux, tungod kay... Ang tanan nga gikinahanglan nga software natukod na sa sistema.
Setup sa Sistema
Among i-install ang tanan nga gikinahanglan nga mga drayber alang sa pagtrabaho uban sa Rutokens pinaagi sa pag-download niini gikan sa sa. site.
Pag-import og root certificate alang sa authentication
I-download ang server root certificate ug i-install kini sa sistema. Aron mahimo kini, ablihi kini ug sa bintana nga magbukas, pilia ang kapilian nga "I-install ang sertipiko":
Sa bintana nga nagbukas, pilia ang pag-install sa usa ka sertipiko alang sa lokal nga tiggamit. Kung gusto nimo nga ang sertipiko magamit sa tanan nga tiggamit sa kompyuter, nan kinahanglan nimo nga pilion nga i-install ang sertipiko sa lokal nga kompyuter:
Atong i-install ang certificate sa kasaligang root certificate store sa CA:
Pagkahuman sa tanan nga kini nga mga aksyon, miuyon kami sa tanan nga dugang nga mga punto. Ang sistema karon gi-configure.
Pag-set up sa koneksyon sa VPN
Aron ma-set up ang koneksyon sa VPN, adto sa control panel ug pilia ang opsyon sa paghimo og bag-ong koneksyon.
Sa pop-up nga bintana, pilia ang opsyon sa paghimo og koneksyon aron makonektar sa imong trabahoan:
Sa sunod nga bintana, pagpili og koneksyon sa VPN:
ug isulod ang mga detalye sa koneksyon sa VPN, ug ipiho usab ang kapilian sa paggamit sa usa ka smart card:
Dili pa kompleto ang setup. Ang nahabilin mao ang pagtino sa gipaambit nga yawe alang sa IPsec protocol; aron mahimo kini, adto sa tab nga "Mga setting sa koneksyon sa network" ug dayon adto sa tab nga "Properties alang niini nga koneksyon":
Sa bintana nga nagbukas, adto sa tab nga "Seguridad", ipiho ang "L2TP/IPsec Network" ingon nga tipo sa network ug pilia ang "Advanced Settings":
Sa bintana nga nagbukas, ipiho ang gipaambit nga yawe sa IPsec:
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Human makompleto ang setup, mahimo nimong sulayan ang pagkonektar sa network:
Atol sa proseso sa koneksyon, kinahanglan nga mosulod kami sa token PIN code:
Nagbutang kami usa ka luwas nga network sa VPN ug gisiguro nga dili kini lisud.
Mga Pasalamat
Gusto nakong pasalamatan pag-usab ang among mga kauban nga si Vasily Shokov ug Alexander Smirnov alang sa trabaho nga ilang nahimo aron mapasimple ang paghimo sa mga koneksyon sa VPN alang sa mga kliyente sa Linux.