Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

సమస్యలు

ఇటీవల, చాలా మందికి ఇంటి నుండి పని చేయడం ఎలా ఉంటుందో తెలియదు. మహమ్మారి ప్రపంచంలోని పరిస్థితిని నాటకీయంగా మార్చింది; ప్రతి ఒక్కరూ ప్రస్తుత పరిస్థితులకు అనుగుణంగా మారడం ప్రారంభించారు, అంటే ఇంటిని విడిచిపెట్టడం సురక్షితం కాదు. మరియు చాలామంది తమ ఉద్యోగుల కోసం ఇంటి నుండి పనిని త్వరగా నిర్వహించవలసి వచ్చింది.

అయినప్పటికీ, రిమోట్ పని కోసం పరిష్కారాలను ఎంచుకోవడానికి సమర్థవంతమైన విధానం లేకపోవడం కోలుకోలేని నష్టాలకు దారి తీస్తుంది. వినియోగదారు పాస్‌వర్డ్‌లు దొంగిలించబడవచ్చు మరియు ఇది దాడి చేసే వ్యక్తిని ఎంటర్‌ప్రైజ్ యొక్క నెట్‌వర్క్ మరియు IT వనరులకు అనియంత్రితంగా కనెక్ట్ చేయడానికి అనుమతిస్తుంది.

అందుకే నమ్మకమైన కార్పొరేట్ VPN నెట్‌వర్క్‌లను సృష్టించాల్సిన అవసరం ఇప్పుడు పెరిగింది. గురించి నేను మీకు చెప్తాను నమ్మదగినది, సురక్షితంగా и సాధారణ VPN నెట్‌వర్క్‌ని ఉపయోగించడంలో.

ఇది IPsec/L2TP పథకం ప్రకారం పని చేస్తుంది, ఇది క్లయింట్‌లను ప్రామాణీకరించడానికి టోకెన్‌లలో నిల్వ చేయబడిన నాన్-రిట్రీవబుల్ కీలు మరియు సర్టిఫికేట్‌లను ఉపయోగిస్తుంది మరియు ఎన్‌క్రిప్టెడ్ రూపంలో నెట్‌వర్క్ ద్వారా డేటాను కూడా ప్రసారం చేస్తుంది.

CentOS 7 (చిరునామా: centos.vpn.server.ad) ఉన్న సర్వర్ మరియు ఉబుంటు 20.04తో క్లయింట్, అలాగే Windows 10తో క్లయింట్, కాన్ఫిగరేషన్‌కు ప్రదర్శనగా ఉపయోగించబడ్డాయి.

సిస్టమ్ వివరణ

VPN IPSec + L2TP + PPP పథకం ప్రకారం పని చేస్తుంది. ప్రోటోకాల్ పాయింట్-టు-పాయింట్ ప్రోటోకాల్ (పిపిపి) OSI మోడల్ యొక్క డేటా లింక్ లేయర్ వద్ద పనిచేస్తుంది మరియు ప్రసారం చేయబడిన డేటా యొక్క వినియోగదారు ప్రమాణీకరణ మరియు గుప్తీకరణను అందిస్తుంది. దీని డేటా L2TP ప్రోటోకాల్ యొక్క డేటాలో కప్పబడి ఉంటుంది, ఇది వాస్తవానికి VPN నెట్‌వర్క్‌లో కనెక్షన్ యొక్క సృష్టిని నిర్ధారిస్తుంది, కానీ ప్రమాణీకరణ మరియు గుప్తీకరణను అందించదు.

L2TP డేటా IPSecలో ఎన్‌క్యాప్సులేట్ చేయబడింది, ఇది ప్రామాణీకరణ మరియు గుప్తీకరణను కూడా అందిస్తుంది, అయితే PPP వలె కాకుండా, ప్రమాణీకరణ మరియు గుప్తీకరణ వినియోగదారు స్థాయిలో కాకుండా పరికర స్థాయిలో జరుగుతుంది.

ఈ ఫీచర్ నిర్దిష్ట పరికరాల నుండి మాత్రమే వినియోగదారులను ప్రామాణీకరించడానికి మిమ్మల్ని అనుమతిస్తుంది. మేము IPSec ప్రోటోకాల్‌ని అలాగే ఉపయోగిస్తాము మరియు ఏదైనా పరికరం నుండి వినియోగదారు ప్రమాణీకరణను అనుమతిస్తాము.

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

