【図解】NTLM認証とは?仕組み・今も残るユースケース・廃止される理由を初心者向けに解説

ファイルサーバのアクセスログやドメインコントローラのイベントを見ていると、「NTLM」という文字をよく見かけます。Active Directoryの標準の認証はKerberosのはずなのに、なぜ今もNTLMが動いているのか。Microsoftが「NTLMを既定で無効にする」と発表したとき、自分の環境で何が止まるのか。気になっている方も多いと思います。

この記事では、NTLMの仕組みをメッセージ1つずつ追ったうえで、今もNTLMが使われている場面、廃止される理由、そしてNTLMを減らしていく進め方を整理します。

この記事でわかること
  1. NTLMとは何か、いつ生まれ、どう変わってきたか
  2. NTハッシュと、NEGOTIATE・CHALLENGE・AUTHENTICATEのやり取り
  3. IPアドレス指定、プロキシ認証、Wi-Fiなど、今もNTLMが残るユースケース
  4. リレー攻撃やPass-the-Hashなど、NTLMが危ない理由
  5. 廃止のロードマップと、NTLMを減らす進め方
Windows認証シリーズ

この記事は3本シリーズの1本目です。①NTLM(この記事)→ ②Kerberos認証の基礎 → ③Microsoft Entra Kerberos の順に読むと、Windowsの認証が古い方式から新しい方式へどう移ってきたかがつながります。

NTLMを一言でいうと

NTLM(NT LAN Manager)は、Windowsで使われてきた「チャレンジ/レスポンス方式」の認証プロトコルです。サーバが毎回ちがう乱数(問題)を出し、クライアントはパスワードから作った値でその問題を計算して答えを返します。サーバは答えが正しいかどうかで、相手が本当にパスワードを知っているかを判断します。

パスワードそのものはネットワークに流れません。ただし、ドメインのアカウントの場合、ファイルサーバはユーザーのパスワード情報を持っていないので、受け取った問題と答えをDC(ドメインコントローラ)に転送して答え合わせを頼みます。この「DCに転送して確かめる」点が、NTLMを理解するうえでいちばん大事なところです。

クライアントパスワードを知っているサーバ答え合わせを頼むDCNTハッシュを持っている① 問題(乱数)② 答え(計算結果)③ 問題と答えを転送④ 正解/不正解パスワードそのものはネットワークに流れないチャレンジ/レスポンス方式
図1 NTLMの全体像。サーバが問題を出し、DCが答え合わせをする
登場人物役割
クライアントユーザーが使うPC。パスワードから作ったNTハッシュを使って、サーバの問題に答えます。
サーバファイルサーバやWebサーバなど、アクセスされる側です。問題を出し、答えをDCに転送して確かめてもらいます(ローカルアカウントなら自分で確かめます)。
DCドメインのユーザーのNTハッシュを持っていて、答え合わせをします。結果と一緒に、ユーザーの所属グループなどの情報もサーバに返します。

NTLMの歴史と種類

NTLMは1993年のWindows NTとともに登場しました。さらに古いLAN Manager(LM)の方式を置き換えるものでしたが、今の基準で見るとNTLMv1の計算も弱く、Windows NT 4.0 SP4で改良版のNTLMv2が使えるようになりました。Windows 2000からはActive Directoryの標準の認証がKerberosになり、NTLMは「Kerberosが使えないときの代わり(フォールバック)」という位置づけになっています。

そして2024年6月、MicrosoftはNTLM全体(LANMAN、NTLMv1、NTLMv2)を非推奨にしました。NTLMv1はWindows 11 24H2とWindows Server 2025で削除され、2026年1月には「次のメジャーリリースでネットワークのNTLMを既定で無効にする」というロードマップが公表されています。

