mcpField
D
deploying-software-defined-perimeter

deploying-software-defined-perimeter

github.com/mukul975セキュリティ35.2k49 回インストール8 週間前に更新
リポジトリ

deploying-software-defined-perimeter について

Software-Defined Perimeter の導入と検証を支援するセキュリティスキルです。CSA SDP の構成要素やアクセス制御、ゼロトラストの検証を扱います。

主な機能

  1. 01CSA SDP の導入手順
  2. 02SPA と mTLS の設定
  3. 03コントローラーとゲートウェイの構成
  4. 04アクセス ポリシーの設計
  5. 05NIST ゼロトラスト検証

活用シーン

  1. 01SDP 導入の計画
  2. 02ゲートウェイのアクセス制御設定
  3. 03ゼロトラスト導入要件の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill deploying-software-defined-perimeter

インストール後、Claude Code で/deploying-software-defined-perimeterを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

詳細

Software-Defined Perimeter のデプロイ

前提条件

  • ゼロトラストの原則(NIST SP 800-207)の理解
  • CSA Software-Defined Perimeter 仕様の知識
  • PKI および相互 TLS 認証の理解
  • ネットワークセキュリティアーキテクチャの経験

概要

Software-Defined Perimeter(SDP)は、個々のリソースの周囲に動的にプロビジョニングされる、ID 中心のperimeterを作成することでゼロトラストを実現します。Cloud Security Alliance(CSA)によって定義されたSDPは、認証と認可が完了するまでサービスを隠す「ダーククラウド」アプローチにより、アプリケーションインフラストラクチャを権限のないユーザーから見えない状態にします。従来のVPNとは異なり、SDPは検証済みのユーザーと特定のアプリケーションの間に1対1の暗号化接続を確立します。

このスキルでは、CSA v2.0 仕様を使用したSDPのデプロイ、Single Packet Authorization(SPA)の実装、SDPコントローラーとゲートウェイの設定、そしてNIST SP 800-207の要件に照らしたデプロイの検証について説明します。

使用するタイミング

  • 環境においてSoftware Defined Perimeter機能をデプロイまたは設定する場合
  • コンプライアンス要件に沿ったセキュリティ統制を確立する場合
  • この分野のセキュリティアーキテクチャを構築または改善する場合
  • この実装を必要とするセキュリティアセスメントを実施する場合

前提条件

  • ゼロトラストアーキテクチャの概念とツールへの理解
  • 安全な実行のためのテストまたはラボ環境へのアクセス
  • 必要な依存関係がインストールされたPython 3.8以降
  • テスト活動に対する適切な承認

アーキテクチャ

SDPコンポーネント(CSA仕様)
┌─────────────────────┐
│ SDP Controller       │
│ - Authentication     │
│ - Authorization      │
│ - Policy management  │
│ - Key management     │
└──────────┬──────────┘
           │
    ┌──────┴──────┐
    │             │
    v             v
┌────────┐  ┌────────────┐
│ IH     │  │ AH         │
│(Client)│  │(Gateway)   │
│        │  │            │
│ SPA    │──│ Protected  │
│ mTLS   │  │ Resources  │
└────────┘  └────────────┘

IH = Initiating Host (User Device)
AH = Accepting Host (Application Gateway)
SPA = Single Packet Authorization
SDPデプロイモデル
  1. クライアントからゲートウェイ: ユーザーデバイスがSDPゲートウェイを経由してバックエンドアプリケーションに接続します
  2. クライアントからサーバー: ユーザーとアプリケーションサーバー間の直接接続
  3. サーバーからサーバー: SDPを経由したワークロード間通信
  4. ゲートウェイからゲートウェイ: 従来のVPNトンネルを置き換えるサイト間接続

主要な概念

Single Packet Authorization(SPA)

SPAは、SDPゲートウェイがデフォルトですべてのTCP/UDPパケットを破棄するネットワークセキュリティの仕組みです。接続を確立する前に、暗号署名された単一のパケットを送信する必要があります。ゲートウェイはSPAパケットを検証し、その後にのみ認証済みセッション用の一時的なポートを開きます。これにより、ゲートウェイはポートスキャナーから見えなくなります。

相互TLS(mTLS)

SPAの検証後、クライアントとサーバーの双方がX.509証明書を使用して互いを認証します。この双方向認証により、中間者攻撃を防ぎ、両方のエンドポイントが検証されることを保証します。

動的プロビジョニング

SDP接続は、リアルタイムのポリシー評価に基づいてオンデマンドでプロビジョニングされます。永続的なネットワークトンネルは存在せず、各セッションは個別に認可され、暗号化されます。

