Microsoftは6月3日(米国時間)、「Deprecated features in the Windows client - What's new in Windows|Microsoft Learn」において、Windowsの古い認証方式「NTLM(NT LAN Manager)」のすべてのバージョンを廃止すると発表した。2023年10月に時期未定としつつもNTLMの将来的な廃止を発表し、2024年5月にNTLMの非推奨を発表していたが、今回ついに正式な廃止を発表した(参考:「Microsoft、Windowsの古い認証(NTLM)の廃止を発表 | TECH+(テックプラス)」)。
NTLM廃止の必要性
NTLMは古い認証方式のため、現在、機能開発はアクティブに行われていない。また、「NTLMリレー攻撃」と呼ばれるサイバー攻撃によって認証を回避可能とされており、場合によってはドメインコントローラーを乗っ取られる可能性もある。
こうした攻撃は現在も積極的に行われており、対策の必要性が指摘されていた。Microsoftはこのような攻撃を回避できる「Kerberos」と呼ばれる認証方式を2000年からデフォルトで導入しており、近年は速やかな移行を推奨していた。
しかしながら、Kerberos認証を使用するにはいくつかの条件があり、移行できない環境が存在した。そこで、MicrosoftはWindows11にKerberos認証の使用条件を緩和する新しい機能を導入。その検証の結果、移行に問題ないと判断して今回の廃止の発表に至ったと考えられる。
廃止時期
今回、MicrosoftはLANMAN、NTLMv1、NTLMv2を含むすべてのバージョンのNTLMの廃止を発表した。Microsoftの発表によると、NTLMは即座に廃止されるわけではなく、Windows Serverの次のリリースおよびWindowsの次の年次リリースまでは利用可能としている。
ただし、現在認証にNTLMを使用しているアプリケーションの開発者は、Kerberos認証を優先的に試行し、必要な場合にのみNTLM認証にフォールバックするよう実装を修正する必要がある。具体的にはAcquireCredentialsHandle関数の呼び出しで文字列「"ntlm"」を「"negotiate"」に置き換え、RpcBindingSetAuthInfo関数の呼び出しでは「RPC_C_AUTHN_DEFAULT」を「RPC_C_AUTHN_GSS_NEGOTIATE」に置き換える必要がある。