స్మార్ట్ కార్డ్‌లను ఉపయోగించి వినియోగదారు ప్రామాణీకరణ EAP-TLS ప్రోటోకాల్‌ను ఉపయోగించి PPP ప్రోటోకాల్ స్థాయిలో నిర్వహించబడుతుంది.

ఈ సర్క్యూట్ యొక్క ఆపరేషన్ గురించి మరింత వివరణాత్మక సమాచారాన్ని చూడవచ్చు ఈ వ్యాసం.

ఈ పథకం మంచి VPN నెట్‌వర్క్ యొక్క మూడు అవసరాలను ఎందుకు తీరుస్తుంది?

  1. ఈ పథకం యొక్క విశ్వసనీయత కాలానుగుణంగా పరీక్షించబడింది. ఇది 2000 నుండి VPN నెట్‌వర్క్‌లను అమలు చేయడానికి ఉపయోగించబడుతోంది.
  2. సురక్షిత వినియోగదారు ప్రమాణీకరణ PPP ప్రోటోకాల్ ద్వారా అందించబడుతుంది. పాల్ మాకెరాస్ అభివృద్ధి చేసిన PPP ప్రోటోకాల్ యొక్క ప్రామాణిక అమలు తగినంత స్థాయి భద్రతను అందించదు, ఎందుకంటే ధృవీకరణ కోసం, ఉత్తమ సందర్భంలో, లాగిన్ మరియు పాస్‌వర్డ్ ఉపయోగించి ప్రమాణీకరణ ఉపయోగించబడుతుంది. లాగిన్ పాస్‌వర్డ్‌ని గూఢచర్యం చేయవచ్చు, ఊహించవచ్చు లేదా దొంగిలించవచ్చు అని మనందరికీ తెలుసు. అయితే, చాలా కాలంగా ఇప్పుడు డెవలపర్ జాన్ జస్ట్ కెయిజర్ в దాని అమలు ఈ ప్రోటోకాల్ ఈ సమస్యను సరిదిద్దింది మరియు ప్రామాణీకరణ కోసం EAP-TLS వంటి అసమాన ఎన్‌క్రిప్షన్ ఆధారంగా ప్రోటోకాల్‌లను ఉపయోగించగల సామర్థ్యాన్ని జోడించింది. అదనంగా, అతను ప్రామాణీకరణ కోసం స్మార్ట్ కార్డ్‌లను ఉపయోగించగల సామర్థ్యాన్ని జోడించాడు, ఇది సిస్టమ్‌ను మరింత సురక్షితంగా చేసింది.
    ప్రస్తుతం, ఈ రెండు ప్రాజెక్ట్‌లను విలీనం చేయడానికి చురుకైన చర్చలు జరుగుతున్నాయి మరియు ఇది ఏమైనప్పటికీ త్వరలో లేదా తరువాత జరుగుతుందని మీరు ఖచ్చితంగా అనుకోవచ్చు. ఉదాహరణకు, ప్రామాణీకరణ కోసం సురక్షిత ప్రోటోకాల్‌లను ఉపయోగించి, PPP యొక్క ప్యాచ్డ్ వెర్షన్ చాలా కాలంగా Fedora రిపోజిటరీలలో ఉంది.
  3. ఇటీవలి వరకు, ఈ నెట్‌వర్క్‌ను విండోస్ వినియోగదారులు మాత్రమే ఉపయోగించగలరు, కానీ మాస్కో స్టేట్ యూనివర్శిటీ వాసిలీ షోకోవ్ మరియు అలెగ్జాండర్ స్మిర్నోవ్ నుండి మా సహచరులు కనుగొన్నారు Linux కోసం పాత L2TP క్లయింట్ ప్రాజెక్ట్ మరియు దానిని సవరించారు. కలిసి, మేము క్లయింట్ యొక్క పనిలో అనేక బగ్‌లు మరియు లోపాలను పరిష్కరించాము, మూలం నుండి నిర్మించేటప్పుడు కూడా సిస్టమ్ యొక్క ఇన్‌స్టాలేషన్ మరియు కాన్ఫిగరేషన్‌ను సరళీకృతం చేసాము. వాటిలో ముఖ్యమైనవి:
    • openssl మరియు qt యొక్క కొత్త సంస్కరణల ఇంటర్‌ఫేస్‌తో పాత క్లయింట్ యొక్క స్థిర అనుకూలత సమస్యలు.
    • తాత్కాలిక ఫైల్ ద్వారా టోకెన్ పిన్‌ను పాస్ చేయడం నుండి pppd తీసివేయబడింది.
    • గ్రాఫికల్ ఇంటర్‌ఫేస్ ద్వారా పాస్‌వర్డ్ అభ్యర్థన ప్రోగ్రామ్ యొక్క సరికాని లాంచ్ పరిష్కరించబడింది. xl2tpd సేవ కోసం సరైన వాతావరణాన్ని ఇన్‌స్టాల్ చేయడం ద్వారా ఇది జరిగింది.
    • L2tpIpsecVpn డెమోన్ యొక్క బిల్డ్ ఇప్పుడు క్లయింట్ యొక్క బిల్డ్‌తో కలిసి నిర్వహించబడుతుంది, ఇది బిల్డ్ మరియు కాన్ఫిగరేషన్ ప్రక్రియను సులభతరం చేస్తుంది.
    • అభివృద్ధి సౌలభ్యం కోసం, బిల్డ్ యొక్క ఖచ్చితత్వాన్ని పరీక్షించడానికి అజూర్ పైప్‌లైన్స్ సిస్టమ్ కనెక్ట్ చేయబడింది.
    • బలవంతంగా డౌన్‌గ్రేడ్ చేసే సామర్థ్యాన్ని జోడించారు భద్రతా స్థాయి openssl సందర్భంలో. ఈ స్థాయి భద్రతా అవసరాలకు అనుగుణంగా లేని సర్టిఫికేట్‌లను ఉపయోగించే VPN నెట్‌వర్క్‌లతో ప్రామాణిక భద్రతా స్థాయి 2కి సెట్ చేయబడిన కొత్త ఆపరేటింగ్ సిస్టమ్‌లకు సరిగ్గా మద్దతు ఇవ్వడానికి ఇది ఉపయోగపడుతుంది. ఇప్పటికే ఉన్న పాత VPN నెట్‌వర్క్‌లతో పని చేయడానికి ఈ ఎంపిక ఉపయోగపడుతుంది.

