IT用語集

SMBとは? わかりやすく10分で解説

水色の背景に六角形が2つあるイラスト 水色の背景に六角形が2つあるイラスト
アイキャッチ
目次

SMB(Server Message Block)は、ネットワーク越しにファイル共有やプリンタ共有を行うためのプロトコルです。Windowsの共有フォルダで広く使われますが、LinuxではSamba、macOSでは標準のファイル共有機能などを通じて利用できます。現在の運用では、古いSMB1を前提にせず、SMB2/SMB3を使い、公開範囲・認証・権限・暗号化・署名を合わせて設計することが基本になります。

SMBとは

SMBは、クライアントがネットワーク上のサーバーに接続し、共有フォルダ内のファイルを読み書きしたり、プリンタなどの共有リソースを利用したりするための通信プロトコルです。利用者からは、リモートサーバー上のファイルがローカルのファイルのように見えるため、社内ファイルサーバーや部署別共有フォルダで使われてきました。

SMBでできること

SMBの主な用途は、ファイル共有、ディレクトリ操作、プリンタ共有、共有リソースへのアクセス制御です。クライアントはサーバーに要求を送り、サーバーは認証と権限を確認したうえで、読み取り、書き込み、作成、削除などの操作結果を返します。

企業ネットワークでは、部門別フォルダ、プロジェクト共有、ファイルサーバー、バックアップ先、業務端末からの印刷などで利用されます。ただし、共有範囲や権限設定を誤ると、情報漏えいやランサムウェア感染時の被害拡大につながるため、利便性だけで設計しないことが欠かせません。

SMBとCIFSの関係

CIFS(Common Internet File System)は、SMBの文脈で使われる名称で、主にSMB1系の実装や仕様を指して語られることがあります。現在の実務では、CIFSという名称よりもSMB1、SMB2、SMB3のようにバージョンで分けて理解するほうが判断しやすくなります。

SMB1は設計が古く、現代のセキュリティ要件には合いにくい世代です。近年のWindowsやWindows Serverでは、SMBv1が非推奨となり、既定でインストールされない構成も増えています。古いNAS、複合機、業務機器との互換性でSMB1が必要になる場合でも、対象機器と通信範囲を限定し、恒久運用にしない方針で扱います。

SMBの仕組み

SMBは、アプリケーション層で動作するネットワークファイル共有プロトコルとして理解できます。多くの環境ではTCP 445番ポートを使って通信します。古い構成ではNetBIOS over TCP/IPを経由し、名前サービスにUDP 137番、データグラムにUDP 138番、セッションにTCP 139番が関係する場合があります。

通信の流れ

SMBの通信では、クライアントがサーバーへ接続し、SMBのバージョン交渉、認証、セッション確立、共有への接続、ファイル操作の順に処理が進みます。ユーザーや端末の認証結果、共有フォルダの権限、ファイルシステム側の権限が組み合わさって、実際に読み書きできる範囲が決まります。

共有設定だけで許可していても、ファイルシステム側の権限で拒否される場合があります。反対に、権限を広く設定しすぎると、本来閲覧できないファイルにアクセスできる状態になります。SMBでは、共有権限とファイル権限の両方を確認します。

SMBで使う主なポート

TCP 445現在のSMBで中心になるポートです。NetBIOSを経由しないSMB通信で使われます。
TCP 139古いNetBIOS over TCP/IP構成で、セッションサービスとして使われる場合があります。
UDP 137NetBIOS名前サービスで使われます。古い名前解決の構成で関係します。
UDP 138NetBIOSデータグラムサービスで使われます。

SMBをインターネットへ直接公開する構成は避けます。特にTCP 445番ポートを外部へ開けると、認証攻撃や脆弱性悪用の対象になりやすくなります。拠点間やリモートアクセスで利用する場合は、閉域網、VPN、SMB over QUICなど、用途に合った保護手段を検討します。

SMB1、SMB2、SMB3の違い

SMBは、バージョンによって性能とセキュリティ機能が大きく変わります。同じSMBでも、SMB1を前提にした理解とSMB3を前提にした理解では、運用判断が異なります。

SMB1古い世代のSMBです。互換性のために使われてきましたが、現在は原則として無効化し、利用を避けます。古い機器との接続で必要な場合も、範囲を限定して扱います。
SMB2SMB1に比べて通信効率が改善された世代です。要求数の削減や性能面の改善により、現代的なファイル共有に適した構成になっています。
SMB3暗号化、可用性、性能面の機能が強化された世代です。企業ネットワークや仮想化基盤、ファイルサーバー運用で使われます。

SMB3で強化された機能

