Rutoken EDS 2 සහ Rutoken PKI භාවිතයෙන් L2.0TP ජාලය තුළ සත්‍යාපනය සැකසීම

Rutoken EDS 2 සහ Rutoken PKI භාවිතයෙන් L2.0TP ජාලය තුළ සත්‍යාපනය සැකසීම

ගැටලු

මෑතකදී, බොහෝ දෙනෙක් නිවසේ සිට වැඩ කිරීම කෙබඳුදැයි නොදැන සිටියහ. වසංගතය ලෝකයේ තත්වය නාටකාකාර ලෙස වෙනස් කර ඇත; සෑම කෙනෙකුම වර්තමාන තත්වයන්ට අනුවර්තනය වීමට පටන් ගෙන ඇත, එනම් නිවසින් පිටවීම හුදෙක් අනාරක්ෂිත වී ඇති බැවිනි. බොහෝ දෙනෙකුට තම සේවකයින් සඳහා නිවසේ සිට වැඩ ඉක්මනින් සංවිධානය කිරීමට සිදු විය.

කෙසේ වෙතත්, දුරස්ථ වැඩ සඳහා විසඳුම් තෝරාගැනීම සඳහා නිසි ප්රවේශයක් නොමැතිකම ආපසු හැරවිය නොහැකි පාඩු වලට හේතු විය හැක. පරිශීලක මුරපද සොරකම් කළ හැකි අතර, මෙය ප්‍රහාරකයෙකුට ව්‍යවසායයේ ජාලයට සහ තොරතුරු තාක්ෂණ සම්පත් වෙත පාලනයකින් තොරව සම්බන්ධ වීමට ඉඩ සලසයි.

විශ්වාසනීය ආයතනික VPN ජාල නිර්මාණය කිරීමේ අවශ්‍යතාවය දැන් වැඩි වී ඇත්තේ එබැවිනි. ගැන මම කියන්නම් විශ්වාසදායකයි, ආරක්ෂිතයි и සරලයි VPN ජාලයක් භාවිතා කිරීමේදී.

එය IPsec/L2TP යෝජනා ක්‍රමයට අනුව ක්‍රියා කරයි, එය සේවාලාභීන් සත්‍යාපනය කිරීමට ටෝකනවල ගබඩා කර ඇති ආපසු ලබාගත නොහැකි යතුරු සහ සහතික භාවිතා කරයි, තවද සංකේතාත්මක ආකාරයෙන් ජාලය හරහා දත්ත සම්ප්‍රේෂණය කරයි.

CentOS 7 (ලිපිනය: centos.vpn.server.ad) සහිත සේවාදායකයක් සහ Ubuntu 20.04 සහිත සේවාදායකයක් මෙන්ම Windows 10 සහිත සේවාලාභියෙකු වින්‍යාසය සඳහා නිදර්ශන ලෙස භාවිතා කරන ලදී.

පද්ධති විස්තරය

VPN IPSec + L2TP + PPP යෝජනා ක්‍රමයට අනුව ක්‍රියා කරයි. ප්රොටෝකෝලය Point-to-Point Protocol (පීපීපී) OSI ආකෘතියේ දත්ත සම්බන්ධක ස්ථරයේ ක්‍රියාත්මක වන අතර සම්ප්‍රේෂණය කරන ලද දත්තවල පරිශීලක සත්‍යාපනය සහ සංකේතනය සපයයි. එහි දත්ත L2TP ප්‍රොටෝකෝලයේ දත්තවල අන්තර්ගත කර ඇති අතර, එය ඇත්ත වශයෙන්ම VPN ජාලයේ සම්බන්ධතාවයක් නිර්මාණය කිරීම සහතික කරයි, නමුත් සත්‍යාපනය සහ සංකේතනය ලබා නොදේ.

L2TP දත්ත IPSec තුළ ආවරණය කර ඇත, එය සත්‍යාපනය සහ සංකේතනය ද සපයයි, නමුත් PPP මෙන් නොව, සත්‍යාපනය සහ සංකේතනය සිදු වන්නේ උපාංග මට්ටමින් මිස පරිශීලක මට්ටමින් නොවේ.

මෙම විශේෂාංගය ඔබට ඇතැම් උපාංග වලින් පමණක් පරිශීලකයින් සත්‍යාපනය කිරීමට ඉඩ සලසයි. අපි IPSec ප්‍රොටෝකෝලය එලෙසම භාවිතා කරන අතර ඕනෑම උපාංගයකින් පරිශීලක සත්‍යාපනයට ඉඩ දෙන්නෙමු.

