к моему серверу с базой по SSL (для репликации)?
Сертификаты и CA на моей базе самоподписанные, следовательно в строке подключения надо указывать путь к client-cert, client-key, root.cert. А так как в Яндексе, как я понимаю, нет возможности достучаться до инстанса по ssh, я не могу подсунуть эти сертификаты для проверки.
А значит при включении подписки я не могу включить sslmode=verify-ca или require:
CREATE SUBSCRIPTION sub CONNECTION 'host myhost port... user... sslmode=verify-ca dbname=' PUBLICATION pub;
Есть какой-то выход из ситуации, чтобы данные по сети не шли clear text'ом?
В настройках кластера нет этих поднастроек?
Я не нашёл в доках и в интерфейсе. Кстати, для будущих поисков по группе. Включённый sslmode=require не работает с реальными сертификатами потому как у яндекса подключается рутовый сертификат (sslrootcert) и надо его отключить так: sslrootcert="". Таким макаром можно подключиться по зашифрованному каналу, но ничего выше require включить все равно не удаётся (для verify-full нужно подключить рутовый сертификат центра сертификации, что яндекс вроде как не позволяет).
https://cloud.yandex.ru/services/data-transfer Посмотрите в эту сторону
В случае самоподписанного сертификата только sslmode=prefer передавать (по умолчанию). Оно откроет соединение с шифрованием, но да, это потенциально уязвимо к MITM.
Под реальными сертификатами имеются ввиду сертификаты, выписанные в CA, которым весь мир доверяет? Вроде Let’s Encrypt? Выглядит как проблема. Спасибо, подумаем, что тут можно сделать.
Да, все верно, как раз сертификат от Let's Encrypt
Обсуждают сегодня