0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Day 15: ネットワーク分離(セグメンテーション):感染拡大を防ぐネットワーク設計

0
Last updated at Posted at 2026-03-16

はじめに

ランサムウェアの本当の恐怖は、単体PCの暗号化ではありません。真の脅威は、1台の端末を足掛かりにネットワーク内を縦横無尽に移動する 「横展開(Lateral Movement)」 にあります。

2023年、ある中堅製造業で起きた事例では、1台の営業PCがマルウェアに感染した30分後、同じネットワーク内の共有フォルダが次々と暗号化され、最終的に250台のPCと3つのサーバーが被害を受けました。もしネットワークが適切に分離されていれば、被害は最初の1セグメント(約20台)で食い止められたはずです。

本記事では、この「防火壁」の役割を果たす ネットワーク分離 の設計と実装を、中小企業でも実現可能な形で解説します。


1. なぜ「フラットなネットワーク」は危険なのか

典型的な危険パターン

多くの中小企業のネットワークは、以下のような構成になっています:

インターネット
    |
 ルーター
    |
 L2スイッチ ━━━ 全端末が同一ネットワーク
    |          (192.168.1.0/24など)
    ├─ 社長PC
    ├─ 営業部PC (10台)
    ├─ 総務部PC (5台)
    ├─ ファイルサーバー
    ├─ バックアップサーバー
    ├─ 複合機
    └─ ゲストWi-Fi

この構成の問題点:

問題 具体的なリスク 実際の攻撃例
水平移動が容易 1台感染すると全端末が危険 SMBワーム(WannaCry)の社内拡散
重要資産が無防備 営業PCからバックアップサーバーへ直接アクセス可能 Emotetによるバックアップ破壊
ゲストの混在 来客のPCが社内リソースにアクセス可能 協力会社経由の情報漏洩
IoT機器の脆弱性 古い複合機から侵入→本丸へ プリンター脆弱性を起点とした侵害

攻撃者の視点で見る「フラットネットワーク」

攻撃者が最初の1台に侵入した後の行動:

# 1. ネットワークスキャン(同一セグメント内の端末を発見)
nmap -sn 192.168.1.0/24

# 2. 共有フォルダの探索
net view /all
crackmapexec smb 192.168.1.0/24

# 3. ドメインコントローラーの特定
nltest /dclist:

# 4. 横展開(他のPCへの侵入)
psexec \\192.168.1.50 -u Administrator -p [stolen_password] cmd.exe

フラットネットワークでは、これらがすべて成功します。


2. セグメンテーションの3つの階層

効果的な分離には、用途とコストに応じた「深さ」があります。

階層1: VLAN分離(必須レベル)

対象: 全ての企業
コスト: 中(既存スイッチがVLAN対応なら追加費用ほぼゼロ)
効果: ★★★★☆

推奨VLAN設計例

VLAN 10: 管理セグメント (192.168.10.0/24)
  └─ ドメインコントローラー、運用管理サーバー

VLAN 20: サーバーセグメント (192.168.20.0/24)
  └─ ファイルサーバー、バックアップサーバー

VLAN 30: 業務PCセグメント (192.168.30.0/24)
  └─ 一般社員のPC

VLAN 40: 重要PCセグメント (192.168.40.0/24)
  └─ 経営層PC、経理専用PC

VLAN 50: IoT/OTセグメント (192.168.50.0/24)
  └─ 複合機、監視カメラ、入退室管理

VLAN 99: ゲストセグメント (192.168.99.0/24)
  └─ 来客用Wi-Fi(インターネットのみ許可)

L3スイッチでの基本設定例(Cisco IOS)

! VLAN作成
vlan 10
 name MGMT
vlan 20
 name SERVERS
vlan 30
 name USER_PC

! トランクポート設定(スイッチ間接続)
interface GigabitEthernet0/1
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30