SMB3では、SMB暗号化、SMB署名、SMB Multichannel、SMB Directなど、性能と安全性に関係する機能が強化されています。SMB暗号化は通信内容の保護に使われ、SMB署名は改ざんや中間者攻撃への耐性を高めるために使われます。

SMB Directは、RDMA対応ネットワークアダプターを使い、低遅延・高スループットの通信を行う機能です。SMB over QUICは、SMB 3.1.1をQUIC上で利用し、インターネット経由の接続でもTLS 1.3を使って安全な通信を行いやすくする仕組みです。両者は目的と利用条件が異なるため、同じ機能として扱わず、環境に合わせて選びます。

SMBの主な利用シーン

SMBは、社内ファイル共有を中心に、プリンタ共有、業務システムとのファイル連携、バックアップ、管理作業などで利用されます。用途ごとに必要な権限と公開範囲を分けることが、安全な運用につながります。

ファイル共有

代表的な用途は、共有フォルダによるファイル共有です。部署、プロジェクト、役職、業務単位でアクセス権を分けることで、必要なメンバーだけが閲覧・編集できます。

読み取りだけでよい利用者に書き込み権限を付与すると、誤削除や改ざんのリスクが高まります。共有フォルダでは、閲覧、編集、削除、管理者権限を分け、定期的に不要な権限を削除します。

プリンタ共有

SMBは、プリンタ共有にも利用されます。複数端末から同じプリンタへ印刷ジョブを送る構成では、利用者ごとの権限やドライバー管理、印刷キューの管理が必要になります。

古い複合機やプリンタではSMB1しか対応していない場合があります。そのような機器を継続利用する場合は、ネットワーク分離、利用者制限、代替機器への更新計画を含めて検討します。

業務システムとのファイル連携

業務システムがファイルを出力し、別システムが共有フォルダから取り込む構成でもSMBが使われます。この場合、サービスアカウントの権限、ファイル命名規則、処理失敗時の扱い、監査ログを確認します。

システム連携用の共有フォルダに一般利用者の書き込み権限を与えると、誤投入や不正ファイル混入のリスクが生じます。人が使う共有と、システムが使う共有は分けて管理します。

SMBを安全に使うための設定

SMBの安全性は、バージョン選択だけで決まりません。公開範囲、認証、権限、ログ、暗号化、バックアップを組み合わせて管理します。

SMB1を無効化する

SMB1は原則として無効化します。古い機器との互換性で必要な場合は、対象機器、対象セグメント、利用者、利用期間を限定します。恒久的にSMB1を使い続ける構成は、機器更新や代替手段を検討します。

公開範囲を限定する

SMB共有は、必要なネットワーク内だけで利用できるようにします。インターネットから直接接続できる状態にしないことが前提です。拠点間接続やリモートワークで利用する場合は、接続元、利用者、端末、認証条件を限定します。

認証と権限を整理する

共有フォルダでは、利用者やグループ単位で最小権限を設定します。退職者、異動者、外部委託先、期限付き利用者の権限が残らないように、棚卸しの頻度を決めます。共有アカウントや誰でも書き込めるフォルダは、事故時の追跡が難しくなるため避けます。

SMB署名と暗号化を検討する

SMB署名は通信の改ざん検知に使われます。SMB暗号化は通信内容の保護に使われます。どちらも安全性を高める一方で、環境によって性能への影響があります。重要データを扱う共有、信頼境界をまたぐ通信、管理用途の共有では、署名と暗号化の要否を確認します。

ログとバックアップを整える

共有フォルダでは、アクセスログ、変更履歴、削除履歴、権限変更履歴を確認できる状態にします。ランサムウェアや誤削除に備え、バックアップは共有フォルダから直接変更できない場所にも保持します。バックアップの復元手順も定期的に確認します。

Windows、Linux、macOSでのSMB利用

SMBはWindowsだけで使うプロトコルではありません。異なるOS間でファイル共有を行う場合は、バージョン、認証方式、文字コード、権限の扱い、ファイル名の制約を確認します。

Windowsでの利用

Windowsでは、ファイル共有機能を通じてSMBを利用します。共有フォルダを作成し、共有権限とNTFS権限を設定します。Active Directory環境では、ユーザーやグループの管理と連動させることで、権限管理を統制しやすくなります。

Windowsの機能に「SMB 1.0/CIFS ファイル共有のサポート」が表示される場合がありますが、互換性のための設定として扱います。通常はSMB2/SMB3を前提に設計し、SMB1を有効にする前に対象機器の更新や代替手段を検討します。

Linuxでの利用