సరిదిద్దబడిన సంస్కరణను కనుగొనవచ్చు ఈ రిపోజిటరీ.

ఈ క్లయింట్ ప్రామాణీకరణ కోసం స్మార్ట్ కార్డ్‌ల వినియోగానికి మద్దతు ఇస్తుంది మరియు Linux కింద ఈ స్కీమ్‌ని సెటప్ చేయడం వల్ల కలిగే అన్ని కష్టాలు మరియు కష్టాలను వీలైనంత వరకు దాచిపెడుతుంది, క్లయింట్ సెటప్‌ను వీలైనంత సులభం మరియు వేగంగా చేస్తుంది.

వాస్తవానికి, PPP మరియు క్లయింట్ GUI మధ్య అనుకూలమైన కనెక్షన్ కోసం, ప్రతి ప్రాజెక్ట్‌లకు అదనపు సవరణలు లేకుండా ఇది సాధ్యం కాదు, అయినప్పటికీ అవి కనిష్టీకరించబడ్డాయి మరియు కనిష్టంగా తగ్గించబడ్డాయి:

ఇప్పుడు మీరు సెటప్ చేయడం ప్రారంభించవచ్చు.

సర్వర్ ట్యూనింగ్

అవసరమైన అన్ని ప్యాకేజీలను ఇన్‌స్టాల్ చేద్దాం.

స్ట్రాంగ్‌స్వాన్ (IPsec)ని ఇన్‌స్టాల్ చేస్తోంది

ముందుగా, ipsec ఆపరేషన్ కోసం ఫైర్‌వాల్‌ను కాన్ఫిగర్ చేద్దాం

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

అప్పుడు సంస్థాపన ప్రారంభిద్దాం

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

ఇన్‌స్టాలేషన్ తర్వాత, మీరు స్ట్రాంగ్‌స్వాన్ (IPSec ఇంప్లిమెంటేషన్‌లలో ఒకటి) కాన్ఫిగర్ చేయాలి. దీన్ని చేయడానికి, ఫైల్‌ను సవరించండి /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

