Безопасность транспорта и цифровые сертификаты
В этой статье описаны сведения о протоколах 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), уровень защиты сокетов (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. — Сертификат не является автоматически доверенным клиентскими компьютерами и мобильными устройствами. Сертификат необходимо добавить вручную в хранилище доверенных корневых сертификатов на всех клиентских компьютерах и устройствах, но не все мобильные устройства позволяют изменять хранилище доверенных корневых сертификатов. |
Сертификат, выданный коммерческим ЦС | Сертификат приобретается у доверенного коммерческого ЦС. | Развертывание сертификатов упрощается, так как все клиенты, устройства и серверы автоматически доверяют сертификатам. | Стоимость. Необходимо заранее спланировать, чтобы свести к минимуму количество необходимых сертификатов. |
Чтобы доказать, что владелец сертификата является тем, кто они утверждают, сертификат должен точно определить владельца сертификата другим клиентам, устройствам или серверам. В следующей таблице описаны три основных метода.
Метод | Description | Достоинства | Недостатки |
---|---|---|---|
Соответствие субъекта сертификата | Поле субъекта сертификата содержит общее имя узла. Например, сертификат, выданный www.contoso.com для веб-сайта https://www.contoso.com . |
— Совместимо со всеми клиентами, устройствами и службами. — Секциализация. Отзыв сертификата для узла не влияет на другие узлы. |
— необходимое количество сертификатов. Сертификат можно использовать только для указанного узла. Например, сертификат ftp.contoso.com нельзя использоватьwww.contoso.com , даже если службы установлены на одном сервере.-Сложности. На веб-сервере каждый сертификат требует собственной привязки IP-адресов. |
Сопоставление альтернативного имени субъекта сертификата (SAN) | Помимо поля "Тема", поле альтернативного имени субъекта сертификата содержит список нескольких имен узлов. Например:www.contoso.com ftp.contoso.com ftp.eu.fabirkam.net |
-Удобства. Один и тот же сертификат можно использовать для нескольких узлов в нескольких отдельных доменах. — Большинство клиентов, устройств и служб поддерживают сертификаты SAN. — аудит и безопасность. Вы точно знаете, какие узлы могут использовать сертификат SAN. |
- Требуется больше планирования. При создании сертификата необходимо указать список узлов. - Отсутствие секции. Вы не можете выборочно отозвать сертификаты для некоторых указанных узлов, не затрагивая все узлы в сертификате. |
Соответствие сертификата wild карта | Поле субъекта сертификата содержит общее имя как дикий карта символ (*) плюс один домен или поддомен. Например, *.contoso.com или *.eu.contoso.com . Для *.contoso.com этого можно использовать сертификат wild карта: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 .— Старые клиенты, устройства, приложения или службы могут не поддерживать дикие сертификаты карта. — Wild карта недоступны с сертификатами расширенной проверки (EV). - Требуется тщательное аудит и контроль. Если дикий карта сертификат скомпрометирован, он влияет на каждый узел в указанном домене. |