NTLMを拒否してるとMS-CHAPv2が使えない話

Windows8の着信接続に接続しようとしたら、ユーザー認証に失敗する。
認証プロトコルはMS-CHAPv2。WindowsServerではないのでEAPは使いようがない、はず。
イベントログにはこんな風に。

ユーザー hoge は 192.168.0.12 から接続していますが、次の理由のため認証に失敗しました: 指定したユーザー名またはパスワードが認識されないか、選択した認証プロトコルがリモート アクセス サーバーで許可されていないため、リモート接続が拒否されました。

ユーザー名やパスワードが違うにしては何度試しても通らないし、数時間頭抱えてた。

解決策

サーバーの

  • レジストリのHKLM\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel
  • もしくはグループポリシーの「ネットワーク セキュリティ: LAN Manager 認証レベル」

を0x5=「NTLMv2 応答のみ送信 (LM と NTLM を拒否する)」より小さくする。というかデフォルトが0x3=「NTLMv2 応答のみ送信する」なので、いじってなければ大丈夫だった。
NTLMv1っていうとXP以前のPCとファイル共有するときに必要というぐらいの印象しかなく、まさか今になって問題になるとは。
このときのクライアントはWindowsRTだったので、OSが古いから〜というわけでもなさそう。

参考

MSCHAPv2 is encryption compatible with NTLM, not NTLMv2. (It simply
changes how the 8-byte LM challenge is prepared, and removes the LM
response).

The client cannot (while sending a valid MSCHAPv2 response) us the
NTLMv2 crypto.

http://lists.samba.org/archive/samba/2006-March/118847.html

IAS サーバーおよびルーティングとリモート アクセスを実行しているサーバーでは、クライアントのドメイン資格情報の認証に NTLM を使用します。つまり、IAS またはルーティングとリモート アクセスを実行しているクライアントを認証するドメイン コントローラーは、NTLMv2 認証のみを受け入れるようには構成できません。

http://technet.microsoft.com/ja-jp/library/cc772468.aspx

どうしてもNTLMv2を使いたければレジストリをごにょごにょしなさい、という情報も。

でもこの方法では解決せず。OSのバージョンが違うからかなー。