మేము సాధారణ లాగిన్ పాస్‌వర్డ్‌ను కూడా సెట్ చేస్తాము. భాగస్వామ్య పాస్‌వర్డ్ తప్పనిసరిగా ప్రమాణీకరణ కోసం నెట్‌వర్క్ భాగస్వాములందరికీ తెలిసి ఉండాలి. ఈ పద్ధతి స్పష్టంగా నమ్మదగనిది, ఎందుకంటే ఈ పాస్‌వర్డ్ మనం నెట్‌వర్క్‌కు యాక్సెస్‌ను అందించకూడదనుకునే వ్యక్తులకు సులభంగా తెలిసిపోతుంది.
అయినప్పటికీ, ఈ వాస్తవం కూడా నెట్వర్క్ యొక్క భద్రతను ప్రభావితం చేయదు, ఎందుకంటే ప్రాథమిక డేటా గుప్తీకరణ మరియు వినియోగదారు ప్రమాణీకరణ PPP ప్రోటోకాల్ ద్వారా నిర్వహించబడుతుంది. కానీ న్యాయంగా, స్ట్రాంగ్‌స్వాన్ ప్రామాణీకరణ కోసం మరింత సురక్షితమైన సాంకేతికతలకు మద్దతు ఇస్తుందని గమనించాలి, ఉదాహరణకు, ప్రైవేట్ కీలను ఉపయోగించడం. Strongswan స్మార్ట్ కార్డ్‌లను ఉపయోగించి ప్రమాణీకరణను అందించే సామర్థ్యాన్ని కూడా కలిగి ఉంది, కానీ ఇప్పటివరకు పరిమిత శ్రేణి పరికరాలకు మాత్రమే మద్దతు ఉంది మరియు అందువల్ల Rutoken టోకెన్‌లు మరియు స్మార్ట్ కార్డ్‌లను ఉపయోగించి ప్రమాణీకరణ ఇప్పటికీ కష్టం. ఫైల్ ద్వారా సాధారణ పాస్‌వర్డ్‌ను సెట్ చేద్దాం /etc/strongswan/ipsec.secrets:

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

స్ట్రాంగ్‌స్వాన్‌ని పునఃప్రారంభిద్దాం:

sudo systemctl enable strongswan
sudo systemctl restart strongswan

xl2tpని ఇన్‌స్టాల్ చేస్తోంది

sudo dnf install xl2tpd

దానిని ఫైల్ ద్వారా కాన్ఫిగర్ చేద్దాం /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

సేవను పునఃప్రారంభిద్దాం:

sudo systemctl enable xl2tpd
sudo systemctl restart xl2tpd

PPP సెటప్

pppd యొక్క తాజా వెర్షన్‌ను ఇన్‌స్టాల్ చేయడం మంచిది. దీన్ని చేయడానికి, కింది ఆదేశాల క్రమాన్ని అమలు చేయండి:

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

ఫైల్‌కి వ్రాయండి /etc/ppp/options.xl2tpd కిందివి (అక్కడ ఏవైనా విలువలు ఉంటే, మీరు వాటిని తొలగించవచ్చు):

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

మేము రూట్ సర్టిఫికేట్ మరియు సర్వర్ సర్టిఫికేట్ జారీ చేస్తాము:

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

అందువలన, మేము ప్రాథమిక సర్వర్ సెటప్‌తో పూర్తి చేసాము. మిగిలిన సర్వర్ కాన్ఫిగరేషన్‌లో కొత్త క్లయింట్‌లను జోడించడం ఉంటుంది.

కొత్త క్లయింట్‌ని జోడిస్తోంది

నెట్‌వర్క్‌కు కొత్త క్లయింట్‌ను జోడించడానికి, మీరు ఈ క్లయింట్ కోసం విశ్వసనీయమైన వాటి జాబితాకు దాని ప్రమాణపత్రాన్ని తప్పనిసరిగా జోడించాలి.

ఒక వినియోగదారు VPN నెట్‌వర్క్‌లో సభ్యులు కావాలనుకుంటే, అతను ఈ క్లయింట్ కోసం ఒక కీ జత మరియు సర్టిఫికేట్ అప్లికేషన్‌ను సృష్టిస్తాడు. వినియోగదారు విశ్వసిస్తే, ఈ అప్లికేషన్‌పై సంతకం చేయవచ్చు మరియు ఫలితంగా సర్టిఫికేట్‌ను సర్టిఫికెట్ల డైరెక్టరీకి వ్రాయవచ్చు:

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

క్లయింట్ పేరు మరియు దాని సర్టిఫికేట్‌తో సరిపోలడానికి /etc/ppp/eaptls-server ఫైల్‌కి ఒక పంక్తిని జోడిద్దాం:

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

