「SMBにバージョンが色々あるけど何が違うの?結局どれを使えばいいの?」
「CIFSって何?」
社内のファイルサーバーやNASを設定するとき、SMBやCIFSという言葉を目にして戸惑う方は多いのではないでしょうか。
どちらも「ファイル共有に関係するもの」とは分かっていても、具体的な違いが分からないままになっているケースは少なくありません。
この記事では、SMBとCIFSの違いを基礎から分かりやすく解説します。
さらに、SMBのバージョン(SMB1/SMB2/SMB3)ごとの違いと、それぞれのセキュリティ上の問題点も整理します。
最後まで読むことで、なぜ古いバージョンを使い続けることが危険なのかが理解でき、安全なファイル共有環境を構築するための判断ができるようになります。
まずは結論から
- SMBとは、ネットワーク上でファイルやプリンタを共有するための通信プロトコルです。
- CIFSとは、SMBの古いバージョン(SMB 1.0)の別名です。
- SMBはバージョンアップを重ねており、現在の推奨バージョンはSMB 3.0以降です。
- SMB 1.0(CIFS)には深刻なセキュリティ脆弱性があり、使用は強く非推奨とされています。
それでは、詳しく見ていきましょう。
SMBとは何か
SMB(Server Message Block)は、ネットワーク上のコンピューター同士がファイルやフォルダ、プリンタなどを共有するための通信プロトコルです。
プロトコルとは「通信のルール」のことで、SMBはWindowsのファイル共有機能の中核を担っています。
身近な例えで言うと、SMBは「荷物を届けるための配送ルール」のようなものです。
送り主(クライアント)と受け取り先(サーバー)が同じルールに従って通信することで、ネットワーク越しにファイルのやり取りができます。
SMBはもともと1980年代にIBMが開発し、その後Microsoftが改良・発展させてきました。
現在はWindowsだけでなく、LinuxやmacOSでも利用されており、企業の社内ネットワークには欠かせないプロトコルとなっています。
SMBが使われる主な場面
SMBは以下のような場面で日常的に活用されています。
| 用途 | 具体例 |
|---|---|
| ファイル共有 | 社内の共有フォルダへのアクセス、NASへのファイル保存 |
| プリンタ共有 | ネットワーク上のプリンタへの印刷 |
| 業務システム連携 | 業務アプリケーションが共有フォルダにファイルを出力・取得 |
| バックアップ | ファイルサーバーへのデータバックアップ |
CIFSとは何か
CIFS(Common Internet File System)は、1990年代にMicrosoftがWindows NT 4.0とともに導入した、SMBの特定のバージョン(方言)です。
要するに「SMBの古いバージョンに付けられた別名」と理解しておけば問題ありません。
CIFSは当時、インターネットを通じたファイル共有を想定して設計されました。
NetBIOSへの依存をなくし、TCP/IPで直接通信できるようにした点が特徴でした。
しかし、その後MicrosoftがSMBを継続的に進化させたことで、CIFSは古い仕様として取り残される形となりました。
現在では「CIFS」という言葉は「SMB 1.0」とほぼ同義で使われており、Microsoftの公式ドキュメントでも「SMB 1.0/CIFS」と表記されています。
SMBとCIFSの関係を整理する
| 項目 | 内容 |
|---|---|
| SMB | ファイル共有プロトコルの総称。SMB 1.0からSMB 3.1.1まで複数のバージョンが存在する |
| CIFS | SMBの特定の方言(ダイアレクト)。実質的にはSMB 1.0と同義 |
| 関係性 | CIFSはSMBという大きな枠組みの中の一つのバージョン |
つまり、「SMBとCIFSは別物か?」という問いに対する答えは「CIFSはSMBの一部(古いバージョン)」です。
SMBはバージョンアップを経て現在も進化し続けていますが、CIFSはその古い姿のまま止まっています。
SMBのバージョン比較
SMBはWindowsのバージョンアップとともに進化してきました。
各バージョンの特徴と、対応するWindowsのバージョンを以下の表にまとめます。
| SMBバージョン | 対応Windows | 主な特徴 |
|---|---|---|
| SMB 1.0(CIFS) | Windows XP以前、Windows Server 2003 R2以前 | 初期バージョン。暗号化なし。現在は非推奨 |
| SMB 2.0 | Windows Vista、Windows Server 2008 | 通信効率の大幅改善。コマンド数の削減 |
| SMB 2.1 | Windows 7、Windows Server 2008 R2 | さらなるパフォーマンス向上 |
| SMB 3.0 | Windows 8、Windows Server 2012 | エンドツーエンド暗号化の導入 |
| SMB 3.0.2 | Windows 8.1、Windows Server 2012 R2 | セキュリティ・安定性の改善 |
| SMB 3.1.1 | Windows 10、Windows Server 2016以降 | 事前認証の整合性チェック追加。最新バージョン |

