Недавно я перенес NPS с одного хоста под управлением Windows Server 2012 Standard на другой, используя TechNet инструкции по миграции с другими именами хостов.
В то время как все мои клиенты RADIUS были (и все еще могут) аутентифицироваться на старом сервере, один клиент (Apple Time Capsule) не может этого сделать с новым (я протестировал три других клиента, и они нормально работают с новый сервер).
Я трижды проверил, что общие секреты в порядке между Time Capsule и NPS (и также изменили его пару раз, на всякий случай, скопировав один и тот же секрет для каждого), и на основе статья Я также переключил сертификаты NPS (я испортил миграцию своего центра сертификации, и мне пришлось создать новый). Сертификат нового ЦС установлен, и ему следует доверять на устройствах, пытающихся аутентифицироваться.
Журнал событий на старом сервере показывает события аудита безопасности Windows для успешных входов в систему, которые, очевидно, не отображаются на новом (для Time Capsule) - фактически, единственное, что появляется при попытке аутентификации на новом сервере. - это событие NPS 4400, информирующее меня о том, что соединения LDAP установлены (успешно).
После того, как я включил больше журналов на новом сервере, файл журнала NPS в C:\Windows\system32\logfiles
получает дополнительную информацию по сравнению с журналами со старого сервера.
Старый сервер (успешная аутентификация):
<Event>
<Timestamp data_type="4">12/09/2012 23:57:03.831</Timestamp>
<Computer-Name data_type="1">(old-server-name)</Computer-Name>
<Event-Source data_type="1">IAS</Event-Source>
<NAS-IP-Address data_type="3">(radius-client-ip)</NAS-IP-Address>
<NAS-Port data_type="0">0</NAS-Port>
<Called-Station-Id data_type="1">(nn-nn-nn-nn-nn-nn:DOMAIN)</Called-Station-Id>
<Calling-Station-Id data_type="1">(mm-mm-mm-mm-mm-mm)</Calling-Station-Id>
<Framed-MTU data_type="0">1400</Framed-MTU>
<NAS-Port-Type data_type="0">19</NAS-Port-Type>
<Connect-Info data_type="1">CONNECT 0Mbps 802.11</Connect-Info>
<Client-IP-Address data_type="3">(radius-client-ip)</Client-IP-Address>
<Client-Vendor data_type="0">0</Client-Vendor>
<Client-Friendly-Name data_type="1">(radius-client-name)</Client-Friendly-Name>
<User-Name data_type="1">(username@domain)</User-Name>
<Proxy-Policy-Name data_type="1">(connection-request-policy-name)</Proxy-Policy-Name>
<Provider-Type data_type="0">1</Provider-Type>
<SAM-Account-Name data_type="1">(DOMAIN\username)</SAM-Account-Name>
<Fully-Qualifed-User-Name data_type="1">(DOMAIN\username)</Fully-Qualifed-User-Name>
<NP-Policy-Name data_type="1">(network-policy-name)</NP-Policy-Name>
<Class data_type="1">311 1 (old-server-ip) 12/07/2012 09:32:22 2836</Class>
<Quarantine-Update-Non-Compliant data_type="0">1</Quarantine-Update-Non-Compliant>
<EAP-Friendly-Name data_type="1">Microsoft: Secured password (EAP-MSCHAP v2)</EAP-Friendly-Name>
<MS-Quarantine-State data_type="0">0</MS-Quarantine-State>
<MS-Extended-Quarantine-State data_type="0">0</MS-Extended-Quarantine-State>
<Authentication-Type data_type="0">11</Authentication-Type>
<Packet-Type data_type="0">1</Packet-Type>
<Reason-Code data_type="0">0</Reason-Code>
</Event>
<Event>
<Timestamp data_type="4">12/09/2012 23:57:03.831</Timestamp>
<Computer-Name data_type="1">(old-server-name)</Computer-Name>
<Event-Source data_type="1">IAS</Event-Source>
<Class data_type="1">311 1 (old-server-ip) 12/07/2012 09:32:22 2836</Class>
<EAP-Friendly-Name data_type="1">Microsoft: Secured password (EAP-MSCHAP v2)</EAP-Friendly-Name>
<Authentication-Type data_type="0">11</Authentication-Type>
<PEAP-Fast-Roamed-Session data_type="0">1</PEAP-Fast-Roamed-Session>
<Client-IP-Address data_type="3">(radius-client-ip)</Client-IP-Address>
<Client-Vendor data_type="0">0</Client-Vendor>
<Client-Friendly-Name data_type="1">(radius-client-name)</Client-Friendly-Name>
<MS-CHAP-Domain data_type="2">(domain-data)</MS-CHAP-Domain>
<Proxy-Policy-Name data_type="1">(connection-request-policy-name)</Proxy-Policy-Name>
<Provider-Type data_type="0">1</Provider-Type>
<SAM-Account-Name data_type="1">(DOMAIN\username)</SAM-Account-Name>
<Fully-Qualifed-User-Name data_type="1">(DOMAIN\username)</Fully-Qualifed-User-Name>
<NP-Policy-Name data_type="1">(network-policy-name)</NP-Policy-Name>
<Quarantine-Update-Non-Compliant data_type="0">1</Quarantine-Update-Non-Compliant>
<Framed-Protocol data_type="0">1</Framed-Protocol>
<Service-Type data_type="0">2</Service-Type>
<MS-Quarantine-State data_type="0">0</MS-Quarantine-State>
<MS-Extended-Quarantine-State data_type="0">0</MS-Extended-Quarantine-State>
<Packet-Type data_type="0">2</Packet-Type>
<Reason-Code data_type="0">0</Reason-Code>
</Event>
Новый сервер (сбой):
<Event>
<Timestamp data_type="4">12/11/2012 00:43:59.126</Timestamp>
<Computer-Name data_type="1">(new-server-name)</Computer-Name>
<Event-Source data_type="1">IAS</Event-Source>
<NAS-IP-Address data_type="3">(radius-client-ip)</NAS-IP-Address>
<NAS-Port data_type="0">0</NAS-Port>
<Called-Station-Id data_type="1">(nn-nn-nn-nn-nn-nn:DOMAIN)</Called-Station-Id>
<Calling-Station-Id data_type="1">(mm-mm-mm-mm-mm-mm)</Calling-Station-Id>
<Framed-MTU data_type="0">1400</Framed-MTU>
<NAS-Port-Type data_type="0">19</NAS-Port-Type>
<Connect-Info data_type="1">CONNECT 0Mbps 802.11</Connect-Info>
<Client-IP-Address data_type="3">(radius-client-ip)</Client-IP-Address>
<Client-Vendor data_type="0">0</Client-Vendor>
<Client-Friendly-Name data_type="1">(radius-client-name)</Client-Friendly-Name>
<User-Name data_type="1">(username@domain)</User-Name>
<Proxy-Policy-Name data_type="1">(connection-request-policy-name)</Proxy-Policy-Name>
<Provider-Type data_type="0">1</Provider-Type>
<SAM-Account-Name data_type="1">(DOMAIN\username)</SAM-Account-Name>
<Fully-Qualifed-User-Name data_type="1">(DOMAIN\username)</Fully-Qualifed-User-Name>
<Class data_type="1">311 1 (new-server-ip) 12/10/2012 20:22:25 67</Class>
<Authentication-Type data_type="0">5</Authentication-Type>
<NP-Policy-Name data_type="1">(network-policy-name)</NP-Policy-Name>
<Quarantine-Update-Non-Compliant data_type="0">1</Quarantine-Update-Non-Compliant>
<Packet-Type data_type="0">1</Packet-Type>
<Reason-Code data_type="0">0</Reason-Code>
</Event>
<Event>
<Timestamp data_type="4">12/11/2012 00:43:59.126</Timestamp>
<Computer-Name data_type="1">(new-server-name)</Computer-Name>
<Event-Source data_type="1">IAS</Event-Source>
<Class data_type="1">311 1 (new-server-ip) 12/10/2012 20:22:25 67</Class>
<Session-Timeout data_type="0">30</Session-Timeout>
<Client-IP-Address data_type="3">(radius-client-ip)</Client-IP-Address>
<Client-Vendor data_type="0">0</Client-Vendor>
<Client-Friendly-Name data_type="1">(radius-client-name)</Client-Friendly-Name>
<Proxy-Policy-Name data_type="1">(connection-request-policy-name)</Proxy-Policy-Name>
<Provider-Type data_type="0">1</Provider-Type>
<SAM-Account-Name data_type="1">(DOMAIN\username)</SAM-Account-Name>
<Fully-Qualifed-User-Name data_type="1">(DOMAIN\username)</Fully-Qualifed-User-Name>
<Authentication-Type data_type="0">5</Authentication-Type>
<NP-Policy-Name data_type="1">(network-policy-name)</NP-Policy-Name>
<Quarantine-Update-Non-Compliant data_type="0">1</Quarantine-Update-Non-Compliant>
<Packet-Type data_type="0">11</Packet-Type>
<Reason-Code data_type="0">0</Reason-Code>
</Event>
В случае неудачи второе событие имеет Packet-Type = 11, что относится к вызову. Поскольку два события повторяются несколько раз в журнале NPS, я полагаю, это означает, что на запрос никогда не будет ответа?
Если у меня нет сертификата CA, установленного на устройствах, пытающихся аутентифицироваться, устройство показывает сертификат CA со старого сервера при аутентификации на нем. Однако с новым сервером я вообще не получаю запроса о сертификате - устройства просто сообщают, что они проходят аутентификацию, но ничего не происходит, кроме двух событий, указанных выше. В конце концов, устройства выходят из строя и говорят, что не могут подключиться.
Редактировать # 4: Я немного отлаживал это, даже удалял конфигурацию и создавал новые политики на новом сервере NPS, но безрезультатно. Теперь я настроил новый сервер NPS на использование только PEAP с EAP-MSCHAPv2.
Я только что заметил, что если я выберу самозаверяющий сертификат (выданный на localhost, а не на полное доменное имя и сгенерированный для IIS Express Development (!)) На новом сервере NPS, устройства будут запрашивать сертификат, и если я решу принять сертификат, успешно подключитесь к сети. В этом случае журналы выглядят так же, как и первый выше, то есть Authentication-Type 11 и Packet-Types 1 и 2, по порядку.
Выбор любого другого сертификата, который я указал в свойствах защищенного EAP, приведет к тому, что клиенты никогда не будут запрашивать у меня сертификат (даже если у меня не установлен сертификат CA), а Authentication-Type 5 будет использоваться безуспешно, как указано выше. Это происходит даже с сертификатом, который был создан с помощью шаблона сертификата сервера RAS и IAS для этого самого сервера.
Каковы точные требования к сертификатам, используемым для серверов NPS?