Поделиться через


Безопасность транспорта и цифровые сертификаты

В этой статье описаны сведения о протоколах TLS и цифровых сертификатах.

Транспортный уровень безопасности (TLS)

Протоколы TLS и SSL находятся между уровнем протокола приложения и уровнем TCP/IP, где они могут защитить и отправить данные приложения на транспортный уровень. Протоколы TLS/SSL используют алгоритмы из набора шифров для создания ключей и шифрования информации. Клиент и сервер согласовывают версию протокола и набор шифров, которые будут использоваться для шифрования во время начального этапа подключения (предварительного входа) при создании подключения. Наиболее высокая поддерживаемая версия TLS всегда предпочтительна при рукопожатии TLS. Сведения о версиях протоколов TLS, поддерживаемых различными версиями операционных систем Windows, см. в статьях "Протоколы TLS/SSL" (Schannel SSP). Сообщалось о нескольких известных уязвимостях по протоколу SSL и более ранним версиям TLS. Рекомендуется обновить протокол TLS 1.2 для безопасного взаимодействия.

SQL Server может использовать TLS для шифрования данных, передаваемых через сеть между экземпляром SQL Server и клиентским приложением. TLS использует сертификат для реализации шифрования.

Шифрование TLS позволяет повысить безопасность данных, передаваемых между экземплярами SQL Server и приложениями, расположенными в разных сетях. Однако, если весь трафик между SQL Server и клиентским приложением шифруется с помощью TLS, требуется следующая дополнительная обработка:

  • Во время подключения требуется дополнительный обход сети.
  • Пакеты, отправленные из приложения в экземпляр SQL Server, должны быть зашифрованы стеком TLS клиента и расшифровываются стеком TLS сервера.
  • Пакеты, отправленные из экземпляра SQL Server в приложение, должны быть зашифрованы стеком TLS сервера и расшифровываются стеком TLS клиента.

Это важно

Начиная с SQL Server 2016 (13.x), Secure Sockets Layer (SSL) был упразднен. Вместо этого используйте TLS (TLS 1.2). Дополнительные сведения см. на странице TLS 1.2 support for Microsoft SQL Server (Поддержка версии 1.2 TLS в Microsoft SQL Server). SQL Server 2022 предоставляет поддержку TLS 1.3. Дополнительные сведения см. в разделе поддержки TLS 1.3. Если между клиентским и серверным компьютерами отсутствуют соответствующие протоколы, вы можете столкнуться с ошибкой существующее соединение было принудительно закрыто удаленным узлом.

Общие сведения о цифровом сертификате

Цифровые сертификаты — это электронные файлы, которые работают как сетевой пароль для проверки удостоверения пользователя или компьютера. Они используются для создания зашифрованного канала, используемого для обмена данными с клиентами. Сертификат — это цифровая инструкция, выданная центром сертификации (ЦС), которая отвечает за удостоверение владельца сертификата и позволяет сторонам безопасно взаимодействовать с помощью шифрования.

Цифровые сертификаты предоставляют следующие службы:

  • Шифрование: они помогают защитить данные, которые обмениваются от кражи или изменения.
  • Проверка подлинности. Они проверяют, что их владельцы (люди, веб-сайты и даже сетевые устройства, такие как маршрутизаторы) действительно кто или что они утверждают. Как правило, проверка подлинности является односторонней, где источник проверяет личность получателя, но также возможна взаимная проверка подлинности с использованием TLS.

Сертификат содержит открытый ключ и подключает этот открытый ключ к удостоверению пользователя, компьютера или службы, содержащей соответствующий закрытый ключ. Открытые и закрытые ключи используются клиентом и сервером для шифрования данных перед передачей. Для пользователей, компьютеров и служб Windows доверие к удостоверяющему центру (ЦС) устанавливается при определении корневого сертификата в хранилище доверенных корневых сертификатов, а сертификат содержит допустимый путь сертификации. Сертификат считается допустимым, если он не был отменен (он не находится в списке отзыва сертификатов ЦС или CRL) или истек срок действия.

Три основных типа цифровых сертификатов описаны в следующей таблице:

Тип Описание Преимущества Недостатки
Самоподписанный сертификат Сертификат подписан приложением, создающим его или созданным с помощью New-SelfSignedCertificate. Стоимость (бесплатная) — Сертификат автоматически не доверяется на клиентских компьютерах и мобильных устройствах. Сертификат необходимо добавить вручную в хранилище доверенных корневых сертификатов на всех клиентских компьютерах и устройствах, но не все мобильные устройства позволяют изменять хранилище доверенных корневых сертификатов.

— Не все сервисы работают с самозаверяющимися сертификатами.

— Сложно установить инфраструктуру для управления жизненным циклом сертификатов. Например, самозаверяющий сертификат нельзя отменить.
Сертификат, выданный внутренним ЦС Сертификат выдан инфраструктурой открытых ключей (PKI) в вашей организации. Примером является служба сертификатов Active Directory (AD CS). Дополнительные сведения см. в разделе "Общие сведения о службах сертификатов Active Directory". — позволяет организациям выдавать собственные сертификаты.

— менее дорого, чем сертификаты от коммерческих центров сертификации.
— повышенная сложность развертывания и обслуживания PKI.

— Сертификат автоматически не доверяется на клиентских компьютерах и мобильных устройствах. Сертификат необходимо добавить вручную в хранилище доверенных корневых сертификатов на всех клиентских компьютерах и устройствах, но не все мобильные устройства позволяют изменять хранилище доверенных корневых сертификатов.
Сертификат, выданный коммерческим ЦС Сертификат приобретается у доверенного коммерческого Центра сертификации. Развертывание сертификатов упрощается, так как все клиенты, устройства и серверы автоматически доверяют сертификатам. Стоимость. Необходимо заранее спланировать, чтобы свести к минимуму количество необходимых сертификатов.

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

Метод Описание Преимущества Недостатки
Соответствие объекта сертификата Поле субъекта сертификата содержит общее имя узла. Например, сертификат, выданный www.contoso.com, может быть использован на веб-сайте https://www.contoso.com. — Совместимо со всеми клиентами, устройствами и службами.

-Компартментализация. Отзыв сертификата для узла не влияет на другие узлы.
— необходимое количество сертификатов. Сертификат можно использовать только для указанного узла. Например, вы не можете использовать сертификат www.contoso.com для ftp.contoso.com, даже если службы установлены на одном сервере.

-Сложность. На веб-сервере каждый сертификат требует собственной привязки IP-адресов.
Сопоставление альтернативного имени субъекта сертификата (SAN) Помимо поля субъект, поле Альтернативное имя субъекта сертификата содержит список различных имен узлов. Рассмотрим пример.
www.contoso.com
ftp.contoso.com
ftp.eu.fabrikam.net
-Удобство. Один и тот же сертификат можно использовать для нескольких узлов в нескольких отдельных доменах.

— Большинство клиентов, устройств и служб поддерживают сертификаты SAN.

— аудит и безопасность. Вы точно знаете, какие узлы могут использовать сертификат SAN.
- Требуется больше планирования. При создании сертификата необходимо указать список узлов.

- Отсутствие структурированной сегментации. Вы не можете выборочно отозвать сертификаты для некоторых указанных узлов, не затрагивая все узлы в сертификате.
Совпадение сертификата с подстановочным знаком Поле субъекта сертификата содержит общее имя как подстановочный знак (*) плюс один домен или поддомен. Например, *.contoso.com или *.eu.contoso.com. Подстановочный *.contoso.com сертификат можно использовать для:
www.contoso.com
ftp.contoso.com
mail.contoso.com
Гибкость. Вам не нужно предоставлять список узлов при запросе сертификата и использовать сертификат для любого количества узлов, которые могут потребоваться в будущем. — Нельзя использовать подстановочные сертификаты с другими доменами верхнего уровня (TLD). Например, нельзя использовать подстановочный *.contoso.com сертификат для *.contoso.net хостов.

— Можно использовать только субдоменные сертификаты для имен узлов на уровне субдомена. Например, нельзя использовать *.contoso.com сертификат для www.eu.contoso.com. Кроме того, вы не можете использовать *.eu.contoso.com сертификат для www.uk.eu.contoso.com.

— Устаревшие клиенты, устройства, приложения или службы могут не поддерживать универсальные сертификаты.

— Подстановочные знаки недоступны с сертификатами расширенной проверки (EV).

- Требуется тщательное аудит и контроль. Если wildcard-сертификат скомпрометирован, это влияет на все узлы в указанном домене.