SMB 1.0(CIFS)のセキュリティ問題
SMB 1.0(CIFS)には、現代のセキュリティ基準から見て非常に深刻な問題があります。
Microsoftも「SMB 1.0には重大なセキュリティ脆弱性があり、使用しないことを強くお勧めします」と公式に警告しています。
問題1:通信が暗号化されていない
SMB 1.0は通信内容を暗号化する機能を持っていません。
これは、パスワードや機密ファイルのデータが「平文(暗号化されていない状態)」でネットワーク上を流れることを意味します。
同じネットワーク上にいる悪意のある第三者が通信を傍受すると、ファイルの内容やログイン情報が丸見えになってしまいます。
これは「中間者攻撃」と呼ばれる手口で、特に公共のWi-Fiや管理が不十分な社内ネットワークでは深刻なリスクとなります。
問題2:EternalBlueとWannaCryの脅威
2017年に世界中で猛威を振るったランサムウェア「WannaCry」は、SMB 1.0の脆弱性「EternalBlue(CVE-2017-0144)」を悪用して感染を広げました。
EternalBlueはもともとNSA(米国家安全保障局)が開発したサイバー兵器とされており、それが流出してサイバー犯罪に利用されたものです。
WannaCryはSMB 1.0が有効なWindowsパソコンに対して、ユーザーが何もしなくても自動的に感染を広げる「ワーム型」の動作をしました。
感染すると、パソコン内のファイルが暗号化されて使えなくなり、復号のために身代金(ランサム)を要求されます。
この攻撃により、世界150カ国以上で数十万台のコンピューターが被害を受けたとされています。
問題3:ダウングレード攻撃のリスク
SMB 1.0が有効になっている環境では、「ダウングレード攻撃」のリスクもあります。
これは、攻撃者がクライアントとサーバーの通信を操作して、意図的に古いバージョン(SMB 1.0)での接続を強制する攻撃です。
SMB 1.0に接続させることで、暗号化のない状態での通信を盗み見ることができます。
SMB 2.0 / 2.1のセキュリティと改善点
SMB 2.0は2006年のWindows Vistaで登場し、SMB 1.0の多くの問題を解消しました。
ただし、SMB 2.0自体にも注意すべき点があります。
SMB 2.0 / 2.1で改善されたこと
SMB 1.0では一つの操作ごとに多くのコマンドをやり取りする「おしゃべりな」設計でしたが、SMB 2.0ではコマンド数が大幅に削減され、通信効率が向上しました。
また、メッセージ署名のアルゴリズムが強化され(MD5からHMAC-SHA256へ)、改ざん検知の精度が上がりました。
SMB 2.0 / 2.1の注意点
SMB 2.0では通信の暗号化機能がまだ搭載されていません。
そのため、通信内容の盗聴リスクはSMB 1.0ほど深刻ではないものの、完全に安全とは言えない状態です。
また、SMB 2.0ではゲストログイン(認証なしのアクセス)が可能な設定があり、これが悪用されるリスクもあります。
Windows 10 バージョン1709以降では、SMB 2.0/3.0でのゲストログインが既定で無効化されています。
SMB 3.0 / 3.1.1のセキュリティ機能
SMB 3.0は2012年のWindows 8で登場し、セキュリティ面で大きな進化を遂げました。
現在のファイル共有環境では、SMB 3.0以降を使用することが強く推奨されています。
エンドツーエンド暗号化
SMB 3.0の最大の特徴は「エンドツーエンド暗号化」の導入です。
通信データをAES(Advanced Encryption Standard)という強力な暗号化方式で保護するため、通信を傍受されてもデータの内容を読み取られる心配がありません。
SMB 3.1.1(Windows 10以降)では、さらに強力なAES-256-GCMやAES-256-CCMにも対応しています。
事前認証の整合性チェック(SMB 3.1.1)
SMB 3.1.1では「事前認証の整合性(Pre-authentication Integrity)」という機能が追加されました。
これは、接続の最初の段階から通信が改ざんされていないかをチェックする仕組みです。
ダウングレード攻撃や中間者攻撃を検出して、接続を自動的に切断することができます。
SMBマルチチャネル
SMB 3.0では「SMBマルチチャネル」という機能も導入されました。
複数のネットワーク経路を同時に使用することで、通信速度の向上と、一つの経路が切断されても通信を継続できる耐障害性を実現しています。
SMB 1.0を無効化する方法
SMB 1.0が有効になっているか確認し、必要に応じて無効化することが重要です。
Windows 10 バージョン1709以降やWindows 11では、SMB 1.0は初期設定で無効化されています。
ただし、古いWindowsからアップグレードした環境では有効になっている場合があるため、確認が必要です。
Windowsの機能から確認・無効化する手順
- スタートメニューで「Windowsの機能の有効化または無効化」を検索して開く
- 一覧から「SMB 1.0/CIFS ファイル共有のサポート」を探す
- チェックが入っている場合はチェックを外し、OKをクリックする
- 再起動を求められたら再起動する
PowerShellで確認・無効化する方法
管理者権限のPowerShellで以下のコマンドを実行することでも確認・無効化ができます。
SMB 1.0の有効状態を確認する
Get-SmbServerConfiguration | Select EnableSMB1Protocol
SMB 1.0を無効化する
Set-SmbServerConfiguration -EnableSMB1Protocol $false
まとめ
この記事では、SMBとCIFSの違いと、SMBバージョンごとのセキュリティ問題について解説しました。
- CIFSはSMBの古いバージョン(SMB 1.0)の別名であり、現在は使用が強く非推奨です。
- SMB 1.0(CIFS)には暗号化機能がなく、WannaCryなどのランサムウェアの標的になります。
- SMB 2.0では通信効率が改善されましたが、暗号化はまだ搭載されていません。
- SMB 3.0以降ではエンドツーエンド暗号化が導入され、安全なファイル共有が可能になりました。
まずは自分のパソコンやサーバーでSMB 1.0が有効になっていないか確認してみましょう。
古いNASや複合機でSMB 1.0が必要な場合は、機器のファームウェア更新や新しい機器への買い替えを検討することをお勧めします。