LinuxではSambaを使ってSMB共有を提供する構成が一般的です。Debian系の環境では、Sambaをインストールし、設定ファイルで共有ディレクトリ、認証、権限、プロトコルバージョンなどを指定します。

sudo apt-get install samba

Sambaを運用する場合も、SMB1を許可しない設定、不要な共有の削除、利用者ごとの権限管理、ログ確認を行います。Windows側の権限設計とLinux側のファイル権限がずれると、意図しないアクセス許可や拒否が発生するため、両方を確認します。

macOSでの利用

macOSでもSMBを使ったファイル共有が可能です。WindowsやNASと接続する場合は、SMBのバージョン、認証、共有名、ファイル名の扱い、権限の反映を確認します。

異なるOS間では、同じ共有フォルダでも権限やファイル名の扱いが想定と異なる場合があります。利用前に、読み取り、書き込み、削除、ロック、同時編集の挙動を確認します。

SMBの性能を改善する考え方

SMBが遅く感じる場合、プロトコルだけを原因と決めつけないことが重要です。ネットワーク帯域、遅延、パケットロス、無線品質、サーバー負荷、ストレージ性能、ウイルス対策ソフト、権限確認、ファイル数、ファイルサイズが影響します。

ボトルネックを分けて確認する

まず、同じ共有で小さいファイルと大きいファイルの転送差、同一LAN内と拠点間の差、有線と無線の差、時間帯による差を確認します。多数の小さいファイルは、1つの大きなファイルよりも遅く感じることがあります。

設定変更だけで一律に改善するとは限りません。SMB Multichannel、SMB Direct、ネットワーク機器の更新、ストレージ改善、ウイルス対策ソフトの除外設定、バックアップ時間の調整など、原因に合わせた対策を選びます。

重い処理を分散する

バックアップ、大容量コピー、ウイルススキャン、同期処理が業務時間に集中すると、共有フォルダ全体が遅くなる場合があります。処理時間の分散、帯域制御、専用ネットワークの利用、キャッシュの活用を検討します。

まとめ

SMBは、ネットワーク越しにファイルやプリンタを共有するための代表的なプロトコルです。Windowsで広く使われますが、LinuxやmacOSでも利用でき、社内ファイル共有や業務システム連携で使われ続けています。

安全に使うには、SMB1を避け、SMB2/SMB3を前提に設計します。TCP 445番ポートの公開範囲を限定し、認証、権限、署名、暗号化、ログ、バックアップを合わせて確認します。性能面では、SMBそのものだけでなく、ネットワーク、サーバー、ストレージ、ファイル数、運用時間帯を分けて原因を確認することが有効です。

FAQ

Q.SMBとは何ですか?

A.ネットワーク越しにファイル共有やプリンタ共有などを行うためのプロトコルです。

Q.SMBはWindows専用ですか?

A.Windowsで広く使われますが、LinuxではSamba、macOSでは標準機能などを通じて利用できます。

Q.SMBとCIFSは同じですか?

A.CIFSはSMBの文脈で使われる名称で、主にSMB1系の実装や仕様を指して語られることがあります。現在はSMBのバージョンで分けて理解します。

Q.SMB1を避けるべき理由は何ですか?

A.設計が古く、現代のセキュリティ要件に合いにくいためです。互換性が必要な場合も、対象範囲を限定します。

Q.SMBはどのポートを使いますか?

A.現在のSMBでは主にTCP 445番ポートを使います。古いNetBIOS構成ではTCP 139番、UDP 137番、UDP 138番も関係します。

Q.SMBをインターネットへ公開してもよいですか?

A.直接公開は避けます。拠点間やリモートアクセスでは、接続元や認証条件を限定し、VPNやSMB over QUICなどの保護手段を検討します。

Q.SMB署名とSMB暗号化は何が違いますか?

A.SMB署名は通信の改ざん検知に使い、SMB暗号化は通信内容の保護に使います。扱うデータや通信経路に応じて設定を検討します。

Q.SMBが遅い場合は何を確認しますか?

A.ネットワーク帯域、遅延、サーバー負荷、ストレージ性能、ファイル数、無線品質、ウイルス対策ソフトの影響を分けて確認します。

Q.LinuxでSMBを使うには何を使いますか?

A.一般的にはSambaを使います。共有ディレクトリ、認証、権限、プロトコルバージョンを設定して利用します。

Q.SMBを安全に運用する基本は何ですか?

A.SMB1を避け、公開範囲を限定し、認証と権限を整理し、署名・暗号化・ログ・バックアップを合わせて確認することです。

記事を書いた人

ソリトンシステムズ・マーケティングチーム