SMBプロトコルのバージョンを調べる
セキュリティ的に「sambaがどのバージョンのプロトコルで接続されているか?」が気になることがあるかと思います。
調べまくってたけど、思い通りの答えにたどり着けなくて、結局はドキュメントを見ることになりました。
なので、ここに上げておきます。
調べる方法
下記コマンドをサーバー側で実行します
sudo smbstatus -b
すると、以下の結果が得られます。
Samba version 4.5.16-Debian
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
12171 username username xx.xx.xx.xx (ipv4:xx.xx.xx.xx:ppp) SMB3_00 - partial(HMAC-SHA256)
今回だと「SMB3.0」で接続されているようです。
(一安心www)
各バージョンについて
ドキュメントによると、各バージョンは以下の様になっているようです。
- CORE:最古のバージョン。ユーザー名の概念はありません。
- COREPLUS:効率のためにCOREを少し改良しました。
- LANMAN1: プロトコルの最初の最新版。長いファイル名のサポート
- LANMAN2:Lanman1プロトコルを更新しました。
- NT1:現在のプロトコルの最新バージョン。Windows NTによって使用されます。CIFSとして知られています。
- SMB2:SMBプロトコルの再実装 Windows Vistaおよびそれ以降のバージョンのWindowsで使用されます。SMB2にはサブプロトコルがあります。
- SMB2_02:最も初期のSMB2バージョン。
- SMB2_10:Windows 7 SMB2バージョン。
- SMB2_22:初期のWindows 8 SMB2バージョン。
- SMB2_24:Windows 8ベータ版SMB2バージョン。
デフォルトでは、SMB2はSMB2_10を選択します。
- SMB3:SMB2と同じです。Windows 8で使用されます。SMB3にはサブプロトコルがあります。
- SMB3_00:Windows 8 SMB3バージョン。(ほとんどがSMB2_24と同じ)
- SMB3_02:Windows 8.1 SMB3バージョン。
- SMB3_10:初期のWindows 10テクニカルプレビューSMB3バージョン。
- SMB3_11:Windows 10テクニカルプレビューSMB3版(たぶん最終版)。
デフォルトでは、SMB3はSMB3_11を選択します。