>100 Views
March 28, 26
スライド概要
NTLM認証の廃止が近くなっているので、その注意喚起用です
NTLM認証の廃止にむけて考えておくこと Windows Server & Cloud User Group Japan きしま まさかず
今日のお題 • NTLM認証が廃止されると発表されてから時間がたちましたが、現状を整理 • 今後に向けてやっていたほうがいいこと
NTLM( NT LAN Manager)廃止に向けたこれまでの動き • 2023/10:時期未定としつつもNTLM廃止を発表 • 2024/5:NTLM非推奨化 • 2024/6/3:NTLMのすべてのバージョンを廃止すると発表※ • 2024/12/20:Windows 11 24H2 / Windows Server 2025 に おいて NTLMv1 が削除※2 ※1 https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features ※2 NTLMは即座に廃止されるわけではなく、Windows Serverの次のリリー スおよびWindowsの次の年次リリースまでは利用可能…としている
NTLM認証の問題点(あらためて) • 互換性維持などの理由と、Active Directory 環境においてはよりセキュア で高機能な Kerberos へ後継していることから、NTLM 自体の開発は停 止されており、かつ改修されることはないです • LAN の内部通信が安全である考えられていた時代に採用された(古い) 機能であり、これまでもたくさんの脆弱性報告も上がっており外部からの攻撃 に対して脆弱になっています
NTLM廃止に向けた対応 • Kerberos認証に移行しましょう そんな簡単な話でよかったでしたっけ? というのが本題です
NTLM認証が使われるシーン 対応策 備考 # NTLMの利用シーン 1 ホスト名では無く、IP アドレスを利用し ホスト名で接続するようにすればOK てサーバーへアクセスして認証を行って いる ファイル サーバーへアクセス する際や、リモート デスク トップで他のコンピューターへ アクセスする際に多用されてる 2 ファイアウォールが Kerberos に必要な ポートを制限している場合 ファイアウォールを開ければOK Kerberos が利用できない場合な どは、NTLM にフォールバック されている 3 アクセス先の SPN がドメインコント ローラーへ登録されていない SPNをドメインコントローラに登録す ればOK Kerberos が利用できない場合な どは、NTLM にフォールバック されている 4 オンプレミス ドメインに所属していな いワークグループ環境内での認証 将来的に対応される…はず NASなんかはこのパターンに該 当する場合も多い
NTLM廃止に伴う課題 # 課題 対応策 1 Active Directory を利用していないワーク 将来的に対応される予定 グループ環境(ローカルアカウントによ る認証)で NTLM を利用できず影響が発 生 2 Kerberos 認証を行うためにはドメインコ ントローラと直接通信できる必要がある ため、ドメインコントローラへ直接接続 できない環境では NTLM をフォールバッ クとして利用できず影響が発生 3 NTLM 認証をハードコードされたアプリ 調査して…改修を検討 ケーション、システムが存在する場合に 複合機やNASアプライアンスなんかは は、当然ながら NTLM を利用できず影響 買替 が発生 備考 F/W 等で阻害されているなら、通信 の問題に対応させる。それが難しい 場合のケースは将来的に対応される 予定 それができれば苦労はない
ワークグループ環境への対応方法 • Kerberos 用のローカル KDC(ローカルアカウント認証を Kerberos で行 う機能) • 各 Windows コンピューターに KDC の機能を持たせることで、ローカル ユーザー アカウントに対する Kerberos 認証を実現します。 • これにより、ドメインに参加していないコンピューターや、オフラインのコンピュー ターに対して Kerberos 認証を利用させることが可能となります。 • Windows Server 2025 および今後の Windows11に機能追加され る…予定
ドメインコントローラーと直接通信できないケースの対応 • IAKerb(ドメインコントローラと直接通信できない場合に、直接通信できるサーバが認 証をプロキシする機能) • IAKERB では、クライアントが KDC にアクセスできない場合、アプリケーション サーバー がプロキシとして機能し、KDC と通信を行います。具体的には、クライアントがアプリケー ション サーバーに Kerberos 認証要求を送信し、アプリケーション サーバーがその要求を KDC に転送する • KDC は応答をアプリケーション サーバーに返し、それがクライアントに届く • Windows Server 2025 でサポートされる…予定
その他:IP アドレス指定の接続で Kerberos を利用させる • ユーザーによる操作であればホスト名を指定する運用に変えることもできるが、アプ リケーションでハードコードされている状態であれば、NTLM が利用できなくなること で影響が発生する • このような状況に対応するために、IP アドレスが指定された場合も Kerberos を 用いるように変更できる機能が用意されている • レジストリを編集する ▫ キー: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Sy stem\Kerberos\Parameters ▫ 名前:TryIPSPN ▫ 種類:REG_DWORD ▫ 値:1
そもそもNTLM認証を使っているのか? • 監査ログの設定を行うことで調査できるようになります • グループ ポリシー名 および 設定 ▫ (1) [ネットワーク セキュリティ: NTLM を制限する: このドメイン内の NTLM 認証を 監査する] の値を「すべて有効にする」 ▫ (2) [ネットワーク セキュリティ: NTLM を制限する: 着信 NTLM トラフィックを監査す る] の値を「すべてのアカウントに対して監査を有効にする」 ▫ (3) [ネットワーク セキュリティ: NTLM を制限する: リモート サーバーに対する送信 NTLM トラフィック] の値を「すべて監査する」 • 上記グループ ポリシーを設定した状態で NTLM 認証が行われると、ポリシーに従 い、イベント ログに後述する監査イベントが記録される
GPO設定設定箇所
イベントログの確認 • 監査ログの設定を行うことでイベントログから確認できる [アプリケーションとサービスログ] - [Microsoft] - [Windows] - [NTLM] [Operational] ▫ (1) [ネットワーク セキュリティ: NTLM を制限する: このドメイン内の NTLM 認証を監査す る] の値を「すべて有効にする」 アクセス元、アクセス先コンピューター名と、認証に利用されたユーザー名が記録される(8004) ▫ (2) [ネットワーク セキュリティ: NTLM を制限する: 着信 NTLM トラフィックを監査する] の 値を「すべてのアカウントに対して監査を有効にする」 Workstation の値から、NTLM 認証要求元のコンピューター名を確認することが可能 (8002,8003) ▫ (3) [ネットワーク セキュリティ: NTLM を制限する: リモート サーバーに対する送信 NTLM ト ラフィック] の値を「すべて監査する」 NTLM 認証を試みたユーザー名やアクセス先が出力される(8001)
スクリプトでイベントログを抽出 # 対象のログ名 $logName = "Microsoft-Windows-NTLM/Operational“ # 抽出するイベント ID$eventIDs = 8001..8004 # イベントログを取得して一覧化 Get-WinEvent -LogName $logName | Where-Object { $eventIDs -contains $_.Id } | Export-Csv -Path ".\NTLM_Events.csv" -NoTypeInformation -Encoding UTF8
Demo
まとめ 段階的な NTLM の廃止が計画されているもののロードマップは未定のため、急いで何かを やる必要は一見なさそうに見えるが、備えは必要になります NTLM認証廃止に関する影響の懸念される範囲として、IT管理者やエンドユーザーの自 由度が高い、または古い機器が利用し続けられている環境は注意が必要です 管理者の把握できていないシステムや、エンドユーザーの裁量で設置した機器・運用によっ て大きなインパクトが発生するかもしれません 特殊な要件で廃棄できていないようなシステムや NTLM認証に依存したシステムがないか、 棚卸とリプレースや改修といった対応の検討を進めておいたほうが無難でしょう
参考 • NTLM の廃止に向けた対応について https://jpwinsup.github.io/blog/2024/08/22/ActiveDirector y/Authentication/retireNTLM/ • Deprecated features for Windows client https://learn.microsoft.com/en-us/windows /whats-new/deprecatedfeatures • NTLM ユーザー認証 https://learn.microsoft.com/ja-jp/troubleshoot/windowsserver/windows-security/ntlm-user-authentication