1993年Windows NT 3.1でNTLMが登場NT 4.0 SP4NTLMv2が使えるように2000年Windows 2000でKerberosが既定に2024年NTLMが非推奨にv1は24H2で削除2026年既定で無効にするロードマップ公表次のメジャーリリースでNTLMが既定で無効
図2 NTLMの年表
方式応答の作り方今の扱い
LM(LAN Manager)大文字にしたパスワードをもとにしたLMハッシュとDES非常に弱く、現在は使わない
NTLMv1NTハッシュ(MD4)を3つのDES鍵に分けて、サーバの乱数を暗号化Windows 11 24H2/Windows Server 2025で削除
NTLMv2NTハッシュとユーザー名からHMAC-MD5で鍵を作り、サーバの乱数・時刻・クライアントの乱数などを計算非推奨。今もフォールバックとして動いている

Windowsのグループポリシー「ネットワーク セキュリティ: LAN Manager 認証レベル」の既定値は3(NTLMv2の応答だけを送る)です。この記事でも、特に断りがなければNTLMv2を前提に説明します。

NTLMの仕組み

出発点はNTハッシュ

NTLMの計算はすべて「NTハッシュ」から始まります。NTハッシュは、パスワードをUTF-16LEという文字コードに変換し、MD4というハッシュ関数にかけた16バイトの値です。ローカルアカウントならそのPCのSAM、ドメインのアカウントならADのデータベースに保存されています。

NTハッシュにはソルト(ユーザーごとのランダムな値)が混ざらないので、同じパスワードからはいつも同じ値ができます。そして、NTLMの応答はNTハッシュさえあれば計算できます。つまりNTハッシュは、実質的にパスワードと同じ価値を持つ情報です。これが後で説明するPass-the-Hash攻撃の原因になります。

パスワード例:P@ssw0rdUTF-16LEに変換文字コードの変換MD4ハッシュ関数NTハッシュ16バイト保存される場所ローカル:SAMドメイン:ADのデータベースソルト(ランダムな値)を混ぜないので、同じパスワードからはいつも同じNTハッシュができる
図3 NTハッシュの作り方

5つのやり取りをシーケンスで見る

ドメインのアカウントでファイルサーバにアクセスするときの流れを、シーケンス図にまとめます。クライアントとサーバの間で3つのメッセージ、サーバとDCの間で2つのやり取りがあります。メッセージ名はMicrosoftの仕様書(MS-NLMP)の呼び方で、Wiresharkでもこの名前で表示されます。

クライアントとサーバの間(SMBなどの中で運ばれる)サーバとDCの間(Netlogonのセキュアチャネル)クライアントファイルサーバDC① NEGOTIATE使える機能を伝える② CHALLENGEサーバの乱数(8バイト)+TargetInfo③ AUTHENTICATEユーザー名+NTハッシュで計算した応答④ 応答の確認を依頼パススルー認証⑤ 結果+ユーザー情報+セッション鍵
図4 NTLMのシーケンス(ドメインのアカウントの場合)

NTLMのメッセージは、単独で流れるのではなく、SMBのセッション確立やHTTPのヘッダの中に入れて運ばれます。ここから、1つずつ「誰から誰へ、何を送っているか」を見ていきます。

NEGOTIATE:「NTLMで認証したい」と伝える

クライアントからサーバへ、NEGOTIATEメッセージを送ります。中身は「自分が使える機能」を表すフラグの集まりで、NTLMv2の応答を使えるか、署名や暗号化に対応しているか、などを伝えます。この時点では、ユーザーを表す情報はまだ入っていません。

① NEGOTIATE:クライアント → サーバクライアントファイルサーバDC① NEGOTIATENEGOTIATE平文の部分・使える機能のフラグ  (NTLMv2の応答、署名、暗号化など)・(任意)ドメイン名・端末名「NTLMで認証したい」とできることを伝える
図5 NEGOTIATE(クライアント → サーバ)

CHALLENGE:サーバが問題を出す

サーバからクライアントへ、CHALLENGEメッセージを返します。いちばん大事なのは、8バイトの乱数(サーバチャレンジ)です。この乱数は毎回変わるので、過去の答えを盗み見て使い回すことはできません。

あわせて、TargetInfoと呼ばれる情報も入ります。サーバ名、ドメイン名、時刻などで、NTLMv2ではクライアントがこれを応答の計算に含めます。

