ژر يا وروسته، يو VPN کاروونکی وړانديز کوي چې شخصي کلي کيف د برېښنالیک له لارې ولېږي تر څو اداره کوونکی يو سند جوړ کړي، او هغه وړانديز بايد رد شي. د کار وړ بهير کلي له لومړي حکم څخه په کليانټ کې ساتي: کليانټ جوړوي يې، د سند د لاسلیک غوښتنه لېږي، صادروونکی يې تاییدوي او اجازه ورکوي، او لاسلیک شوی سند بېرته راغلی د هغه کلي ترڅنګ کېني چې جوړ کړی يې. لاندې چک لیست په هر ګام کې تړلې ناکاميږي، او همدا خبره ده، ځکه چې له پنځو ګامونو دوه هغه دي چې خلک يې کله چې بيړه ولري پرېږدي.

ګام 1: کلي هماغه ځای جوړ کړئ چېرې چې به ژوند کوي

په هغه ماشين کې يې جوړ کړئ چې کلي به ساتي، او همالته يې پرېږدئ. د سافټویر کلي په کلکو اجازو فايل کې ځي؛ د هارډویر ملاتړ شوی يا په مديريت شوي زېرمه کې کلي هېڅکله فايل نه شي کېدی، او د ثبت لار يې معمولاً جلا وسیله ده نه OpenSSL حکم. هر څنګه وي، هيڅوک اړ نه دي چې شخصي نيمه وګوري.

د سافټویر بهير داسې ښکاري، کلي او غوښتنه په يوه ناسته کې جوړيږي:

umask 077
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out client.key
openssl req -new -key client.key -out client.csr -subj "/CN=alice-vpn/O=Example"

umask کرښه تر ښکارېدنې زياته مهمه ده. پرته له دې کلي په هغه سيسټم کې چې په ډيفالټ ډول اجازه ورکوي د ټولو لپاره لوستل کېدونکی ليکل کېږي، او فايل بيا کاپي کول دا خپروي. د موجود کلي بيا کارول قانوني دي کله چې هغه پخوا خوندي وي او ستاسو له پاليسۍ سره سم وي؛ د هرې وسیلې لپاره نوی جوړول تشريح کول اسانه دي.

ګام 2: هويت په غوښتنه کې کېږدئ، په برېښنالیک کې نه

تر دې چې غوښتنه جوړه شي، پرېکړه وکړئ چې VPN واقعاً څه تاییدوي، ځکه چې هغه ځواب د CSR دننه پورې اړه لري. OpenVPN په دوديز ډول د کليانټ هويت د سند عمومي نوم پورې تړي، او strongSwan ته ورته وسايل د هويت کرښه له موضوع يا د موضوع بديل نوم سره پرتله کوي. هغه برېښنالیک چې وايي زما نوم alice دی ثبوت نه دی، او هغه غوښتنه چې موضوع يې هماغه وايي يوازې لږ ښه ده.

کله چې ستاسو تاییدوونکی يو څېړي، د موضوع بديل نوم ورزيات کړئ، ځکه چې عصري پرتله کول ډېری وخت زوړ CN له پامه غورځوي:

openssl req -new -key client.key -out client.csr \
  -subj "/CN=alice-vpn/O=Example" \
  -addext "subjectAltName=DNS:alice-vpn"

CN لنډ، ثابت او له حساب سره تړلی وساتئ، نه د لېپ ټاپ ماډل سره. هغه نوم چې د کاروونکي د وسیلې سيريال نمبر ولري د لومړي هارډویر بدلون په تمه د ملاتړ ستونزه ده.

ګام 3: تر لاسلیک مخکې غوښتنه تایید کړئ

صادروونکی دوه جلا شيان تاییدوي، او د هغوی ګډول کلاسيکه تېروتنه ده. لومړی، چې غوښتنه په داخل کې سره سمه ده: لاسلیک د هغه عامه کلي پروړاندې تاییديږي چې له ځانه وړي. دويم، چې غوښتونکی د هغه څه حق لري چې غوښتنه يې غواړي، او دې ته هېڅ کريپټوګرافي څېړنه ځواب نه شي ويلی.

