OpenVPN څنګه سند او کیلي حل کوي: دننه PEM یا د فایل لاره
هماغه لارښوونه یا د فایل لاره یا دننه ځای پرځای شوی PEM شیء لېږي۔ مخکې لدې چې سندونه یوځای کړئ، ولولئ چې بار شوی پروفایل کوم یو کاروي۔
پیغام وایي چې OpenVPN نشي کولی د دننه سند بار کړي، خو هغه فایل نوم چې ستاسو په ذهن کې دی بل څه وایي۔ هغه څه چې پارسر ترلاسه کړي د هغه څه څخه مهم دي چې فایل سیستم لري، ځکه چې د cert لارښوونه دوه بشپړ بېلابېل ډوله ارزښتونه مني۔ یو هغه لاره ده چې پرانیزي؛ بل هغه PEM متن دی چې د ترتیباتو دننه راغلی۔ تر هغه چې پوه نشئ چې روان کلاینټ کومه بڼه ترلاسه کړې، هره سمون یوه اټکل دی۔
دوه زېرمې بڼې، یوه لارښوونه
د cert، key او ca لارښوونې هر یوه لاره یا دننه بلاک مني۔ کله چې ارزښت لاره وي، OpenVPN هغه فایل پرانیزي او د ډیسک څخه شیء لولي۔ کله چې ترتیبات د cert ټاګونو پواسطه محدود شوی بلاک ولري، هماغه لارښوونه پرځای د هغو ټاګونو ترمنځ منځپانګه کاروي، او جلا فایل شامل نه دی۔
دواړه بڼې په پای کې ورته ډول شیء جوړوي، نو یو کارکوونکی ځای پرځای کول کولی شي پرته له بل بدلون د دوی ترمنځ وګرځي۔ هغه پروفایل چې دننه ځای پرځای شوی کلاینټ سند او شخصي کیلي لېږي، ځان بسنه کوونکی دی، او بل ماشین ته یې کاپي کول پرته لدې چې د سندونو فولډر هم کاپي کړئ کار کوي۔
برعکس ریښتیا نه دی۔ client.crt د هغه پروفایل ترڅنګ ایښودل چې خپل معلومات دننه ځای پرځای کوي هیڅ نه بدلوي، ځکه چې په ترتیباتو کې هیڅ شی هغه فایل ته اشاره نه کوي۔ دا ترټولو عام لامل دی چې یو روښانه شته فایل له پامه غورځول شوی ښکاري۔
دنه بلاک څنګه شیء کیږي
دنه منځپانګه له ترتیباتو اخیستل کیږي او د متن په توګه PEM پارسر ته ورکول کیږي۔ هغه پارسر عادي پولې تمه کوي: BEGIN کرښه، base64 بار او ورته END کرښه۔ که بلاک د ناکام کاپي له امله پرې شوی وي، د ډاونلوډ پاڼې لخوا په HTML کې تاو شوی وي، یا په هغه ایډیټر کې پرانیستل شوی وي چې کرښې یې نورمال کړې وي، پارسر په هغه منځپانګه کې ناکام کیږي چې شته ښکاري۔
<cert>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</cert>
همدا لامل دی چې د تېروتنې عبارت ګمراه کوونکی دی۔ دنه کلمه بیانوي چې بار کوونکی چېرته کتلی، نه دا چې هلته یې څه موندلي۔ په ترتیباتو کې نومول شوی فایل او په هغه کې ځای پرځای شوی شیء کولی شي ورته شکایت تولید کړي کله چې بنسټیز بایټونه بې کاره وي۔
وګورئ چې بار شوی پروفایل په رښتیا کومه بڼه کاروي، نه دا چې ستاسو ایډیټر ناڅاپه کوم فایل پرانیست:
grep -nE '^(ca|cert|key) |^<(ca|cert|key)>' client.ovpn
د لارې حواله څنګه حل کیږي
د لارې ارزښت د کلاینټ د کاري فولډر په نسبت پرانیستل کیږي، نه د هغه فولډر په نسبت چې ترتیبات لري۔ د systemd لاندې هغه کاري فولډر هغه څه دی چې یونټ ټاکي، او ستاسو د شیل څخه متقابل چل بیخي بل څه په میراث اخلي۔ همدا لامل دی چې هماغه د ترتیباتو فایل کولی شي لاسي ازموینې پر مهال کار وکړي او د خدمت په توګه ناکام شي۔
نسبتي لارې هماغه ابهام په میراث اخلي۔ کله چې وچ فایل نوم وګورئ، وپوښتئ چې په تولید کې د بهیر اوسنی فولډر کوم دی، پرځای لدې چې فرض کړئ ستاسو له ټرمینل سره سمون لري۔
د جلا زېرمه شوي سند لپاره، د آفلاین تحلیل شیء تاییدوي مخکې لدې چې د هغه پورته څه ډیبګ کړئ:
openssl x509 -in client.crt -noout -subject -issuer -dates
openssl pkey -in client.key -noout -check
هغه کمانډونه ثابتوي چې فایلونه لوستل کیږي او جوړښتي توګه سم دي۔ دوی ثابتوي نه چې سیال د صادروونکي باور لري، چې سند لا هم د خپل اعتبار مودې دننه دی، یا چې کیلي هغه ته اړه لري۔
د پارسر تېروتنه څه ویلای شي او څه نه شي کولای
د تحلیل ناکامي ستونزه یوې ننوتنې او یو پړاو ته محدودوي۔ دوی نه وایي چې کلاینټ د دوو زېرمو بڼو څخه کومه کارولې، او نه وایي چې شیء به منل شوی و۔ دا جلا پوښتنې دي چې جلا شواهد لري۔
کله چې تحلیل بریالی شي، بل ناکامي یو ډېر وروسته پړاو ته اړه لري۔ د باور ردول، د موخې ناسمون یا د کیلي ناسمون د بار کوونکي نه، بلکې سیال یا TLS پرت راپور کوي۔ هماغه فایل بیا بیا بدلول هغه تېروتنه نه ځای پرځای کوي۔
د پلټنې پر مهال حساسه نیمه له عامه راپورونو بهر وساتئ۔ د لارښوونو نومونه، د تېروتنې متن او د بلاک جوړښت شریک کړئ، د کیلي مواد او هر پیژندونکی بار لرې کړئ۔ د openvpn(8) لارښود د فایل لارښوونو دواړه بڼې او د هغوی شاته د کاري فولډر چلند مستند کوي۔