② CHALLENGE:サーバ → クライアントクライアントファイルサーバDC② CHALLENGECHALLENGE平文の部分・サーバの乱数(8バイト)・TargetInfo  (サーバ名・ドメイン名・時刻など)・合意した機能のフラグ毎回変わる「問題」同じ答えは二度と使えない
図6 CHALLENGE(サーバ → クライアント)

AUTHENTICATE:答えを返す

クライアントからサーバへ、AUTHENTICATEメッセージを送ります。ユーザー名、ドメイン名、端末名と、NTハッシュを使って計算した応答(NTLMv2応答)が入っています。あわせて、3つのメッセージが途中で書き換えられていないことを示すMIC(Message Integrity Code)も付きます。

NTLMv2応答は、次の2段階で作ります。まずNTハッシュを鍵にして、ユーザー名とドメイン名からユーザーごとの鍵(NTOWFv2)を作ります。次にその鍵で、サーバの乱数、時刻、クライアントが作った乱数、TargetInfoをまとめてHMAC-MD5にかけ、16バイトのNTProofStrを作ります。

③ AUTHENTICATE:クライアント → サーバクライアントファイルサーバDC③ AUTHENTICATEユーザー名NTLMv2応答平文の部分・ユーザー名・ドメイン名・端末名だれとして認証したいかNTハッシュを鍵にした計算結果・NTProofStr(HMAC-MD5の値)・クライアントの乱数・時刻・TargetInfoの写しNTLMv2の応答パスワードを知らないと作れないセッション鍵を使った値・MIC(メッセージの改ざん検知)3つのメッセージが書き換えられていないことを示す
図7 AUTHENTICATE(クライアント → サーバ)
NTハッシュユーザー名+ドメイン名HMAC-MD5NTOWFv2ユーザーごとの鍵サーバの乱数時刻・クライアント乱数TargetInfoHMAC-MD5NTProofStr16バイトNTLMv2応答NTProofStr+時刻・乱数+TargetInfo
図8 NTLMv2応答の作り方

パススルー認証:サーバがDCに確認を頼む

ドメインのアカウントの場合、サーバはユーザーのNTハッシュを持っていません。そこで、ユーザー名、自分が出した乱数、クライアントの応答をDCに送り、答え合わせを頼みます。これをパススルー認証といいます。

この通信には、Netlogonのセキュアチャネルを使います。セキュアチャネルは、サーバがドメインに参加したときに作られるコンピュータアカウントの資格情報で保護された、サーバとDCの間の専用の通り道です。

④ 応答の確認を依頼:サーバ → DCクライアントファイルサーバDC④ パススルー認証問題と答えNetlogonのセキュアチャネルで送る・ユーザー名・ドメイン名・サーバが出した乱数・クライアントの応答サーバはNTハッシュを持たないので、DCに答え合わせを頼む
図9 パススルー認証(サーバ → DC)

結果を返す:DCからサーバへ

DCは自分が持っているNTハッシュで同じ計算をし、答えが一致すれば成功をサーバに返します。このとき、ユーザーのSIDや所属グループのSIDなどのユーザー情報と、セッション鍵(SessionBaseKey)も一緒に返します。

サーバはユーザー情報からアクセストークンを作り、フォルダのACLと照合してアクセスを許可するかを決めます。セッション鍵は、SMB署名など、その後の通信の保護に使います。なお、このユーザー情報の形は、Kerberosのチケットに入るPAC(次の記事で説明します)と同じ系統の構造です。

⑤ 結果を返す:DC → サーバクライアントファイルサーバDC⑤ 結果を返す結果セッション鍵確認の結果・成功/失敗・ユーザーのSID・グループのSIDサーバはこれでアクセストークンを作りフォルダのACLと照合するセキュアチャネルで保護・セッション鍵(SessionBaseKey)SMB署名などに使う鍵サーバとクライアントで共有
図10 結果を返す(DC → サーバ)

ローカルアカウントの場合