గమనిక
గందరగోళాన్ని నివారించడానికి, ఇది ఉత్తమం: సాధారణ పేరు, సర్టిఫికేట్ ఫైల్ పేరు మరియు వినియోగదారు పేరు ప్రత్యేకంగా ఉంటాయి.

మేము జోడించే వినియోగదారు పేరు ఇతర ప్రామాణీకరణ ఫైల్‌లలో ఎక్కడా కనిపించడం లేదని కూడా తనిఖీ చేయడం విలువైనదే, లేకపోతే వినియోగదారు ప్రామాణీకరించబడిన విధానంలో సమస్యలు ఉంటాయి.

అదే సర్టిఫికేట్ తప్పనిసరిగా వినియోగదారుకు తిరిగి పంపబడాలి.

కీ పెయిర్ మరియు సర్టిఫికెట్‌ని రూపొందిస్తోంది

విజయవంతమైన ప్రామాణీకరణ కోసం, క్లయింట్ తప్పక:

  1. కీ జతని రూపొందించండి;
  2. CA రూట్ సర్టిఫికేట్ కలిగి ఉండండి;
  3. రూట్ CA ద్వారా సంతకం చేయబడిన మీ కీ జత కోసం ప్రమాణపత్రాన్ని కలిగి ఉండండి.

Linuxలో క్లయింట్ కోసం

ముందుగా, టోకెన్‌పై కీ పెయిర్‌ని రూపొందించి, సర్టిఫికేట్ కోసం అప్లికేషన్‌ను క్రియేట్ చేద్దాం:

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

CAకి కనిపించే client.req అప్లికేషన్‌ను పంపండి. మీరు మీ కీ పెయిర్ కోసం సర్టిఫికేట్‌ను స్వీకరించిన తర్వాత, దానిని కీ వలె అదే ఐడితో టోకెన్‌కు వ్రాయండి:

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

Windows మరియు Linux క్లయింట్ల కోసం (మరింత సార్వత్రిక పద్ధతి)

ఈ పద్ధతి మరింత సార్వత్రికమైనది, ఎందుకంటే Windows మరియు Linux వినియోగదారులచే విజయవంతంగా గుర్తించబడే ఒక కీ మరియు సర్టిఫికేట్‌ను రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది, అయితే కీ జనరేషన్ విధానాన్ని అమలు చేయడానికి Windows మెషీన్ అవసరం.

అభ్యర్థనలను రూపొందించడానికి మరియు ధృవపత్రాలను దిగుమతి చేయడానికి ముందు, మీరు తప్పనిసరిగా VPN నెట్‌వర్క్ యొక్క రూట్ సర్టిఫికేట్‌ను విశ్వసనీయమైన వాటి జాబితాకు జోడించాలి. దీన్ని చేయడానికి, దాన్ని తెరవండి మరియు తెరుచుకునే విండోలో, "సర్టిఫికేట్ను ఇన్స్టాల్ చేయి" ఎంపికను ఎంచుకోండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

తెరుచుకునే విండోలో, స్థానిక వినియోగదారు కోసం ప్రమాణపత్రాన్ని ఇన్‌స్టాల్ చేయడాన్ని ఎంచుకోండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

CA యొక్క విశ్వసనీయ రూట్ సర్టిఫికేట్ స్టోర్‌లో సర్టిఫికేట్‌ను ఇన్‌స్టాల్ చేద్దాం:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

ఈ అన్ని చర్యల తర్వాత, మేము అన్ని తదుపరి అంశాలతో అంగీకరిస్తాము. సిస్టమ్ ఇప్పుడు కాన్ఫిగర్ చేయబడింది.

కింది కంటెంట్‌తో cert.tmp ఫైల్‌ని క్రియేట్ చేద్దాం:

