تاسو یوه اړیکه خوندي کوئ 10.20.4.15 ته، VPN پرېوزي، او کلاینټ بیا هم نښلوي۔ دا ښه خبر نه دي۔ شخصي پته د هر هغه روټینګ شرایطو دننه یو ځای دی چې تاسو پکې یاست، او ډېرې شبکې ورته حدونه کاروي۔ کلاینټ یو MySQL سرور ته ورسېد، یوازې شاید ستاسو ته نه وي رسېدلی۔

سمون دوه نیمې برخې لري، او یوازې یوه یې د شبکې په اړه ده۔ اړیکه په خپله موخه لار کې وساتئ، او کلاینټ ته اړ کړئ چې هغه سرور تصدیق کړي چې ورسره خبرې کوي۔ لومړۍ نیمه هغه ځای دی چې VPN مرسته کوي؛ دوهمه نیمه باید تنظیم شي۔

په دقیق ډول څه ته کوډ شوی؟

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

دا نظري تشه نه ده۔ Captive پورټالونه، د ناسم VRF غلطۍ او یو پر بل پوښلی پته پلانونه ټول هغه سرور جوړوي چې ستاسو سره د TLS خبرو لپاره په بشپړه توګه چمتو دی۔ که کلاینټ یوازې کوډ کول وغواړي، ناسته شخصي ده خو ناسم ډیټابیس ته اشاره کوي۔

نو اړوند پوښتنه دا نه ده چې اړیکه کوډ شوې ده که نه، بلکې دا ده چې آیا هغه هویت ته کوډ شوې ده چې تاسو یې موخه درلوده۔ د MySQL په کلاینټ کې، دا توپیر په بشپړه توګه د ssl-mode په تنظیم کې ژوند کوي۔

په عمل کې پنځه ssl-mode ارزښتونه

پنځه ارزښتونه شته، او یوازې یو یې د دې لارښود پوښتنې ته ځواب وایي۔ جدول هغه څه لیستوي چې هر یو یې واقعاً تضمینوي، نه هغه څه چې نوم یې وړاندیز کوي۔

ModeWhat it guarantees
DISABLEDNo TLS at all; everything on the wire is readable
PREFERREDTries TLS and falls back to plaintext when the account and server allow it, so it is not a fail-closed requirement
REQUIREDRefuses to connect without TLS, and does not validate the certificate
VERIFY_CAValidates the server certificate against the configured CA and does not check the hostname
VERIFY_IDENTITYValidates the CA and checks that the certificate names the host the client used

یوازې وروستی کرښه د دې مقالې پوښتنې ته ځواب وایي۔ PREFERRED پخپله د یادولو وړ دی، ځکه هغه کلاینټ چې په غلې توګه ساده متن ته راځي د هغه څخه بدتر دی چې انکار کوي: تاسو باور لرئ چې کوډ کول لرئ او د بنډل نیول مخالف دي۔

هغه اړیکه چې نن یې چلولی شئ

لاندې کمانډ د کارولو بڼه ده، په دوو ځای نیوونکو سره: تصویب شوی ډیټابیس نوم او د تصویب شوې لارې له مخې ترلاسه شوی CA فایل۔ دواړه باید د هغه څه څخه ونه نیول شي چې سرور په لومړي اړیکه کې وړاندیز کوي۔

mysql --host=db.corp.example --user=app_reader \
  --ssl-mode=VERIFY_IDENTITY \
  --ssl-ca=/approved/path/ca.pem --password

--password پرته له ارزښت پوښتنه کوي، کوم چې راز د پروسې لیست او ستاسو د شیل تاریخ څخه بهر ساتي۔ دا یوه کوچنۍ عادت دی چې لویه ګټه لري په شریکو ټوپ هوسټونو کې، چېرې چې کمانډ کرښه نورو کاروونکو ته ښکاري۔

کله چې دا ناکام شي، د غلطۍ متن قضیې له وجدانه ښه توپیروي۔ د CA ناکامي معنا دا ده چې زنځیر تایید نه شي او تاسو باید وګورئ کوم CA د سرور سند لاسلیک کړی۔ د هوسټ نوم ناکامي معنا دا ده چې زنځیر سم دی او نوم سره سمون نه خوري، کوم چې معمولاً معنا دا ده چې تاسو سم سرور ته ناسم نوم سره نښلول شوي یاست نه ناسم سرور ته۔

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

کله چې نوم له تونل څخه راځي

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

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

مننه درې شرطونه ده

د مننې ازموینه د درې جلا اعلامیو په توګه ولیکئ: اړیکه موخه لاره وکاروله، کوډ کول ترجیح نه بلکې اړین و، او د سرور هویت د باوري موادو پر وړاندې تایید شو۔ شنه VPN نښه د دوی هیڅ یو نه ټینګوي۔

د GUI کلاینټونو او MariaDB لپاره، د بیرغ املا د هماغه ډول پلي کېدو فرض کولو پر ځای د پلورونکي خپل اسناد وګورئ۔ د MySQL د کوډ شوو اړیکو اسناد د حالتونو ترمنځ توپیرونه او د CA وېش غوښتنه پوښي، او دا هغه مرجع ده چې باید د تولیدي اړیکې تار بدلولو دمخه یې وګورئ۔

اړوندې مقالې