サーバ自身のローカルアカウント(例:NASやワークグループのPCのユーザー)でアクセスするときは、STEP 4と5がありません。サーバは自分のSAMにあるNTハッシュで同じ計算をし、その場で答え合わせをします。ドメインに参加していない機器どうしでNTLMが使われ続けているのは、このためです。

ローカルアカウントクライアントサーバ①〜③サーバが自分のSAMにあるNTハッシュで答え合わせドメインアカウントクライアントサーバDC①〜③④⑤サーバはDCに転送してDCのNTハッシュで答え合わせ
図11 ローカルアカウントとドメインアカウントの違い

今もNTLMが使われている場面

ADのドメイン環境では、Windowsはまず Kerberos を試し、使えなかったときにNTLMに切り替えます(Negotiateという仕組みです)。そのため、管理者が意識しないうちに、さまざまな場面でNTLMが使われています。Microsoftも、NTLMが残る原因として「NTLMを直接指定しているアプリ」「Kerberosの前提が欠けている」「NTLMしか使えない古い機器」「ローカルアカウント」の4つを挙げています。

IPアドレスで指定\\10.0.0.10\shareワークグループ・ローカルNAS、ドメイン外のPCSPNの不備未登録・重複・別名DCに届かないVPNなし、DMZWebプロキシの認証407とNTLMWi-Fi・VPNPEAP-MSCHAPv2NTLMを直指定するアプリ古い業務アプリ・機器信頼のない別ドメイングループ会社など
図12 NTLMが使われ続けている主な場面
場面NTLMになる理由Kerberosにするには
IPアドレスでアクセスKerberosはサービスを名前(SPN)で指定する仕組みで、既定ではIPアドレスに対してKerberosを試しませんFQDNでアクセスするよう直します。どうしても無理な場合は TryIPSPN とIPのSPN登録
ワークグループ・ローカルアカウントKDCがいない(ローカルアカウントのチケットを出す人がいない)ドメインに参加させる。今後はLocalKDCで対応予定
SPNの不備SPNが未登録・重複・別名(CNAME)と食い違うと、チケットを取れないsetspn -Q と setspn -X で確認して直す
DCに届かない社外からVPNなしで接続、DMZのサーバなど、クライアントがKDCと通信できないVPNやKDCプロキシ。今後はIAKerbで対応予定
信頼のない別ドメイン信頼関係がないドメインのアカウントでは、Kerberosのチケットを取れない信頼関係を作る。Microsoftは今後のリリースでの対応を予定
NTLMを直接指定するアプリアプリがNegotiateではなくNTLMを名指しで使っているアプリの修正(Negotiateを使うようにする)、ベンダーへの確認
非Windows・古い機器NAS、複合機のSMB送信、古いLinuxやアプライアンスがNTLMにしか対応していないファームウェアの更新、Kerberos対応機種への入れ替え

この中から、現場でよく相談を受ける4つの場面を詳しく見ていきます。

IPアドレスでアクセスしている

いちばん多いのがこのパターンです。\\fs01.corp.example\share のように名前で指定すると、クライアントは cifs/fs01.corp.example というSPNのチケットを取りにいけます。ところが \\10.0.0.10\share のようにIPアドレスで指定すると、Windowsは既定でKerberosを試さず、NTLMで認証します。

ドライブの割り当て、ショートカット、バッチファイル、業務アプリの接続文字列などにIPアドレスが書かれていることはよくあります。Microsoftも「プラットフォーム側の対応を待たず、今のうちにIPアドレスでの認証をなくしていくこと」を勧めています。Windows 10 1507/Windows Server 2016以降では、クライアントのレジストリ TryIPSPN と、IPアドレスのSPN登録でKerberosを使うこともできますが、クライアントごとの設定が必要で、IPアドレスの固定も前提になります。

クライアント\\fs01.corp.example\shareSPN:cifs/fs01…Kerberos\\10.0.0.10\shareSPNを作れない(既定)NTLM
図13 名前で指定するとKerberos、IPアドレスで指定するとNTLM

