none
отказоустойчивый NAP для двух доменов. RRS feed

  • Вопрос

  • есть два домена в разных лесах с довериями. В каждом домене установлено по NAP и AD CA. Настраиваем аутентификацию [на свитче] проводных подключений по компьютерным сертификатам. Задача, сделать так, чтобы при недоступности одного из NAP, второй NAP обслуживал два домена. Добавил конревые сертификаты на каждый NAP, в логах вот что, и аутентификация неуспешна:

    "VNAP02","IAS",07/23/2019,17:40:13,1,"host/DOM1-NB10.domain.local","domain.local/DOM1_Computer/DOM1-NB10","54-80-28-a0-07-c0","e8-6a-64-77-3f-14",,,"HP","192.168.0.23",35,0,"192.168.0.23","HP 2530-48G Switch",,,15,"CONNECT Ethernet 1000Mbps Full duplex",1,2,5,"Port Authentication",0,"311 1 192.168.0.8 06/29/2019 11:51:05 15528",,,,,,,,,,,,,,,,,,13,6,,,,"1",,,,,,11,,,,,"Use Windows authentication for all users",1,,,,
    "VNAP02","IAS",07/23/2019,17:40:13,11,,"domain.local/DOM1_Computer/DOM1-NB10",,,,,,,,0,"192.168.0.23","HP 2530-48G Switch",,,,,,,5,"Port Authentication",0,"311 1 192.168.0.8 06/29/2019 11:51:05 15528",30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Use Windows authentication for all users",1,,,,
    "VNAP02","IAS",07/23/2019,17:40:13,1,"host/DOM1-NB10.domain.local","domain.local/DOM1_Computer/DOM1-NB10","54-80-28-a0-07-c0","e8-6a-64-77-3f-14",,,"HP","192.168.0.23",35,0,"192.168.0.23","HP 2530-48G Switch",,,15,"CONNECT Ethernet 1000Mbps Full duplex",1,2,5,"Port Authentication",0,"311 1 192.168.0.8 06/29/2019 11:51:05 15529",,,,,,,,,,,,,,,,,,13,6,,,,"1",,,,,,11,,,,,"Use Windows authentication for all users",1,,,,
    "VNAP02","IAS",07/23/2019,17:40:13,11,,"domain.local/DOM1_Computer/DOM1-NB10",,,,,,,,0,"192.168.0.23","HP 2530-48G Switch",,,,,,,5,"Port Authentication",0,"311 1 192.168.0.8 06/29/2019 11:51:05 15529",30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Use Windows authentication for all users",1,,,,
    "VNAP02","IAS",07/23/2019,17:40:13,1,"host/DOM1-NB10.domain.local","domain.local/DOM1_Computer/DOM1-NB10","54-80-28-a0-07-c0","e8-6a-64-77-3f-14",,,"HP","192.168.0.23",35,0,"192.168.0.23","HP 2530-48G Switch",,,15,"CONNECT Ethernet 1000Mbps Full duplex",1,2,5,"Port Authentication",0,"311 1 192.168.0.8 06/29/2019 11:51:05 15530",,,,,,,,,,,,,,,,,,13,6,,,,"1",,,,,,11,,,,,"Use Windows authentication for all users",1,,,,
    "VNAP02","IAS",07/23/2019,17:40:13,11,,"domain.local/DOM1_Computer/DOM1-NB10",,,,,,,,0,"192.168.0.23","HP 2530-48G Switch",,,,,,,5,"Port Authentication",0,"311 1 192.168.0.8 06/29/2019 11:51:05 15530",30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Use Windows authentication for all users",1,,,,
    "VNAP02","IAS",07/23/2019,17:40:20,1,"host/DOM1-NB10.domain.local","domain.local/DOM1_Computer/DOM1-NB10","54-80-28-a0-07-c0","e8-6a-64-77-3f-14",,,"HP","192.168.0.23",35,0,"192.168.0.23","HP 2530-48G Switch",,,15,"CONNECT Ethernet 1000Mbps Full duplex",1,2,5,"Port Authentication",0,"311 1 192.168.0.8 06/29/2019 11:51:05 15531",,,,"Microsoft: Smart Card or other certificate",,,,,,,,,,,,,,13,6,,,,"1",,,,,,11,,,,,"Use Windows authentication for all users",1,,,,
    "VNAP02","IAS",07/23/2019,17:40:20,3,,"domain.local/DOM1_Computer/DOM1-NB10",,,,,,,,0,"192.168.0.23","HP 2530-48G Switch",,,,,,,5,"Port Authentication",265,"311 1 192.168.0.8 06/29/2019 11:51:05 15531",,,,"Microsoft: Smart Card or other certificate",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Use Windows authentication for all users",1,,,,
    Как сделать так, чтобы NAP одного домена аутентифицировал другой домен? может надо дополнительное правило создать?


    24 июля 2019 г. 6:29
    Модератор