! アクセスポート設定(PC接続)
interface GigabitEthernet0/10
 switchport mode access
 switchport access vlan 30
 spanning-tree portfast

! VLAN間ルーティング
interface Vlan10
 ip address 192.168.10.1 255.255.255.0
interface Vlan20
 ip address 192.168.20.1 255.255.255.0
interface Vlan30
 ip address 192.168.30.1 255.255.255.0

! デフォルトゲートウェイとしてファイアウォールを指定
ip route 0.0.0.0 0.0.0.0 192.168.1.254

階層2: ファイアウォールによる通信制御(推奨レベル)

対象: 従業員30名以上、または重要データを扱う企業
コスト: 中〜高(NGFW: 30万円〜/年)
効果: ★★★★★

ランサムウェア対策のための通信制御ルール

基本方針: デフォルト拒否、必要最小限の通信のみ許可

【許可ルール】
1. 業務PC → ファイルサーバー
   - プロトコル: SMB (TCP 445)
   - 送信元: VLAN 30, 40
   - 宛先: VLAN 20 (ファイルサーバーのIPのみ)
   - 時間制限: 平日 8:00-20:00

2. 管理者PC → サーバー管理
   - プロトコル: RDP (TCP 3389)
   - 送信元: VLAN 40 (管理者PCのIPのみ)
   - 宛先: VLAN 10, 20
   - 多要素認証必須

3. 全PC → インターネット
   - プロトコル: HTTPS (443), DNS (53)
   - プロキシ経由を強制

【明示的拒否ルール】
1. PC → バックアップサーバー (直接通信を禁止)
2. PC間の横方向通信 (同一VLANでも禁止)
3. IoTセグメント → 内部セグメント
4. ゲストセグメント → 内部全て

pfSense/OPNsenseでの設定例(無料UTM)

# VLANインターフェース作成
Interfaces → Assignments → VLANs
  Parent Interface: em0
  VLAN Tag: 30
  Description: USER_PC

# ファイアウォールルール設定
Firewall → Rules → USER_PC

# ルール1: ファイルサーバーへのアクセス許可
Action: Pass
Protocol: TCP
Source: USER_PC net
Destination: Single host (192.168.20.10)
Destination Port: 445 (Microsoft-DS)
Schedule: BusinessHours

# ルール2: PC間通信の拒否
Action: Block
Protocol: Any
Source: USER_PC net
Destination: USER_PC net
Log: Yes

# ルール3: インターネットはプロキシ経由のみ
Action: Pass
Protocol: TCP
Source: USER_PC net
Destination: Any
Destination Port: 443, 80

階層3: マイクロセグメンテーション(高度レベル)

対象: 100名以上、または高度なセキュリティが必要な企業
コスト: 高(EDRソリューション: 100万円〜/年)
効果: ★★★★★

同一セグメント内であっても、PC間の通信を制御します。

実装方法の比較

方式 製品例 メリット デメリット
ホストベースFW Windows Defender Firewall 無料、即座に展開可能 管理が分散、無効化リスク
プライベートVLAN Cisco/HP/Aruba スイッチ 追加コスト不要 L2レベルのみ、柔軟性低い
EDR/XDR CrowdStrike/SentinelOne AIによる脅威検知も可能 高コスト、導入負荷大
SD-WAN VMware NSX/Cisco ACI 動的、属性ベース制御 複雑、大企業向け

Windows Defender Firewallでの実装例(GPO)

# グループポリシーで全PCに展開
# Computer Configuration → Policies → Windows Settings 
# → Security Settings → Windows Defender Firewall

# ドメインプロファイル
State: On
Inbound connections: Block
Outbound connections: Allow

# 許可ルール例
New-NetFirewallRule -DisplayName "Allow File Server SMB" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 445 `
  -RemoteAddress 192.168.20.10 `
  -Action Allow `
  -Profile Domain

# PC間通信の拒否
New-NetFirewallRule -DisplayName "Block Lateral Movement" `
  -Direction Inbound `
  -Protocol Any `
  -RemoteAddress 192.168.30.0/24 `
  -Action Block `
  -Profile Domain

