Published on

March 8, 2011

Понимание аутентификации Kerberos в SQL Server

В мире SQL Server настройка аутентификации Kerberos может быть сложной задачей для администраторов баз данных и системных администраторов. Сложность возникает из-за различных компонентов, которые должны работать вместе без сбоев, чтобы аутентификация Kerberos функционировала должным образом. В этой статье мы рассмотрим тонкости аутентификации Kerberos и проясним, почему она является неотъемлемой для безопасного и эффективного подключения к базе данных.

Почему аутентификация обычно работает без настройки?

Когда речь идет об аутентификации входа в SQL Server, процесс аутентификации отличается в зависимости от того, является ли это вход на основе SQL Server или вход на основе Windows. Для входов на основе Windows SQL Server делегирует процесс аутентификации интерфейсу поставщика безопасности Windows (SSPI). Это означает, что SQL Server полагается на SSPI для проверки учетных данных входа и определения успешности входа или нет.

SSPI сначала пытается аутентифицироваться с использованием Kerberos, который является предпочтительным протоколом для Windows 2000 и выше. Однако для работы аутентификации Kerberos необходимо наличие имени главного сервиса (SPN). Если SPN отсутствует или аутентификация Kerberos невозможна по другим причинам, SSPI переходит на протокол безопасности NT LAN Manager (NTLM).

По умолчанию аутентификация NTLM позволяет только один переход, что означает, что она не поддерживает сценарии, требующие несколько “переходов”, такие как подключение к отдельному серверу через службы отчетов SQL Server или установление аутентификации Windows через подключение к связанному серверу. В этих случаях необходима аутентификация Kerberos, чтобы включить требуемую функциональность.

Ограничения аутентификации NTLM

Хотя аутентификация NTLM обычно является безопасной и эффективной, у нее есть несколько недостатков:

  1. NTLM уязвим для “повторных” атак, когда злоумышленник захватывает сетевой трафик и повторно использует его для получения несанкционированного доступа.
  2. NTLM предполагает, что сервер является надежным, не предоставляя средств для проверки подлинности сервера клиентом.
  3. NTLM требует больше трафика аутентификации по сравнению с Kerberos, так как он включает частые проверки с контроллером домена.
  4. NTLM не поддерживает несколько переходов, что затрудняет установление соединений, требующих передачи учетных данных через несколько серверов.

Аутентификация Kerberos решает эти ограничения, включая такие функции, как сетевой трафик со временной меткой, проверку сервера через SPN, эффективную аутентификацию на основе билетов и поддержку делегирования для возможности нескольких переходов.

Настройка имени главного сервиса (SPN)

SPN предоставляет клиенту важную информацию о сервисе, к которому он подключается. Он состоит из типа сервиса, имени сервера, необязательного порта и учетной записи сервиса, под которой работает сервис. Для включения аутентификации Kerberos важно правильно настроить SPN.

Настройка SPN требует административных привилегий либо в качестве администратора домена, либо с использованием учетной записи системы компьютера. Microsoft предоставляет утилиту под названием SETSPN для управления SPN. Утилита предлагает возможности перечисления существующих SPN, добавления новых SPN и удаления существующих SPN.

Для добавления SPN вам необходимо знать учетную запись сервиса, под которой работает SQL Server, и TCP-порт, на котором он слушает. Для экземпляров по умолчанию порт обычно равен 1433, в то время как именованные экземпляры могут иметь динамические порты, если не установлен статический порт. Рекомендуется указывать SPN как для NetBIOS-имени, так и для полного доменного имени сервера.

После правильной настройки SPN вы можете проверить тип аутентификации, используемый для каждого подключения в SQL Server с помощью простого запроса. Запрос предоставляет информацию, такую как идентификатор сеанса, время подключения, время входа, имя входа, тип протокола, схема аутентификации, имя хоста и имя программы.

Заключение

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

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.