Та 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 утгагүй бол оруулга асуудаг нь нууцыг процессийн жагсаалт, shell-ийн түүхээс гадуур байлгана. Энэ нь хуваалцсан үсрэх хост дээр том ашигтай жижиг зуршил бөгөөд командын мөр бусад хэрэглэгчдэд харагддаг.

Энэ нь бүтэлгүйтвэл алдааны текст тохиолдлуудыг зөн совингоос илүү сайн ялгадаг. CA-ийн алдаа нь гинжин хэлхээ баталгаажахгүй байгаа бөгөөд серверийн гэрчилгээг аль CA гарын үсэг зурсныг харах хэрэгтэй. Хост нэрийн алдаа нь гинж хэвийн боловч нэр тохирохгүй байгаа бөгөөд энэ нь ихэвчлэн буруу сервер рүү биш, зөв сервер рүү буруу нэрээр холбогдсоныг илэрхийлдэг.

Промпт гарч ирэх нь нууц үг аль хэдийн дамжуулагдсаны баталгаа биш бөгөөд бүтэлгүй холболт нь клиентээс юу ч гарч яваагүйг батлахгүй. Хэрэв та өнгөрсөн үйл явдлыг дахин бүтээж байгаа бол клиент, түүний тохиргоо, баталгаажуулалтын залгаасыг болон бүтэлгүйтсэн үе шатыг тодорхойлоорой. Эцсийн алдааны мессежээс өртөлтийг тооцох нь таамаг юм.

Нэр нь туннелиас ирэх үед

Локал портын дамжуулалт нь хүмүүсийг гайхшруулдаг байдлаар таних тэмдгийн шалгалтыг эвддэг. Хэрэв локал портыг мэдээллийн сан руу дамжуулж, localhost руу холбогдвол клиент гэрчилгээг localhost руу баталгаажуулдаг бөгөөд тэр нэрээр гэрчилгээ олгогдоогүй. Холболт бүрэн аюулгүй байж болох ч шалгалт ямар ч байсан бүтэлгүйтэх бөгөөд энэ нь шалгалт зорьсноор ажиллаж байгаа хэрэг.

Хоёр шударга хариулт байна. Дамжуулсан төгсгөлийн цэгт loopback хаяг руу шийдэгдэж, серверийн гэрчилгээнд гарч ирэх нэр өгөх, эсвэл клиент бодит таних тэмдгийг шалгахын тулд хост нэрийг эхнээс дуустал ашиглах. Эхнийх нь хөгжүүлэгчдэд тохиромжтой бөгөөд гэрчилгээний ажил шаарддаг; хоёр дахь нь бодоход хялбар бөгөөд автоматжуулалтад ихэвчлэн зөв өгөгдмөл байдаг. Дамжуулалт ажиллахын тулд шалгалтыг унтраах нь нэмэх гэж оролдсон шинж чанарыг хаяж байгаа хэрэг.

Хүлээн авалт нь гурван нөхцөл

Хүлээн авах тестийг гурван тусдаа мэдэгдэл болгон бичээрэй: холболт зорьсон замыг ашигласан, шифрлэлт давуу эрх биш шаардлагатай байсан, серверийн таних тэмдэг итгэмжлэгдсэн материалаар баталгаажсан. Ногоон VPN дүрс нь тэдгээрийн алийг ч тогтоодоггүй.

GUI клиент болон MariaDB-ийн хувьд тугийн бичлэг шууд үйлчилнэ гэж таамаглахын оронд худалдагчийн өөрийн баримт бичгийг шалгаарай. MySQL шифрлэгдсэн холболтын баримт бичиг нь горимуудын ялгаа, CA түгээх шаардлагыг хамардаг бөгөөд үйлдвэрлэлийн холболтын мөрийг өөрчлөхөөс өмнө шалгах ёстой лавлагаа юм.

Холбоотой нийтлэлүүд