3. ランサムウェアを止める「通信制御」の具体例

重点的にブロックすべきプロトコル

プロトコル ポート 用途 ブロック方法 攻撃での悪用例
SMB 445/TCP ファイル共有 ファイルサーバー以外への通信を拒否 WannaCry, Ryuk, Conti
RDP 3389/TCP リモートデスクトップ 管理者PCからのみ許可 RDP総当たり攻撃
WMI/RPC 135/TCP リモート管理 運用ツールのみ許可 PsExec, WMIを使った横展開
PowerShell Remoting 5985,5986/TCP リモートPS実行 原則拒否 Living off the Land攻撃
SSH 22/TCP Linuxリモート管理 公開鍵認証必須 認証情報窃取後の侵入

ファイアウォールログで検知すべきパターン

# 危険な通信パターンの例

[ALERT] 192.168.30.55 → 192.168.30.0/24:445 (PC間のSMB)
→ ランサムウェアの横展開の可能性

[ALERT] 192.168.30.55 → 192.168.20.15:3389 (PC→サーバーのRDP)
→ 非管理者PCからのサーバー接続

[ALERT] 192.168.30.55 → 192.168.30.1-254:445 (連続スキャン)
→ ネットワーク偵察行動

[ALERT] 192.168.50.100 → 192.168.20.10:445 (IoT→ファイルサーバー)
→ 不正なアクセス(IoT機器からのファイルサーバー接続)

4. ゼロトラスト時代のネットワーク分離

従来のVLANベース分離の限界:

  • IPアドレスベースでは、在宅勤務やBYODに対応できない
  • 設定が複雑化し、ミスによる穴が発生しやすい
  • 動的な環境変化に追従できない

ソフトウェア定義境界(SDP)の考え方

【従来のVLAN】
IPアドレス: 192.168.30.50
→ VLAN 30 (業務PC)
→ ファイルサーバーへアクセス可能

【SDPベース】
デバイス属性:
  - ユーザー: 山田太郎(営業部)
  - デバイス: Windows 11 Pro
  - セキュリティ状態: パッチ最新、EDR稼働中
  - 場所: 社外(VPN接続)
→ 営業部の共有フォルダのみアクセス可能
→ パッチが古い場合は検疫ネットワークへ自動移動

実装例: Cloudflare Zero Trust(中小企業向け)

# ポリシー例
policies:
  - name: "営業部ファイルサーバーアクセス"
    decision: allow
    conditions:
      - user.department == "Sales"
      - device.os_version >= "Windows 10"
      - device.antivirus == "running"
      - time.hour >= 8 && time.hour <= 20
    destination: "file-server.company.local"

  - name: "パッチ未適用端末の隔離"
    decision: isolate
    conditions:
      - device.patch_level < 30days
    destination: "quarantine-network"

5. 【実践】既存ネットワークを段階的に分離する

フェーズ1: 可視化(Week 1-2)

目的: 現状のネットワーク通信を把握する

# 1. ネットワークフローの収集
# pfSenseの場合
System → Advanced → Miscellaneous
  → Network Address Translation
  → Enable pfflow (NetFlow)

# 2. フローログの分析
# 無料ツール: ntopng, ElasticFlow

# 確認すべきポイント
- どのPCが、どのサーバーに、どのポートで通信しているか
- 業務時間外の不審な通信はないか
- 予想外の通信経路はないか

実際の分析例:

発見事項:
✓ 総務PCが開発サーバー(Linux)にSSH接続している
  → 本来不要な通信。開発者の個人利用か、マルウェアか調査必要

✓ 複合機が外部DNSサーバー(8.8.8.8)に直接通信
  → 内部DNS(AD)を使うべき。設定ミスまたは侵害の可能性