ميخانيکي برخه يو حکم دی، او بايد د موضوع سره يوځای د تایید پايله چاپ کړي:

openssl req -in client.csr -noout -verify -subject
openssl req -in client.csr -noout -pubkey | openssl pkey -pubin -noout -text

وګورئ چې دا څه ثبوتوي. تایید شوې غوښتنه يوازې ښيي چې لېږونکي د سپارلو پر مهال سم کلي درلود؛ دا ثبوت نه دی چې لېږونکی هغه کس دی چې په موضوع کې نومول شوی، او د غوښتل شوې ډلې يا لارې لاسرسي اجازه نه ورکوي. د ثبت بياکتنه جلا دروازه ده، او هغه غوښتنه چې داسې ډله غواړي چې هيڅوک يې نه ده منلې بايد رد شي نه دا چې په خاموشۍ سمه شي.

ګام 4: اجازه ورکړئ، بيا په څرګندو توسیعونو لاسلیک وکړئ

لاسلیک هغه ځای دی چې CA هلته پاليسي ټاکي نه دا چې غوښتنه لفظي ومني. اعتبار، د کلي کارول او د رول توسیع د توسیعونو فايل ته اړه لري، نه هغو ډيفالټ ارزښتونو ته چې شپږ مياشتې وروسته به يې نه يادوئ. د VPN تایید لپاره کليانټ سند ته د خپل هدف په توګه کليانټ تایید ته اړتيا ده.

cat > client.ext <<'EOF'
basicConstraints = CA:FALSE
keyUsage = digitalSignature
extendedKeyUsage = clientAuth
EOF
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key \
  -CAcreateserial -days 365 -extfile client.ext -out client.crt

که يو پخوا کارېدلی وي، له موجود سيريال فايل سره -CAserial وکاروئ، او د CA کلي بېلاين يا په هغه خوندي زېرمه کې وساتئ چې ستاسو پاليسي يې نوموي. د سندونو سيريال نمبرونه بايد د هر صادروونکي لپاره بېساري وي؛ د سيريال فايل له صفر څخه بيا جوړول د ټکر خطر لري چې لغوه کول مبهم کوي.

ثبت کړئ چې څه صادر شول: سيريال، موضوع، غوښتل شوی هويت، منونکی کس او پای نېټه. هماغه ثبت دی چې وروسته د لغوه کولو پرېکړه پرې ولاړه ده، او که د ثبت اثر يوازې په برېښناليک صندوق کې ژوند وکړي، له سنده يوازې نه شي بيا جوړېدلی.

ګام 5: هغه د سم کلي ترڅنګ نصب کړئ او جوړه ثبوت کړئ

کليانټ سند او د صادروونکي زنځير ترلاسه کوي، هېڅکله کلي نه. تر نښلېدو مخکې تایید کړئ چې سند واقعاً له هغه کلي سره جوړه جوړوي چې پخوا په ډيسک کې دی، ځکه چې ناسمه جوړه ډېر وروسته د لاس ورکولو ګډوډه ناکامي جوړوي:

openssl x509 -in client.crt -noout -pubkey | openssl pkey -pubin -outform DER | openssl sha256
openssl pkey -in client.key -pubout -outform DER | openssl sha256

دواړه ډايجسټونه بايد سره سم وي. بيا ونښلئ او تایید کړئ چې هغه هويت چې سرور يې ثبتوي هماغه دی چې تاسو اجازه ورکړې، نه يوازې دا چې ټنل پورته شو. که کلي ورک شي يا وسیله بدله شي، ځواب لغوه کول او له نوي وسیلې نوی غوښتنه ده؛ له اداره کوونکي غوښتل چې له بل ځایه کلي بېرته ولېږي اصل نه راګرځوي او هغه ماډل په خاموشۍ ماتوي چې غوښتنه يې خوندي کړې وه.

اړوندې مقالې