SMB トラフィックをラテラル接続から防ぎ、ネットワークに出入りする

適用先
Windows Server version 1909 Windows Server version 1903 Windows Server 2019 Windows 10, version 1809, all editions Windows Server version 1803 Windows 10, version 1803, all editions Windows 10, version 1709, all editions Windows 10, version 1703, all editions Windows Server 2016 Windows 10, version 1607, all editions Windows 10 Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Standard Windows Server 2012 R2 Essentials Windows Server 2012 R2 for Embedded Systems Windows Server 2012 R2 Foundation Windows 8.1 Enterprise Windows 8.1 Pro Windows 8.1 Windows RT 8.1 Windows Server 2012 Datacenter Windows Server 2012 Standard Windows Server 2012 Essentials Windows Server 2012 Foundation Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition Windows Server 2008 R2 Foundation Windows 7 Service Pack 1 Windows 7 Ultimate Windows 7 Enterprise Windows 7 Professional Windows 7 Home Premium Windows 7 Home Basic Windows 7 Starter Windows Server 2008 Service Pack 2 Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 Web Edition Windows Server 2008 Foundation Windows Server 2008 for Itanium-Based Systems

概要

サーバー メッセージ ブロック (SMB) は、ネットワーク ファイル共有およびデータ ファブリック プロトコルです。 SMB は、Windows、MacOS、iOS、Linux、Android など、さまざまなオペレーティング システムの数十億台のデバイスで使用されています。 クライアントは SMB を使用してサーバー上のデータにアクセスします。 これにより、ファイルの共有、データ管理の一元化、およびモバイル デバイスのストレージ容量のニーズの削減が可能になります。 サーバーは、クラスタリングやレプリケーションなどのワークロードに対してソフトウェア定義データ センターの一部として SMB も使用します。

SMB はリモート ファイル システムであるため、Windows コンピューターが、信頼されたネットワーク内で実行されている悪意のあるサーバーやネットワーク境界外のリモート サーバーに接続する攻撃からの保護が必要です。 ファイアウォールのベスト プラクティスと構成により、セキュリティが強化され、悪意のあるトラフィックがコンピューターまたはそのネットワークから離れるのを防ぐことができます。

変更の影響

SMB への接続をブロックすると、さまざまなアプリケーションまたはサービスが機能しなくなる可能性があります。 このような状況で機能しなくなる可能性がある Windows とWindows Serverアプリケーションとサービスの一覧については、「Windows のサービスの概要とネットワーク ポートの要件」を参照してください。

詳細情報

境界ファイアウォールのアプローチ

ネットワークの端に配置されている境界ハードウェアおよびアプライアンスのファイアウォールは、次のポートへの (インターネットからの) 未承諾通信と (インターネットへの) 送信トラフィックをブロックする必要があります。
 

アプリケーション プロトコル プロトコル ポート
SMB TCP 445
NetBIOS 名前解決 UDP 137
NetBIOS データグラム サービス UDP 138
NetBIOS セッション サービス TCP 139

インターネットから発信された SMB 通信やインターネット向けの SMB 通信が正当であるとは考えられません。 主なケースは、Azure Filesなどのクラウドベースのサーバーまたはサービスの場合です。 境界ファイアウォールで IP アドレスベースの制限を作成して、それらの特定のエンドポイントのみを許可する必要があります。 組織は、特定のAzure Datacenterと O365 IP 範囲へのポート 445 アクセスを許可して、オンプレミスのクライアント (エンタープライズ ファイアウォールの背後) で SMB ポートを使用してファイル ストレージと通信するハイブリッド シナリオAzure有効にすることができます。 また、SMB 3.x トラフィックのみを許可し、SMB AES-128 暗号化を要求する必要があります。 詳細については、「参照」セクションを参照してください。

注: SMB トランスポートでの NetBIOS の使用は、Windows Vista、Windows Server 2008、および Microsoft が SMB 2.02 を導入した後のすべての Microsoft オペレーティング システムで終了しました。 ただし、環境内に Windows 以外のソフトウェアやデバイスがある場合があります。 SMB1 がまだ NetBIOS を使用しているため、SMB1 を無効にして削除する必要があります。 Windows Server および Windows の以降のバージョンでは、既定で SMB1 がインストールされなくなり、許可されている場合は自動的に削除されます。

Windows Defender ファイアウォールのアプローチ

サポートされているすべてのバージョンの Windows および Windows Server には、Windows Defender ファイアウォール (以前は Windows ファイアウォールと呼ばれていた) が含まれています。 このファイアウォールは、特にデバイスがネットワークの外に移動したとき、またはデバイスがネットワーク内で実行される場合に、デバイスに追加の保護を提供します。