クライアント(管理者のコマンドプロンプト):IPアドレスでもKerberosを試すようにする設定

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters" /v TryIPSPN /t REG_DWORD /d 1 /f

DC:IPアドレスのSPNを、サービスを動かすアカウントに登録する(例)

setspn -s host/10.0.0.10 fs01

Webプロキシの認証

社内からインターネットに出るときに、Webプロキシでユーザーを認証している企業は多いと思います。ユーザー名とグループでURLフィルタやログを分けるためです。このとき、プロキシはHTTPの407応答で認証を求め、ブラウザは Proxy-Authorization ヘッダにNTLMのメッセージを入れて送ります。プロキシは受け取った応答をDCに確認し、ユーザーとグループを特定します。

③〜⑤は同じTCP接続のまま続けるブラウザ(PC)WebプロキシDC① GET http://www.example.com/② 407 Proxy Authentication RequiredProxy-Authenticate: NTLM③ Proxy-Authorization: NTLM <NEGOTIATE>④ 407 + Proxy-Authenticate: NTLM <CHALLENGE>⑤ Proxy-Authorization: NTLM <AUTHENTICATE>⑥ 応答の確認を依頼⑦ 結果+グループ情報⑧ 200 OK(Webサイトの応答を中継)グループに応じてURLを許可・拒否
図14 WebプロキシのNTLM認証

HTTPのNTLMは、③〜⑤を同じTCP接続のままやり取りする必要があります。途中で接続が切れると認証をやり直すことになるので、プロキシの前段にロードバランサがある構成では、接続の扱いに注意が必要です。

プロキシの認証は、Negotiate(Kerberos)に切り替えるのが難しい場面の代表です。理由は次のとおりです。

Kerberosにしにくい理由内容
プロキシのSPNと鍵が必要HTTP/proxy.corp.example のSPNをADのアカウントに登録し、その鍵(keytabなど)をプロキシ装置に入れる作業が必要です。
プロキシを名前で指定する必要があるブラウザのプロキシ設定やPACファイル、WPADでプロキシをIPアドレスで書いていると、SPNを組み立てられずNTLMになります。
複数台・負荷分散複数のプロキシを1つの名前で見せる場合、全台で同じアカウントの鍵を使うよう設計する必要があります。
ドメイン外の端末ドメインに参加していない端末やWindows以外の端末は、KerberosのチケットをもらえずNTLMやBasic認証に頼りがちです。

プロキシ製品の多くはNegotiateとNTLMの両方に対応していますが、上の準備ができていないと、ブラウザはNTLMで認証を続けます。プロキシの基本は 【図解】フォワードプロキシとリバースプロキシの違い、NTLMでプロキシ認証を設定した例は 【Fortigate】プロキシ認証(Explicit Proxy+NTLM認証) で紹介しています。

Wi-Fi・VPNのMSCHAPv2

社内Wi-Fiの802.1X認証で、PEAP-MSCHAPv2を使っている環境は今も多くあります。NPS(RADIUSサーバ)がDCにユーザーの確認を頼む流れは、NTLMのパススルー認証とよく似ています。そして、MSCHAPv2の応答の計算は、NTLMv1と同じ関数(NTハッシュとDES)を使っています。

MicrosoftはMSCHAPv2について、NTLMv1と同じ弱い暗号への攻撃を受けると説明しており、Credential Guardを有効にするとMSCHAPv2はシングルサインオンに使えなくなります。NTLMv1の廃止に関連して、Wi-Fi、有線LAN、VPNのSSOに影響が出る場合があることも案内されています。長い目で見ると、証明書を使うEAP-TLSへの移行が本筋です。RADIUSの仕組みは 【図解】RADIUSプロトコルがよくわかる! で解説しています。

PC・スマホ無線APNPS(RADIUS)DCEAP(802.1X)RADIUSNetlogonPEAPのトンネルの中のMSCHAPv2は、NTLMv1と同じ計算(NTハッシュ+DES)を使うCredential GuardやNTLMv1の廃止で、保存済み資格情報のSSOに影響が出ることがある
図15 Wi-FiのPEAP-MSCHAPv2とNTLMの関係

