OpenVPN tls-ciphersuites د tls-version-min په مقابل کې: هر یو څه عملي کوي
د TLS 1.3 سویټونو لیست د پروتوکول نسخه نه محدودوي، او show-tls یوازې ځایي ملاتړ ښیي. پالیسي، سویټونه او د خبرو اترو پایلې جلا وګورئ.
په ډېرو OpenVPN TLS خبرو اترو کې درې بېلې واقعیتونه په یوه کرښه کې یوځای کېږي: ستاسو د کلینټ جوړښت څه کولی شي، پروفایل څه اجازه ورکوي او سیسټم واقعاً څه موافقې کړې۔ د TLS 1.3 سویټونو لنډه لیست یوازې د منځنۍ پوښتنې نیم ځواب ورکوي او د پروتوکول نسخې د لاندې حد په اړه هېڅ نه وایي۔ لاندې ازموینې په ترتیب سره ترسره کړئ او په لومړنۍ ناکامه ازموینه کې ودرېږئ، ځکه هر وروستی ازموینه فرض کوي چې پخوانۍ حل شوې دي۔
له هر لیست لوستلو دمخه جوړښت وګورئ
د ترتیباتو لارښود نشي کولی هغه بائنري ته چې پروتوکول ملاتړ نه لري هغه ورزیات کړي۔ د نسخې بینر سره پیل وکړئ، چې د کمپایل شوې کریپټو کتابتون نوم یادوي:
openvpn --version
د OpenSSL سره تړلی 2.6 جوړښت tls-cipher او tls-ciphersuites دواړه مني۔ د mbed TLS سره جوړښت کې د TLS 1.3 سویټونو انتخاب هېڅ نشته، او د 2.6 لارښود tls-ciphersuites د OpenSSL اختیار په توګه نښه کوي۔ که سرور له بل backend سره بیا جوړ شي، هماغه پروفایل کولی شي د ترتیباتو یوه کرښه هم نه بدلېدونکې خپل چلند بدل کړي۔
تر دې چې دلته یاست openvpn --show-tls چل کړئ او پایله یې وساتئ۔ دا هغه فهرست دی چې وروسته به ورسره پرتله کوئ، او تر دې چې څوک پروفایلونه سمول پیل کړي دا نیول ارزانه دي۔
بینر او لیست په چیټ کړکۍ کې نه، بلکې په بدلون ټیکټ کې ولیکئ۔ کله چې دوه کسان په دې بحث کوي چې ایا کلینټ به د شپږو اونیو په اوږدو کې سویټ وړاندې کولی شي، نیول شوې پایله دا په یوه کرښه کې فیصله کوي۔
د نسخې حدونه د سایفر لیستونو څخه جلا وساتئ
په 2.6 لارښود کې دا یو نه، درې کنټرولونه دي:
tls-cipherد TLS 1.2 او پخوانیو لپاره د سایفر پالیسي ټاکي او د OpenSSL سایفر لیست ته سپارل کېږي؛tls-ciphersuitesد TLS 1.3 سویټونه غوره کوي؛tls-version-minاوtls-version-maxهغه پروتوکول نسخې محدودوي چې اړیکه یې کارولی شي.
نو په احتیاط سره پرې شوی د TLS 1.3 سویټونو لیست د دې په اړه هېڅ نه ثابتوي چې زوړ نسخه لاهم اجازه لري۔ که غوښتنه «یوازې TLS 1.3» وي، دا د نسخې لاندې حد یې پورته کوي، او سویټ لیست یوازې د هماغه حد په دننه کې انتخابونه تنګوي:
tls-version-min 1.3
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
دا جوړه دوه کارونه کوي۔ د یوې کرښې ړنګول بله پرېږدي چې ستاسو له فکر څخه کم عملي کړي، او همدا هغه ناکامي ده چې د دې ټولې ازموینې لپاره شته۔
د معلوماتو کانال څلورم کنټرول دی۔ data-ciphers د تونل دننه سمیټریک سایفر خبرې اترې کوي، او پایله یې د کنټرول کانال د TLS نسخې په اړه هېڅ نه وایي۔ په غونډې لنډیز کې AES-256-GCM لیدل په هېڅ لوري د TLS 1.3 ثبوت نه دی۔
show-tls د ځایي فهرست په توګه ولولئ
--show-tls هغه سویټونه لیستوي چې د دې بائنري سره تړلی کریپټو کتابتون یې ملاتړ کوي، د غوراوي ترتیب سره۔ دا د ګېټوې څخه راپور نه دی۔ لارښود په صراحت وایي چې لیست له ځایي کتابتون څخه راځي، یعنې د OpenSSL 3.x لرونکی لیپ ټاپ او زوړ جوړښت لرونکی روټر به د یوه سرور سره خبرو پر مهال بېل لیستونه چاپ کړي۔
| Evidence | What it actually describes |
|---|---|
--show-tls output | Capabilities of this client build and its library |
| Profile directives | What this attempt is allowed to offer |
| Session log line | What this one negotiation selected |
فرض کړئ کلینټ د A، B او C سویټونو ملاتړ کوي او یوه غونډه B غوره کوي۔ دا د دې په اړه هېڅ نه ثابتوي چې سرور A یا C ته اجازه ورکوي، او نه دا چې B یې یوازینی اجازه لرونکی انتخاب دی۔ درې کرښې جلا وساتئ، او ډېری ګډوډ TLS موضوعات به پخپله حل شي۔
فهرست ساتل بیا هم ارزښت لري۔ کله چې غونډه ناکامه شي، د کتابتون لیست د پروفایل لیست سره پرتله کول ښیي چې ایا کلینټ د سرور د غوښتل شوي شي وړاندې کولو کومه چانس درلود۔ دا هم ښیي چې ایا د backend بدلون په خاموشۍ سره TLS_CHACHA20_POLY1305_SHA256 د هغه زیرمې څخه لرې کړی چې زاړه کلینټان پرې تکیه کوي — د رګریشن هغه ډول چې د څو کاروونکو د نښلېدو ناکامۍ په بڼه ښکاري، پداسې حال کې چې نور ټول هېڅ نه پام کوي۔
له ګېټوې څخه هغه څه وپوښتئ چې ځواب یې ورکولی شي
که تاسو خدمت اداره کوئ، د ډیسک په فایل نه، بلکې د روانې پېښې مؤثره ترتیبات وګورئ۔ کېدای شي OpenVPN بل --config لارې پیل شوی وي، شاملې برخې راکاږي، یا له سمون راهیسې بیا نه دی پیل شوی۔ هغه څه چې کلینټان ورسره مخامخ کېږي د روان ډیمون پالیسي ده۔
که تاسو یې نه اداره کوئ، له آپریټر څخه د ملاتړ شویو کلینټ اړتیاوو یا محدود منلو ازموینه وغواړئ۔ رد شوې هڅه په اتوماتيک ډول رد شوې سویټ نه ده: د نسخې لاندې حد، د سند د هویت ازموینې لکه remote-cert-tls، یا د tls-auth او tls-crypt ترمنځ ناسمونډی کولی شي تبادله پای ته ورسوي مخکې لدې چې د سویټ انتخاب اهمیت ومومي۔ مخکې لدې چې د کلینټ لیست بدل کړئ د سرور تېروتنه ولولئ، ځکه «handshake failed» څلور بېل لاملونه پوښي او یوازې یو یې د سایفر ناسمونډی دی۔
openssl s_client د VPN پورټ ته اړول هم پوښتنه بیا نه تولیدوي۔ د کنټرول کانال د OpenVPN په خپل چوکاټ کې ځي، نو خام TLS پلټنه په هغه پورټ کې بل پروتوکول ازموي چې بل څه تمه لري۔ له هغې څخه هر نتیجه د پلټنې په اړه ده، نه د تونل۔
دوه پایلې ثبت کړئ او هغه جلا وساتئ
یوه نوې اجازه لرونکې غونډه د کنټرول کانال یوه کرښه جوړوي چې پروتوکول نسخه او ټاکل شوی سایفر یادوي، او بېله د معلوماتو کانال کرښه چې د تونل سایفر یادوي۔ دواړه د کلینټ نسخې او پروفایل نوم سره ونیسئ، او ولیکئ چې کومې سرور پېښې ځواب ورکړ:
openvpn --config office.ovpn --verb 4 2>&1 | tee session.txt
بیا هغه دوه کرښې له هماغه فایل څخه ولولئ نه له حافظې۔ جوړه ثبوت دی؛ یوازې د سویټ نوم غوراوی دی، او د نسخې حد بېله اعلامیه ده چې سرور څه رد کوي۔
ازموینې په دې ترتیب ترسره کړئ۔ جوړښت او backend د --version سره تایید کړئ۔ مخکې لدې چې هر څه بدل کړئ --show-tls ونیسئ۔ اړین د نسخې لاندې حد د سویټ لیست څخه جلا بیان کړئ۔ د روانې پېښې مؤثره پالیسي د هغې له مالک سره تایید کړئ۔ یوه اجازه لرونکې غونډه او، که پلان اجازه ورکړي، په زوړ نسخه یوه رد شوې هڅه وګورئ۔ د کنټرول کانال او معلوماتو کانال پایلې د جلا موندنو په توګه ثبت کړئ۔
که اړین کلینټ نشي کولی نوی لږترلږه پوره کړي، هغه مهاجرت یا استثنا پرېکړه په څرګند ډول وکړئ، پرځای دې چې په خاموشۍ سره نامرتبط منلو قاعده ښکته کړئ ترڅو خپرول بشپړ ښکاره شي۔