Windows Updateしたらsamba ADへの接続がおかしくなった


sambaで作ったsamba AD環境がある。

最近、新しい仮想マシン作ってドメイン参加したあと、PowerShellで「Test-ComputerSecureChannel」を実行したら「False」と出た。

repairしても状況が変わらない

(ADサーバと該当マシン間の通信がセキュアチャネルを使って行われていないという状態)

いまつかっているsambaバージョンを確認すると4.18.2

# /usr/local/samba/sbin/smbd --version
Version 4.18.2
#

sambaのリリース履歴を見るとNetAppでも問題になったセキュリティ修正関連での修正が出ている。

CVE-2023-34967CVE-2022-2127CVE-2023-34968CVE-2023-34966 and CVE-2023-3347.

直接のバグとしては「Bug 15418 – secure channel faulty since Windows 10/11 update 07/2023」が該当している模様

バグであるならアップデートするしかないな、というわけで、samba 4.18.5へアップデート

展開して、make;make install; systemctl restart samba-ad-dc っと

# /usr/local/samba/sbin/smbd --version
Version 4.18.5
#

で、repairすると、今度は成功しました

NetApp ONTAPから他サーバに気軽にsshできる穴がふさがれてしまった


NetApp ONTAP 9.xに長らく存在していた diagアカウントをロックしていても、lsなどのコマンドを実行できる、という技があった。

ontap98::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

ontap98::*> systemshell -node localhost -command ls /
  (system node systemshell)
BUILD                           mroot_late
COMPAT.TXT                      mroot_late.tgz
COPYRIGHT                       netapp_nodar_build_check
INSTALL                         nfsroot
README.TXT                      ontap
VERSION                         ovl
bin                             partner
boot                            platform
cap.xml                         proc
cfcard                          root
clus                            sbin
dev                             sim
etc                             sldiag
fw                              tmp
kmip                            usr
lib                             var
libexec                         varfs.tgz
mnt                             vs_conf_files.tgz
mroot                           webjail
mroot.tgz

ontap98::*>

ONTAP 9.10.1でも使えていたのだが、Active Directory暗号化問題パッチを適用したONTAP 9.10.1P12で試したところ、実行できなくなっていた。

netapp9101::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

netapp9101::*> systemshell -node localhost -command ls /
  (system node systemshell)

Error: command failed: Error: Account currently locked. Contact the storage
       administrator to unlock it.

netapp9101::*>

え!?と調べたら ONTAP 9.12.1リリースのころからのパッチバージョンから使えなくなっていた模様。

diagアカウントがロックされている場合は、systemshellを禁止します

以降のバージョンが対象
9.7P22
9.8P15
9.9.1P13
9.10.1P9
9.11.1P5.
9.12.1.
9.13.0
9.13.1.

ということで、いまのONTAPだとdiag モードのロックを解除しないと実行できなくなっていました。

公式の解除手順 SystemShell diagユーザアカウントのロックを解除する方法

上記手順だと、diagユーザアカウントにパスワードを設定していますが、「systemshell -node localhost -command コマンド」で実行する場合はパスワード設定は必須ではありません。

現在のdiagユーザのロック状況を確認「security login show -username diag」(バージョンによっては security login show -user-or-group-name diag)

netapp9101::> security login show -username diag

Vserver: netapp9101
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
diag           console     password      admin            yes    none

netapp9101::>

「Acct Locked: yes」だとロックされている

「security login unlock -username diag」を実行して、ロック解除する

netapp9101::> security login unlock -username diag

netapp9101::> security login show -username diag

Vserver: netapp9101
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
diag           console     password      admin            no     none

netapp9101::>

ロック解除したあとであれば従来通り実行できた

netapp9101::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

netapp9101::*> systemshell -node localhost -command ls /
  (system node systemshell)
BUILD                           mroot_late
COMPAT.TXT                      mroot_late.tgz
COPYRIGHT                       netapp_nodar_build_check
INSTALL                         nfsroot
README.TXT                      ontap
VERSION                         ovl
bin                             partner
boot                            platform
cap.xml                         proc
cfcard                          root
clus                            sbin
dev                             sim
etc                             sldiag
fw                              tmp
kmip                            usr
lib                             var
libexec                         varfs.tgz
mnt                             vs_conf_files.tgz
mroot                           webjail
mroot.tgz

netapp9101::*>

なお、ONTAP OSの標準値が変わっていますので、利用が終わったら「security login lock -username diag」を実行してロック状態を戻しておきましょう

netapp9101::*> set admin

netapp9101::> security login lock -username diag

netapp9101::> security login show -username diag

Vserver: netapp9101
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
diag           console     password      admin            yes    none

netapp9101::>

NetAppのボリュームの言語設定についてのメモ


NetAppのボリュームには言語設定があり、設定内容に応じて使える日本語文字列が異なる。