✓ バックアップサーバーへ、全PCから445番ポートでアクセス可能
  → ランサムウェアの標的になる。即座に制限必要

フェーズ2: 重要資産の孤立化(Week 3-4)

優先順位:

  1. バックアップサーバー(最優先)
  2. ドメインコントローラー
  3. ファイルサーバー

バックアップサーバー保護の実装例

【Before】
全PC(192.168.1.0/24) → バックアップサーバー(192.168.1.200)
  ✗ 直接アクセス可能(445, 3389)

【After】
バックアップサーバー専用VLAN (VLAN 25: 192.168.25.0/24)

ファイアウォールルール:
  - ファイルサーバー → バックアップサーバー(445) ✓許可
    (スケジュールバックアップ用)
  
  - 管理者PC(192.168.40.5のみ) → バックアップサーバー(3389) ✓許可
    (管理作業用、多要素認証必須)
  
  - その他全て → バックアップサーバー ✗拒否
    (ログを有効化し、アクセス試行を記録)

フェーズ3: ゲスト・IoTの分離(Week 5-6)

【設定例: ゲストWi-Fi】

# UniFiアクセスポイントの場合
1. 新しいSSID作成: "Guest-WiFi"
2. VLAN設定: VLAN 99
3. Isolation: Enable (ゲスト間の通信も禁止)
4. Bandwidth limit: 10Mbps

# ファイアウォールルール
Source: VLAN 99
Destination: ANY (Internet)
Ports: 80, 443
Action: Allow

Source: VLAN 99
Destination: RFC1918 (Private IP)
Action: Block

フェーズ4: PC間通信の禁止(Week 7-8)

方法1: プライベートVLAN(スイッチレベル)

# Cisco Catalystの例
vlan 30
 private-vlan isolated

interface range GigabitEthernet0/10-20
 switchport mode private-vlan host
 switchport private-vlan host-association 30 30

方法2: Windows Firewall(GPOレベル)

# Active Directory GPO設定
# Computer Configuration → Policies → Administrative Templates
# → Network → Network Connections → Windows Defender Firewall

# 同一サブネット内の通信をブロック
New-NetFirewallRule -DisplayName "Block Same Subnet" `
  -Direction Inbound `
  -RemoteAddress 192.168.30.0/24 `
  -Action Block `
  -Enabled True

# 例外: ドメインコントローラーとの通信は許可
New-NetFirewallRule -DisplayName "Allow DC Communication" `
  -Direction Inbound `
  -RemoteAddress 192.168.10.10 `
  -Action Allow `
  -Enabled True

6. トラブルシューティング:分離後によくある問題

問題1: プリンターが使えなくなった

症状:

PC(VLAN 30) からプリンター(VLAN 50) への印刷ができない

解決策:

ファイアウォールで以下のポートを許可:
- TCP 9100 (RAWプリント)
- TCP 515 (LPR)
- UDP 161 (SNMP)

pfSenseの設定例:
Source: VLAN 30
Destination: VLAN 50 (Printers)
Ports: 9100, 515, 161
Action: Allow

問題2: 共有フォルダへのアクセスが遅い

症状:

VLAN分離後、ファイルサーバーへの接続が遅延

原因と対策:

原因: VLAN間ルーティングのMTU不一致

確認方法:
ping 192.168.20.10 -f -l 1472

解決策:
interface Vlan30
 mtu 1500
interface Vlan20
 mtu 1500

問題3: VPN接続後にファイルサーバーにアクセスできない

症状:

在宅勤務者がVPN接続後、社内リソースに接続できない

解決策:

VPNクライアントに適切なVLANを割り当て

OpenVPN設定例:
client-config-dir ccd

# ccd/yamada-taro
ifconfig-push 192.168.30.100 255.255.255.0
push "route 192.168.20.0 255.255.255.0"  # サーバーセグメントへのルート

7. コスト別実装プラン

プラン1: 最小コスト(〜10万円)

