| この記事の要点 |
|
概要
ゼロトラスト(Zero Trust)は、「何も信用しない(Never Trust, Always Verify)」を出発点とするセキュリティの設計思想です。従来の防御は、ファイアウォールで社内ネットワークの「境界」を守り、「境界の内側(社内 LAN)は安全、外側は危険」という前提に立っていました(境界防御モデル)。しかしクラウド利用やリモートワークが当たり前になり、攻撃者が一度内部に侵入すれば自由に動き回れるこのモデルの限界が明らかになりました。ゼロトラストは「社内・社外」という区別をやめ、すべてのアクセスを信用せず、その都度検証するという発想に転換します。
仕組み
境界防御の問題点は明快です。VPN や ファイアウォールで「中に入れた人」を信用してしまうと、認証情報を盗まれて侵入された場合や、内部の端末がマルウェアに感染した場合に、攻撃者が内部を横方向に動き回る(ラテラルムーブメント)のを止められません。城壁(境界)さえ越えられれば、城内は無防備だったのです。
ゼロトラストはこれを次の原則で克服します。
- 常時検証:ネットワークの位置(社内/社外)を信用の根拠にしない。アクセスのたびに、ユーザー・端末・コンテキストを認証・認可する
- 最小権限:各ユーザー・サービスには、必要なリソースへの最小限のアクセスのみ与える
- 侵害前提(Assume Breach):「すでに侵入されているかもしれない」と考え、被害の封じ込めを重視する
これを技術的に支えるのがマイクロセグメンテーションです。従来の大きなネットワークセグメントを、リソースやワークロード単位で細かく区切り、それぞれの間の通信を個別に制御します。これにより、仮に 1 つのセグメントが侵害されても、被害がそこに封じ込められ、横展開を防げます。個々の通信は TLS や mTLS で暗号化・相互認証されます。
実践例として有名なのが Google の BeyondCorp です。社内ネットワークという特別な信頼領域をなくし、すべてのアクセスをインターネット経由の業務アプリと同等に扱い、端末の状態とユーザー認証だけを根拠にアクセスを許可します。これにより「VPN を張る」という概念そのものを置き換えました。このアプローチは ZTNA(Zero Trust Network Access) として製品化されています。
近年は SASE(Secure Access Service Edge) という枠組みも登場しました。ネットワーク機能(SD-WAN 等)とセキュリティ機能(ZTNA・クラウド型ファイアウォール・Web フィルタ)をクラウド上で統合提供し、どこからアクセスしても一貫したゼロトラストのポリシーを適用できるようにするものです。
設定・実用例
ゼロトラストは製品・思想であり 1 コマンドでは実現しませんが、考え方を反映した設定の例を示します。たとえば Kubernetes の NetworkPolicy で「デフォルト全拒否」とし、必要な通信だけを明示的に許可するのはマイクロセグメンテーションの実践です。
# すべての Pod 間通信をデフォルトで拒否する NetworkPolicy
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-all
spec:
podSelector: {} # 全 Pod が対象
policyTypes:
- Ingress
- Egress
# この上に「frontend から backend の 8080 だけ許可」など
# 個別の許可ルールを最小権限で追加していくこのように「まず全拒否、必要なものだけ許可」を各リソースの粒度で徹底することが、ゼロトラスト的なネットワーク設計の出発点になります。
主な用途
- リモートワーク基盤:VPN に依存せず、どこからでも安全に業務アプリへアクセス
- クラウド/マルチクラウド:境界が曖昧な環境でのアクセス制御
- 内部不正・横展開対策:マイクロセグメンテーションで被害を局所化
- M&A・委託先連携:信頼できないネットワークとの安全な接続
比較テーブル
| 観点 | 境界防御モデル | ゼロトラスト |
|---|---|---|
| 信頼の前提 | 社内は信用、社外は危険 | 社内外を問わず信用しない |
| 認証のタイミング | 入口で 1 回 | アクセスのたび(常時検証) |
| 侵入後の挙動 | 横展開しやすい | セグメントに封じ込め |
| 権限 | 広めに付与しがち | 最小権限 |
| 代表例 | 従来 VPN・FW | BeyondCorp・ZTNA・SASE |
注意点
- 一夜にして移行できない。既存の境界防御を残しつつ段階的に導入するのが現実的
- 認証・認可の基盤(IDaaS・端末管理)が前提。これらが弱いとゼロトラストは成立しない
- 「製品を買えばゼロトラスト」ではない。あくまで設計思想であり、運用設計が肝心
- 常時検証はユーザー体験を損ねうる。リスクに応じた認証強度(リスクベース認証)で調整する
関連リンク
子ページはありません
- TLS/SSLの仕組み
- 証明書と認証局(CA)
- ファイアウォール
- iptables/nftables
- VPN
- IPsec
- WireGuard
- ゼロトラストネットワーク
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- djangoのテンプレートの作成とヘッダー・フッターの共通化 2026-10-03 21:41:49
- テンプレートフラグメント(ヘッダー等の共有化) 2026-10-03 21:41:49
- reCAPTCHA v3 使い方(サンプル付き) 2026-10-03 21:37:05
- Content-Type一覧|MIMEタイプとはとHTTPでの主な使用場面 2026-10-03 21:37:05
- SpringにおけるAOPの使い方 2026-10-03 21:37:05
- X (Twitter) API でツイートできないがエラーが出ない問題の原因と対処 2026-10-03 11:33:01
- X (Twitter) API アプリケーション登録完全ガイド|v2・Bearer Token・OAuth 2.0 PKCE 2026-10-03 11:33:01
- X (Twitter) API 完全ガイド|従量課金の料金・単価(2026年10月)と v2 移行 2026-10-03 11:32:40
- Google DeepMind とは?Gemini・AlphaFold の開発元 2026-10-03 11:26:56
- Cursor とは?AI 統合型コードエディタの使い方・料金 2026-10-03 11:26:56
- Claude (Anthropic) とは?AIチャットの使い方・モデルファミリ・API 2026-10-03 11:26:56
- AIベンダー一覧:OpenAI・Anthropic・Google DeepMind・Microsoft・Meta 2026-10-03 11:26:56
- クラウド・インフラ完全ガイド — AWS/Azure/GCP/Kubernetes 2026-10-03 11:26:56
- テキストエディタ完全比較 (VS Code / Cursor / Vim / Emacs / IDE) 2026-10-03 11:26:56
- プログラミング学習プラットフォーム|Scratch・micro:bit ほか 2026-10-03 11:26:56