NTLMを直接使うアプリ・機器

アプリケーションが認証方式としてNTLMを名指ししている場合、KerberosのSPNやDCが整っていても、NTLMしか使われません。古い業務アプリ、スクリプト、組み込み機器、他社製のアプライアンスなどがこれに当たります。Microsoftは、ソースコードの中から NTLM や NTLMSSP の文字列を探し、Negotiateに置き換えることを勧めています。他社製品の場合は、ベンダーに対応予定を確認するのが近道です。

なぜNTLMは危ないのか

Microsoftは、NTLMを廃止する理由として「サーバを確かめられない」「リプレイ・リレー・Pass-the-Hash攻撃に弱い」「暗号が弱い」「ログで使われ方が見えにくい」を挙げています。それぞれを見ていきます。

相手のサーバが本物か確かめられない

NTLMでは、サーバがクライアントを確かめるだけで、クライアントはサーバが本物かどうかを確かめません。NTLMは「サーバは正しい」という前提で作られているためです。これが次のリレー攻撃の土台になります。Kerberosでは、サーバもチケットを開けられることで自分が本物だと示せます(相互認証)。

NTLMリレー攻撃

攻撃者は、偽のサーバにクライアントを接続させ(細工したリンクや名前解決の乗っ取りなど)、クライアントとのNTLMのやり取りを、そのまま本物のサーバに中継します。クライアントは正しいパスワードで正しく計算した答えを返すので、本物のサーバは攻撃者を「そのユーザー」として受け入れてしまいます。

クライアントだまされて接続攻撃者偽のサーバ本物のサーバ① NEGOTIATE② そのまま転送③ CHALLENGE④ そのまま転送⑤ AUTHENTICATE(正しい応答)⑥ そのまま転送本物のサーバは「正しいユーザー」として攻撃者を受け入れる
図16 NTLMリレー攻撃

対策は、認証とその後の通信を結び付けることです。SMB署名を必須にすると、セッション鍵を知らない攻撃者は正しい署名を付けられません。LDAPやHTTPでは、認証をTLSの通信路に結び付ける拡張保護(EPA、LDAPではチャネルバインディング)を有効にします。

プロトコル主な対策
SMBSMB署名を必須にする(Windows Server 2025では送信側で既定で必須)。SMBクライアントのNTLMブロック
LDAPLDAP署名の要求と、LDAPSでのチャネルバインディング(CBT)の要求
HTTP(IIS、AD CSのWeb登録など)HTTPSと拡張保護(EPA)

Pass-the-Hash

NTLMの応答はNTハッシュだけで計算できるので、パスワードを知らなくても、NTハッシュを盗めばそのユーザーとして認証できます。管理者がサインインしたことのあるPCが乗っ取られ、メモリ(LSASS)からNTハッシュを抜き取られると、そのハッシュで別のサーバへ次々とログオンされます。ランサムウェアの侵入後に、社内で被害が広がる典型的な流れです。

乗っ取られたPCLSASSのメモリNTハッシュ管理者がサインインした跡抜き取る攻撃者ハッシュで③を計算別のサーバパスワードを知らなくても、ハッシュだけでログオンできる
図17 Pass-the-Hash

対策としては、Credential GuardでLSASSの資格情報を保護する、ローカル管理者のパスワードをLAPSでPCごとに変える、特権アカウントを一般のPCにサインインさせない、といった組み合わせが基本です。Protected Usersグループのメンバーは、NTLMでの認証そのものができなくなります。

応答の解析と、弱い暗号

ネットワーク上で応答を盗み取られると、攻撃者は手元で時間をかけてパスワードを総当たりできます。NTLMv1はDESを使っているので特に弱く、NTLMv2でもパスワードが単純なら割り出されるおそれがあります。MD4やHMAC-MD5といった古い暗号の上に作られていることも、廃止の理由の1つです。

DCへの負荷と、見えにくさ

