11.7.25

Новое в SQL Server 2025: Secure By Default ещё ближе

Автор: Pieter Vanhove, MICROSOFT, 17 июня 2025г.   Secure by default: What’s new in SQL Server 2025 security

В SQL Server 2025 была улучшена безопасность, теперь клиентские секреты будут защищены с помощью управляемой аутентификации, а также внедрены более строгие стандарты шифрования и протоколы подключения. Всё это призвано помочь упреждать появление новых угроз благодаря усилению безопасности данных — прямо из коробки.

Обновления криптографии

PBKDF2 для хэшей паролей по умолчанию

Начиная с SQL Server 2012, использовался хэш SHA-512 в сочетании с 32-битной случайной и уникальной «солью» (дополнительные случайные данные, усложняющие подбор пароля). Этот метод сделал статистически невозможным взлом паролей пользователей.

В SQL Server 2025 реализован итеративный алгоритм хэширования RFC2898, также известный как функция деривации ключа на основе пароля (PBKDF). Этот алгоритм по-прежнему использует SHA-512, но хэширует пароль несколько раз (100 000 итераций), что значительно замедляет атаки методом подбора. Это изменение усиливает защиту паролей в ответ на развивающиеся угрозы безопасности и помогает клиентам соблюдать рекомендации NIST SP 800-63b.

Это касается:

                 CREATE LOGIN WITH PASSWORD

                 CREATE USER WITH PASSWORD

                 CREATE APPLICATION ROLE

 

Поддержка OAEP для сертификатов и асимметричных ключей

Иерархия шифрования

SQL Server шифрует данные с помощью иерархического шифрования и инфраструктуры управления ключами. Каждый уровень шифрует уровень ниже себя, используя комбинацию сертификатов, асимметричных ключей и симметричных ключей. Асимметричные ключи и симметричные ключи могут храниться вне SQL Server в модуле Extensible Key Management (EKM). На следующем рисунке ниже показаны наиболее актуальные конфигурации шифрования.


Новый алгоритм шифрования для сертификатов и асимметричных ключей

SQL Server использует алгоритм RSA для асимметричного шифрования. Однако «чистая» (базовая) версия RSA неприменима, поскольку не обладает семантической стойкостью и уязвима к атакам с выбранным открытым текстом и атакам на зашифрованный текст из-за своей детерминированной природы. Шифрование одного и того же сообщения дважды даёт идентичный шифрованный текст.

Для обеспечения безопасности сообщений требуются т.н. дополнения (padding). В настоящее время данные шифруются с помощью RSA по схеме PKCS #1 v1.5. Последние версии стандарта PKCS#1 v1.5 включают улучшенный метод дополнения — Optimal Asymmetric Encryption Padding (OAEP), который использует хеш-функцию для добавления внутренней избыточности. Это делает маловероятным случайное совпадение произвольной строки с форматом дополнения. OAEP также вводит дополнительное хеширование между этапом шифрования RSA и проверкой дополнения, что существенно затрудняет атаки.

Начиная с SQL Server 2025, появилась поддержка OAEP-256 для RSA-шифрования с использованием сертификатов или асимметричных ключей. Переход на режим OAEP зависит от уровня совместимости базы данных, он доступен для уровня 170 или выше.

Защита данных при передаче с поддержкой TDS 8.0 и TLS 1.3

В SQL Server 2025 внедрена поддержка Tabular Data Stream (TDS) 8.0 и Transport Layer Security (TLS) 1.3. TDS 8.0 обеспечивает строгие протоколы шифрования для защиты данных при передаче, что соответствует современным стандартам шифрования и ожиданиям клиентов относительно безопасных конфигураций по умолчанию.

Улучшение TDS 8.0 и TLS 1.3

В предыдущих версиях SQL Server шифрование было необязательным и обычно добавлялось после первоначальной настройки соединения. TDS 8.0 меняет этот подход, обеспечивая шифрование с начала соединения. Благодаря TLS 1.3 SQL Server 2025 обеспечивает сквозное шифрование всех коммуникаций, что сокращает поверхность атаки и соответствует лучшим отраслевым практикам.

Новая последовательность подключения теперь выглядит так:

TCP handshake → TLS handshake → TDS prelogin (encrypted) → Authentication (encrypted) → Data exchange (encrypted)