対象: 従業員10名以下

機器構成:
- VLAN対応L2スイッチ: TP-Link TL-SG108PE (約8,000円)
- UTM: Raspberry Pi 4 + pfSense (約15,000円)

実装内容:
- VLAN 2つのみ(業務用 / ゲスト)
- 基本的なファイアウォールルール

限界:
- パフォーマンス低め
- ハードウェア冗長性なし

プラン2: 標準プラン(30〜50万円)

対象: 従業員30-100名

機器構成:
- L3スイッチ: HPE OfficeConnect 1920S (約10万円)
- UTM: Fortinet FortiGate 60F (約30万円/年)

実装内容:
- VLAN 4-6個(部門別 / サーバー / IoT / ゲスト)
- アプリケーション制御
- IPS/IDS
- VPN

メリット:
- エンタープライズレベルの保護
- 管理画面が直感的
- サポートあり

プラン3: エンタープライズ(100万円〜)

対象: 従業員100名以上

機器構成:
- Cisco Catalyst 9300シリーズ
- Palo Alto Networks PA-3220
- EDR: CrowdStrike Falcon

実装内容:
- マイクロセグメンテーション
- ゼロトラスト アーキテクチャ
- AI脅威検知
- SIEM連携

8. 効果測定:分離の成功を確認する

テスト方法

# 1. 横展開のシミュレーション
# PC A(VLAN 30)からPC B(VLAN 30)への通信を試みる

# PC Aで実行
ping 192.168.30.51  # PC Bのアドレス
→ 期待結果: タイムアウト(PC間通信がブロックされている)

# 2. 不正なSMBアクセスのテスト
net use \\192.168.20.15\C$  # バックアップサーバーのCドライブ
→ 期待結果: アクセス拒否

# 3. ファイアウォールログの確認
tail -f /var/log/pfSense/filter.log | grep BLOCK
→ 期待結果: ブロックされた通信が記録されている

定量的な効果測定

【KPI例】

1. セグメント間の不正通信試行
   Before: 0回(検知不可)
   After: 週20回検知してブロック

2. ランサムウェア感染シミュレーション時の拡散範囲
   Before: 全250台が理論上危険
   After: 最大30台(1セグメント内)に限定

3. バックアップサーバーへの不正アクセス試行
   Before: ログなし
   After: 月5回検知(内部偵察の兆候)

9. まとめ:ネットワークは「疑うこと」から設計する

セグメンテーションの本質

ネットワーク分離の本質は、**「ネットワークの境界を、オフィスの外壁から、すべてのデバイス・サーバーの周りまで引き込むこと」**にあります。

実装の優先順位

【Week 1-2】可視化
  └→ 通信フローの把握

【Week 3-4】バックアップサーバーの隔離
  └→ 最後の砦を守る

【Week 5-6】ゲスト・IoTの分離
  └→ 信頼境界の明確化

【Week 7-8】PC間通信の制限
  └→ 横展開の防止

【Week 9-】継続的な改善
  └→ ログ分析とルール最適化

忘れてはいけない原則

  1. デフォルト拒否: 明示的に許可したもの以外は全て拒否
  2. 最小特権: 必要最小限の通信のみ許可
  3. 多層防御: VLAN + FW + エンドポイント保護
  4. 継続的監視: 分離しただけでは不十分、ログ監視が必須

「社内だから安全」という過信を捨て、すべての通信を疑うことで、たとえランサムウェアが侵入しても「小さな火事」で済ませることができます。


参考リソース

設定テンプレート集

ネットワーク可視化ツール

  • ntopng (無料): フロー分析、リアルタイム監視
  • Wireshark: パケット詳細解析
  • Nagios/Zabbix: ネットワーク監視・アラート

セキュリティ検証ツール

  • Nmap: ポートスキャン、脆弱性診断
  • Metasploit: ペネトレーションテスト(許可された環境のみ)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?