NTLMでは、サーバが認証するたびにDCへの問い合わせが発生します。また、これまでのNTLMのログでは「どのプロセスが、なぜNTLMを使ったのか」まで分かりませんでした。これは次の章で紹介する「強化されたNTLM監査」で改善されています。

弱点何が起きるか主な対策
相互認証がない偽のサーバにだまされるKerberosへの移行
リレー応答を中継され、別のサーバにログオンされるSMB署名、EPA、チャネルバインディング
Pass-the-Hash盗まれたNTハッシュでログオンされるCredential Guard、LAPS、特権アカウントの分離
弱い暗号盗んだ応答からパスワードを割り出されるNTLMv1の廃止、長いパスワード、Kerberosへの移行

廃止へのロードマップ

Microsoftは、NTLMを一度に消すのではなく、段階を踏んで減らしていく計画を公表しています。2026年1月の発表では、次の3つのフェーズが示されました。日程は変わる可能性があると明記されているので、最新の情報は Microsoftの案内(aka.ms/ntlm) で確認してください。

2024年6月NTLM全体が非推奨に2024年NTLMv1を削除(24H2・2025)2025年7月強化されたNTLM監査2026年1月既定で無効にするロードマップ2026年後半IAKerb・LocalKDC(予定)次のメジャーネットワークのNTLMを既定で無効
図18 NTLM廃止のロードマップ
フェーズ内容
フェーズ1:見える化強化されたNTLM監査で、誰が・なぜ・どこでNTLMを使っているかを把握する。Windows 11 24H2以降とWindows Server 2025で利用できる
フェーズ2:主な原因の解消DCに届かない場合のIAKerb、ローカルアカウント用のLocalKDC、Windowsの部品がKerberosを先に試すようにする改修。2026年後半にWindows Server 2025とWindows 11 24H2以降向けに提供予定
フェーズ3:既定で無効次のメジャーリリースで、ネットワークのNTLMを既定で無効にする。必要ならポリシーで再び有効にできる

「既定で無効」は、NTLMをWindowsから削除するという意味ではありません。NTLMの部品はしばらく残り、どうしても必要な環境では管理者がポリシーで有効に戻せます。また、今使っているWindows Server 2019/2022/2025やWindows 10/11で、ある日突然NTLMが止まるわけでもありません。完全な削除は、依存がなくなってからの長期的な目標とされています。

IAKerbとLocalKDC

NTLMが残る大きな理由である「DCに届かない」と「ローカルアカウント」に対して、Microsoftは2つの仕組みを用意しています。IAKerbは、クライアントがDCと直接通信できないときに、接続先のサーバがKerberosのやり取りをDCまで中継する仕組みです。LocalKDCは、Windowsの中に小さなKDCを組み込み、ローカルアカウントにもKerberosのチケットを出せるようにする仕組みです。

どちらもWindows Insiderのプレビュービルドで提供されていて、Windows Server 2025とWindows 11向けに一般提供される予定です(2026年9月時点の案内)。

IAKerbDCに届かないクライアントクライアントサーバDCサーバがKerberosを中継するLocalKDCローカルアカウントクライアントKDC内蔵サーバサーバ自身がチケットを発行する
図19 IAKerbとLocalKDCのイメージ

NTLMを減らす進め方

NTLMを減らす作業は、「どこで使われているか分からない」ところから始まることがほとんどです。Microsoftが紹介している進め方を、5つのステップに整理します。

STEP 1監査どこで・なぜSTEP 2分類原因ごとにSTEP 3修正FQDN・SPNSTEP 4試験ブロック一部からSTEP 5既定で無効に備える
図20 NTLMを減らす5つのステップ

監査:どこで、なぜ使われているかを知る

Windows 11 24H2以降とWindows Server 2025では、強化されたNTLM監査を使えます。クライアント、サーバ、DCのそれぞれで、NTLMを使ったアカウントとプロセス、相手のマシン名とIPアドレス、そしてKerberosではなくNTLMになった理由(SPNがない、DCに届かない、ローカルアカウント、IPアドレス指定など)が記録されます。NTLMv1の使用など、安全でない認証は警告レベルのイベントとして記録されます。

