MySQL iyada oo VPN: xaqiiji serverka, ma aha oo kaliya sirta
Sirgelinta hostka qaldan wali waa qalad. Isbarbar dhig qiimayaasha ssl-mode, kadibna socodsii xiriir sheegaya serverka aad u jeedday oo taas caddeeya.
Waxaad kaydisaa xiriir ku socda 10.20.4.15, VPN-ga wuu dhacaa, macmiilka weli wuu xiriiraa. Taasi waa war wanaagsan ma aha. Cinwaan gaar ah waa meel ku dhex jirta goob kasta oo dariiqa socodka aad ku jirto, iyo shabakado badan ayaa isticmaala isla xadkaas. Macmiilku wuxuu gaadhay server MySQL, kaliya waxaa laga yaabaa in uusan gaadhin kaaga.
Hagaajintu waxay leedahay laba qaybood, oo mid keliya ayaa ku saabsan shabakadda. Xiriirka ku hay wadada loogu talagalay, oo ka dhig macmiilka inuu xaqiijiyo serverka uu la hadlayo. Qaybta hore waa halka VPN caawiso; qaybta labaad waa in la habeeyaa.
Si sax ah loo sirgeliyay maxaa?
TLS waxay ka ilaalisaa wada hadalka qof kasta oo dhexda jooga, oo waxba ma sheegto cidda uu sheegto inuu yahay barta dhammaadka haddii macmiilku aanu hubin. Shahaado lagu xaqiijiyay hay'ad lagu kalsoonaan karo waxay caddeynaa in shahaadadu ka timid hay'addaas. Ma caddeyso in shahaadadu loo soo saaray magaca hostka aad rabtay inaad gaadho, oo kuwaasi waa su'aalo kala duwan.
Tani ma aha boos teoreeti ah. Portalooyinka qabashada, khaladaadka VRF qaldan iyo qorshayaasha cinwaanka is dulsaaran dhamaantood waxay abuuraan server si buuxda u diyaar u ah inuu kula gorgortamo TLS. Haddii macmiilku uu codsado sirgelin keliya, fadhigu waa gaar oo waxaa loo jeediyay keydka xogta qaldan.
Marka su'aasha muhiimka ahi ma aha in xiriirku sirgelyahay, laakiin in loo sirgeliyay aqoonsiga aad u jeedday. Macmiilka MySQL, kala duwanaanshahaas wuxuu si buuxda ugu nool yahay dejinta ssl-mode.
Shanta qiime ee ssl-mode ficil ahaan
Waxaa jira shan qiime, oo mid keliya ayaa ka jawaaba su'aasha buuggan. Shaxdu waxay taxdaa waxa mid kastaa dhab ahaan dammaanad qaadayo, ma aha waxa magiciisu soo jeediyo.
| Mode | What it guarantees |
|---|---|
DISABLED | No TLS at all; everything on the wire is readable |
PREFERRED | Tries TLS and falls back to plaintext when the account and server allow it, so it is not a fail-closed requirement |
REQUIRED | Refuses to connect without TLS, and does not validate the certificate |
VERIFY_CA | Validates the server certificate against the configured CA and does not check the hostname |
VERIFY_IDENTITY | Validates the CA and checks that the certificate names the host the client used |
Kaliya safka ugu dambeeya ayaa ka jawaaba su'aasha maqaalkan. PREFERRED waa mudan in si gaar ah loo xuso, maxaa yeelay macmiil si aamusan ugu dhaca qoraal cad wuu ka xun yahay mid diida: waxaad u malaynaysaa inaad haysato sirgelin oo duubista baakaduhu ma raacsana.
Xiriir aad maanta socodsiin karto
Amarka hoose waa qaabka la isticmaalo, oo leh laba meelood oo beddel ah: magaca keydka xogta ee la ansixiyay iyo faylka CA ee laga helay kanaal la ansixiyay. Midkoodna waa in aan laga qaadan waxa serverku kuu soo bandhigo xiriirka koowaad.
mysql --host=db.corp.example --user=app_reader \
--ssl-mode=VERIFY_IDENTITY \
--ssl-ca=/approved/path/ca.pem --password
--password qiime la'aan waxay waydiisaa gelin, taas oo sirta ka ilaalinaysa liiska hababka iyo taariikhda shell-kaaga. Waa caado yar oo faa'iido weyn leh martigeliyeyaasha boodboodka la wadaago, halkaas oo khadka amarku uu u muuqdo isticmaalayaasha kale.
Marka tani guuldareysato, qoraalka khaladku wuxuu kala saaraa kiisaska si ka wanaagsan dareenka. Guuldarada CA waxay ka dhigan tahay in silsiladdu aanay xaqiijin oo waa inaad eegto CA kee ayaa saxeexay shahaadada serverka. Guuldarada magaca host waxay ka dhigan tahay in silsiladdu fiican tahay oo magacu aanu ku habboonayn, taas oo badanaa ka dhigan tahay inaad ku xirtay serverka saxda ah magac qaldan halkii aad ku xiri lahayd serverka qaldan.
Soo muuqashada codsi ma aha caddayn in furaha sirta ah hore loo diray, oo xiriir guuldareystay ma caddeeyo in aanay waxba ka bixin macmiilka. Haddii aad dib u dhisto dhacdo hore, aqoonsso macmiilka, habayntiisa, plugin-ka xaqiijinta iyo marxaladda guuldareysatay. Qiyaasidda soo-gaadhista fariinta khaladka ugu dambeysa waa mala-awaal.
Marka magacu ka yimaado tunnel
Gudbinta dekedda maxalliga ah waxay jebisaa hubinta aqoonsiga si dadka yaabiso. Haddii aad deked maxalli ah u gudbiso keydka xogta oo aad ku xirto localhost, macmiilku wuxuu shahaadada ku xaqiijiyaa localhost, oo ma jiro shahaado loo soo saaray magacaas. Xiriirku wuu si buuxda u ammaan noqon karaa oo xaqiijintu haddana guuldareysan doontaa, taas oo ah hubinta u shaqaynaysa sida loogu talagalay.
Waxaa jira laba jawaabood oo daacad ah. Barta dhammaadka ee la gudbiyay sii magac ku xalliya cinwaanka loopback oo ka soo muuqda shahaadada serverka, ama isticmaal magaca host laga bilaabo ilaa dhammaadka si macmiilku u xaqiijiyo aqoonsiga dhabta ah. Kii hore waa ku habboon horumariyayaasha oo wuxuu u baahan yahay shaqo shahaado; kan dambe waa fudud in laga fikiro oo badanaa waa caadada saxda ah ee otomaatigaynta. Daminta xaqiijinta si gudbintu u shaqayso waxay tuuraysaa hantida aad isku dayaysay inaad ku darto.
Aqbashada waa saddex shuruudood
Qor imtixaanka aqbashada saddex bayaan oo gooni ah: xiriirku wuxuu isticmaalay wadada loogu talagalay, sirgelintu waxay ahayd loo baahan yahay ee ma aha doorbid, iyo aqoonsiga serverka waxaa lagu xaqiijiyay maaddo lagu kalsoonaan karo. Astaanta VPN cagaaran midkoodna ma dhajinayso.
Macmiiliyada GUI iyo MariaDB, hubi dukumeentiga iibiyaha laftiisa halkii aad ka malayn lahayd in higgaadda calanku ay socoto. Dukumeentiga MySQL ee xiriirada sirgelyahay wuxuu daboolaa kala duwanaanshaha hababka iyo shuruudda qaybinta CA, waana tixraaca la hubiyo ka hor inta aanad beddelin xarigga xiriirka wax soo saarka.