マイクロセグメンテーションとSoftware-Defined Perimeter
ラテラルムーブメントを制限するネットワークのマイクロセグメントを設計し、Software-Defined Perimeterによって未承認ユーザーから内部リソースを見えなくする方法を学びます。
「マイクロセグメンテーションとSoftware-Defined Perimeter」はCoddyKit上の無料Security+ Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSecurity+ Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Security+ Academyコースには全4レッスンが含まれています。
フラットネットワークが危険な理由
フラットネットワークでは、攻撃者が1台のエンドポイントに侵入すると、ほぼすべての他のシステムと自由に通信できてしまいます。これにより、攻撃者が侵害されたワークステーションから機密サーバー、ドメインコントローラー、データストアへと移動するラテラルムーブメントが急速に進みます。マイクロセグメンテーションは、ネットワークを小さく分離されたゾーンに分割することで、この問題に直接対処します。
マイクロセグメンテーションとは
マイクロセグメンテーションは、ワークロードが明示的に認可された相手とのみ通信する、きめ細かなセグメントにネットワークを分割します。大まかな単位でセグメント化する従来のVLANとは異なり、マイクロセグメンテーションはワークロードまたはアプリケーションレベルでポリシーを適用し、多くの場合、個々のコンテナや仮想マシンにまで適用します。トラフィックはデフォルトで拒否され、許可されたフローだけが明示的に許可されます。
East-WestトラフィックとNorth-Southトラフィック
ネットワークトラフィックには、2つの方向があります。North-Southトラフィックは、ユーザーやインターネットと内部リソースの間を流れるトラフィックです(垂直方向)。East-Westトラフィックは、データセンター内部のワークロード間を流れるトラフィックです(水平方向)。従来のファイアウォールは主にNorth-Southトラフィックを検査します。マイクロセグメンテーションは、初回の侵害後に攻撃者が内部システム間を移動する経路であるEast-Westトラフィックに重点を置きます。
# Example traffic flow policy:
# ALLOW: web-tier -> app-tier on port 8080
# ALLOW: app-tier -> db-tier on port 5432
# DENY: web-tier -> db-tier (direct DB access blocked)
# DENY: db-tier -> internet (no outbound from DB)
# DENY: workstation -> db-tier (users cannot reach DB directly)Software-Defined Networking(SDN)の基礎
Software-Defined Networking(SDN)は、制御プレーン(トラフィックの転送先に関する判断)とデータプレーン(パケットの実際の転送)を分離します。集中型のSDNコントローラーが転送ルールをネットワークデバイスに設定するため、物理スイッチを再構成せずに、ソフトウェアでマイクロセグメンテーションを実装できます。これにより、大規模な環境全体でポリシーを迅速かつ一貫性のある形で変更し、監査できるようになります。
Software-Defined Perimeters(SDP)
Software-Defined Perimeter(SDP)は、ネットワークリソースをデフォルトで見えない状態にします。つまり、認証されていない接続要求には応答しません。ユーザーはまずSDPコントローラーで認証を行い、コントローラーがアイデンティティとデバイスのセキュリティ状態を確認します。その後、アクセス権を持つ特定のリソースに対してのみ、暗号化されたトンネルを動的に作成します。これにより、ネットワークレベルの偵察とラテラルムーブメントの経路を排除できます。
Zero Trust Network Access(ZTNA)
Zero Trust Network Access(ZTNA)は、SDPの概念を実装する製品カテゴリーです。広範なネットワークアクセスを許可するVPNとは異なり、ZTNAは特定のアプリケーションにのみアクセスを許可します。ユーザーはZTNAブローカーに接続してアイデンティティとデバイスの認証を受け、ブローカーが対象アプリケーションへの接続をプロキシします。代表的な実装には、Cloudflare Access、Zscaler Private Access、Palo Alto Prisma Accessがあります。
クラウドでのマイクロセグメンテーションの実装
クラウドプラットフォームには、ネイティブのマイクロセグメンテーションツールが用意されています。AWS Security Groupsでは、EC2インスタンスごとにインバウンドとアウトバウンドのルールを細かく設定できます。Azure NSGs(Network Security Groups)は、サブネットまたはNICのレベルで適用されます。Google VPC Firewall Rulesは、タグを対象に設定できます。いずれも暗黙の拒否モデルで動作し、明示的に許可されたトラフィックだけが通過するため、クラウド環境でのマイクロセグメンテーションの基盤として自然に利用できます。
# AWS Security Group rule example (conceptual)
# Web tier security group:
# Inbound: TCP 443 from 0.0.0.0/0 (internet HTTPS)
# Inbound: TCP 80 from 0.0.0.0/0 (HTTP, redirect to HTTPS)
# App tier security group:
# Inbound: TCP 8080 from web-tier-sg only
# DB tier security group:
# Inbound: TCP 5432 from app-tier-sg only
# NO inbound from internet or web tierコンテナのマイクロセグメンテーションにおけるサービスメッシュ
コンテナ化された環境では、IstioやLinkerdなどのサービスメッシュが、ポッド間の相互TLS(mTLS)によってマイクロセグメンテーションを実装します。サービス間のすべての呼び出しが認証および暗号化され、どのサービス間の通信を許可するかを認可ポリシーで明示的に定義します。これにより、ゼロトラストのEast-West制御を、Kubernetesクラスター内の個々のマイクロサービスにまで適用できます。
# Istio AuthorizationPolicy example (conceptual)
# Allow only checkout service to call payment service:
# source.namespace: 'shop'
# source.principal: 'cluster.local/ns/shop/sa/checkout'
# to operation: host 'payment.shop.svc.cluster.local'
# effect: ALLOW
# All other traffic to payment service: DENY (default)ネットワークセグメンテーションとマイクロセグメンテーション
従来のネットワークセグメンテーションでは、VLAN、DMZ、サブネットを使用して大まかなセキュリティゾーンを作成します。マイクロセグメンテーションははるかにきめ細かく、サブネットレベルではなくワークロードまたはプロセスレベルでポリシーを適用します。VLANには、相互通信を信頼された50台のサーバーが含まれる場合があります。一方、マイクロセグメンテーションでは、そのVLAN内の特定のサーバーだけが、特定の相手の特定のポートに接続できるようにし、ラテラルムーブメントの経路を大幅に縮小します。
可視性とポリシー管理
効果的なマイクロセグメンテーションには、ポリシーを適用する前に、既存のネットワークフローを包括的に可視化することが必要です。検出ツールは、ワークロード間の実際の通信パターンをマッピングします。一般的な方法は、まず監視モードで導入し、すべてのトラフィックを観察してポリシー案を生成し、その後強制モードに切り替えて未認可のフローを拒否することです。これにより、導入時に正当なトラフィックを誤ってブロックすることを防げます。
セグメンテーションによる被害範囲の抑制
マイクロセグメンテーションの主なセキュリティ上の利点は、被害範囲を縮小することです。攻撃者が営業VLAN内のワークステーションを侵害しても、マイクロセグメンテーションのポリシーによって、そのワークステーションから財務データベース、人事システム、ドメインコントローラーへの通信を防止できます。攻撃者は侵入したセグメント内に隔離されるため、被害が広がる前にインシデントを封じ込め、復旧しやすくなります。
クイックチェック
このレッスンで扱ったCompTIA Security+(SY0-701)の概念について理解度を確認しましょう。
レッスンのまとめ
このレッスンでは、マイクロセグメンテーションがワークロードレベルでネットワークを分割することでラテラルムーブメントを制限すること、ソフトウェア定義境界がIDの検証までリソースを見えなくすること、そしてZTNAがネットワークレベルではなくアプリケーションレベルのアクセスを許可することでVPNに取って代わることを学びました。次は、条件付きアクセス ポリシーによってIDが新たな境界となる仕組みを見ていきます。
よくある質問
「マイクロセグメンテーションとSoftware-Defined Perimeter」レッスンは無料ですか?
はい。「マイクロセグメンテーションとSoftware-Defined Perimeter」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Security+ Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Security+ Academyコースには全4レッスンが含まれています。
「マイクロセグメンテーションとSoftware-Defined Perimeter」で何を学びますか?
ラテラルムーブメントを制限するネットワークのマイクロセグメントを設計し、Software-Defined Perimeterによって未承認ユーザーから内部リソースを見えなくする方法を学びます。 ブラウザで直接実行するハンズオンコードでSecurity+ Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Security+ Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSecurity+ Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「マイクロセグメンテーションとSoftware-Defined Perimeter」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSecurity+ Academyレッスンでコードを書いて実行できますか?
はい。すべてのSecurity+ Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ゼロトラストの原則:決して信頼せず、常に検証する
- マイクロセグメンテーションとSoftware-Defined Perimeter
- 新たな境界としてのアイデンティティ:条件付きアクセス
- ゼロトラスト成熟度モデルと移行計画