Rutoken EDS 2 සහ Rutoken PKI භාවිතයෙන් L2.0TP ජාලය තුළ සත්‍යාපනය සැකසීම

ස්මාර්ට් කාඩ්පත් භාවිතයෙන් පරිශීලක සත්‍යාපනය EAP-TLS ප්‍රොටෝකෝලය භාවිතයෙන් PPP ප්‍රොටෝකෝල මට්ටමින් සිදු කෙරේ.

මෙම පරිපථයේ ක්රියාකාරිත්වය පිළිබඳ වඩාත් සවිස්තරාත්මක තොරතුරු සොයාගත හැකිය මේ ලිපිය කියවන්න.

මෙම යෝජනා ක්‍රමය හොඳ VPN ජාලයක අවශ්‍යතා තුනම සපුරාලන්නේ ඇයි?

  1. මෙම යෝජනා ක්රමයේ විශ්වසනීයත්වය කාලය විසින් පරීක්ෂා කර ඇත. එය 2000 සිට VPN ජාල යෙදවීමට භාවිතා කර ඇත.
  2. ආරක්ෂිත පරිශීලක සත්‍යාපනය PPP ප්‍රොටෝකෝලය මගින් සපයනු ලැබේ. Paul Mackerras විසින් සකස් කරන ලද PPP ප්‍රොටෝකෝලය සම්මත ක්‍රියාත්මක කිරීම ප්රමාණවත් මට්ටමේ ආරක්ෂාවක් සපයන්නේ නැත, මන්ද සත්‍යාපනය සඳහා, හොඳම අවස්ථාවෙහිදී, පිවිසුම් සහ මුරපදය භාවිතයෙන් සත්‍යාපනය භාවිතා කරනු ලැබේ. පිවිසුම් මුරපදයක් ඔත්තු බැලීමට, අනුමාන කිරීමට හෝ සොරකම් කිරීමට හැකි බව අපි කවුරුත් දනිමු. කෙසේ වෙතත්, දැන් දීර්ඝ කාලයක් තිස්සේ සංවර්ධකයා Jan Just Keijser в එහි ක්රියාත්මක කිරීම මෙම ප්‍රොටෝකෝලය මෙම ගැටළුව නිවැරදි කර සත්‍යාපනය සඳහා EAP-TLS වැනි අසමමිතික සංකේතනය මත පදනම් වූ ප්‍රොටෝකෝල භාවිතා කිරීමේ හැකියාව එක් කළේය. මීට අමතරව, ඔහු සත්‍යාපනය සඳහා ස්මාර්ට් කාඩ්පත් භාවිතා කිරීමේ හැකියාව එක් කළ අතර එමඟින් පද්ධතිය වඩාත් ආරක්ෂිත විය.
    දැනට, මෙම ව්‍යාපෘති දෙක ඒකාබද්ධ කිරීම සඳහා ක්‍රියාකාරී සාකච්ඡා සිදු වෙමින් පවතින අතර ඉක්මනින් හෝ පසුව මෙය කෙසේ හෝ සිදුවනු ඇති බවට ඔබට සහතික විය හැකිය. උදාහරණයක් ලෙස, PPP හි පැච් කරන ලද අනුවාදයක්, සත්‍යාපනය සඳහා ආරක්ෂිත ප්‍රොටෝකෝල භාවිතා කරමින් දීර්ඝ කාලයක් තිස්සේ Fedora ගබඩාවල පවතී.
  3. මෑතක් වන තුරු, මෙම ජාලය භාවිතා කළ හැක්කේ වින්ඩෝස් පරිශීලකයින්ට පමණි, නමුත් මොස්කව් ප්‍රාන්ත විශ්ව විද්‍යාලයේ අපගේ සගයන් වන Vasily Shokov සහ Alexander Smirnov සොයා ගත්හ. Linux සඳහා පැරණි L2TP සේවාදායක ව්‍යාපෘතිය සහ එය වෙනස් කළා. අපි එක්ව, සේවාදායකයාගේ කාර්යයේ බොහෝ දෝෂ සහ අඩුපාඩු සකස් කර, මූලාශ්‍රයෙන් ගොඩනඟන විට පවා පද්ධතියේ ස්ථාපනය සහ වින්‍යාසය සරල කළෙමු. ඒවායින් වඩාත් වැදගත් වන්නේ:
    • openssl සහ qt හි නව අනුවාද වල අතුරු මුහුණත සමඟ පැරණි සේවාදායකයාගේ ස්ථාවර අනුකූලතා ගැටළු.
    • ටෝකන් PIN එක තාවකාලික ගොනුවක් හරහා යැවීමෙන් pppd ඉවත් කරන ලදී.
    • චිත්‍රක අතුරුමුහුණත හරහා මුරපද ඉල්ලීම් වැඩසටහනේ වැරදි දියත් කිරීම නිවැරදි කර ඇත. මෙය සිදු කරන ලද්දේ xl2tpd සේවාව සඳහා නිවැරදි පරිසරය ස්ථාපනය කිරීමෙනි.
    • L2tpIpsecVpn ඩීමන් ගොඩනැගීම දැන් සේවාදායකයාගේම ගොඩනැගීම සමඟ එක්ව සිදු කරනු ලබන අතර, එය ගොඩනැගීම සහ වින්‍යාස කිරීමේ ක්‍රියාවලිය සරල කරයි.
    • සංවර්ධනයේ පහසුව සඳහා, ගොඩනැගීමේ නිවැරදි බව පරීක්ෂා කිරීම සඳහා Azure නල මාර්ග පද්ධතිය සම්බන්ධ කර ඇත.
    • බලහත්කාරයෙන් පහත හෙලීමේ හැකියාව එක් කරන ලදී ආරක්ෂක මට්ටම openssl හි සන්දර්භය තුළ. මෙම මට්ටමේ ආරක්ෂක අවශ්‍යතා සපුරාලන්නේ නැති සහතික භාවිතා කරන VPN ජාල සමඟ සම්මත ආරක්ෂක මට්ටම 2 ලෙස සකසා ඇති නව මෙහෙයුම් පද්ධති සඳහා නිවැරදිව සහය දැක්වීම සඳහා මෙය ප්‍රයෝජනවත් වේ. පවතින පැරණි VPN ජාල සමඟ වැඩ කිරීම සඳහා මෙම විකල්පය ප්රයෝජනවත් වනු ඇත.

