📌 結論:EKSを守る3つのセキュリティ機能
「盗聴」を防止
🏠 住人の電話を暗号化
盗み聞きされても安心
「危険な入居者」を阻止
🏠 厳格な入居審査
怪しい人は入居拒否
「不正移動」を防止
🏠 部屋間の通行ルール
許可なく他の部屋へ行けない
🏢 EKSクラスター = 高級タワーマンション
(5階)
frontend
api
(3階)
backend
database
🔒 ノード間暗号化の仕組み
🎯 目的: ノード間の通信を暗号化して「盗聴」を防止
"password123"
"x8K#mP@..."
🏠 マンションのたとえ:
3階と5階の住人が電話するとき、廊下で誰かが盗み聞きしても
「@#$%^&*...」
← 暗号化されているから内容がわからない!
📋 ポッドセキュリティの仕組み
🎯 目的: 危険な権限を持つPodのデプロイを阻止
✓ 特権モードチェック
✓ ホストネットワークチェック
✓ 危険なCapabilityチェック
「入居OK!」
「入居NG!」
📊 Pod Security Standards(PSS)の3レベル
- ❌ root実行 → 許可
- ❌ 特権モード → 許可
- ❌ ホストネットワーク → 許可
- ⚠️ root実行 → 許可
- ✅ 特権モード → 禁止
- ✅ ホストネットワーク → 禁止
- ✅ root実行 → 禁止
- ✅ 特権モード → 禁止
- ✅ ホストネットワーク → 禁止
🚪 ネットワークポリシーの仕組み
🎯 目的: Pod間の通信を制御して不正アクセスを防止
🏠 マンションのたとえ:
101号室(frontend)→ 102号室(backend)→ 管理人室(database)の順でしか行けない
101号室から直接管理人室に行くことは
禁止!
⚔️ 攻撃シナリオと3層防御
😈 攻撃者がPodを侵害した場合、どう防ぐ?
ノード間暗号化
🛡️ 防御効果:
通信を傍受しても
暗号化されているため
内容を読めない
ポッドセキュリティ
🛡️ 防御効果:
特権エスカレーションを試みても
制限されているため
root権限を取得できない
ネットワークポリシー
🛡️ 防御効果:
他のPodへ横移動しようとしても
通信が許可されていないため
アクセスできない
🎯 3層防御の全体像
(守られている!)
📊 3つのセキュリティ機能 比較表
| 比較項目 | 🔒 ノード間暗号化 | 📋 ポッドセキュリティ | 🚪 ネットワークポリシー |
|---|---|---|---|
| 🎯 守るもの | 通信データ | Podの権限 | 通信経路 |
| 😈 防ぐ脅威 | 盗聴・傍受 | 特権エスカレーション | 横移動・不正アクセス |
| 🏠 マンションのたとえ | 電話の暗号化 | 入居審査 | 通行ルール |
| ⚙️ 設定レベル | インフラ層 | Namespace/Pod層 | Pod/Label層 |
| 📦 デフォルト | Nitro: 有効 ✅ | 無効(要設定) | 全許可(要設定) |
| 🔧 追加コンポーネント | 不要(Nitro) | 不要(K8s組み込み) |
CNI必要
(Calico/Cilium) |
📝 導入の流れ
❓ よくある質問
各機能は「代替」ではなく「補完」関係です。1つが突破されても、他の層で攻撃を止められます。
これが「多層防御(Defense in Depth)」の考え方です。
現在はPod Security Standards(PSS)とPod Security Admission(PSA)を使用します。
PSSは Privileged / Baseline / Restricted の3レベルでシンプルに管理できます。
明示的にNetworkPolicyを作成しないと、どのPodからでも他のPodにアクセス可能です。
また、EKSデフォルトのVPC CNIはネットワークポリシー未対応なので、Calicoなどの導入が必要です。
🎓 まとめ
「盗聴」を防止
Nitroで自動有効
「危険なPod」を阻止
PSS/PSAで設定
「横移動」を防止
CNIで実現