本記事では、SMBの概要や仕組み、活用事例について解説します。
現代のビジネスシーンでは、どんな業務であれ効率的な情報共有とデータ共有が欠かせません。
特に、複数人が関わるプロジェクトやチーム作業では、ファイルやデータのアクセス性が業務のスムーズさを左右します。
企業や組織内でのファイル共有手段として、SMB(Server Message Block)プロトコルの活用が注目されています。ぜひ参考にしてください。
![Nao Yanagisawa](https://xs691486.xsrv.jp/wp-content/themes/JITERA/images/director-nao-1.png)
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
SMBとは
SMBとはServer Message Blockの略称で、主にWindowsを中心としたネットワーク上でファイルやプリンターなどのリソースを共有するためのプロトコルです。
簡単に言うと、ネットワーク上でデバイス間のファイル共有を実現するためのWindows用の標準規格がSMBです。
SMBを使うことで、ネットワーク上のパソコンやサーバに保存されているファイルやフォルダを、ネットワーク上の別のコンピュータから利用できます。
例えば、会社のオフィスにあるサーバ機に大量のデータを保存しておき、そこに保存されているデータを自分のパソコンから見たり、変更したり、コピーしたりできるようになります。
家庭内でも、自分のパソコンに保存した写真データをスマートフォンやタブレットから参照したり、プリンターをネットワーク経由で共有するのにSMBが使われています。
SMBの仕組み
SMBが実現するファイル共有の仕組みについて具体的に見ていきましょう。
動作の流れ
SMB(Server Message Block)は、TCP/IPプロトコル上で動作するファイル共有プロトコルです。
接続の確立
- クライアントからのリクエスト
- セッションの確立
ユーザーの認証
- ユーザー認証
クライアントはサーバに対して認証情報(ユーザー名とパスワードなど)を送信し、サーバが検証します。 - アクセス権の確認
リクエストと応答
- リソースのリクエスト
利用者がサーバに対して、特定のファイルやフォルダに対する操作を要求します。 - サーバの応答
サーバはリクエストを処理し、その結果をクライアントに返します。
ファイル操作
- ファイルの読み書き
SMBプロトコルを通じて利用者はクライアントはファイルの読み書きを行います。 - ファイルのロックとアンロック
複数の利用者が同時に同じファイルにアクセスしても問題ないように、SMBは適切にファイル利用をロックしデータの一貫性を保ちます。
接続の終了
- セッションの終了
- 接続の切断
一連の流れをSMBプロトコルが行い、安全にネットワーク上のファイルをリアルタイムで共有・操作します。SMBは信頼性の高いTCP/IPプロトコルの上に構築されているため、安定したセキュアな通信が可能です。また、一連の流れに認証とアクセス制御が入っておりデータの安全性も確保されています。
主な機能
SMBを使用することで、ネットワーク上の共有フォルダをクライアントが通常のフォルダのように扱うことができます。
例えば具体的な操作としては、
- ダブルクリックによるファイルの参照
- ドラッグ&ドロップによるコピーや上書き
- ファイルやフォルダの新規作成や名前変更や削除
などが可能です。
ただし、これらの操作はフォルダのアクセス権限に依存していることには注意しましょう。
例えば読み取り専用の設定であれば、ファイルの変更はできません。
ユーザーやユーザーグループごとに細かくアクセス許可を設定することが可能なので、複数グループによる共同プロジェクトでも細かな設定によって必要な範囲でのみファイルにアクセスできるように制御できます。
SMBプロトコルは
- クライアント認証
- ファイルのオープン、クローズ、ロック制御
- Read/Write制御
- ディレクトリ変更
などの操作をサポートするAPIを提供し、複数のユーザーが同時に利用するような場合でも、利用者に負担をかけることなく安全にサーバ上のファイルシステムへアクセスできます。
お気軽にご相談ください!
SMBのメリット
SMBプロトコルの大きなメリットは、物理的に離れたサーバやOS間でのファイル共有を容易に扱えるようになることです。それでは、詳しく解説します。
クロスプラットフォーム互換性がある
SMBはWindowsをはじめ、macOS、Linuxなど多くのオペレーティングシステムでサポートされており、異なるOS間でのファイル共有が可能です。
SMBはサーバー側がWindowsであっても、クライアント側がmacOSやLinuxであっても問題なく接続できます。
これは、SMBプロトコル自体がオープンな規格であり、各OSベンダーがSMBをサポートしているためです。つまり、ネットワーク内の異種混在環境でも柔軟にファイル共有を実現できます。
豊富な機能を持つ
ファイルの読み取り、書き込み、削除、名前変更、フォルダ作成など、様々なファイル操作が可能です。
ファイル操作以外にも、SMBではOpLockと呼ばれるファイルロック機能があり、同時編集時のデータ不整合を防ぎます。
また、バックグラウンドでの断続転送をサポートするオプポチェンティック・ロックもあり、回線が切断しても再開可能です。さらに、DFSと呼ばれる分散ファイルシステムによる、複数サーバ間の名前空間の統合も可能です。
セキュリティ性が高い
SMBではNTLMやKerberosによる認証が行われ、アクセス権限の管理ができます。
また、最新のSMB 3.0からはAES暗号化によるエンドツーエンド暗号化がデフォルトで有効になり、データの漏えいリスクが大幅に低減されました。
パフォーマンスが高い
SMB 3.0では、SMBマルチチャネル対応により複数のネットワークパスを利用できるようになりました。これにより、パフォーマンスと信頼性が向上しました。
SMBDirectもSMB 3.0の機能で、RDMA対応のネットワークアダプターを使うことで、CPUを介さずにメモリ間で直接データ転送できます。
管理が簡単にできる
SMBプロトコルでは、管理者がグループポリシーオブジェクト(GPO)を設定することで、ネットワーク上の共有フォルダやアクセス権限の一元管理が可能になります。
GPOを活用することで、管理者は大量の設定変更を一括で行え、セキュリティポリシーの統一も図れます。
Active Directoryと連携させれば、さらに詳細な条件に基づいた細かい権限管理も可能になります。
また、Windows Server上に共有フォルダを集約し、フォルダ単位でストレージの最適化を図ることも可能です。データの重複排除や圧縮により、ストレージ容量を節約できます。
業界標準の拡張性がある
SMBは小規模なネットワークから大規模な企業ネットワークまで、さまざまな規模の環境で利用でき、必要に応じて共有リソースを簡単に追加できます。
また、多くのソフトウェアとハードウェアがSMBをサポートしているため、既存のITインフラに簡単に統合できます。
Microsoftが提供するSMB/CIFSによって遠隔のサーバ上のファイルをローカルPC上にあるかのように操作できます。
現在では、Windowsを含む多くのOSがSMB/CIFSクライアントを標準実装しており、業界標準のファイル共有プロトコルとして広く利用されています。
SMBとNFSの違い
SMBとNFSはともにネットワーク上のファイル共有を実現するプロトコルですが、以下のような違いがあります。
項目 | SMB | NFS |
プロトコル | TCP | UDP |
セキュリティ | 認証が必要でセキュリティが高い | 認証不要な代わりにセキュリティが低い |
前提とするファイルシステム | Windows | UNIX |
ファイル転送 | 大規模転送に向く | 小規模転送に向く |
以下、詳しく解説していきます。
プロトコルの違い
項目 | SMB | NFS |
ベースプロトコル | TCP | UDP |
主な用途 | WANを想定したファイル共有 | LANを想定したファイル共有 |
通信の特徴 | コネクション型、高信頼性、大容量データ転送に強い | コネクションレス型、軽量、小規模データ転送に強い |
エラーチェックと再送信 | あり | なし |
流量制限機能 | あり(ネットワーク混雑緩和) | なし |
同時接続数 | 多数 | 少数 |
SMBとNFSは、ファイル共有プロトコルとして広く利用されていますが、それぞれの設計思想や対象ネットワークが異なるため、通信の仕組みが異なります。
NFSは、LANでの利用を想定して設計されたプロトコルです。LANは物理的な距離が近いため、軽量で高速なUDPベースの通信でも、パケットロスのリスクは低くなります。一方、SMBはWANでの利用を想定しており、遠隔地との確実なデータ送信を重視しています。
SMBはTCPを利用することで、データの到達確認と再送信を行うことができます。WANでは電波状況の影響などでデータが消失するリスクがあるため、こうした機能が不可欠となります。UDPにはこの機能がないため、ネットワークの過負荷を引き起こす可能性があります。
つまり、NFSはLANでの高速な通信を実現するためUDPを採用し、SMBはWANでの確実な通信を実現するためTCPを採用しているのです。利用用途に合わせて、適切なプロトコルを選択することが重要です。
認証の違い
項目 | SMB | NFS |
認証 | 必須 | 不要 |
認証方法 | Windowsドメイン | ‐ |
認証単位 | 個々のユーザー | ‐ |
アクセス制御 | ユーザー単位で細かく設定可 | サーバ側で困難 |
用途 | WANを想定 | LAN内を想定 |
セキュリティレベル | 高 | 低 |
NFSがクライアント認証を必要としないのは、もともとローカルエリアネットワーク内での利用を想定していたためです。LAN内ではセキュリティ面でのリスクが比較的低いため、認証なしでも実用上問題ありませんでした。
一方SMBは、インターネット経由のグローバルなネットワークでのファイル共有を目的としていました。広域ネットワークでは不正アクセスのリスクが高く、個々のユーザーを認証して権限を区別する必要があります。
SMBではユーザー認証にWindowsドメイン認証が使われます。アカウントとパスワードで個別に認証するため、誰がサーバにアクセスしたのかを特定できます。また、認証されたユーザーごとにアクセス権限を細かく設定できるのが特徴です。NFSではサーバ側でのアクセス制御が困難なため、セキュリティ面でSMBが優れています。
ファイルシステムの違い
項目 | SMB | NFS |
前提とするファイルシステム | Windows | UNIX |
ファイルパスの区切り | 「\」 | 「/」 |
権限制御 | Windows方式 | 所有者・グループ・その他を区別 |
文字コード | Windows標準 | UNIX標準 |
ファイル操作の命令体系 | Windows方式 | UNIX方式 |
主な用途 | Windowsマシン間ファイル共有 | UNIXマシン間ファイル共有 |
NFSがUNIX系ファイルシステムに依存しているのは、開発当初からUNIXマシン間のファイル共有を主目的としていたためです。
UNIXではファイルパスの表記規則(「/」でディレクトリ階層を表す)や、ファイルの権限制御(所有者・グループ・その他を区別)、文字コードなどに独自の規格があります。NFSはこれに合わせて設計されています。
一方、SMBはWindowsMACHINE間のファイル共有を目的としており、Windowsのファイルシステムをベースに構築されています。
Windowsではファイルパスの区切りに「\」を利用し、ファイルの権限制御もUNIXとは異なります。文字コードにはWindows標準のものが使われます。
SMBにおけるファイル操作の命令体系は、Windowsファイルシステムを前提としたものになっています。このため、NFSはUNIX、SMBはWindowsという異なるファイルシステムにそれぞれ特化していると言えます。
パフォーマンスの違い
項目 | SMB | NFS |
プロトコル | TCP | UDP |
小規模ファイル転送 | △ | ◯ |
大規模ファイル転送 | ◯ | △ |
同時多ユーザーアクセス | ◯ | △ |
エラー対策 | ◯ | ✕ |
混雑制御 | ◯ | ✕ |
オーバーヘッド | 大 | 小 |
拡張性 | 高 | 低 |
NFSのUDPベースの軽量な設計は、小規模なファイル転送に対して高速な性能を発揮します。ただし、ファイルサイズや同時アクセスユーザー数が増加すると、UDPのコネクションレス性が問題となり、エラーや遅延が発生しやすくなります。
一方SMBのTCPでは、ネットワークの混雑状況を監視し、混み合っている場合はデータ送信の量を自動で調整する機能があります。
TCPでは、データ送信のために各種の制御処理が発生します。例えば、エラーチェックや混雑制御などの働きです。UDPにはこれらの制御処理はなく、純粋にデータ送信に集中できます。したがって、TCPはUDPと比べて、データ送信の際に余計な「通知」が発生します。
ビジネスシーンでのファイルサーバ利用を考えると、SMBの拡張性の高さが大きなメリットになります。
SMBとFTPの違い
SMBとFTP(File Transfer Protocol)は、それぞれ異なる特徴を持つファイル転送プロトコルです。
FTPは主にファイルのアップロードとダウンロードに特化しており、SMBはファイル共有に加えてリアルタイムのファイル操作をサポートし、認証とアクセス制御も強化されています。
項目 | SMB | FTP |
用途 | ファイルのリアルタイムな共有 | ファイルのアップロードやダウンロード |
操作 | ローカルフォルダと同じように操作可能 | 基本的にはファイルのコピーや移動のみ |
認証 | ユーザー名とパスワード、Kerberos、NTLM | ユーザー名とパスワード、匿名アクセス |
セキュリティ | 暗号化された通信 | 平文 よりセキュリティ性を高めたSFTPなどが存在する |
主な用途と利用方法の違い
項目 | SMB | FTP |
主な用途 | ファイル共有やプリンタ共有 | ファイルのアップロード・ダウンロード |
利用方法 | ネットワーク上の共有フォルダをローカルフォルダのように扱う | FTPクライアントでサーバに接続して操作 |
操作 | ファイルの読み取り、書き込み、直接編集 | ファイルのコピーと移動 |
SMBはネットワークを介して共同作業を可能にするプロトコルで、ファイル共有やプリンタ共有のために使用されます。
ユーザーはSMB対応の共有フォルダをローカルフォルダと同じように利用でき、SMBが自動で認証やデータ一貫性をサポートしてくれます。
SMBではファイルをリアルタイムで直接操作できるため、オフィス業務でのファイル共有や部門間の共同作業に広く利用されます。
対してFTPは主にファイル転送のために使用されます。
ユーザーはFTPクライアントと呼ばれるソフトウェアを利用してFTPサーバにアクセスし、ファイルのアップロードやダウンロードを行います。
その動作の軽快さや速さから、ウェブサイトの更新やファイルのバックアップなどによく使用されます。
FTPはあくまでファイルのコピーや移動のみをサポートしており、直接操作することはできません。
認証の違い
項目 | SMB | FTP |
認証 | ユーザー名とパスワードの他、より高度なKerberos、NTLMなどにも対応 | ユーザー名とパスワード、匿名アクセス機能のみ |
SMBはユーザー名とパスワードに加えて、KerberosやNTLM(NT LAN Manager)といったセキュリティプロトコルを使用した強力な認証をサポートしています。
セキュリティも、ユーザーごとのアクセス制御やグループポリシーによる詳細な権限設定が可能で、より細かいセキュリティ管理が行えます。
対してFTPは基本的にユーザー名とパスワードによる認証がメインで、あまり高度な認証機能は備えていません。
また、標準ではセキュリティ対策が施されていないため、FTPSやSFTPといった通信にセキュリティ対策を施したツールが利用される事が多いです。
セキュリティの違い
項目 | SMB | FTP |
データの保護 | エンドツーエンドの暗号化(SMB3以降) | 平文送信(FTPSやSFTPで暗号化対応可能) |
アクセス制御 | より詳細なアクセス制御 | 基本的なユーザー認証のみ |
セキュリティ対策 | セッション整合性チェック、暗号化キーの更新など高度なセキュリティ対策 | FTPS(SSL/TLS)、SFTP(SSH) |
SMB(特に3.x以降の最新プロトコル)は
- エンドツーエンドの暗号化
- 詳細なアクセス制御リスト
- セッション整合性チェック
- 暗号化キーの定期的な更新
など多くのセキュリティ対策をサポートしており、ネットワーク上での盗聴や改ざんのリスクが大幅に減少しています。
一方で、FTPはあまりセキュリティは強くありません。匿名アクセスも可能です。
標準的なFTPではデータが暗号化されずに送信されるため、通信途中でのデータの盗聴や改ざんのリスクがあり、セキュアな通信が必要な場合はセキュリティ強度を高めたFTPSやSFTPの使用が推奨されます。
SMBのバージョン
SMBはその長い歴史からいくつかのバージョンに分かれています。
基本的には最新のSMB3.xを利用すればよいのですが、何が変わっていったのかを知っておくと業務に利用する際に無用のトラブルを避けることができます。
ここではSMBのバージョンの違いについて簡単に紹介したいと思います。
バージョン | 機能 |
SMB 1.0 | 基本的なファイル共有機能 |
SMB 2.0 | パフォーマンスの向上と大容量ファイルのサポート |
SMB 3.0 | セキュリティとパフォーマンスの強化のための大規模な機能追加 |
SMB 3.1.1 | 加速するITビジネスニーズに合わせたさらなるセキュリティ強化 |
SMB 3.x | 定期的な更新パッチを通した継続的な改善と最新技術への対応 |
SMB 1.0
最初に登場したバージョンで、1980年代後半にMicrosoftによって開発されました。
ネットワークを通じて基本的なファイル共有機能を利用でき、Windowsネットワークでの標準プロトコルとして使用されました。
この時点で、
- ファイルの読み取り
- ファイルの書き込み
- ファイル共有
- プリンタ共有
などの基本機能を備えていましたが、この時点では実行速度も遅く非効率で、ネットワーク不可も重かったためビジネスには使いづらいものでした。
SMB 2.0
Windows VistaおよびWindows Server 2008向けの機能として2006年にSMB2.0が導入されました。
よりビジネスを含め日常的に利用しやすいように、主にパフォーマンスの向上とセキュリティの強化を中心に改善されています。
主な改善点としては以下のようなものです。
パフォーマンス向上
特にネットワーク効率が向上しています。
大容量ファイル転送
ファイルサイズの制限が緩和され、より大きなファイルを扱えるようになりました。
キャッシュ機能の改善
ファイルキャッシュが改善されたことでネットワーク負荷が抑えられ業務にも使いやすくなりました。
SMB 3.0
2012年にはWindows Server 2012向けにSMB3.0が導入されました。
パフォーマンス、セキュリティ、データ信頼性において大幅な強化が行われ、多くの企業に支持されるファイル共有ソフトとして完成します。
例えば、以下のような機能が追加されています。
データ転送の暗号化
データ転送が暗号化され、セキュリティが強化されました。
マルチチャネル機能
複数のネットワーク接続を利用して帯域幅を増やせるようになり、環境に合わせてパフォーマンスを向上できるようになりました。
透過的なフェイルオーバー
フェイルオーバーしてもクライアントから継続してアクセスできるようになりました。
SMBアプリを再起動するなどの処理が不要になり、安心して使えるようになりました。
SMB 3.1.1
SMB 3.1.1は、2015年にWindows 10とWindows Server 2016向けに導入されたアップデートです。
急速に発展するビジネスIT革命を背景に、3.0以上にセキュリティとパフォーマンスのさらなる強化が行われています。
一例として、
- 接続前の認証整合性を意識した改良された暗号化アルゴリズムによるセキュリティ向上
- 新しい圧縮アルゴリズムの導入による、データ転送速度等のパフォーマンス向上
などがあります。
SMB 3.x
SMB 3.1.1以降、継続してセキュリティやパフォーマンスを最新の技術にアップデートさせる改善が随時施されています。
SMB3.xでは、完成されたSMB3に対して
- 定期的なセキュリティパッチ
- アップデートによる最新技術の統合
- 細々とした管理機能の強化
が定期的に行われています。
SMBのポート番号
SMBで利用される主なポート番号とその役割について、以下に詳しく解説していきます。
ポート番号 | プロトコル | 役割 | 特徴 |
139 | TCP | サーバとクライアントのセッション確立 | SMB1で使用、セキュリティが脆弱 |
445 | TCP | サーバとクライアントのセッション確立 | SMB2/3で使用、暗号化通信 |
137 | UDP | NetBIOS名からIPアドレスへの変換 | NBNSで使用 |
138 | UDP | NetBIOS機器間のデータ転送 | NBDSで使用 |
UDP/137 | UDP | NBNSのクエリー送信用 | NetBIOSで使用 |
UDP/138 | UDP | NBNSからの応答受信用 | NetBIOSで使用 |
ポート139
ポート139は、SMB1でサーバとクライアント間のTCPセッションを確立するために使用されます。クライアントからサーバへTCP接続要求パケットを送信し、サーバが139番ポートを開いて接続を受け入れることで、両者の間にTCPセッションが形成されます。
このセッション上でクライアントは認証を行い、共有フォルダへのアクセスやファイル操作のコマンドを送信することができます。
139番ポートはリモートからのアクセスを受け付けるため、ファイアウォールでの開放やアクセス制限が必要になります。最近のWindows OSでは、セキュリティ向上のためポート445がデフォルトで使われるようになり、ポート139は無効化されています。
ポート445
ポート445は、SMB2およびSMB3で利用されるデフォルトのTCPポートです。
SMB1のポート139とは異なり、初期接続時から暗号化通信(SSL/TLS)が行われるため、セキュリティが強化されています。
また、SMB2/3では並列処理の活用やメタデータの削減などにより高速化されています。
Windows Vista/Server 2008以降のOSでは、セキュリティと速度面を考慮してデフォルトの設定がポート445です。リモートアクセスを許可する場合は、ファイアウォールでのポート開放が必要です。
ポート137,138,UDP/137,UDP/138
ポート137、138、UDP/137、UDP/138は、SMBプロトコルの前段階としてネットワーク内のサーバやクライアントを検出します。
NetBIOS名からIPアドレスへの変換に利用されるのがポート137(NBNS)です。ポート138(NBDS)は、NetBIOS名を持つ機器間でのデータグラム送受信に使用されます。
UDP/137はNBNSのクエリー送信用、UDP/138は応答受信用のポートとして機能します。NetBIOS機能を利用する場合、これらのUDPポートもファイアウォールで開放することが必要です。
SMBサーバ
SMBサーバには主に3つの種類があります。以下、SMBサーバの役割と各サーバについて、詳しく解説していきます。
SMBサーバの役割
SMBサーバの主な役割は、ネットワーク上のクライアントからのファイル共有の要求に応えることです。サーバに保存されたファイルに対して、クライアントはファイルの参照やダウンロード、アップロードができるようになります。
それ以外にも、SMBサーバの主な役割は以下の通りです。
- 共有フォルダの作成と共有設定の管理
- クライアントからの接続要求を受け付けること
- クライアントの認証処理を行うこと
- クライアントに対するアクセス制御の設定と実施
- ファイルやフォルダの操作要求に応じて、読み取り/書き込み等の処理を実行すること
- ファイルやフォルダのアクセス権限情報を管理すること
- クライアントとのデータ転送を行うこと
このように、認証やアクセス制御、データの受け渡しと保管を中心とした機能を持っているのがSMBサーバの役割です。安全なファイル共有を実現しています。
ネイティブSMBサーバ
WindowsやMacなどのOSに標準で搭載されているSMB機能のことです。簡単なファイル共有を行う分には、OS側のネイティブなSMBサーバ機能を使うことができます。
Windows Serverには、ユーザーアカウントを集中管理する機能が標準で備わっています。この機能を使って、ユーザーのアカウント情報を一元管理できます。またWindowsパソコンには標準で「ファイルとプリンターの共有」という機能が搭載されています。この機能を使うと、簡単な操作でPC上のフォルダをネットワーク上で共有できます。Macにも標準でファイル共有機能があるため、WindowsとMacのコンピューター間でもスムーズにファイルのやり取りができます。
ネイティブSMBサーバはライセンスコストがかからないメリットがありますが、大規模システムには向きません。
専用SMBアプライアンス
SMBアプライアンスは、SMB専用の高性能なハードウェアと、それに対応したソフトウェアで構成されます。大容量のHDDを搭載した上、RAID構成に対応することで、大量のファイル共有にも耐えられる信頼性を確保しています。
また専用OSやSMBソフトウェアを搭載することで、Windowsサーバよりも高速なファイル共有が可能になります。管理インターフェイスも備えているので、GUIベースで簡単に設定変更やモニタリングが行えます。
大規模なビジネスシステムで、ファイルサーバとしての利用に耐えられる高性能な製品が提供されています。
※RAID構成・・・複数のドライブを組み合わせて、1つのストレージシステムのように使用する技術。ドライブの冗長性を高め、故障時のデータ保護が可能。
※GUIベース・・・画面上のアイコンやメニューを、マウスでクリックすることで操作できるインターフェース。コマンド入力ではなく、視覚的な操作性が特徴。
ソフトウェアベースのSMBサーバ
ソフトウェアベースのSMBサーバは、専用のソフトウェアをインストールするだけで構築できる点が最大のメリットです。新たなハードウェア購入が不要なため、初期コストを抑えることができるでしょう。
しかし一方で、サーバのハードウェアリソースに依存するため、I/O性能や同時接続数に限界があります。大規模なアクセスが集中した場合に対応しきれなくなる可能性もあります。
そのため、ソフトウェアベースのSMBサーバは、概ね100人程度以下の規模のシステムに適しています。スペックの高いサーバ機器を使えば、ある程度の大規模運用も可能ですが、専用SMBアプライアンスほどの高い耐負荷性は望めません。コストと機能のバランスを見極め、用途に合わせてSMBサーバを選定することが重要になります。
SMBの設定や有効化方法
SMBの設定方法は、使用するデバイスやOSのバージョンによって異なります。
詳しくはそのデバイスやOSのヘルプページに従ってください。
参考までに、よく使われているSMBの設定方法について簡単に紹介します。
また、以下のことに注意してください
最近のWindowsOSでは初期状態でSMB3が有効化されています。無効化されていた場合は、まずはセキュリティ管理者に事情を問い合わせてください。
Windows10 1709 Fall Creator Updateより、SMB1の利用は非推奨となりました。ランサムウェアや他のマルウェアに関する既知のセキュリティの問題が発生するリスクが有るため、有効化する場合はセキュリティ要件を勘案したうえでONにしてください。
コントロールパネルからの設定方法
ここではWindows10/11を対象とします。
コントロールパネルを開く
[スタート] ボタン=>[コントロールパネル] を選択するか、スタートボタン横の検索ボックスからコントロールパネルを検索します。
[プログラムと機能]を開く
設定によっては[コントロールパネル] から[プログラム]=>[プログラムと機能]と選択する必要があります。
Windowsの機能の有効化または無効化を選ぶ
左側の [Windowsの機能の有効化または無効化] を選びます。[プログラム]=>[Windowsの機能の有効化または無効化]と移動してもよいです。
必要なSMBを有効化
[SMB 1.0/CIFS ファイル共有サポート] にチェックを入れます。SMB 2.0 および SMB 3.0、またはSMBダイレクト はデフォルトで有効になっていることが多いです。
PCを再起動
多くの場合デフォルトでSMBが利用できますが、一部デバイスはSMB 1.0/CIFSのみに対応していることがあります。例えばNASが使えないなどのトラブル時には、一旦SMB1.0/CIFSサポートをチェックすることで解決する場合があります。
PowerShellからの設定方法
CUIしか使えない環境下でも、PowerShellから操作できます。ここではSMB1.0をPowerShellから操作する方法を紹介します。まず、管理者権限でPowerShellにログインします。
1. 現在の状態を検出
以下のコードを打ち込んでください
表示された状態を確認します。
State : Disabledならば無効、State : Enabledならば有効です。
2. 有効/無効にする
無効にする場合は下記コードを入力
有効にするにする場合は下記コードを入力
3. PCの再起動
また管理者権限がない場合も、以下のコマンドの入力で有効/無効状態の確認が行えます。
サーバの権限がない場合はこちらを試して状態を確認し、有効化を管理者に要求してください。
また、Windows8 および WindowsServer 2012では以下コマンドです。
Windows 7、Windows Server 2008 R2、Windows Vista、および Windows Server2008 の場合は、PowerShell 2.0 以降環境でGet-Itemコマンドを利用します。
各サーバOS間のコマンドの詳細は、下記Windowsのヘルプページに従ってください。
グループポリシーエディタからのゲスト設定方法
Windowsのバージョンによってはゲストアカウントを使用した共有フォルダへの接続が許可されていない場合があります。
その際は高度な設定方法になりますが、グループポリシーを変更することでゲストアカウントでのSMB接続が可能となります。
1. グループポリシーエディタを開く
スタートボタン横の検索ボックスで「gpedit.msc」と入力し、[グループポリシーの編集] を選択します。
2. Lanman ワークステーションを開く
[コンピュータの構成] → [管理用テンプレート] → [ネットワーク] → [Lanman ワークステーション] を開きます。
3. ポリシーの変更
[安全でないゲスト ログオン]を開き有効にする
ゲストログオンを有効にすることで、外部ゲストがSMB設定に接続できるようになります。
4. ポリシーの適用後再起動
設定後、設定を反映させるためにPCを再起動します。
スマホでの設定方法
iphoneならば、ファイルアプリからSMBが利用可能です。
- 「ファイル」アプリを開く
- 右上の[…]をタップ
- 「サーバへ接続」をタップ
- サーバアドレスを入力し、[次へ]
- ユーザー名とパスワードを入力し、[次へ]
「ファイル」アプリのサーバ追加画面で、SMBサーバのIPアドレスやホスト名を入力します。次の画面でサーバに登録済みのユーザー名とパスワードを入力する必要があります。
認証に成功すると、SMBサーバ上の共有フォルダがiPhoneの「ファイル」アプリ内に表示されるようになります。以降は共有フォルダ内のファイルを自由にタップして開いたり、新規追加したり、移動やコピー、削除などのファイル操作が可能です。
スマホでも手軽にSMBサーバを利用できるのが便利な点です。
Androidの場合は、SMBに対応したファイルマネージャーアプリが必要です。
SMBの活用事例
SMBを利用したシステムの代表的な活用事例を以下に詳しく解説していきます。
ファイルサーバ構築
会社の共有ファイルを1つのサーバに集約し、社員は自分のコンピュータからサーバ上のファイルにアクセスできるシステムです。SMBを用いたファイルサーバは、社内の各部門が保有する膨大なデータを1台のサーバに集約することができます。工程表や製品図面、営業資料や契約書類などが全て1箇所に揃います。
これにより部署間での情報共有がスムーズになり、業務の効率化が図れます。新たにファイルを用意する必要がなくなるのでコスト削減の効果も大きいでしょう。サーバの耐障害性を高めておくことで、大容量データの安全性を確保できます。また、アクセス権限を細かく設定できるので情報漏洩リスクも低減できます。
大量のファイルデータを社内で共有するのであれば、SMBを活用した中央集約型のファイルサーバ構築が効果的です。
バックアップ
個人PCのデータをSMBサーバにバックアップすることで、PCが故障しても大切なデータを復元できる安心感があります。さらに、SMBサーバではデータの暗号化が可能なので、セキュリティ面でも安全性が高まります。
一般的に個人PCのバックアップは外付けHDDなどを使用しますが、SMBサーバを活用すれば、複数のPCデータを集約的にバックアップできます。また、サーバを複数台用意し、同じデータを redundantにコピーしておけば、万が一サーバが故障しても別のサーバからデータを復元可能です。さらに遠隔地のサーバにもコピーを保管しておけば、災害時の事業継続性(BCP)が高まります。
このようにSMBサーバを増やし、同じデータを重複して保管することで、確実なデータ保護が実現可能です。加えて、ネットワーク経由でのバックアップが可能なため、全社的な重要データの定期バックアップ運用も構築できます。個人PCのバックアップだけでなく、企業のBCP対策としてSMBを全社バックアップシステムに活用するメリットは大きいでしょう。
スマホとの連携
自宅のSMBサーバに接続すれば、スマホからでも家のPCに保存されている写真や動画を見たり聞いたりできます。外出先からでも自宅のデータにアクセスでき便利です。スマホには専用のSMBアプリをインストールする必要がありますが、アプリさえ入れれば手軽にサーバに接続できます。
iPhoneやAndroidなど主要なスマホに対応したアプリが公式/サードパーティから提供されていて、使い勝手が良いものがあります。アプリからサーバにログインすると、サーバ上のファイルがスマホ上でもファイル管理アプリのように扱えるので、とても使いやすいのがメリットです。
外出先からでもサーバのファイルを自由に閲覧・編集できるので、テレワークなどの用途でも重宝します。
まとめ:SMBで使いやすく安定したファイル共有
今回の記事では、SMBの基本的な定義から、仕組み、サーバの種類、設定方法などについて解説しました。
SMBはWindowsを中心としたリアルタイムファイル共有ソフトで、サーバ上の共有ファイルをまるでローカルにあるかのように扱うことが可能になる標準規格です。
サーバにデータを集中させることで、簡単かつ安全に社内外の情報共有が実現できるのがSMB導入の大きなメリットです。
とはいえ、SMBを始めとしたファイル共有システムをビジネスに利用する場合、それを活用するためのシステム導入とアクセスルールがセットでないと意味がありません。
SMBの導入に興味がある企業様はまず、導入前にしっかりヒアリングと要件定義を行うことをおすすめします。
株式会社JiteraはITシステムの導入にお悩みの企業様へサポートを行っています。国内実績豊富なエンジニアとAI技術を活用した自動化システムで、それぞれの事情に合わせた最適なシステム導入とカスタマイズを提案をさせていただきます。