SMBファイル共有のSMBプロトコルバージョンの設定について

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(Azure Portal、Azure CLI、Terraformなど)まで、分かりやすく解説します。

この記事では、SMBファイル共有の「SMBプロトコルバージョン」が「SMB 3.1.1」未満である場合のリスクと対策を解説します。

ポリシーの説明

Server Message Block (SMB) プロトコルは、ネットワーク上でファイル共有を実現するための通信プロトコルです。Azure Files では複数のSMBバージョンをサポートしていますが、セキュリティの観点から最新のSMB 3.1.1以上の使用が推奨されています。SMB 3.1.1では、事前認証整合性、強力な暗号化、セキュアな通信ネゴシエーション機能などが追加され、重要なセキュリティ強化が図られています。

各SMBバージョンの主な特徴は次のとおりです:

  • SMB 1.0: 非常に古いバージョンで、深刻な脆弱性が多数発見されているため使用禁止
  • SMB 2.1: Windows 7/Server 2008 R2で導入されましたが、基本的な暗号化機能がありません
  • SMB 3.0: Windows 8/Server 2012から導入され、AES-128-CCM暗号化をサポート
  • SMB 3.1.1: Windows 10/Server 2016以降で採用され、より強力なAES-256-GCM暗号化と事前認証整合性を実装

リスク

古いSMBプロトコルバージョンを使用することで、次のようなセキュリティリスクが発生します:

1. 既知の脆弱性への露出

  • SMB 1.0には「EternalBlue」という深刻な脆弱性があり、WannaCryランサムウェアの感染拡大に悪用されました
  • SMB 2.xバージョンにも認証をバイパスできる脆弱性や、リモートからコードを実行できる脆弱性が存在します
  • 最近でも「SMBGhost」(CVE-2020-0796)などの新たな脆弱性が発見されており、常に最新バージョンの使用が重要です

2. 暗号化機能の不足

  • SMB 2.1以前のバージョンでは、通信の暗号化機能がサポートされていないため、データが平文で送信されます
  • SMB 3.0では暗号化が導入されましたが、AES-128-CCMのみのサポートで、現代のセキュリティ基準では不十分とされています
  • SMB 3.0.2ではAES-128-GCM暗号化をサポートしていますが、通信開始前の整合性検証機能(事前認証整合性)がありません
  • 暗号化されていない通信は、ネットワーク上で第三者による中間者攻撃(MITM)の対象となり、機密データが盗聴されるリスクがあります

修復方法

コンソールでの修復手順

Azure コンソールを使用して、SMBプロトコルバージョンをSMB 3.1.1以上に設定します。

  1. Azure Portalにサインイン
    • https://portal.azure.com にアクセス
    • ストレージアカウント管理者権限を持つアカウントでログイン
  2. 対象のストレージアカウントを選択
    • 左側のメニューから「ストレージアカウント」をクリック
    • SMB設定を更新するストレージアカウントを選択
  3. ファイル共有設定にアクセス
    • ストレージアカウントの左側メニューで「データストレージ」セクションを確認
    • 「ファイル共有」をクリック
  4. ファイル共有設定の編集
    • ファイル共有ページの上部にある「ファイル共有の設定」をクリック
    • または左側メニューの「設定」セクションから「ファイル共有の設定」を選択
  5. SMBセキュリティ設定の変更
    • 「セキュリティ設定」セクションを確認
    • SMBプロトコルバージョンの設定で以下のいずれかを選択:
      • 「最大セキュリティ」: SMB 3.1.1のみを許可(推奨)
      • 「カスタム」: 詳細な設定が必要な場合
    • 注意: 設定変更は新規接続にのみ適用され、既存の接続には影響しません
  6. カスタム設定の場合
    • 「SMBプロトコルバージョン」で「SMB3.1.1」のチェックボックスをオン
    • 「SMB2.1」「SMB3.0」のチェックを外す(互換性の問題がない限り)
    • 「SMB1」は非推奨のため絶対に有効しないようにしましょう
  7. 追加のセキュリティ設定
    • 「SMBチャネル暗号化」: AES-256-GCMを選択
    • 「Kerberos認証」: 有効化を推奨
    • 「NTLMv1認証」: 無効化を推奨
  8. 設定の保存と確認
    • 「保存」ボタンをクリック
    • 変更が正常に適用されたことを確認
    • 既存の接続に影響がある場合は警告が表示されます
  9. クライアント側の互換性確認
    • Windows 10 バージョン1709以降、Windows Server 2016以降はSMB 3.1.1をサポート
    • Linux: Samba 4.3以降でSMB 3.1.1をサポート
    • macOS: High Sierra (10.13)以降でSMB 3.xをサポート

最後に

この記事では、SMBファイル共有の「SMBプロトコルバージョン」が「SMB 3.1.1」未満である場合のリスクと対策を解説しました。

SMB 3.1.1への移行は、既知の脆弱性からの保護、強力な暗号化の実装、プロトコルダウングレード攻撃への対策など、複数のセキュリティ層を提供します。古いSMBバージョンの使用は、組織を深刻なセキュリティリスクにさらすため、早急な対応が必要です。移行時は既存システムとの互換性を考慮し、段階的なアプローチを採用することが重要です。

この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。

CSPMについてはこちらで解説しております。併せてご覧ください。

参考情報

この記事をシェアする

クラウドセキュリティ対策実践集一覧へ戻る

貴社の利用状況に合わせた見積もりを作成します。

料金プランを詳しく見る