2023年8月時点での最も対応できる範囲が広い設定は4バイトのUTF-8エンコード形式をサポートしている「utf8mb4」となる。

ドキュメント: マルチバイトを含むファイル名、ディレクトリ名、 qtree 名の ONTAP での処理

utf8mb4はONTAP 9.5以降で使える設定で、Windows側でファイル名に「サロゲート文字と補助文字」を含む文字をNetApp内に保存しようとする場合は、ボリュームがutf8mb4でなければ保存できない

なお、ONTP9.7P1以降では、UTF-8系言語をutf8mb4に変更できるようになっているとのこと(Can the volume language be changed after creation in ONTAP?)

問題は旧来から存在している言語設定である。

ONTAP 8.3.2(7-mode)にある日本語系設定
 ja (Japanese euc-j+)
 ja_v1 (Japanese euc-j)
 ja_JP.PCK (Japanese PCK(sjis)*)
 ja_JP.932 (Japanese cp932*)
 ja_JP.PCK_v2 (Japanese PCK(sjis))

ONTAP 9.10.1にある日本語系設定
 ja
 ja_JP.PCK
 ja.UTF-8
 ja_v1
 ja_v1.UTF-8
 ja_JP.PCK.UTF-8
 ja_JP.932
 ja_JP.932.UTF-8
 ja_JP.PCK_v2
 ja_JP.PCK_v2.UTF-8

問題はドキュメントにここらへんの説明が見当たらないこと

volume create」にある-languageオプションの解説は「Language code」としかなく、標準ではvserverのlanguageと同じとあるので「vserver create」を参照してもたいしたことは書いていない

[-language <Language code>] – Default Volume Language Code
This optionally specifies the default language encoding setting for the Vserver and its volumes. The recommended format is to append .UTF-8 for the language encoding values. For example, for the en_US language, the recommended format is en_US.UTF-8 . The default setting is C.UTF-8 .

NetApp KBに What is the difference between ja_JP.PCK.UTF-8 and ja_JP.PCK_v2.UTF-8? があるのだが

ja_JP.PCK uses cp932_v1.ntt and eucj_v1.ntt.
ja_JP.PCK_v2 uses cp932_v1.ntt and sjis_v2.ntt.

・・・いや説明になってないのでは?という記述のみ

ONTAP 8.3時代のドキュメントの「言語オプション一覧」もたいした記述は無い

ja_v1日本語(euc-j)
ja_v1.UTF-8日本語(euc-j)(UTF-8)
ja_jp.pck_v2日本語PCK(sjis)
ja_JP.PCK_v2.UTF-8日本語PCK(sjis)(UTF-8)

おそらくPCKはSolarisにおける「PC漢字コード」が由来と想定される。

Solaris 2.6 では、従来の日本語 EUC に加えて PCK (シフト JIS あるいは MS 漢字コード) で日本語を扱う環境を新たに提供します。PCK は、Microsoft が Windows3.1 で規定したマイクロソフト標準キャラクタセットと同等の文字集合およびエンコーディングを提供するものです。また、PCK は、従来の Solaris リリースで MS 漢字コード (または シフト JIS) と呼ばれていたものに、ユーザー定義文字やベンダー定義文字を加えたもので、JIS X 0201、JIS X 0208 の 1-84 区 (13 区除く) までに関しては従来のものと互換性があります。

これがベースであるとすれば、PCKはWindows 3.1ベースのもので、PCK_v2はWindows それ以降対応。ONTAP 7.2などで既にPCK_v2は存在していたので、Windows2000ぐらいをベースにしていると想定される。

詳細を探すとSolaris 8のマニュアル PCK(5) に記載があった。

(内容については省略)

同じくONTAP 7.2ぐらいでja_v1, ja_JP.UTF-8 が登場していた。

cp932/932はMicrosoftコードページ932 と呼ばれるWindows 3.1J用にマイクロソフトとNECが定義したShift JISの独自拡張となる。

定義的に考えると、cp932とpckは同一ということになるのだが、先に出てきたWhat is the difference between ja_JP.PCK.UTF-8 and ja_JP.PCK_v2.UTF-8? によると、NetAppのPCKには、cp932範囲の他にも含まれているものがある、ということになる。

で・・・

これ以上の情報が見つからないのである

困ったもんだ

メモ veeamバックアップの資料 2023/07/06版


Veeamバックアップの資料を調べたのでメモ

とりあえずの基本: Veeam Help Center Technincal DocumentのVeeam Backup&Replication

物理サーバを取る場合につかうVeeam Agentの資料:for Windowsfor Linux

Veeamのソフトウェアバージョン確認

Build Numbers and Versions of Veeam Backup & Replication

Build Numbers and Versions of Veeam Agent for Microsoft Windows

Build Numbers and Versions of Veeam Agent for Linux