Windows Defender ファイアウォールには、特定の種類のネットワーク (ドメイン、プライベート、ゲスト/パブリック) の個別のプロファイルがあります。 ゲスト/パブリック ネットワークは、通常、信頼性の高いドメインまたはプライベート ネットワークよりも既定ではるかに制限の厳しい設定を取得します。 脅威の評価と運用上のニーズに基づいて、これらのネットワークに対して異なる SMB 制限があることに気付くかもしれません。

コンピューターへの受信接続

SMB 共有をホストしていない Windows クライアントとサーバーの場合は、Windows Defender ファイアウォールを使用して、悪意のあるデバイスや侵害されたデバイスからのリモート接続を防ぐことで、すべての受信 SMB トラフィックをブロックできます。 Windows Defender ファイアウォールでは、これには次の受信規則が含まれます。

名前 プロファイル 有効
ファイルとプリンターの共有 (SMB-In) すべて ×
ネットログオン サービス (NP-In) すべて ×
リモート イベント ログ管理 (NP-In) すべて ×
リモート サービス管理 (NP-In) すべて ×

また、新しいブロック規則を作成して、他の受信ファイアウォール規則をオーバーライドする必要があります。 SMB 共有をホストしない Windows クライアントまたはサーバーに対して、次の推奨設定を使用します。

  • 名前: すべての受信 SMB 445 をブロックする
  • 説明: すべての受信 SMB TCP 445 トラフィックをブロックします。 SMB 共有をホストするドメイン コントローラーまたはコンピューターには適用されません。
  • アクション: 接続をブロックする
  • プログラム: すべて
  • リモート コンピューター: 任意
  • プロトコルの種類: TCP
  • ローカル ポート: 445
  • リモート ポート: 任意
  • プロファイル: すべて
  • スコープ (ローカル IP アドレス): 任意
  • スコープ (リモート IP アドレス): 任意
  • エッジ トラバーサル: エッジ トラバーサルをブロックする

ドメイン コントローラーまたはファイル サーバーへの受信 SMB トラフィックをグローバルにブロックしないでください。 ただし、信頼済み IP 範囲とデバイスからのアクセスを制限して、攻撃対象を減らすことができます。 また、ドメインまたはプライベート ファイアウォール プロファイルに制限し、ゲスト/パブリック トラフィックを許可しないようにする必要があります。

注: Windows XP SP2 および Windows Server 2003 SP1 以降、Windows ファイアウォールでは、既定ですべての受信 SMB 通信がブロックされています。 Windows デバイスは、管理者が SMB 共有を作成するか、ファイアウォールの既定の設定を変更した場合にのみ、受信 SMB 通信を許可します。 いずれにせよ、既定の標準のエクスペリエンスが、デバイス上でインプレースのままであることを信頼しないでください。 グループ ポリシーやその他の管理ツールを使用して、設定とその必要な状態を常に確認し、アクティブに管理します。

詳細については、「高度なセキュリティ戦略を使用した Windows Defender ファイアウォールの設計」と「高度なセキュリティ展開ガイドを使用した Windows Defender ファイアウォールの設計」を参照してください。

コンピューターからの送信接続

Windows クライアントとサーバーは、ドメイン コントローラーからグループ ポリシーを適用し、ユーザーとアプリケーションがファイル サーバー上のデータにアクセスするために、送信 SMB 接続を必要とするため、ファイアウォール規則を作成するときは、悪意のあるラテラルまたはインターネット接続を防ぐように注意する必要があります。 既定では、SMB 共有に接続している Windows クライアントまたはサーバーには送信ブロックがないため、新しいブロック規則を作成する必要があります。

また、新しいブロック規則を作成して、他の受信ファイアウォール規則をオーバーライドする必要があります。 SMB 共有をホストしない Windows クライアントまたはサーバーに対して、次の推奨設定を使用します。

ゲスト/パブリック (信頼されない) ネットワーク

  • 名前: 送信ゲスト/パブリック SMB 445 をブロックする
  • 説明: 信頼されていないネットワーク上のすべての送信 SMB TCP 445 トラフィックをブロックします
  • アクション: 接続をブロックする
  • プログラム: すべて
  • リモート コンピューター: 任意
  • プロトコルの種類: TCP
  • ローカル ポート: 任意
  • リモート ポート: 445
  • プロファイル: ゲスト/パブリック
  • スコープ (ローカル IP アドレス): 任意
  • スコープ (リモート IP アドレス): 任意
  • エッジ トラバーサル: エッジ トラバーサルをブロックする

