WindowsのActive Directoryサーバに対してセキュリティ攻撃ができることが判明したため、Active Directoryサーバに対してセキュリティ強化がWindows Update経由で2022年11月に配布されている。
このときのアップデートで対応されたのは下記の3点
・KB5021131: CVE-2022-37966 に関連する Kerberos プロトコルの変更を管理する方法 ・KB5020805: CVE-2022-37967 に関連する Kerberos プロトコルの変更を管理する方法 ・KB5021130: CVE-2022-38023 に関連する Netlogon プロトコルの変更を管理する方法
CVE-2022-37966とCVE-2022-38023はどちらも暗号化方式として脆弱なRC4-HMACを使用するのをやめてAESに変更する、というものとなっている。
このため、Kerberos/NTLMv2のどちらを使っていてもRC4-HMACを使用している場合は、このWindows Update適用後に問題が発生する、ということになる。
Windows サーバで構成されているActive Directoryサーバ側での対応については以下にまとめられている
・CVE-2022-37966 への対応とその影響について ・CVE-2022-37967 への対応とその影響について ・CVE-2022-38023 への対応とその影響について
いろいろ書いてあるが、Windowsサーバのレジストリ設定をすることで、強制適用を延期できるけど、最終的にはアクセスできなくなるよ、ということになっている。
で・・・どういう場合に問題が発生するのか?というところが問題となる。
問題が発生するもの
・Active Directoryサーバに対してRC4-HMAC暗号化を使ってKerberos認証を行う場合 ・Active Directoryサーバに対してRPC署名を使ってNTLMv2認証を行う場合 ・Active Directoryサーバに対してRPCシールとRC4-HMAC暗号化を使ってNTLMv2認証を行う場合
2023/07/24追記: sambaによるActive Direcotryサーバで NTLMv2認証を使う場合 (詳細は一番下で解説)
問題が起こらないもの
・Active Directoryサーバに対してAES暗号化を使ってKerberos認証を行う場合 ・Active Directoryサーバに対してRPCシールとAES暗号化を使ってNTLMv2認証を行う場合 (NTLM/Netlogon Secure Channel は同じ意味)
(他にも大丈夫な場合はあると思います)
具体的な環境
2023年5月時点で適切にWindows Updateが実施されているWindows 7 / Windows Server 2012以降のマシンで、Active Directoryに参加している場合はKerberos/AESなので問題ない
Windowsであってもworkgroupとして認証を行う場合はNTLMv2となる場合があるので注意が必要
Linuxからcifs-utilsを使ってCIFS領域をマウントする場合、標準設定ではNTLMv2を使用するため注意が必要
LinuxをActive Directoryに参加させる場合、注意が必要 Microsoft の 2022 年 11 月の更新により Active Directory の統合が中断される Red Hat Enterprise Linux and Microsoft security update of November 2022
ファイルサーバでの問題発生例
Active Directoryに参加しているファイルサーバでは以下のような形で認証が行われる模様
・[クライアント]→Kerberos認証→[ファイルサーバ]→Kerberos認証→[Active Directory] ・[クライアント]→NTLMv2認証→[ファイルサーバ]→NTLMv2認証→[Active Directory]
クライアントからどちらの形式でアクセスをしてくるかで、ファイルサーバ側からActive Directoryへの問いあわせ手法も変わる、ということになる。
このため、ファイルサーバの仕様で問題が発生することとなるため各社がお知らせを出している
・sambaでの問題 RC4/HMAC-MD5 NetLogon Secure Channel is weak and should be avoided Samba 4.15.13/4.16.8/4.17.4以降で対応 ・NetAppでの問題 SU530: [Impact Critical] NTLM authentication fails due to enforcement of Netlogon RPC sealing (Microsoft CVE-2022-38023) ONTAP 9.7以降の2023年4月中旬以降提供バージョンで対応 ・RedHat/samba CVE-2022-38023 ・DELL PowerScale/iSilon PowerScale: Isilon: Netlogon RPC Elevation of Privilege Vulnerability (CVE-2022-38023) OneFS 9.5.0以降で対応 ・DELL Unity Dell Unity: Is Unity affected by CVE-2022-38023? (User Correctable) Unity OE 5.1.0以降で対応
・Synology Synology-SA-22:24 Samba AD DC 2023/05/11時点では未提供だが対象リストを見ると通常のファイルサーバ用途では対応不要? QNAP,バッファローなども特にお知らせは無し
2023/07/24追記
・バッファロー TeraStation/LinkStation CVE-2022-38023の脆弱性対応によるTeraStation/LinkStationへの影響について WindowsOSじゃないLinuxベースのやつは影響を受けるようです
・QNAP QTSシリーズ Vulnerabilities in Samba CVE-2022-37966 | CVE-2022-37967 | CVE-2022-38023 | CVE-2022-45141 FreeBSDベースのQESシリーズは影響なし、ですが、それ以外の通常QNAPは影響あり、と
NetApp ONTAPでの対応
対応が必要であるかの調査
NetApp ONTAPでは、ファイルサーバ=>Active Directoryの通信をRC4-HMACで行ってたということで修正がONTAP OSの修正がリリースされています。
2023年4月後半以降にリリースされたONTAP 9.7以降のパッチリリースのみが今回の問題に対応しています。
詳細については富士通が見える状態でリリースを置いてくれています
「ETERNUS AX/HXシリーズ, ETERNUS NR1000シリーズにおける WindowsのNetlogon脆弱性対応(CVE-2022-38023)による影響(CIFS接続不可)について 」
いろいろ書いてありますが、とりあえず、今使ってるNetAppファイルサーバにNTLMv2を使ってアクセスしてきてるユーザがいるのかを確認しましょう
「vserver cifs session show -fields auth-mechanism,protocol-version,windows-user,address」を実行して、auth-mechanismに「NTLMv2」がいる場合は対処が必須です。
netapp9101::> vserver cifs session show -fields auth-mechanism,protocol-version,windows-user,address
node vserver session-id connection-id address auth-mechanism windows-user protocol-version
------------- ------- -------------------- ------------- ------------- -------------- ------------- ----------------
netapp9101-01 svm0 14421088956793749524 535041285 172.17.44.173 Kerberos VM2\testuser1 SMB2_1
netapp9101-01 svm0 14421088956793749539 535041298 172.17.44.174 NTLMv2 VM2\testuser1 SMB3
2 entries were displayed.
netapp9101::>
このテスト環境では、172.17.44.173はWindows 7 SP1クライアント、172.17.44.174はRHEL 7.6からCIFSマウントしている環境でした。
このRHEL7.6は「mount -t cifs //svm0.adosakana.local/testutf /mnt2 -o user=testuser1@adosakana.local,password=パスワード,vers=3.0」と実行してマウントしているもので、sec=オプションを付けていない場合はNTLMv2を使用しているようでした。
この「vserver cifs session show -fields auth-mechanism,protocol-version,windows-user,address」はCIFS接続が継続している間は表示される、というものになっているため、数分間アクセスを行わないとリストから消えます。
このため、NTLMv2でアクセスしているかどうかが分からない機械がある場合は、アクセス操作を行ってみた直後にコマンドを実行してみる必要があります。
必要な対応
ONTAP OSのバージョンアップが必要な場合はアップデートを行います。
2023/05/11時点ではCVE-2022-38023に対応するアップデートとして以下が提供されています。
ONTAP 9.7P22 (End of Limited Support 2025/07/31) ONTAP 9.8P18 (End of Limited Support 2025/12/31) ONTAP 9.9.1P15 (End of Limited Support 2026/06/30) ONTAP 9.10.1P12(End of Limited Support 2027/01/31) ONTAP 9.11.1P8 (End of Limited Support 2027/07/31) ONTAP 9.12.1P2 (End of Limited Support 2028/02/28)
FAS2520/2552/2554,FAS8020/8040/8060/8080 は ONTAP 9.9.1 までサポート FAS2620/2650 は ONTAP 9.11.1 までサポート FAS2720/2750などの現行機種は 制限なし
アップデート先は、同じONTAP OSバージョン内の最新にするか、ハードウェアがサポートされている範囲の新しいバージョンにするかはご自由に
ONTAP OS 9.6などのアップデート提供がバージョンを使用している場合は、ONTAP 9.7以降にアップデートする必要があります。
古いONTAPを新しいONTAPにアップデートする場合、状態によっては複数回のアップデートが必要となります
詳細は「どのバージョンの ONTAP にアップグレードできますか。 」を参照してください
例えばONTAP 9.11.1へアップデートする場合、下記のような手順となります。
ONTAP 9.4→(9.5+9.7)→9.9.1→9.11.1 ONTAP 9.5→(9.7+9.9.1)→9.11.1 ONTAP 9.6→9.8→9.11.1 ONTAP 9.7→(9.8+9.11.1)
(9.5+9.7)というのはONTAP 9.5とONTAP 9.7のアップデートファイルを読み込ませてONTAP 9.7のアップデートとして実行すると、内部的に自動的にONTAP 9.5の適用を行ったあとに9.7適用を行ってくれる、ということをします。
どんな感じでアップデートするか、というのは「この記事 」から持ってきた下記画面を参照してください。
1)「イメージの追加」からアップデートするファイルを2つ登録する
2) 新しいバージョンを選択して「更新」
3) まずは古いバージョンの方の適用が開始される
4) 続いて新しいバージョンの方が適用される
5) 終了
NetAppでの調査/対応に関するメモ
NetAppでサポートする認証方式の変更
Set the SMB server minimum authentication security level
「vserver cifs security show -fields lm-compatibility-level」で現在設定されている認証方式を確認
netapp9101::> vserver cifs security show -fields lm-compatibility-level
vserver lm-compatibility-level
------- ----------------------
Cluster -
Snapmirror-WAN
-
netapp9101
-
netapp9101-01
-
svm0 lm-ntlm-ntlmv2-krb
svm2 lm-ntlm-ntlmv2-krb
svm3 lm-ntlm-ntlmv2-krb
7 entries were displayed.
netapp9101::>
値の意味は下記
Value Description lm-ntlm-ntlmv2-krb
(default)The storage virtual machine (SVM) accepts LM, NTLM, NTLMv2, and Kerberos authentication security. ntlm-ntlmv2-krb
The SVM accepts NTLM, NTLMv2, and Kerberos authentication security. The SVM denies LM authentication. ntlmv2-krb
The SVM accepts NTLMv2 and Kerberos authentication security. The SVM denies LM and NTLM authentication. krb
The SVM accepts Kerberos authentication security only. The SVM denies LM, NTLM, and NTLMv2 authentication.
標準ではLM, NTLM, NTLMv2, Kerberosに対応している、ということになっている。
NetApp側で強制的にLM,NTLM,NTLMv2クライアントを排除する、という場合は「krb」に変更する
Kerberos接続時のAES暗号化を有効化
Enable or disable AES encryption for Kerberos-based communication
「vserver cifs security show -fields is-aes-encryption-enabled」を実行して確認。ONTAP 9.12.1以降は「true」が標準値となる。
netapp9101::> vserver cifs security show -fields is-aes-encryption-enabled
vserver is-aes-encryption-enabled
------- -------------------------
Cluster -
Snapmirror-WAN
-
netapp9101
-
netapp9101-01
-
svm0 false
svm2 false
svm3 false
7 entries were displayed.
netapp9101::>
なお設定を変更する場合は、ドメイン認証を求められるので注意
netapp9101::> vserver cifs security modify -vserver svm0 -is-aes-encryption-enabled true
Info: In order to enable CIFS AES encryption, the password for the CIFS server
machine account must be reset. Enter the username and password for the
CIFS domain "ADOSAKANA.LOCAL".
Enter your user ID: administrator
Enter your password:
netapp9101::> vserver cifs security show -fields is-aes-encryption-enabled
vserver is-aes-encryption-enabled
------- -------------------------
Cluster -
Snapmirror-WAN
-
netapp9101
-
netapp9101-01
-
svm0 true
svm2 false
svm3 false
7 entries were displayed.
netapp9101::>
なお、AES暗号化に関連する設定は is-aes-encryption-enabled 以外に aes-enabled-for-netlogon-channel という設定もある。こちらの詳細については「CVE-2022-38023適用後 NetAppがActive Directoryに参加できない 」参照
2023/07/24追記
sambaによるActive Direcotryサーバで NTLMv2認証を使う場合のトラブル
sambaの商業サポートを行っているOSStechに2023/07/21付けのお知らせとして「Windows Updateに伴うSambaの認証の問題を解消するアップデートです。 」が掲載されています。
曰く、セキュアチャネルが壊れ、下記3種類の問題が発生するとのこと。
・Sambaのみを使用したActive Directoryサーバ環境におけるNTLM認証が失敗 ・リモートデスクトップの認証が失敗 ・Sambaのみを使用したNTドメイン環境でNTドメインのログオンが失敗
バグとしては恐らく「BUG 15418: Secure channel faulty since Windows 10/11 update 07/2023 」となる
てっきりActive Directoryサーバを運用しているWindows Serverのみ気を使っていればいいのかと思ったら、クライアント側にも影響があったとは・・・
2023/11/14追記
ONTAP 9.10.1より前のONTAPで、CVE-2022-38023適用したActive Directoryドメイン(sambaドメイン含む)に参加できない、という事象が発生した。
詳細は「CVE-2022-38023適用後 NetAppがActive Directoryに参加できない 」に書いたが、Active DIrectoryサーバとONTAP間のkerberos通信の暗号化をRC4 MD5ではなくて、AESを使うようにしなければならないので、NetAppのcifsオプションにあるis-aes-encription-enabledとaes-enabled-for-netlogon-channelを有効にする必要がある、というものだった。
2024/05/23メモ
接続状態を確認するときに、どの共有にアクセスしてるか、と、ローカルユーザなのかADユーザなのかをわかるようにするオプション
「vserver cifs session show -fields auth-mechanism,protocol-version,windows-user,address,user-type,is-session-signed,smb-encryption-status,share-names,continuously-available,is-large-mtu-enabled」
ontap9131::> vserver cifs session show -fields auth-mechanism,protocol-version,windows-user,address,user-type,is-session-signed,smb-encryption-status,share-names,continuously-available,is-large-mtu-enabled
node vserver session-id connection-id address auth-mechanism windows-user protocol-version continuously-available is-session-signed user-type smb-encryption-status is-large-mtu-enabled share-names
--------------- ------------ ------------------- ------------- ------------- -------------- ------------- ---------------- ---------------------- ----------------- ----------- --------------------- -------------------- ---------------
ontap9131 svm01 6194701287448117256 2260371604 172.17.44.162 Kerberos ADOSAKANA\testuser1 SMB3_1 No false domain-user unencrypted true ipc$,testshare2
ontap9131::>