Microsoft Teams Blog articles на русском
Подписаться
Закрепление TLS-сертификатов и лучшие практики в Azure Database for PostgreSQL
TLS шифрует данные между клиентами и серверами в Azure Database for PostgreSQL, при этом серверные сертификаты выдаются доверенными центрами сертификации (ЦС). Привязка сертификатов (certificate pinning) — это метод безопасности на стороне клиента, который ограничивает доверие к конкретному сертификату, а не к хранилищу доверенных сертификатов по умолчанию. Сервер не может определить, настроена ли привязка на клиенте, он лишь наблюдает за успешностью или неуспешностью TLS-соединения. Привязка, хотя исторически использовалась для защиты от атак "человек посередине", создает операционную хрупкость, особенно при ротации сертификатов. Когда серверные сертификаты или ЦС меняются, клиенты с привязкой испытывают сбои подключения. Вместо этого рекомендуется модель доверия на основе ЦС, которая доверяет корневым ЦС, а не отдельным сертификатам. Клиенты должны использовать стандартную проверку TLS по отношению к корневым ЦС, задокументированным в Azure, и поддерживать гибкое, актуальное хранилище доверенных сертификатов. Предпочтительны конфигурации PostgreSQL, такие как sslmode=verify-ca или sslmode=verify-full, поскольку они проверяют подлинность по доверенным ЦС, не подразумевая привязки. Во время ротации ЦС клиенты должны добавлять новые корневые ЦС, сохраняя старые до завершения перехода. Этот комбинированный подход с использованием ЦС обеспечивает бесперебойную проверку, позволяя приложениям оставаться устойчивыми к изменениям сертификатов.