注: 小規模オフィスおよびホーム オフィスのユーザー、または企業の信頼済みネットワークで作業し、ホーム ネットワークに接続するモバイル ユーザーは、パブリックな送信ネットワークをブロックする前に注意する必要があります。 これを行うと、ローカル NAS デバイスまたは特定のプリンターにアクセスできなくなる可能性があります。

プライベート/ドメイン (信頼済み) ネットワーク

  • 名前: 送信ドメイン/プライベート SMB 445 を許可する
  • 説明: 信頼されたネットワーク上にある場合に、DC とファイル サーバーにのみ送信 SMB TCP 445 トラフィックを許可します
  • アクション: 接続がセキュリティで保護されている場合に接続を許可する
  • [セキュリティで保護された設定の場合に許可する] をカスタマイズする: いずれかのオプションを選択し、[ブロックルールのオーバーライド] = [ON] を設定します
  • プログラム: すべて
  • プロトコルの種類: TCP
  • ローカル ポート: 任意
  • リモート ポート: 445
  • プロファイル: プライベート/ドメイン
  • スコープ (ローカル IP アドレス): 任意
  • スコープ (リモート IP アドレス): ドメイン コントローラーとファイル サーバーの IP アドレスの<リスト>
  • エッジ トラバーサル: エッジ トラバーサルをブロックする

注: セキュリティで保護された接続がコンピューターの ID を伝える認証を使用する場合は、スコープのリモート IP アドレスの代わりにリモート コンピューターを使用することもできます。 「セキュリティで保護されている場合は、接続を許可します」およびリモート コンピューターのオプションの詳細については、Defender ファイアウォールのドキュメントを参照してください。

  • 名前: 送信ドメイン/プライベート SMB 445 をブロックする
  • 説明: 送信 SMB TCP 445 トラフィックをブロックします。 「送信ドメイン/プライベート SMB 445 を許可する」規則を使用して上書きします
  • アクション: 接続をブロックする
  • プログラム: すべて
  • リモート コンピューター: N/A
  • プロトコルの種類: TCP
  • ローカル ポート: 任意
  • リモート ポート: 445
  • プロファイル: プライベート/ドメイン
  • スコープ (ローカル IP アドレス): 任意
  • スコープ (リモート IP アドレス): N/A
  • エッジ トラバーサル: エッジ トラバーサルをブロックする

コンピューターからドメイン コントローラーまたはファイル サーバーへの送信 SMB トラフィックをグローバルにブロックしないでください。 ただし、信頼済み IP 範囲とデバイスからのアクセスを制限して、攻撃対象を減らすことができます。

詳細については、「高度なセキュリティ戦略を使用した Windows Defender ファイアウォールの設計」と「高度なセキュリティ展開ガイドを使用した Windows Defender ファイアウォールの設計」を参照してください。

セキュリティ接続規則

セキュリティ接続規則を使用して、"セキュリティで保護されている場合は接続を許可する" 設定と "接続で null カプセル化を使用することを許可する" 設定の送信ファイアウォール規則の例外を実装する必要があります。 すべての Windows ベースおよび Windows Server ベースのコンピューターでこの規則を設定しない場合、認証は失敗し、SMB は送信がブロックされます。

たとえば、次の設定が必要です。

  • 規則の種類: 分離
  • 要件: 受信接続と送信接続の認証を要求する
  • 認証方法: コンピューターとユーザー (Kerberos V5)
  • プロファイル: ドメイン、プライベート、パブリック
  • 名前: SMB オーバーライドの分離 ESP 認証

セキュリティ接続規則の詳細については、次の記事を参照してください。

Windows ワークステーションおよびサーバー サービス

SMB をまったく必要としないコンシューマーまたは高度に分離された管理対象コンピューターの場合、サーバーまたはワークステーション サービスを無効にできます。 これは、「サービス」スナップイン (Services.msc) と PowerShell Set-Service コマンドレットを使用するか、グループ ポリシーの基本設定を使用して、手動で行うことができます。 これらのサービスを停止および無効にすると、SMB は送信接続を確立したり、受信接続を受信したりできなくなります。

ドメイン コントローラーまたはファイル サーバーでサーバー サービスを無効にしないでください。無効にすると、クライアントはグループ ポリシーを適用したり、データに接続したりできなくなります。 Active Directory ドメインのメンバーであるコンピューターでワークステーション サービスを無効にしないでください。無効にすると、グルー プポリシーが適用されなくなります。

参考資料

高度なセキュリティ戦略を使用した Windows Defender ファイアウォールの設計
セキュリティが強化された Windows Defender ファイアウォールの展開ガイド
Azure リモート アプリ
Azure データセンターの IP アドレス
Microsoft O365 IP アドレス