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


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

В этой статье описаны сведения о протоколах 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). Дополнительные сведения см. в статье KB3135244 — поддержка TLS 1.2 для 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-сертификат скомпрометирован, это влияет на все узлы в указанном домене.