Ответы

  • Посмотрел внимательнее.

    Из лога видно, что атрибут User name при аутентификации компьютера идет на NPS не в том формате, для которого сделаны шаблоны: в колонке User-Name (по интерпретации лога см. здесь)содержится значение вида host/computername.domain.suffix (это - SPN(Service Principal Name) компьютера)

    Соответсвенно, шаблон в фильтре надо переделывать. Примерно (тестировать мне не на чем) на такой:

    "^host/[^\.]+\.corp\.local\.domain"

    (и, аналогично - для второго домена)


    Слава России!

    • Помечено в качестве ответа AnahaymModerator 29 июля 2019 г. 7:47
    26 июля 2019 г. 10:31
  • поменял Friendly Name на User Name - заработало:

    • Помечено в качестве ответа Vector BCOModerator 29 июля 2019 г. 7:58
    29 июля 2019 г. 7:48
    Модератор

Все ответы

  • продвинулся в своём вопросе. Может не правильно сформулировал задачу. Попробую ещё раз.

    Есть два домена со своими NPS. Установил ещё один NSP, который будет работать как Proxy-RADIUS и перенаправлять запросы на соотвествующие NPS. Нарисовал схему 🤣, для лучшего понимания:

    создал политику перенаправления запросов на другой NPS:

    работает. Вопрос, как указать в полике, чтобы она применялась к компам только одного домена? Для второго домена я создам другую политику.

    25 июля 2019 г. 16:13
    Модератор
  • создал политику перенаправления запросов на другой NPS:

    работает. Вопрос, как указать в полике, чтобы она применялась к компам только одного домена? Для второго домена я создам другую политику.

    Добавить в Conditions фильтр по User Name - там поддерживаются регулярные выражения.

    По ссылке ниже человек не поленился систематизировать варианты фильтра по имени домена, пользуйтесь: https://www.sevecek.com/EnglishPages/Lists/Posts/Post.aspx?ID=96

    PS Документация


    Слава России!


    • Изменено M.V.V. _ 25 июля 2019 г. 20:07
    25 июля 2019 г. 19:32
  • два домена: domain.local и corp.local.domain, условия:

    логи до условий. Жирным выделил текст, где видно какая политика применяется (она была одна) и IP NPS2:

    "GCP-VM0002-AM","IAS",07/25/2019,17:41:31,1,"host/AT-NB.corp.local.domain",,"54-80-28-a0-07-c0","48-2a-e3-0f-9c-2d",,,"HP","192.168.100.23",35,0,"192.168.100.23","192.168.100.23",,,15,"CONNECT Ethernet 1000Mbps Full duplex",1,2,,,0,,,,,,,,,,,,,,,,,,,13,6,,,,"1",,,,,,11,,,,,"RADIUS",2,"AT","192.168.100.223",,
    "GCP-VM0002-AM","IAS",07/25/2019,17:41:31,11,,,,,,,,,,0,"192.168.100.23","192.168.100.23",,,,,,,,,0,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"RADIUS",2,"AT","192.168.100.223",,

    после добавления второй политики и условий в логах вообще не видна ни политика ни IP nps...:

    "GCP-VM0002-AM","IAS",07/26/2019,10:31:26,1,"host/AT-NB.corp.local.domain",,"54-80-28-a0-07-c0","48-2a-e3-0f-9c-2d",,,"HP","192.168.100.23",35,0,"192.168.100.23","192.168.100.23",,,15,"CONNECT Ethernet 1000Mbps Full duplex",1,2,,,0,"311 1 192.168.100.245 07/25/2019 07:39:36 10",,,,,,,,,,,,,,,,,,13,6,,,,"1",,,,,,11,,,,,,,,,,
    "GCP-VM0002-AM","IAS",07/26/2019,10:31:26,3,,,,,,,,,,0,"192.168.100.23","192.168.100.23",,,,,,,,,49,"311 1 192.168.100.245 07/25/2019 07:39:36 10",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

    Так как правильно записать условие для моих доменов?

    П.с.: надо настроить авторизацию компьютера, а не пользователя.

    26 июля 2019 г. 8:41
    Модератор
  • Посмотрел внимательнее.

    Из лога видно, что атрибут User name при аутентификации компьютера идет на NPS не в том формате, для которого сделаны шаблоны: в колонке User-Name (по интерпретации лога см. здесь)содержится значение вида host/computername.domain.suffix (это - SPN(Service Principal Name) компьютера)

    Соответсвенно, шаблон в фильтре надо переделывать. Примерно (тестировать мне не на чем) на такой:

    "^host/[^\.]+\.corp\.local\.domain"

    (и, аналогично - для второго домена)


    Слава России!

    • Помечено в качестве ответа AnahaymModerator 29 июля 2019 г. 7:47
    26 июля 2019 г. 10:31

  • "^host/[^\.]+\.corp\.local\.domain"

    (и, аналогично - для второго домена)

    а ковычки писать? без них не сработало...
    26 июля 2019 г. 15:07
    Модератор
  • Нет, без кавычек должно работать.

    Слава России!


    • Изменено M.V.V. _ 26 июля 2019 г. 17:40
    26 июля 2019 г. 17:39
  • Увы, не работает

    26 июля 2019 г. 18:49
    Модератор
  • поменял Friendly Name на User Name - заработало:

    • Помечено в качестве ответа Vector BCOModerator 29 июля 2019 г. 7:58
    29 июля 2019 г. 7:48
    Модератор
  • а вот такой вопрос, можно ли настроить RADIUS так, чтобы он авторизовал клиентов других доменов, но не через пересылку на другой RADIUS, а локально на основании того, что он доверяет клиентскому сертификату?

    И ещё вопросец: можно ли кластеризовать NPS?

    Мы просто ищем разные решения отказоустойчивости NPS и проксирование NPS это не совсем то, что хотело бы видеть начальство. Увы, кроме проксирования я больше информации по этому вопросу не нашёл... Я вообще не уверен, что RADIUS сервере одного домена может самостоятельно авторизовывать клиентов другого домена.

    29 июля 2019 г. 11:08
    Модератор
  • Кластеризация NPS смысла не имеет. Потому что обычно отказоустойчивость можно повысить более простыми средствами. Чаще всего можно указать для клиентов RADIUS (т.е. NAS, в вашем случае - коммутаторов) более одного сервера RADIUS. Если это невозможно, то можно использовать размещение серверов RADIUS за балансировщиком (мне наиболее знаком Citrix NetScaler, но есть и куча других). Причем, т.к. трафик RADIUS обычно небольшой, то скорее всего получится использовать даже бесплатные версии балансировщиков (Virtual Appliances, т.е. в виде VM,) в том числе - в отказоустойчивой конфигурации (в частности, пару бесплатных NetScaler можно таким образом использовать для трафика до 20мбит/с). Аналогично с RADIUS proxy (та самая пересылка RADIUS, которую вы настроили) - для NPS, работающем в таком режиме можно указать пересылку на группу серверов RADIUS, непосредственно осуществляющих аутентификацию, или, опять-таки, использовать балансировщик.

    PS А вообще-то, насколько я помню, NPS почти ничто не мешает аутентифицировать пользователей и из других доменов, которым доверяет домен, в котором он установлен: NPS использует обычный механизм аутентификации Windows. Почти - потому что мешает обычно сетевая политика для аутентификации, которая создается при стандартной настройке: она содержит глобальную группу в домене NPS, члены которой могут быть только из того же домена, что и группа.


    Слава России!

    29 июля 2019 г. 11:33
  • На коммутаторах НР уже настроено два NPS  из разных доменов. Но пока один онлайн, на второй NPS коммутатор не переключится.

    Если Вы говорите, что NPS может авторизовать компьютеры из другого домена, то я попробую поиграться с сетевыми политиками. Спасибо.

    Остальные решения с балансировщиками выглядят громоздкими. В сети около 1000 компов, + на радиусе уже сидит около 500 WiFi клиентов.

    29 июля 2019 г. 11:53
    Модератор
  • На коммутаторах НР уже настроено два NPS  из разных доменов. Но пока один онлайн, на второй NPS коммутатор не переключится.

    Если NPS для домена один и авторизует только компьютеры из своего домена, то он, естественно, будет точкой отказа: при его отказе аутентифицировать  компьютеры из этого домена будет невозможно. Поставьте в таком случае по второму NPS в каждый домен (хоть даже на DC)  и настройте пересылку с NPS другого домена на оба NPS для домена пользователя (через RADIUS Server Group, в которую они входят оба). Таким образом будет обеспечено отсутствие точки отказа. Настройку коммутаторов при этом можно не менять: пусть запросы RADIUS с них на второй NPS напрямую и не идут, это не важно для отказоустойчивости. 

    Слава России!


    • Изменено M.V.V. _ 29 июля 2019 г. 12:12
    29 июля 2019 г. 12:07
  • На коммутаторах НР уже настроено два NPS  из разных доменов. Но пока один онлайн, на второй NPS коммутатор не переключится.

    Если NPS для домена один и авторизует только компьютеры из своего домена, то он, естественно, будет точкой отказа: при его отказе аутентифицировать  компьютеры из этого домена будет невозможно.
    так получается, что один NPS никогда не сможет авторизовать пользователя другого домена, если в другом домене нет вообще никакого NPS? если это так, то вопрос решается только прокисрованием.
    29 июля 2019 г. 12:18
    Модератор
  • так получается, что один NPS никогда не сможет авторизовать пользователя другого домена, если в другом домене нет вообще никакого NPS?

    Это сейчас у вас так настроено, что NPS авторизует компьютеры только из своего домена, и предыдущий ответ касался именно такой конфигурации.

    Но AFAIK его можно настроить на авторизацию компьютеров из другого домена. Только тут есть нюанс, который я забыл раньше упомянуть: для этого NPS должен входить в группу "RAS and IAS Servers" того домена, в котором находится авторизуемый компьютер, иначе у него может не хватить прав.


    Слава России!

    29 июля 2019 г. 12:37

  • Но AFAIK его можно настроить на авторизацию компьютеров из другого домена. Только тут есть нюанс, который я забыл раньше упомянуть: для этого NPS должен входить в группу "RAS and IAS Servers" того домена, в котором находится авторизуемый компьютер, иначе у него может не хватить прав.

    нюанс не проблема. добавил, а как настроть остальное?
    29 июля 2019 г. 12:42
    Модератор
  • Во-первых, после добавления в группу стоит убедиться, что на сервере NPS не осталось для учетной записи системы старого закэшированного билета Kerberos для другого домена (TGT или службы - не могу сейчас уточнить), без членства в новой группе. Проверить можно командой klist -li 3e7, удалить билеты (все) - командой klist -li 3e7 purge. Перезагрузка тоже поможет.

    Ну, а далее нужно смотреть на консоли NPS вкладку Conditions в свойствах Network Policy, используемой для авторизации доступа компьютеров по 802.1X: если там есть условие для Windows Groups - добавить нужную группу из другого домена, если нет - то, по идее,  других настроек не требуется.

     

    Слава России!

    29 июля 2019 г. 13:04
  • к сожалению не получилось:

    "NPS3","IAS",07/30/2019,18:20:58,1,"host/CLI1.local.domain","local.domain/Computer/default/CLI1","54-80-28-a0-07-c0","48-2a-e3-0f-9c-2d",,,"HP","192.168.100.23",33,0,"192.168.100.23","192.168.100.23",,,15,"CONNECT Ethernet 1000Mbps Full duplex",1,2,5,"Connections to other access servers",0,"311 1 192.168.100.245 07/30/2019 15:58:18 5",,,,,,,,,,,,,,,,,,13,6,,,,"1",,,,,,11,,,,,"Use Windows authentication for all users",1,,,,
    "NPS3","IAS",07/30/2019,18:20:58,3,,"local.domain/Computer/default/CLI1",,,,,,,,0,"192.168.100.23","192.168.100.23",,,,,,,5,"Connections to other access servers",65,"311 1 192.168.100.245 07/30/2019 15:58:18 5",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Use Windows authentication for all users",1,,,,
    

    насройки политики:

    не понятно, что в логах означает "HP"?

    30 июля 2019 г. 16:26
    Модератор
  • Conditions настроены неправильно: нужно не добавлять второе условие для Windows Groups (потому что разные условия объединяются по AND) а добавить вторую группу в первое условие для Windows Groups: внутри условия группы объединяются по OR (это будет хорошо видно в тексте условия).

    PS "HP", судя по его положению (см. ссылку, которую я кидал раньше) - это значение RADIUS-атрибута NAS-Identifier, которое шлет коммутатор (скорее всего - hostname, или как оно там обзывается у HP). А вообще-то, в первой строке лога - там заголовок должен быть, с именами атрибутов (а сам лог - он, вроде как, в формате CSV, и его можно, по идее,  в Excel импортировать, чтобы смотреть удобнее было).


    Слава России!

    30 июля 2019 г. 17:17

  • Ну, а далее нужно смотреть на консоли NPS вкладку Conditions в свойствах Network Policy, используемой для авторизации доступа компьютеров по 802.1X: если там есть условие для Windows Groups - добавить нужную группу из другого домена, если нет - то, по идее,  других настроек не требуется.

    вот настройки:

    в логах видно, что срабатывает правильное правило:

    "NPS3","IAS",08/01/2019,17:22:33,1,"host/CLI1.local.domain","AT\CLI1.local.domain$","54-80-28-a0-07-c0","00-13-3b-9d-03-3f",,,"HP","192.168.100.23",33,0,"192.168.100.23","HP 2530-48G Switch",,,15,"CONNECT Ethernet 1000Mbps Full duplex",1,2,5,"Secure Wired (Ethernet) Connections AT",0,"311 1 192.168.100.78 08/01/2019 15:21:12 5",,,,,,,,,,,,,,,,,,13,6,,,,"1",,,,,,11,,,,,"Secure Wired (Ethernet) Connections",1,,,,
    "NPS3","IAS",08/01/2019,17:22:33,11,,"AT\CLI1.local.domain$",,,,,,,,0,"192.168.100.23","HP 2530-48G Switch",,,,,,,5,"Secure Wired (Ethernet) Connections AT",0,"311 1 192.168.100.78 08/01/2019 15:21:12 5",30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Secure Wired (Ethernet) Connections",1,,,,
    "NPS3","IAS",08/01/2019,17:22:33,1,"host/CLI1.local.domain","AT\CLI1.local.domain$","54-80-28-a0-07-c0","00-13-3b-9d-03-3f",,,"HP","192.168.100.23",33,0,"192.168.100.23","HP 2530-48G Switch",,,15,"CONNECT Ethernet 1000Mbps Full duplex",1,2,5,"Secure Wired (Ethernet) Connections AT",0,"311 1 192.168.100.78 08/01/2019 15:21:12 6",,,,"Microsoft: Smart Card or other certificate",,,,,,,,,,,,,,13,6,,,,"1",,,,,,11,,,,,"Secure Wired (Ethernet) Connections",1,,,,
    "NPS3","IAS",08/01/2019,17:22:33,3,,"AT\CLI1.local.domain$",,,,,,,,0,"192.168.100.23","HP 2530-48G Switch",,,,,,,5,"Secure Wired (Ethernet) Connections AT",295,"311 1 192.168.100.78 08/01/2019 15:21:12 6",,,,"Microsoft: Smart Card or other certificate",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Secure Wired (Ethernet) Connections",1,,,,

    но компьютеру не удаётся пройти аутентификацию...
    Может что-то ещё надо настроить?
    Как посмотреть, что NPS3 обращается к контроллеру домена в доверенном домене?

    вот тут написано:

    If you use EAP-TLS or PEAP-TLS with certificates as your authentication method, you must use a RADIUS proxy for authentication across forests that consist of Windows Server 2008 and Windows Server 2003 domains.
    а у нас как раз авторизация по сертификатам... Т.е. для нас только Proxy?
    1 августа 2019 г. 15:38
    Модератор
  • Та, документация, которую вы цитируете - она для Win2K8 R2. Для более новых на эту тему полная тишина.

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

    Для диагностики, обращается ли NPS на контроллер другого домена, смотрите на каждом из них события входа в систему в журнале событий безопасности для входа под именем компьютера(если аудит не включен - включите) . На самом NPS можно посмотреть, пытается ли он обращаться к контроллеру другого домена по наличию в кэше системной учетной записи билета TGT для другого домена (командой  klist -li 3e7). Ну, и события аудита NPS в журнале событий безопасности могут что-то подсказать.

    PS IMHO использовать RADIUS Proxy всяко проще.


    Слава России!

    1 августа 2019 г. 16:52
  • вообщем сделали такую схему, где vNPS01 аутентифицирует "свои" компьютеры, и проксирует компьютеры второго домена. vNPS02 обрабатывает запросы, если vNPS01 недоступен.

    9 августа 2019 г. 8:45
    Модератор