Назад | Перейти на главную страницу

Если сайт, размещенный в IIS, защищен с помощью Kerberos, могут ли Linux-машины подключаться к нему?

У меня возникла проблема с настройкой моего веб-сайта IIS 7.0 в тестовой среде с Kerberos. У меня есть пробная версия Windows Server 2008 R2 с установленными ролями AD DS, AD RMS, DHCP, DNS и IIS. Я вошел в настройки безопасности IIS для сайта и настроил проверку подлинности Windows, чтобы разрешить вход через Kerberos.

Проблема, с которой я столкнулся, заключается в том, что он обычно не использует Kerberos для протокола безопасности. Когда я устанавливаю для поставщиков в IIS значение «Согласование», Fiddler2 указывает, что заголовок будет возвращать заголовок NTLM в 50% случаев и заголовок Kerberos в остальных 50% случаев. Если вместо этого я настрою поставщика как «Negotiate: Kerberos» в IIS, я вообще не смогу получить доступ к сайту, так как он немедленно сообщает об ошибке 401. Кроме того, любая попытка подключиться к сайту в любой конфигурации с использованием машины Linux немедленно указывает на ошибку безопасности 401.

Может ли кто-нибудь дать некоторые идеи или руководства о том, как это настроить? В частности, мне нужно заблокировать любой откат к NTLM в дополнение к включению Kerberos независимо от машины, к которой я подключаюсь. До сих пор я не нашел статей о технических технологиях или сбоях сервера, которые полностью посвящены этой проблеме.

Если вы хотите настроить службу / приложение Linux для аутентификации в конечной точке службы IIS, вы можете настроить блок Linux для аутентификации на сайте Windows, размещенном в IIS, следующим образом:

  1. Обеспечьте аутентификацию Windows на сайте IIS провайдеры устанавливаются в таком порядке для Windows Auth:
    • NTLM
    • Вести переговоры
  2. Создайте участника для учетной записи, которую вы хотите аутентифицировать как:
    • Войдите на сервер Windows в домене с помощью инструментов Kerberos (обычно это сервер AD)
    • Зарегистрируйте имя участника службы (SPN) для учетной записи, от имени которой вы хотите пройти аутентификацию, и одновременно сгенерировать файл ключей Kerberos:
      • Использовать ktpass создать keytab для Linux
      • ktpass -princ HTTP/myiis.site.com@SITE.COM -ptype KRB5_NT_PRINCIPAL -mapuser myuser -pass mypassword -out c:\user.keytab
      • Примечание. Важно, чтобы URL myiis.site.com сопоставьте свою конечную точку, в которую вы попадете; и это SITE.COM соответствует вашему Домен-компонент.
    • Вы можете проверить свое SPN с помощью setspn -L myuser
    • На этом этапе у вас есть имя участника-службы, сопоставленное пользователю AD; и файл Kerberos keytab для Linux, чтобы получить билет Kerberos, выпущенный KDC (сервером AD) для аутентификации с использованием поставщика Negotiate.
  3. Импортируйте ваш keytab в окно / приложение linux в зависимости от разновидности Kerberos. Чтобы просмотреть учетные данные на вкладке:

В Firefox вам нужно будет настроить его для использования Kerberos в разделе about: config. network.negotiate-auth.trusted-uris и network.negotiate-auth.delegation-uris.

Для хрома / хрома попробуйте Chrome-browser –auth-server-whitelist = "company.com"