項目内容
ログの場所アプリケーションとサービス ログ ›› Microsoft ›› Windows ›› NTLM ›› Operational
クライアント・サーバの設定管理用テンプレート ›› システム ›› NTLM の「NTLM 拡張ログ記録」
DCの設定管理用テンプレート ›› システム ›› Netlogon のドメイン全体のNTLMログのポリシー
従来からある記録セキュリティログのイベントID 4624(ログオン)の「認証パッケージ」「パッケージ名(NTLMのみ)」、「ネットワーク セキュリティ: NTLM を制限する」系の監査ポリシー

分類:原因ごとにまとめる

集めたログを、マシン単位ではなく原因ごとにまとめます。「IPアドレス指定」「SPNの不備」「NTLMを直指定するアプリ」「古い機器」のように分けると、まとめて直せるものと、ベンダーに相談するものが見えてきます。プロセス名が分かれば、担当者も決めやすくなります。

修正:簡単なものから直す

IPアドレスをFQDNに直す、足りないSPNを登録する、重複したSPNを消す、NTLMv1を使っている機器をなくす、スクリプトのNTLM指定をNegotiateに変える、といった作業から始めます。SPNは次のコマンドで確認できます。

DC:SPNの登録先と重複を確認する

setspn -Q cifs/fs01.corp.example
setspn -X

試験ブロック:一部から止めてみる

影響の小さい範囲から、NTLMを実際に止めてみます。特権アカウントや重要でないサービスから始め、段階的に広げるのがMicrosoftの勧める方法です。Windows Server 2025とWindows 11 24H2以降のSMBクライアントでは、送信側のSMB接続でNTLMをブロックできます。

クライアント(管理者のPowerShell):SMBクライアントでNTLMをブロックする

Set-SmbClientConfiguration -BlockNTLM $true

グループポリシーでは コンピューターの構成 ›› 管理用テンプレート ›› ネットワーク ›› Lanman ワークステーション の「Block NTLM (LM, NTLM, NTLMv2)」で同じ設定ができます。

既定で無効になる日に備える

他社製品でNTLMを直接使っているものは、ベンダーに対応予定を確認します。IAKerbとLocalKDCが使えるようになったら、DCに届かない端末やローカルアカウントの場面で試します。こうした準備を進めておけば、次のメジャーリリースでNTLMが既定で無効になっても、例外として残すものを最小限にできます。

補足

NTLMを止めると、これまで黙ってNTLMで動いていた接続は「つながらない」という形で表面化します。いきなり全体で無効にせず、監査で使われ方を把握してから、影響の小さい範囲で試すことが大切です。

まとめ

NTLMは、サーバが出した問題にNTハッシュで答え、ドメインのアカウントならDCが答え合わせをする、チャレンジ/レスポンス方式の認証です。パスワードは流れませんが、NTハッシュがパスワードと同じ価値を持つこと、サーバを確かめられないことから、リレーやPass-the-Hashの攻撃に使われてきました。

項目押さえておくこと
仕組みNEGOTIATE → CHALLENGE → AUTHENTICATE の3メッセージ。ドメインのアカウントなら、サーバがNetlogonでDCに確認する
NTハッシュパスワードをMD4にかけた値。ソルトがなく、これだけで応答を計算できる
今も残る場面IPアドレス指定、ワークグループ、SPNの不備、DCに届かない、プロキシ認証、MSCHAPv2、NTLM直指定のアプリ・機器
危ない理由相互認証がない、リレー、Pass-the-Hash、弱い暗号、見えにくさ
今後2024年に非推奨、NTLMv1は削除。次のメジャーリリースでネットワークのNTLMが既定で無効になる予定
今からできること強化されたNTLM監査で洗い出し、FQDN化・SPNの整備・Negotiateへの切り替えを進める

NTLMを減らす作業は、そのままKerberosをきちんと動かす作業でもあります。次の記事では、NTLMに代わるKerberosの仕組みを、チケットのやり取りとPACを中心に追っていきます。

コメント