Некоторое время назад у нашего заказчика возникла проблема с NTLM аутентификацией на внедренном портале на базе Liferay.
Описание проблемы
Проблема заключалась в нефункционировании NTLM аутентификации на портале по FQDN, при этом, экспериментально было обнаружено, что при использовании короткого имени NTLM аутентификация успешно отрабатывает.
В процессе анализа заголовков запросов со стороны клиента было обнаружено, что при использовании FQDN клиент не пытается пройти аутентификации NTLM, тогда как при использовании короткого имени или ip-адресса происходила передача всех необходимых параметров и заголовков, в частности NTLM токен
Authorization: NTLM T2RMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAGA4AlAAAADw==
Причины и путь решенния проблемы
Причины заключались в некорректной настройке браузера для работы с порталом:
-
Ресурс по FQDN https://resourse.domain не определялся автоматически как ресурс интрасети. В явном виде в инфраструктуре не задано правило принадлежности ресурса к интрасети (например *.domain). Ресурс по короткому имени браузер автоматически относил к принадлежности интрасети.
Соответственно, при этом не применялись параметры разрешающие браузеру производить аутентификацию NTLM (Автоматический вход в сеть только в зоне интрасети).

-
Вторая причина заключалась в отображении ресурса в режиме совместимости браузера Internet Explorer. Без включенного режима совместимости браузер представляется порталу как Mozilla на платформе Trident.
Портал по причинам безопасности (в частности, общий кеш в Mozilla) не предоставлял возможность NTLM аутентификации. По умолчанию для зоны интрасети режим совместимости был включен, о чем свидетельствует работоспособность по короткому имени.
Решение
Оптимальным решением проблемы является добавление в групповую политику домена ресурсов *.domain как ресурсов интрасети.