ワークフロー

フェーズ1: SDPコントローラーのデプロイ
  1. SDPコントローラーのデプロイ

    • 堅牢で冗長化されたインフラストラクチャにSDPコントローラーをインストールする
    • 証明書発行のためのPKI統合を設定する
    • 認証バックエンド(LDAP、SAML、OIDC)を設定する
    • アプリケーション定義を含むポリシーデータベースを設定する
    • すべてのコントローラーの判断について監査ログを有効にする
  2. 認証の設定

    • SAML 2.0またはOIDCを介してエンタープライズIdPと統合する
    • デバイス証明書の登録(SCEP/EST)を設定する
    • 多要素認証の要件を有効にする
    • 証明書失効チェック(OCSP/CRL)を設定する
  3. アクセスポリシーの定義

    • ユーザー/グループを認可されたアプリケーションにマッピングする
    • アプリケーションごとにデバイスのポスチャ要件を定義する
    • 文脈条件(場所、時間、リスクレベル)を設定する
    • セッション期間と再認証間隔を設定する
フェーズ 2: SDP ゲートウェイのデプロイ
  1. 受け入れホスト(ゲートウェイ)のデプロイ

    • 保護対象アプリケーションの前段に SDP ゲートウェイインスタンスをインストールする
    • デフォルトドロップのファイアウォールルール(すべての受信トラフィックを拒否)を設定する
    • 指定したポートで SPA リスナーを有効にする
    • コントローラーが発行した証明書で mTLS を設定する
    • ヘルスモニタリングとフェイルオーバーを設定する
  2. アプリケーション定義の設定

    • 保護対象の各アプリケーションをコントローラーに登録する
    • バックエンドサーバーの IP アドレス、ポート、プロトコルを定義する
    • 複数インスタンスのアプリケーション向けにロードバランシングを設定する
    • アプリケーションのヘルスチェックを設定する
フェーズ 3: クライアントのデプロイ
  1. イニシエーティングホスト(クライアント)のデプロイ

    • ユーザーのエンドポイントに SDP クライアントソフトウェアをインストールする
    • 自動プロビジョニングを通じてデバイス証明書を登録する
    • SPA 鍵素材の配布を設定する
    • 認証フロー(SPA → mTLS → アプリケーションアクセス)をテストする
  2. エンドツーエンドのフローの検証

    • SPA パケットがゲートウェイで受理されることを確認する
    • 有効な証明書で mTLS ハンドシェイクが成功することを確認する
    • SDP トンネル経由でアプリケーションへのアクセスをテストする
    • 未承認のアクセスがブロックされることを確認する(SPA がなければゲートウェイは不可視)
フェーズ 4: 運用検証
  1. セキュリティテスト

    • SDP ゲートウェイにポートスキャンを実行し、不可視であることを確認する(すべてのポートが filtered/closed と表示される)
    • 有効な SPA なしで接続を試行する(失敗し、応答がないことを確認する)
    • 失効したクライアント証明書でテストする(アクセスが拒否されること)
    • 認可された 1 つのアプリケーションから、未認可のアプリケーションへの横方向移動を試行する
    • 監査証跡の完全性を検証する
  2. モニタリングと保守

    • SDP コントローラーとゲートウェイのログを SIEM に統合するよう設定する
    • SPA 試行の失敗や証明書エラーに対するアラートを設定する
    • 証明書のローテーションスケジュールを策定する
    • SDP イベントに対するインシデント対応手順を文書化する

検証チェックリスト

  • HA と監査ログを備えた SDP コントローラーをデプロイ済み
  • SAML/OIDC と MFA による IdP 連携をテスト済み
  • デフォルトドロップのファイアウォールを備えた SDP ゲートウェイをデプロイ済み
  • SPA の仕組みを検証済み(ポートスキャンに対してゲートウェイが不可視)
  • クライアントとゲートウェイの間で mTLS を確立済み
  • アクセスポリシーがユーザー/アプリケーションごとに最小権限を強制している
  • デバイス証明書の登録を自動化済み
  • 未承認のアクセス試行が静かにブロックされる
  • アプリケーション間の横方向移動を防止済み
  • ログが SIEM にストリーミングされ、アラートを設定済み
  • 証明書のローテーションと失効の手順をテスト済み

参考文献

  • CSA Software-Defined Perimeter Architecture Guide v3
  • CSA SDP Specification v2.0
  • NIST SP 800-207: Zero Trust Architecture
  • CISA Zero Trust Maturity Model v2.0
  • fwknop: Single Packet Authorization implementation

コメント