Это существенное улучшение по сравнению с предыдущей моделью, где фаза предварительного входа TDS была зашифрована опционально в зависимости от настроек клиента и сервера. С TDS 8.0 шифрование применяется с самого начала соединения, включая фазу предварительного входа, обеспечивая сквозную защиту по умолчанию.

Поддержка компонентами SQL Server протокола TDS 8.0

Поддержка TDS 8.0 и TLS 1.3 добавлена во все функции и утилиты SQL Server 2025. На момент выхода статьи такую поддержку имел следующий функционал:

·        Database Mail

·        SQL Writer/VSS

·        sqlcmd.exe

·        bcp.exe

 

После релиза SQL Server 2025 поддержка TDS 8.0 будет у следующих компонент:

·        Availability Groups & Failover Clusters

·        Linked Server

·        Log Shipping

·        PolyBase

·        SQL Agent

 

Другие улучшения безопасности

Улучшения кэша безопасности

Кэш безопасности SQL Server хранит разрешения пользователей или логинов для защищаемых объектов базы данных или сервера. Одним из преимуществ такого кэширования является то, что ускоряется выполнение запросов. Перед тем, как SQL Server выполнит запрос, он проверяет разрешения пользователя на объекты базы данных, например, разрешения на уровне схемы, разрешения на уровне таблицы или разрешения на уровне столбцов.
Возможны случаи, когда кэш безопасности на уровне базы данных или сервера будет аннулирован, что приводит к потере всех текущих записей кэша. Все последующие запросы и проверки разрешений будут следовать полному рабочему алгоритму «без кэша» до тех пор, пока кэш не будет снова заполнен, что может существенно повлиять на производительность сервера. Это особенно неприятно при высокой нагрузке, поскольку всем активным соединениям необходимо загрузить в кэш соответствующие записи. Повторные аннулирования кэша могут усугубить ситуацию. Аннулирования кэша в базе данных master рассматриваются как аннулирования на уровне сервера, и затрагивает кэши всех баз данных экземпляра. В таблице ниже перечислены все DDL, которые аннулируют кэш безопасности.


В SQL Server 2025 появился функционал, который аннулирует кэши только для определенного логина. Это означает, что недействительными записи кэша безопасности становятся только те, которые принадлежат затронутому логину. Например, если вы предоставляете логину L1 новое разрешение, токены для логина L2 остаются действительными. Для начала эта возможность применяется для логинов в сценариях CREATE, ALTER и DROP, а также к изменениям их разрешений. Однако, групповые логины будут продолжать аннулироваться на уровне сервера.

Поддержка пользовательской политики паролей в Linux

В течение многих лет SQL Server на Windows для обеспечения соблюдения политик паролей использовал Active Directory (AD), обеспечивая согласованность со стандартами безопасности на уровне предприятия. Однако этот уровень контроля отсутствовал в SQL Server на Linux. Это меняется с выходом SQL Server 2025, где мы представляем Custom Password Policies для SQL Server на Linux. Эта новая функция позволяет администраторам применять строгие правила создания паролей даже без интеграции с AD. Независимо от того, работаете ли вы в гибридной среде или полностью в облаках, теперь вы можете применять требования к сложности пароля, сроку действия и истории непосредственно в SQL Server на Linux.

Там, где управление политиками централизовано на сервере AD, администраторы домена могут управлять политикой паролей непосредственно в AD. Чтобы это работало, хосты Linux, на которых запущен SQL Server, должен быть присоединен к домену Windows. Затем нужно использовать утилиту ADutil для извлечения политики паролей, определенной в AD, и записи её в файл «mssql.conf». Это обеспечит централизованное, согласованное применение политики в SQL Server.

В качестве альтернативы, если хост на Linux не присоединен к домену или у него нет доступа к контроллеру домена, вы можете настроить политики паролей вручную. Просто измените соответствующие параметры в файле mssql.conf с помощью mssql-conf. Этот метод обеспечивает простоту и хорошую управляемость, что делает его идеальным для автономных или не доменных установок.

Эта новая возможность закрывает давнюю брешь в безопасности и приводит установки на Linux в соответствие с требованиями управления паролями корпоративного уровня.

Комментариев нет:

Отправить комментарий