MySQL um VPN: sannreyndu netþjóninn, ekki bara dulkóðunina
Dulkóðun til rangs hýsis er enn röng. Berðu saman ssl-mode gildin og keyrðu svo tengingu sem nefnir netþjóninn sem þú ætlaðir og sannar það.
Þú vistar tengingu við 10.20.4.15, VPN-ið dettur út og biðlarinn tengist samt. Þetta eru ekki góðar fréttir. Einkafang er staðsetning innan hvaða beiningarsamhengis sem þú ert í, og margt net notar sömu sviðin. Biðlarinn náði í MySQL netþjón, kannski bara ekki þínum.
Lögunin hefur tvo helminga, og aðeins annar snýr að netinu. Haltu tengingunni á ætlaðri leið og láttu biðlarann sannreyna netþjóninn sem hann talar við. Fyrri helmingurinn er þar sem VPN hjálpar; seinni helminginn þarf að stilla.
Dulkóðað til hvers, nákvæmlega?
TLS verndar samræðurnar frá hverjum þeim sem er í miðjunni og segir ekkert um hver endapunkturinn segist vera nema biðlarinn athugi það. Skírteini sem staðfestist gagnvart traustu yfirvaldi sannar að skírteinið kom frá því yfirvaldi. Það sannar ekki að skírteinið hafi verið gefið út fyrir hýsisnafnið sem þú ætlaðir að ná til, og þetta eru mismunandi spurningar.
Þetta er ekki fræðileg eyða. Captive-gáttir, mistök með röngu VRF og skarastfangakerfi framleiða öll netþjón sem er algjörlega reiðubúinn að semja um TLS við þig. Ef biðlarinn krefst aðeins dulkóðunar er lotan einkarekin og beint að röngu gagnagrunninum.
Þannig að viðeigandi spurning er ekki hvort tengingin er dulkóðuð heldur hvort hún er dulkóðuð til þeirrar auðkennis sem þú ætlaðir. Í biðlara MySQL býr sá greinarmunur algjörlega í stillingunni ssl-mode.
Fimm ssl-mode gildin í reynd
Það eru fimm gildi, og aðeins eitt þeirra svarar spurningunni í þessari handbók. Taflan listar hvað hvert þeirra ábyrgist í raun, frekar en hvað nafnið gefur til kynna.
| 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 |
Aðeins síðasta röðin svarar spurningunni í þessari grein. PREFERRED er vert að benda á sérstaklega, því biðlari sem fellur hljóðlega í venjulegan texta er verri en sá sem neitar: þú heldur að þú hafir dulkóðun og pakkaupptakan er ósammála.
Tenging sem þú getur keyrt í dag
Skipunin hér að neðan er formið sem á að nota, með tveimur staðgengilum: samþykktu gagnagrunnsnafni og CA-skrá sem fengin var í gegnum samþykktan rás. Ekkert þeirra á að taka úr því sem netþjóninn býður þér við fyrstu snertingu.
mysql --host=db.corp.example --user=app_reader \
--ssl-mode=VERIFY_IDENTITY \
--ssl-ca=/approved/path/ca.pem --password
--password án gildis biður um inntak, sem heldur leyndarmálinu utan ferlalistans og utan skeljasögunnar þinnar. Þetta er lítil venja með mikinn ávinning á sameiginlegum stökkhýsum, þar sem skipanalínan er sýnileg öðrum notendum.
Þegar þetta mistekst greinir villutextinn tilfellin betur en innsæi. CA-mistök þýða að keðjan staðfestist ekki og þú ættir að skoða hvaða CA undirritaði skírteini netþjónsins. Hýsisnafnsmistök þýða að keðjan er í lagi og nafnið passar ekki, sem venjulega þýðir að þú tengdist rétta netþjóninum undir röngu nafni frekar en ranga netþjóninum.
Að beiðni birtist er ekki sönnun þess að lykilorð hafi þegar verið sent, og misheppnuð tenging sannar ekki að ekkert hafi yfirgefið biðlarann. Ef þú endurgerir fyrri atburð, auðkenndu biðlarann, stillingar hans, auðkenningarviðbótina og það þrep sem mistókst. Að áætla váhrifin út frá síðustu villuskilaboðunum er ágiskun.
Þegar nafnið kemur úr göngum
Staðbundin portflutningur brýtur auðkennisathugunina á þann hátt sem kemur fólki á óvart. Ef þú flytur staðbundið port til gagnagrunnsins og tengist localhost, staðfestir biðlarinn skírteinið gagnvart localhost, og ekkert skírteini var gefið út fyrir það nafn. Tengingin getur verið algjörlega örugg og sannreyningin mistekst samt, sem er athugunin að virka eins og henni er ætlað.
Það eru tvö heiðarleg svör. Gefðu flutta endapunktinum nafn sem leysist í lykkjubakfang og birtist í skírteini netþjónsins, eða notaðu hýsisnafnið frá upphafi til enda svo biðlarinn sannreyni raunverulega auðkennið. Hið fyrra er þægilegt fyrir forritara og krefst skírteinisvinnu; hið síðara er auðveldara að hugsa um og oft rétta sjálfgefna gildið fyrir sjálfvirkni. Að slökkva á sannreyningu svo flutningurinn virki hendir þeim eiginleika sem þú reyndir að bæta við.
Viðtaka eru þrjú skilyrði
Skrifaðu viðtökuprófið sem þrjár aðskildar fullyrðingar: tengingin notaði ætluðu leiðina, dulkóðun var krafist frekar en valin, og auðkenni netþjónsins var sannreynt gagnvart traustu efni. Grænt VPN-tákn staðfestir ekkert þeirra.
Fyrir GUI-biðlara og MariaDB skaltu skoða eigin skjöl söluaðilans í staðinn fyrir að gera ráð fyrir að stafsetning fánans flytjist yfir. Skjöl MySQL um dulkóðaðar tengingar ná yfir muninn á stillingum og kröfuna um dreifingu CA, og það er tilvísunin sem á að athuga áður en þú breytir framleiðslutengingarstreng.