Windows ServerのNPSはファイアウォール設定が必要?
目次
Windows ServerをRADIUSサーバにするため、NPSを有効にしたが、なぜかファイアウォールの設定も必要だったのでメモ
状況
ネットで調べながらNPSを有効にしたが、CiscoのスイッチとWindows Server間の通信がうまくいっていないように見えた。
-
Syslog
Feb 28 12:38:47 10.255.xxx.xxx 306: Feb 28 03:38:46.149: %DOT1X-5-FAIL: Authentication failed for client (xxxx.xxxx.xxxx) on Interface Gi0/3 AuditSessionID XXXXXXXXXXXXXXXXXXXXXXXX Feb 28 12:39:21 10.255.xxx.xxx 307: Feb 28 03:39:20.875: %RADIUS-4-RADIUS_DEAD: RADIUS server xxx.xxx.xxx.xxx:1812,1813 is not responding. Feb 28 12:39:21 10.255.xxx.xxx 308: Feb 28 03:39:20.875: %RADIUS-4-RADIUS_ALIVE: RADIUS server xxx.xxx.xxx.xxx:1812,1813 is being marked alive.
-
show aaa servers
c3560cg#show aaa servers RADIUS: id 2, priority 1, host xxx.xxx.xxx.xxx, auth-port 1812, acct-port 1813 State: current UP, duration 265s, previous duration 0s Dead: total time 0s, count 8 Quarantined: No Authen: request 88, timeouts 88, failover 0, retransmission 66 Response: accept 0, reject 0, challenge 0 Response: unexpected 0, server error 0, incorrect 0, time 0ms Transaction: success 0, failure 22 Throttled: transaction 0, timeout 0, failure 0 Author: request 0, timeouts 0, failover 0, retransmission 0 Response: accept 0, reject 0, challenge 0 Response: unexpected 0, server error 0, incorrect 0, time 0ms Transaction: success 0, failure 0 Throttled: transaction 0, timeout 0, failure 0 Account: request 0, timeouts 0, failover 0, retransmission 0 Request: start 0, interim 0, stop 0 Response: start 0, interim 0, stop 0 Response: unexpected 0, server error 0, incorrect 0, time 0ms Transaction: success 0, failure 0 Throttled: transaction 0, timeout 0, failure 0 Elapsed time since counters last cleared: 1h2m Estimated Outstanding Access Transactions: 0 Estimated Outstanding Accounting Transactions: 0 Estimated Throttled Access Transactions: 0 Estimated Throttled Accounting Transactions: 0 Maximum Throttled Transactions: access 0, accounting 0 Requests per minute past 24 hours: high - 0 hours, 30 minutes ago: 8 low - 1 hours, 3 minutes ago: 0 average: 1
request 88 = timeouts 88 なので、すべてのパケットがタイムアウトしている。
-
show radius statistics
c3560cg#show radius statistics Auth. Acct. Both Maximum inQ length: NA NA 1 Maximum waitQ length: NA NA 2 Maximum doneQ length: NA NA 1 Total responses seen: 0 0 0 Packets with responses: 0 0 0 Packets without responses: 22 0 22 Access Rejects : 0 Average response delay(ms): 0 0 0 Maximum response delay(ms): 0 0 0 Number of Radius timeouts: 88 0 88 Duplicate ID detects: 0 0 0 Buffer Allocation Failures: 0 0 0 Maximum Buffer Size (bytes): 287 0 287 Malformed Responses : 0 0 0 Bad Authenticators : 0 0 0 Unknown Responses : 0 0 0 Source Port Range: (2 ports only) 1645 - 1646 Last used Source Port/Identifier: 1645/22 1646/0 Elapsed time since counters last cleared: 1w53m Radius Latency Distribution: <= 2ms : 0 0 3-5ms : 0 0 5-10ms : 0 0 10-20ms: 0 0 20-50ms: 0 0 50-100m: 0 0 >100ms : 0 0 Current inQ length : 0 Current doneQ length: 0
-
Windows ServerのNPSのイベントログ (カスタムビュー -> サーバーの役割 -> ネットワーク ポリシーとアクセス サービス) にもログが出てこない。
暫定対処
Windows Serverのファイアウォールを確認してみたが、デフォルトのポートの場合は、既に許可ルールが作成されていたが、どうにもならないのでひとまずファイアウォールをオフにしてみると、問題が解消した。
そのため、ファイアウォールの問題と判断。
ファイアウォールのルールには、ポートのほかにプログラム %systemroot%\system32\svchost.exe
の設定が入っていたため、netstat -aon
で UDP 1812,1813をListenしているプロセスを調べてみたところ、svchost.exe
だったため、問題はなさそうに見える…..
また、サービスもias
になっているため、問題なさそうに見える…
しかし、ファイアウォールのDROPログを取ると、以下のように綺麗にDROPしていた。
2021-02-28 13:35:35 DROP UDP 10.255.xxx.xxx xxx.xxx.xxx.xxx 1645 1812 277 - - - - - - - RECEIVE
2021-02-28 13:35:40 DROP UDP 10.255.xxx.xxx xxx.xxx.xxx.xxx 1645 1812 277 - - - - - - - RECEIVE
どうしようもないので、新規ルールを作成し、UDP Port 1812-1813 を許可する設定を追加したところ、問題は解決した。
なんなんだ(´・ω・`)