ゼロトラストネットワークアクセスの設計原理
VPN で社内に入れたら全部信頼、という前提を捨てる設計を理解できます。接続ごとに ID・デバイス・文脈を毎回検証し、侵入後の横移動まで構造的に封じる仕組みを解説します。
- 1.境界防御は「内側は信頼できる」を前提とするが、ひとたび内部に侵入されると IP だけで横移動できてしまう。ゼロトラストはネットワーク位置を信頼の根拠から外し、すべての接続を毎回検証する。
- 2.アクセス判定は ID(認証された主体)・デバイス(ポスチャ)・コンテキスト(時刻・場所・リスクスコア)を入力に、PEP がリクエストごとに PDP へ問い合わせて動的に許可/拒否を決める。
- 3.マイクロセグメンテーションで通信を ID 単位の最小許可に絞り、明示的に許可された経路以外は既定拒否にする。これにより侵害されたワークロードからの到達範囲(ブラスト半径)を最小化する。
境界防御モデルの構造的な限界
従来のネットワークセキュリティは 境界防御(ペリメータモデル) に立っていました。ファイアウォールや VPN で「内側」と「外側」を区切り、内側に入れた主体は信頼する、という前提です。一度 VPN で社内ネットワークに接続すれば、その後は IP アドレスやネットワークセグメントだけで多くのリソースへ到達できます。詳しくは /network/vpn/ を参照してください。
この前提が崩れる理由は明確です。ネットワーク位置(IP・セグメント)は身元を証明しない のに、それを信頼の根拠にしてしまっている点です。攻撃者が1台の端末を踏み台にして内側へ入る、あるいは正規の VPN 認証情報を盗むと、そこから先は「内部 IP からのアクセス」として扱われ、他システムへ自由に 横移動(ラテラルムーブメント) できます。境界は外周を一度突破されると内部が無防備、という卵の殻のような構造になっています。
(1) 内部ネットワークは信頼でき、攻撃者はいない。(2) 主体はネットワークに「入る」ときに一度だけ認証すればよい。(3) 物理的な位置(社内 LAN かどうか)が信頼の代理指標になる。ゼロトラストはこの3つすべてを明示的に否定するところから設計を始めます。
ゼロトラストの原則:暗黙の信頼をゼロにする
ゼロトラスト(NIST SP 800-207)の核心は 「決して信頼せず、常に検証する(never trust, always verify)」 という一文に集約されます。ネットワークの内外を問わず、いかなる接続も無条件には信頼しません。具体的には次の原則で設計します。
- 既定拒否(deny by default):明示的に許可された通信だけを通し、それ以外はすべて拒否する。許可リスト方式。
- 接続ごとの検証:一度の認証で長く信頼するのではなく、セッション単位・リクエスト単位で認証・認可を再評価する。
- 最小権限:主体には必要最小限のリソースへのアクセスのみを与える。
- ネットワーク位置を信頼の根拠にしない:社内 LAN からでも外部からでも、判定ロジックは同一。
ゼロトラストでは「誰か(認証)」と「何をしてよいか(認可)」を接続のたびに評価します。認証済みでも、デバイスが要件を満たさなければ拒否する、という判断が起こりえます。「一度通れば以後フリーパス」という設計を避けることが、横移動を止める要点です。
アクセス判定の構造:PEP と PDP
ゼロトラストの実装は、判定を下す頭脳と、それを通信経路上で強制する関所に分離されます。
| コンポーネント | 役割 | 具体例 |
|---|---|---|
| PDP(Policy Decision Point) | ポリシーに基づき許可/拒否を決定する頭脳 | ポリシーエンジン・トラストアルゴリズム |
| PEP(Policy Enforcement Point) | 通信経路上で判定を強制する関所 | アクセスプロキシ・ゲートウェイ・サイドカー |
| PIP(Policy Information Point) | 判定の入力となる情報源 | ID プロバイダ・デバイス管理・脅威インテリジェンス |
主体は保護対象リソースに直接アクセスできません。必ず PEP を経由し、PEP は接続の都度 PDP に「この主体・このデバイス・この文脈で、このリソースへのアクセスを許すか」を問い合わせます。PDP は許可なら PEP に対しセッション確立を指示し、PEP がトンネルや接続を開きます。リソース自体はインターネットに直接公開されず、PEP の背後に隠れます(リソースの不可視化)。
[主体/デバイス] --(1)接続要求--> [PEP(アクセスプロキシ)]
│ (2)判定要求
▼
[PDP(ポリシーエンジン)]
│ (3)情報収集
┌──────────┼──────────┐
[ID プロバイダ] [デバイス管理] [リスク/脅威情報]
│
▼ (4)許可/拒否
[主体] <===許可された経路のみ===> [PEP] ──> [保護対象リソース]
判定の入力:ID・デバイス・コンテキスト
PDP の判定は単一要素ではなく、複数のシグナルの合成で行われます。これが境界防御の「IP だけ」との決定的な違いです。
- ID(主体):ユーザーやワークロードが暗号的に誰であるか。多要素認証(MFA)で確かめた人間の ID か、証明書ベースのワークロード ID(mTLS など)を使う。ネットワーク位置ではなく身元で判断する基盤については /network/mtls-spiffe/ を参照してください。
- デバイス(ポスチャ):接続元デバイスが要件を満たすか。OS パッチ適用状況、ディスク暗号化、EDR の稼働、管理対象端末かどうか、といった デバイスポスチャ を検査する。
- コンテキスト:時刻、地理的位置、これまでの行動との乖離、認証の新しさ、計算された リスクスコア。普段と違う国からの深夜アクセスなら、追加認証を要求する、といった判断に使う。
これらを トラストアルゴリズム が重み付けして合成し、最終的に許可/拒否、あるいは「追加認証を要求」「読み取りのみ許可」といった条件付き許可を出します。判定が連続値(信頼スコア)であり、しきい値で段階的に対応を変えられる点が、二値の許可リストより柔軟です。
ゼロトラストでの「信頼」は、あらかじめ付与される静的なラベルではなく、リクエストのたびに最新シグナルから計算される値です。ある瞬間に許可された主体が、デバイスのパッチが切れた、異常な振る舞いを検知した、といった理由で次のリクエストでは拒否される——この動的さが横移動と内部脅威への耐性を生みます。
マイクロセグメンテーション:横移動を封じる
判定の仕組みを整えても、ワークロード同士がフラットなネットワークで自由に到達できるなら、侵害された1台から横移動が起こります。これを防ぐのが マイクロセグメンテーション です。
従来の VLAN によるセグメント分割は「サブネット単位」で粗く、同一サブネット内は素通しでした。マイクロセグメンテーションは粒度を 個々のワークロード(ポッド・サービス)単位 まで細かくし、ID ベースで「どの主体がどの宛先のどのポートへ通信してよいか」を最小許可で定義します。許可されていない経路は既定で拒否します。
従来(フラット内部) マイクロセグメンテーション
┌─────────────────┐ ┌─────────────────┐
│ A ── B ── C ── D │ │ A ──► B C D │
│ 同一セグメント内は │ │ (A→B のみ許可)│
│ 相互に素通し │ │ 他は既定拒否 │
└─────────────────┘ └─────────────────┘
1台侵害で全台に到達 侵害の影響を最小経路に限定
強制点は、各ノードの分散ファイアウォール(ステートフルなフロー追跡を伴う。仕組みは /network/conntrack-stateful-firewall/ を参照)や、サイドカープロキシ層に置かれます。ポリシーは IP ではなく ワークロードの ID やラベル で書くため、ポッドが再スケジュールされて IP が変わってもルールは追従します。これにより、ある1つのワークロードが侵害されても、攻撃者が到達できる範囲(ブラスト半径)が明示的に許可された隣接経路に限定されます。
既定拒否を導入すると、未知の正規通信まで遮断して障害を起こしがちです。まず可視化(フローの観測)で正常な通信マトリクスを学習し、ログのみのモード(dry-run)で影響を評価してから強制に切り替えるのが定石です。また「障害時に全許可へフォールバックする(フェイルオープン)」設定は、ゼロトラストの前提を一瞬で無効化するため、可用性と安全性のどちらを既定にするかを意図的に設計する必要があります。
ZTNA が実現するもの
ゼロトラストネットワークアクセス(ZTNA)は、これらの原理を「リモートアクセス」に適用した形態です。VPN がネットワーク全体への到達を与えていたのに対し、ZTNA は アプリケーション単位 でアクセスを仲介します。主体は PEP(ブローカー)にだけ接続し、リソースは外部から不可視のまま、許可されたアプリへの接続だけがアウトバウンド方向に確立されます。
整理すると、ゼロトラストの設計は3つの分離で成り立ちます。身元の確立(ID・デバイス・コンテキストの収集)、判定(PDP によるポリシー評価)、強制(PEP とマイクロセグメンテーション)。この3層を独立させ、ネットワーク位置という曖昧な代理指標を信頼の根拠から完全に外す——接続のたびに「お前は誰で、その端末は健全で、いま許してよい文脈か」を問い直し続けることが、境界が消えた現代のネットワークにおける防御の本質です。
ネットワーク Article
ゼロトラストネットワークアクセスの設計原理を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ゼロトラスト
比較で見る軸
難易度: advanced / カテゴリ: ネットワーク / タグ数: 6
導入後に効く点
アクセス判定は ID(認証された主体)・デバイス(ポスチャ)・コンテキスト(時刻・場所・リスクスコア)を入力に、PEP がリクエストごとに PDP へ問い合わせて動的に許可/拒否を決める。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- ネットワーク
- タグ数
- 6
判断チェックリスト
- 自社の用途が「ゼロトラスト / ZTNA」に近いか確認する。
- 強みである「境界防御は「内側は信頼できる」を前提とするが、ひとたび内部に侵入されると IP だけで横移動できてしまう。ゼロトラストはネットワーク位置を信頼の根拠から外し、すべての接続を毎回検証する。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。