Мы используем Amazon RDS для наших баз данных на работе. Недавно мы получили автоматическое электронное письмо от Amazon, в котором говорилось, что они будут обновлять сертификаты SSL и что, если мы не обновим наши экземпляры базы данных в течение X времени, они перестанут работать. К счастью, они предоставляют инструкции, объясняющие, как это сделать, в документации AWS.
Инструкции довольно просты, хотя, должен признать, я немного запутался. Шаги 1 и Шаг 2 описывают, как загрузить сертификат SSL и установить его в клиентских приложениях. Разве клиентскому приложению не является довольно необычным необходимость установки SSL-сертификата сервера для подключения к нему? Я мог бы быть здесь совершенно ненормальным, но аналогия, о которой я думал, заключалась в том, что веб-браузерам точно так же не нужно предоставлять файл сертификата PKCS7 перед доступом к веб-сайтам, верно? Они просто получают к ним доступ.
Точно так же я никогда не вспоминал, чтобы мне приходилось устанавливать файл сертификата в MySQL WorkBench, например, перед подключением к экземпляру базы данных. Поэтому я думаю, что шаги 1 и 2 этого связанного документа (см. Выше), вероятно, не нужны в моей ситуации и, возможно, в ситуациях большинства людей.
Но тогда, как я уже сказал, я могу оказаться здесь совершенно не в своей тарелке. Может ли кто-нибудь объяснить мне, когда и почему вам когда-либо понадобится устанавливать сертификат SSL в клиентском приложении, обращающемся к базе данных?
Они используют частную PKI, таким образом, по сути, самозаверяющие сертификаты, это имеет смысл. Это своего рода плохая практика, но вся документация есть, надеюсь, у вас есть какой-то внеполосный способ подтвердить сертификаты перед их загрузкой. Риск состоит в том, что злоумышленник может изменить веб-страницу базы знаний и сертификаты и стать владельцем вашего соединения; вы никогда не узнаете, пока это не попадет в газеты.
/ Edit - загрузите сертификаты и посмотрите цепочку доверия. Если вы еще не сделали это сами, вы не доверяете корневому ЦС Amazon.
Я чаще был на другой стороне - хотел установить безопасное соединение с облачным сервисом без необходимости платить за настоящий сертификат на моей стороне. Я бы экспортировал свой самозаверяющий сертификат и импортировал его в облачную службу, чтобы они знали, что подключаются к тому, кем я им назван. В этом случае лучше полбуханки, чем ничего.