නිවැරදි කළ අනුවාදය සොයාගත හැකිය මෙම ගබඩාව.

මෙම සේවාලාභියා සත්‍යාපනය සඳහා ස්මාර්ට් කාඩ්පත් භාවිතයට සහය දක්වන අතර, Linux යටතේ මෙම යෝජනා ක්‍රමය සැකසීමේ සියලු දුෂ්කරතා සහ දුෂ්කරතා හැකිතාක් සඟවයි, සේවාලාභී සැකසුම හැකි තරම් සරල සහ වේගවත් කරයි.

ඇත්ත වශයෙන්ම, PPP සහ සේවාදායක GUI අතර පහසු සම්බන්ධතාවයක් සඳහා, එක් එක් ව්‍යාපෘති සඳහා අමතර සංස්කරණ නොමැතිව එය කළ නොහැකි විය, නමුත් කෙසේ වෙතත් ඒවා අවම කර අවම මට්ටමකට අඩු කරන ලදී:

දැන් ඔබට පිහිටුවීම ආරම්භ කළ හැක.

සේවාදායකය සුසර කිරීම

අවශ්‍ය සියලුම පැකේජ ස්ථාපනය කරමු.

strongswan (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

ස්ථාපනය කිරීමෙන් පසු, ඔබ විසින් 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 සහාය දක්වන බව සඳහන් කිරීම වටී, උදාහරණයක් ලෙස, පුද්ගලික යතුරු භාවිතා කිරීම. 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

වින්ඩෝස් සහ ලිනක්ස් සේවාලාභීන් සඳහා (වඩාත් විශ්වීය ක්රමය)

මෙම ක්රමය වඩාත් විශ්වීය වේ, මන්ද වින්ඩෝස් සහ ලිනක්ස් භාවිතා කරන්නන් විසින් සාර්ථකව හඳුනා ගත හැකි යතුරක් සහ සහතිකයක් උත්පාදනය කිරීමට ඔබට ඉඩ සලසයි, නමුත් යතුරු උත්පාදන ක්රියා පටිපාටිය ක්රියාත්මක කිරීමට වින්ඩෝස් යන්ත්රයක් අවශ්ය වේ.

ඉල්ලීම් උත්පාදනය කිරීමට සහ සහතික ආනයනය කිරීමට පෙර, ඔබ 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

මෙයින් පසු, අපි යතුරු යුගලයක් උත්පාදනය කර සහතිකය සඳහා යෙදුමක් සාදන්නෙමු. මෙය සිදු කිරීම සඳහා, powershell විවෘත කර පහත විධානය ඇතුළත් කරන්න:

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

සාදන ලද Client.req යෙදුම ඔබේ CA වෙත යවා client.pem සහතිකය ලැබෙන තෙක් රැඳී සිටින්න. එය ටෝකනයකට ලියා පහත විධානය භාවිතයෙන් වින්ඩෝස් සහතික ගබඩාවට එක් කළ හැකිය:

certreq.exe -accept .client.pem

mmc වැඩසටහනේ චිත්‍රක අතුරුමුහුණත භාවිතයෙන් සමාන ක්‍රියාවන් ප්‍රතිනිෂ්පාදනය කළ හැකි බව සඳහන් කිරීම වටී, නමුත් මෙම ක්‍රමය වැඩි කාලයක් ගත වන අතර අඩු වැඩසටහන්ගත කළ හැකිය.

උබුන්ටු සේවාදායකයා පිහිටුවීම

සටහන
Linux හි සේවාලාභියෙකු පිහිටුවීම දැනට සෑහෙන කාලයක් ගතවන නිසා... මූලාශ්රයෙන් වෙනම වැඩසටහන් ගොඩනැගීම අවශ්ය වේ. නුදුරු අනාගතයේදී සියලුම වෙනස්කම් නිල ගබඩාවල ඇතුළත් කර ඇති බව සහතික කිරීමට අපි උත්සාහ කරමු.

සේවාදායකයට IPSec මට්ටමේ සම්බන්ධතාවය සහතික කිරීම සඳහා, strongswan පැකේජය සහ 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

Rutoken සම්බන්ධ කර එය පද්ධතිය විසින් හඳුනාගෙන ඇත්දැයි පරීක්ෂා කරන්න:

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 සිටුවම් කවුළුව වසා ජාලය පිහිටුවීමට යමු. සැකසුම් පැනලයේ ඇති Add... බොත්තම ක්ලික් කර ජාල නාමය ඇතුළත් කිරීමෙන් අපි නව ජාලයක් එක් කරමු:

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 PIN කේතය ඇතුළත් කිරීමට සේවාදායකයා අපෙන් අසනු ඇත:

Rutoken EDS 2 සහ Rutoken PKI භාවිතයෙන් L2.0TP ජාලය තුළ සත්‍යාපනය සැකසීම

සම්බන්ධතාව සාර්ථකව ස්ථාපිත කර ඇති බවට දැනුම්දීමක් තත්ව තීරුවේ දිස්වන්නේ නම්, එයින් අදහස් වන්නේ සැකසුම සාර්ථක වූ බවයි:

Rutoken EDS 2 සහ Rutoken PKI භාවිතයෙන් L2.0TP ජාලය තුළ සත්‍යාපනය සැකසීම

එසේ නොමැති නම්, සම්බන්ධතාවය ස්ථාපිත නොකළේ මන්දැයි සොයා බැලීම වටී. මෙය සිදු කිරීම සඳහා, ඔබ ඇප්ලට් හි "සම්බන්ධතා තොරතුරු" විධානය තේරීමෙන් වැඩසටහන් ලොගය දෙස බැලිය යුතුය:

Rutoken EDS 2 සහ Rutoken PKI භාවිතයෙන් L2.0TP ජාලය තුළ සත්‍යාපනය සැකසීම

වින්ඩෝස් සේවාදායකයා සැකසීම

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 ජාලය තුළ සත්‍යාපනය සැකසීම

සම්බන්ධතා ක්‍රියාවලිය අතරතුර, අපට ටෝකන් PIN කේතය ඇතුළත් කිරීමට අවශ්‍ය වනු ඇත:

Rutoken EDS 2 සහ Rutoken PKI භාවිතයෙන් L2.0TP ජාලය තුළ සත්‍යාපනය සැකසීම

අපි ආරක්ෂිත VPN ජාලයක් සකසා එය අපහසු නොවන බවට වග බලා ගත්තා.

පිළිගැනීම්

Linux සේවාලාභීන් සඳහා VPN සම්බන්ධතා නිර්මාණය කිරීම සරල කිරීම සඳහා අපගේ සගයන් වන Vasily Shokov සහ Alexander Smirnov ඔවුන් එක්ව කළ කාර්යය සඳහා මම නැවත වරක් ස්තුති කිරීමට කැමතියි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න