[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

దీని తర్వాత, మేము ఒక కీ జతని రూపొందిస్తాము మరియు సర్టిఫికేట్ కోసం ఒక అప్లికేషన్‌ను సృష్టిస్తాము. దీన్ని చేయడానికి, పవర్‌షెల్ తెరిచి, కింది ఆదేశాన్ని నమోదు చేయండి:

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

సృష్టించిన అప్లికేషన్ client.reqని మీ CAకి పంపండి మరియు client.pem సర్టిఫికేట్ అందుకోవడానికి వేచి ఉండండి. ఇది క్రింది ఆదేశాన్ని ఉపయోగించి టోకెన్‌కు వ్రాయబడుతుంది మరియు Windows సర్టిఫికేట్ స్టోర్‌కు జోడించబడుతుంది:

certreq.exe -accept .client.pem

mmc ప్రోగ్రామ్ యొక్క గ్రాఫికల్ ఇంటర్‌ఫేస్‌ను ఉపయోగించి ఇలాంటి చర్యలను పునరుత్పత్తి చేయవచ్చని గమనించాలి, అయితే ఈ పద్ధతి ఎక్కువ సమయం తీసుకుంటుంది మరియు తక్కువ ప్రోగ్రామబుల్.

ఉబుంటు క్లయింట్‌ని సెటప్ చేస్తోంది

గమనిక
Linuxలో క్లయింట్‌ని సెటప్ చేయడం ప్రస్తుతం చాలా సమయం తీసుకుంటోంది, ఎందుకంటే... మూలం నుండి ప్రత్యేక ప్రోగ్రామ్‌లను రూపొందించడం అవసరం. సమీప భవిష్యత్తులో అన్ని మార్పులు అధికారిక రిపోజిటరీలలో చేర్చబడ్డాయని నిర్ధారించుకోవడానికి మేము ప్రయత్నిస్తాము.

సర్వర్‌కు IPSec స్థాయిలో కనెక్షన్‌ని నిర్ధారించడానికి, స్ట్రాంగ్‌స్వాన్ ప్యాకేజీ మరియు xl2tp డెమోన్ ఉపయోగించబడతాయి. స్మార్ట్ కార్డ్‌లను ఉపయోగించి నెట్‌వర్క్‌కి కనెక్ట్ చేయడాన్ని సులభతరం చేయడానికి, మేము l2tp-ipsec-vpn ప్యాకేజీని ఉపయోగిస్తాము, ఇది సరళీకృత కనెక్షన్ సెటప్ కోసం గ్రాఫికల్ షెల్‌ను అందిస్తుంది.

దశలవారీగా మూలకాలను సమీకరించడం ప్రారంభిద్దాం, కానీ దీనికి ముందు మేము VPN నేరుగా పని చేయడానికి అవసరమైన అన్ని ప్యాకేజీలను ఇన్‌స్టాల్ చేస్తాము:

sudo apt-get install xl2tpd strongswan libp11-3

టోకెన్‌లతో పని చేయడానికి సాఫ్ట్‌వేర్‌ను ఇన్‌స్టాల్ చేస్తోంది

నుండి తాజా librtpkcs11ecp.so లైబ్రరీని ఇన్‌స్టాల్ చేయండి వెబ్సైట్, స్మార్ట్ కార్డ్‌లతో పని చేయడానికి లైబ్రరీలు కూడా:

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

రూటోకెన్‌ని కనెక్ట్ చేయండి మరియు ఇది సిస్టమ్ ద్వారా గుర్తించబడిందో లేదో తనిఖీ చేయండి:

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

ప్యాచ్డ్ పిపిపిని ఇన్‌స్టాల్ చేస్తోంది

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 క్లయింట్‌ను ఇన్‌స్టాల్ చేస్తోంది

ప్రస్తుతానికి, క్లయింట్ కూడా సోర్స్ కోడ్ నుండి కంపైల్ చేయబడాలి. కింది వరుస ఆదేశాలను ఉపయోగించి ఇది జరుగుతుంది:

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 క్లయింట్‌ని సెటప్ చేస్తోంది

ఇన్‌స్టాల్ చేయబడిన క్లయింట్‌ను ప్రారంభించండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

ప్రారంభించిన తర్వాత, L2tpIpsecVPN ఆప్లెట్ తెరవాలి. దానిపై కుడి-క్లిక్ చేసి, కనెక్షన్‌ను కాన్ఫిగర్ చేయండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

టోకెన్‌లతో పని చేయడానికి, ముందుగా, మేము OpenSSL ఇంజిన్ మరియు PKCS#11 లైబ్రరీ యొక్క opensc ఇంజిన్‌కు మార్గాన్ని సూచిస్తాము. దీన్ని చేయడానికి, openssl పారామితులను కాన్ఫిగర్ చేయడానికి "ప్రాధాన్యతలు" ట్యాబ్‌ను తెరవండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది.

OpenSSL సెట్టింగ్‌ల విండోను మూసివేసి, నెట్‌వర్క్‌ని సెటప్ చేయడానికి కొనసాగండి. సెట్టింగ్‌ల ప్యానెల్‌లోని జోడించు... బటన్‌పై క్లిక్ చేయడం ద్వారా కొత్త నెట్‌వర్క్‌ని జోడించి, నెట్‌వర్క్ పేరును నమోదు చేయండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

దీని తర్వాత, ఈ నెట్‌వర్క్ సెట్టింగ్‌ల ప్యానెల్‌లో అందుబాటులోకి వస్తుంది. కొత్త నెట్‌వర్క్‌ను కాన్ఫిగర్ చేయడానికి దానిపై రెండుసార్లు కుడి-క్లిక్ చేయండి. మొదటి ట్యాబ్‌లో మీరు IPsec సెట్టింగ్‌లను చేయాలి. సర్వర్ చిరునామా మరియు పబ్లిక్ కీని సెట్ చేద్దాం:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

దీని తర్వాత, PPP సెట్టింగ్‌ల ట్యాబ్‌కు వెళ్లి, మేము నెట్‌వర్క్‌ను యాక్సెస్ చేయాలనుకుంటున్న వినియోగదారు పేరును అక్కడ సూచించండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

ఆ తర్వాత, ప్రాపర్టీస్ ట్యాబ్‌ని తెరిచి, కీ, క్లయింట్ సర్టిఫికేట్ మరియు CAకి మార్గాన్ని పేర్కొనండి:
Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

ఈ ట్యాబ్‌ను మూసివేసి, తుది సెట్టింగ్‌లను చేద్దాం; దీన్ని చేయడానికి, "IP సెట్టింగ్‌లు" ట్యాబ్‌ను తెరిచి, "DNS సర్వర్ చిరునామాను స్వయంచాలకంగా పొందండి" ఎంపిక పక్కన ఉన్న పెట్టెను ఎంచుకోండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది
ఈ ఐచ్ఛికం క్లయింట్ సర్వర్ నుండి నెట్‌వర్క్‌లో వ్యక్తిగత IP చిరునామాను స్వీకరించడానికి అనుమతిస్తుంది.

అన్ని సెట్టింగ్‌ల తర్వాత, అన్ని ట్యాబ్‌లను మూసివేసి, క్లయింట్‌ను పునఃప్రారంభించండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

నెట్‌వర్క్ కనెక్షన్

సెట్టింగ్‌ల తర్వాత, మీరు నెట్‌వర్క్‌కు కనెక్ట్ చేయవచ్చు. దీన్ని చేయడానికి, ఆప్లెట్ ట్యాబ్‌ని తెరిచి, మనం కనెక్ట్ చేయాలనుకుంటున్న నెట్‌వర్క్‌ను ఎంచుకోండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

కనెక్షన్ స్థాపన ప్రక్రియలో, క్లయింట్ మమ్మల్ని రుటోకెన్ పిన్ కోడ్‌ను నమోదు చేయమని అడుగుతారు:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

కనెక్షన్ విజయవంతంగా స్థాపించబడిందని స్థితి పట్టీలో నోటిఫికేషన్ కనిపిస్తే, సెటప్ విజయవంతమైందని అర్థం:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

లేకపోతే, కనెక్షన్ ఎందుకు స్థాపించబడలేదని గుర్తించడం విలువ. దీన్ని చేయడానికి, మీరు ఆప్లెట్‌లోని "కనెక్షన్ సమాచారం" ఆదేశాన్ని ఎంచుకోవడం ద్వారా ప్రోగ్రామ్ లాగ్‌ను చూడాలి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

Windows క్లయింట్‌ను సెటప్ చేస్తోంది

Linux కంటే Windowsలో క్లయింట్‌ని సెటప్ చేయడం చాలా సులభం, ఎందుకంటే... అవసరమైన అన్ని సాఫ్ట్‌వేర్ ఇప్పటికే సిస్టమ్‌లో నిర్మించబడింది.

సిస్టమ్ సెటప్

మేము వాటిని డౌన్‌లోడ్ చేయడం ద్వారా రుటోకెన్‌లతో పని చేయడానికి అవసరమైన అన్ని డ్రైవర్‌లను ఇన్‌స్టాల్ చేస్తాము యొక్క. సైట్.

ప్రమాణీకరణ కోసం రూట్ ప్రమాణపత్రాన్ని దిగుమతి చేస్తోంది

సర్వర్ రూట్ సర్టిఫికేట్‌ను డౌన్‌లోడ్ చేసి, సిస్టమ్‌లో ఇన్‌స్టాల్ చేయండి. దీన్ని చేయడానికి, దాన్ని తెరవండి మరియు తెరుచుకునే విండోలో, "సర్టిఫికేట్ను ఇన్స్టాల్ చేయి" ఎంపికను ఎంచుకోండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

తెరుచుకునే విండోలో, స్థానిక వినియోగదారు కోసం ప్రమాణపత్రాన్ని ఇన్‌స్టాల్ చేయడాన్ని ఎంచుకోండి. కంప్యూటర్‌లోని వినియోగదారులందరికీ సర్టిఫికేట్ అందుబాటులో ఉండాలని మీరు కోరుకుంటే, మీరు స్థానిక కంప్యూటర్‌లో ప్రమాణపత్రాన్ని ఇన్‌స్టాల్ చేయడాన్ని ఎంచుకోవాలి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

CA యొక్క విశ్వసనీయ రూట్ సర్టిఫికేట్ స్టోర్‌లో సర్టిఫికేట్‌ను ఇన్‌స్టాల్ చేద్దాం:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

ఈ అన్ని చర్యల తర్వాత, మేము అన్ని తదుపరి అంశాలతో అంగీకరిస్తాము. సిస్టమ్ ఇప్పుడు కాన్ఫిగర్ చేయబడింది.

VPN కనెక్షన్‌ని సెటప్ చేస్తోంది

VPN కనెక్షన్‌ని సెటప్ చేయడానికి, కంట్రోల్ ప్యానెల్‌కి వెళ్లి, కొత్త కనెక్షన్‌ని సృష్టించే ఎంపికను ఎంచుకోండి.

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

పాప్-అప్ విండోలో, మీ కార్యాలయానికి కనెక్ట్ చేయడానికి కనెక్షన్‌ని సృష్టించే ఎంపికను ఎంచుకోండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

తదుపరి విండోలో, VPN కనెక్షన్‌ని ఎంచుకోండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

మరియు VPN కనెక్షన్ వివరాలను నమోదు చేయండి మరియు స్మార్ట్ కార్డ్‌ని ఉపయోగించే ఎంపికను కూడా పేర్కొనండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

సెటప్ ఇంకా పూర్తి కాలేదు. IPsec ప్రోటోకాల్ కోసం భాగస్వామ్య కీని పేర్కొనడం మాత్రమే మిగిలి ఉంది; దీన్ని చేయడానికి, "నెట్‌వర్క్ కనెక్షన్ సెట్టింగ్‌లు" ట్యాబ్‌కు వెళ్లి, ఆపై "ఈ కనెక్షన్ కోసం లక్షణాలు" ట్యాబ్‌కు వెళ్లండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

తెరుచుకునే విండోలో, "సెక్యూరిటీ" ట్యాబ్‌కు వెళ్లి, నెట్‌వర్క్ రకంగా "L2TP/IPsec నెట్‌వర్క్"ని పేర్కొనండి మరియు "అధునాతన సెట్టింగ్‌లు" ఎంచుకోండి:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

తెరుచుకునే విండోలో, భాగస్వామ్య IPsec కీని పేర్కొనండి:
Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

Подключение

సెటప్‌ను పూర్తి చేసిన తర్వాత, మీరు నెట్‌వర్క్‌కి కనెక్ట్ చేయడానికి ప్రయత్నించవచ్చు:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

కనెక్షన్ ప్రక్రియ సమయంలో, మేము టోకెన్ పిన్ కోడ్‌ను నమోదు చేయాల్సి ఉంటుంది:

Rutoken EDS 2 మరియు Rutoken PKIని ఉపయోగించి L2.0TP నెట్‌వర్క్‌లో ప్రమాణీకరణను సెటప్ చేస్తోంది

మేము సురక్షితమైన VPN నెట్‌వర్క్‌ని సెటప్ చేసాము మరియు అది కష్టం కాదని నిర్ధారించుకున్నాము.

రసీదులు

Linux క్లయింట్‌ల కోసం VPN కనెక్షన్‌ల సృష్టిని సులభతరం చేయడానికి మా సహోద్యోగులు వాసిలీ షోకోవ్ మరియు అలెగ్జాండర్ స్మిర్నోవ్ కలిసి చేసిన పనికి నేను మరోసారి ధన్యవాదాలు చెప్పాలనుకుంటున్నాను.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి