د تونل یوه خوا کنټرول چینل د کلي سلاټ سره لاسلیک کوي چې بله خوا یې هېڅکله نه ګوري، او اړیکه د تصدیق غلطۍ سره مري مخکې له دې چې یو هم سند تبادله شي۔ د tls-auth د لوري ناسازګاري همداسې ښکاري، او دا قطعي ده: هماغه دوه فایلونه په هر هڅه کې، له هرې شبکې ناکامېږي۔ په لاګ کې د هغه انتخاب نوم نشته چې تاسو یې لټوئ، نو خلک هغه کیلي چې هېڅکله نه وې ماتې شوې بیا جوړوي او سندونه بیا صادروي۔ حل دا دی چې دواړه خواوې بشپړونکې کړئ، یا دواړه دوهلوري پرېږدئ، نه دا چې تصدیق کمزوری کړئ۔

ناکامي له سندونو دمخه پېښېږي

له tls-auth سره دواړه همکاران ورته ګډه کیلي لري او هر یو له هغې جوړ شوي دوه سلاټونو څخه یو کاروي: یو سلاټ بهر وتونکي کنټرول پاکټونه لاسلیک کوي، بل راتلونکي تصدیقوي۔ لوري 0 او لوري 1 دا رولونه په مخالف ترتیب ټاکي، نو جوړه باید بشپړونکې وي ترڅو HMAC ګوتنې سره سمون وخوري۔ کله چې په یوه خوا کې ټاکنه بدله شي، ترلاسه کوونکی په غلط سلاټ کې لاسلیک لټوي او پاکټ ردوي۔ ناسته هلته پای ته رسېږي، نو غلطي د پاکټ تصدیق پورې اړه لري، نه هغه څه ته چې د سندونو زېرمه به یې تولید کړي۔

قطعیت د تشخیص لپاره مهم دی، ځکه چې د وخت یا لارې ستونزه بله نښه پرېږدي: ناوبار بار بار پرېکېدل، د یو لوري ناکامي، یا هغه ناسته چې یوازې په ځانګړې شبکه کې مري۔ د لوري ناسازګاري هر ځل په لومړي لاس ورکولو کې ناکامه کېږي، او په بل ماشین کې چې هماغه دوه فایلونه لري همداسې ناکامه کېږي۔ لاګ په --verb 4 کې ولولئ او د وروستي کرښې پرځای لومړی رد شوی پاکټ ومومئ۔ که هغه رد له کوم سند تبادلې دمخه پېښ شي، ګډه کیلي او د هغې لوری هغه دوه شیان دي چې د کتلو ارزښت لري۔

What you seeWhat it rules outNext check
Authentication error before any certificate is sentThe data channel is irrelevant; the control channel never authenticatedCompare tls-auth and its direction on both ends
Certificate or handshake failure after the control channel authenticatesThe shared key and its direction already agreeCheck the CA, the certificate dates and the hostname
Session completes but throughput or cipher warnings appearDirection was never the problemCompare the data-channel cipher settings
Startup stops on an options errorThe number itself is not the issueRe-read the inline versus external directive syntax

شمېره چېرته اوسېږي

د OpenVPN 2.6 لارښود د لوري لپاره دوه ځایونه ثبتوي: د tls-auth دوهم استدلال کله چې کیلي په جلا فایل کې وي، او جلا key-direction کرښه کله چې کیلي په پروفایل کې دننه وي۔ دواړه ورته ارزښت ټاکي، نو پروفایل باید یو بڼه یا بله وکاروي، هېڅکله دواړه نه۔ پرېښودل هم یو انتخاب دی، او دواړه همکاران په دوهلوري ترتیب کې ږدي چې هغه وخت کار کوي چې هېڅ خوا لوری نه نوموي۔ دوه همکاران چې ورته شمېره لري په هغه ترتیب کې نه دي: هر یو تمه لري چې په یو سلاټ کې لاسلیک او په بل کې تصدیق وکړي، او دواړه دا په یوه توګه کوي۔

# server.conf, external key
tls-auth ta.key 0

# client.ovpn, external key
tls-auth ta.key 1

# client.ovpn, inline key
key-direction 1

داخله بڼه په خپله کرښه کې لارښوونه ده، نه د کیلي بلاک د پرانیستلو ټګ باندې ځانګړتیا، او هغه ټګ ته استدلال زیاتول غلطي ده، نه د لوري بدلون۔ ځای هم مهم دی: لارښوونه د هغه بلاک څخه بهر ده چې هغې ته اړه لري، نو هغه ارزښت چې د بلاک دننه لیکل شوی وي د کیلي موادو په توګه لوستل کېږي۔ هغه ترتیب کاپي کړئ چې د پروفایل ویشونکي یې په نظر کې درلود، د جوړې جوړولو پرځای، ځکه چې د یو سرور پر وړاندې کار کوونکی پروفایل کېدای شي په بله خوا لا دمخه انعکاس شوی وي۔

انتخاب څه نه لمس کوي

دا د اپلیکیشن ترافیک نه کوډ کوي۔ tls-auth د کنټرول چینل پاکټونو شاوخوا HMAC ږدي، خو د معلوماتو چینل د ناستې کیليو سره خوندي وي چې د لاس ورکولو پر مهال پرې تفاهم کېږي، نو د تېزوالی یا سایفر پوښتنه د لوري شمېرې سره هېڅ تړاو نه لري۔ ترتیبات دوهم کوډ کولو پوړ هم نه زیاتوي، او همدا انګېرنه خلک د اوږدې کیلي لټون ته لېږي۔

دا په tls-crypt نه تطبیقېږي، د کنټرول چینل بله میکانېزم چې خپل انتخابونه او د کیلي سمبالښت لري، او د هېڅ همکار د سند هویت په اړه څه نه وایي۔ نو کار کوونکې د لوري سمون یوازې دا ثابتوي چې دواړه خواوې په دې موافقې دي چې کنټرول چینل څنګه تصدیق کړي، نه دا چې د باور زنځیر تصدیق شوی دی۔

جوړه سمه کړئ، بیا بیا ونښلوئ

له هر بدلون دمخه دواړه ترتیبات پرتله کړئ، ځکه چې هغه خوا سمول چې لا دمخه سمه وه کار دوه برابره کوي۔ لاندې grep ښیي چې هر فایل کوم میکانېزم غوره کوي؛ تفصیلي چلېدنه ښیي چې کنټرول چینل اصلاً تصدیق شو که نه۔ دواړه وتنې وساتئ، ترڅو بل بدلون له پېژندل شوي حالت سره پرتله شي۔

grep -n -E 'tls-auth|tls-crypt|key-direction' server.conf client.ovpn
openvpn --config client.ovpn --verb 4 2>&1 | grep -i -E 'hmac|tls error|control channel'

له هر بدلون وروسته دواړه همکاران بیا پیل کړئ، ځکه چې دا انتخابونه په پیل کې یو ځل لوستل کېږي او د یوې خوا بیا بارول جوړه د زوړ ناستې په ټول عمر کې ناسازګاره پرېږدي۔ که څه چې ځای پرځای کول اوس پرته له ټاکل شوي لوري کار کوي، په یو همکار باندې د ترتیباتو زیاتول هغه ناکامي بیا تولیدوي چې تاسو پرې پیل کړی و؛ یا دواړه پرېږدئ یا دواړه تنظیم کړئ۔ په یو وخت کې یوه خوا بدله کړئ او پخوانی فایل وساتئ، ترڅو بیرته ګرځېدل دوه دقیقې وي نه بیا جوړول۔

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

اړوندې مقالې