treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

2024年気になるWindowsの仕様変更:NTLM廃止

前回「2024年気になるWindows印刷の仕様変更」で印刷(Spooler Service)の劇的更新について触れましたが、もう一つ気になっている仕様変更として「NTLMの廃止」があります。
今日はこのNTLM廃止について現時点で調べた内容をご報告です。これも意外と話題は水面下のような印象があります。

まずは公式を確認

前回同様にMicrosoftの<https://techcommunity.microsoft.com>の記事からご紹介です。
こちらは2023年10月公開となった「Windows 認証の進化」と題された記事となっています。

■The evolution of Windows authentication
https://techcommunity.microsoft.com/t5/windows-it-pro-blog/the-evolution-of-windows-authentication/ba-p/3926848

前回同様、これも詳しくは英文ですので、簡単に要約してみます。

記事「Windows 認証の進化」要約

NTLMはNT LAN Managerの略で、2000年登場したKerberos以前から使われていたWindows認証基盤です。KerberosがWindows認証プロトコルとしてデフォルトとなっているものの、それが使用出来ない環境は依然として存在しています。

これはセキュリティに問題があるNTLM認証が使い続けられていることを意味しています。

そこで、将来的にNTLMを廃止して全てのWindowsユーザの認証を安全にする目的から、Kerberosを使用した初期認証とパススルー認証(IAKerb)およびKerberos用ローカルキー配布センター(KDC)をNTLMの置き換えることを目標にしています。

Windows11ではKerberosによるNTLM認証の置き換えを進めて行きます。
置き換え後にはWindowsにはIAKerbとKDCの二つを導入し、ローカルアカウントにKerberosサポートを追加します。
(※注:おそらくドメインコントローラ(Active Directory環境)不在のWindows認証環境にも小規模なKerberos認証を追加する変更を加えようとしている)

新しいKerberos機能と共に、(提供される)NTLM管理制御を拡張することで、管理者が環境内でNTLMの使用状況を追跡したりブロックしたりする方法を実施可能にしています。
情報はイベントビューアに蓄積でき、ログからどのアプリケーションがNTLMを使用しているかを明確にするためサービス情報が追加されます。イベントビューアのログで詳細が確認できるようになるのと共に、NTLM制御を拡張してサービスレベルで詳細なポリシー(たぶんグループポリシー)の指定もできるようになります。
これによって特定サービスでNTLMの仕様をブロックしたり、システム全体でNTLMブロックのサービス例外を作成することができます。

最終的にはWindows11ではNTLMが廃止されます。

廃止までに前述のような(提供される)NTLMの管理制御の拡張機能を利用して、無効にしても安全と思われる時期の見極めが必要になります。(※注:いつデフォルト無効になるかはまだ言及されていない)

いま何をすべきか(What should you do now?)というと、NTLM廃止前にどれくらいNTLMが使われているかを調べておくことが優先されます。

NTLM使用のカタログ化の為には、既存のポリシーとログを使用して、NTLMが使用されている場所と、無効化によって弊害がでる可能性があるアプリケーションを理解することが必要です。以下の記事を参照します。
■NTLM Blocking and You: Application Analysis and Auditing Methodologies in Windows 7.
https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/ntlm-blocking-and-you-application-analysis-and-auditing/ba-p/397191

アプリケーション開発者の場合にはハードコーディングされたNTLMの仕様についてコードを検査する必要があります。

ハードコードされた“ntlm”(AcquireCredentialsHandle)は“negotiate”への置き換え、「RpcBindingSetAuthInfo」関数の呼び出しでは“RPC_C_AUTHN_DEFAULT”を“RPC_C_AUTHN_GSS_NEGOTIATE”に置き換える必要があります。


うーん、要約になっているか多少不安ですが、ざっくりこんな感じ。

NTLM使われているかどうか分かる?

NTLMはワークグループ環境のWindowsで共有を使っているのであれば、選択肢はなくNTLMが使われています。スタンドアロン環境のWindows Serverでもローカルアカウントの認証で共有資源やサービスを提供していれば否応なしにNTLM環境です。

Windowsドメイン(Active Directory)環境以外ならNTLM環境だと考えていいですし、Active Directory環境でドメインコントローラで認証していてもNTLMで認証が使われている場合が(アプリケーションによって)存在します。(この場合ドメインコントローラのログにNTLM通信の検出は記録されていることが多い)

ただ、総じて、この話題の現状はNTLMの廃止は時期未定ながら決定事項、という事柄と、その代替として「IAKerb」と「KDC」を使う、ということしか情報がないような印象があります。
イベントビューアのログ蓄積もドメインコントローラがあるActive Directory環境でのシナリオを想定した設定方法は(過去に月例更新プログラムの絡みから必要だったこともあり)多く情報が出ていますが、ワークグループ環境でWindows共有が使われているという環境でのNTLMを監査する視点での情報はあまり目に付かない印象があります。

総じて、どちらの話もこの後の展開待ちということなのかもしれません。

NTLM廃止のインパクト

中小規模の社内LANであればActive Directoryでなくワークグループ環境でWindowsネットワークを利用している環境は多いと思うので、NTLM廃止のインパクトはかなり大きいんじゃないかなぁと思うんですが、不思議とこの話題が取り上げられているのを目にすることは少ない印象があります。(中小規模の社内LAN関係者があんまりこういうのに興味ないからなのかなぁ)

正直、Active Directory環境に移行してしまうと、あの面倒なドメインコントローラの管理を(ある程度厳重に)実施する必要があります。そんな(従来より大きく)費用の掛かることをどこの中小企業でもできるとは思えませんし、その必要性が理解されることもないように思えます。(実際小規模ではActive Directoryは管理負担が増えるだけでメリット少ないし)

で、NTLM廃止のインパクトとして考えられるのは、(なんの知識も準備もなくただ時間だけが経過することで)これらの認証がある日突然使えなくなってWindows共有が全部ダメになる、というところでしょうか。

誰も管理することがない社内LANだった場合、上記のようなことが起こりそうな気がします。(その前にWindows Updateを計画的にしてない可能性もあるけど)

イベントビューアのログ有効化

とりあえず、NTLMがどれくらい使われているかを見えるようにしたい。

イベントビューアのログはこのNTLMのログです。

場所はイベントビューアの「アプリケーションとサービスログ」⇒「Microsoft」⇒「Windows」⇒「NTLM」にあります。
ただ、標準ではログを収集するようになっていないため、イベントは記録されていません。

恐らく(推測で)このログでNTLMの情報を収集するグループポリシーが以下だと思います。

グループポリシーの「コンピュータの構成」⇒「Windowsの設定」⇒「セキュリティの設定」⇒「ローカルポリシー」⇒セキュリティオプション」配下に、「ネットワークセキュリティ:NTLM」で始まるポリシーが並んでいますがこの中に「ネットワーク セキュリティ: NTLM を制限する: このドメイン内の NTLM 認証を監査する」があります。

説明の末尾に「注意: 監査イベントは、このコンピューターの Applications and Services Log/Microsoft/Windows/NTLM にある "Operational" ログに記録されます。」と記載があるので、このポリシーを有効化すればイベントログでNTLMの稼働状況の収集が出来るんじゃないかと思いますが、今のところ未確認。テスト環境ででも一回やってみてもいいかなと思いました。