コンテナセキュリティ

🔥 Vibe プロンプト

「コンテナセキュリティを設定:イメージスキャン、ポリシー適用、ランタイムセキュリティ。」

Dockerfileベストプラクティス

FROM python:3.12-slim
RUN apt-get update && apt-get install -y --no-install-recommends curl && rm -rf /var/lib/apt/lists/*
COPY --chown=1000:1000 app.py .
USER 1000

Trivyスキャン

trivy image myapp:latest
# CIで自動実行

Kyvernoポリシー(K8s)

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: require-non-root
spec:
  validationFailureAction: Enforce
  rules:
    - name: check-run-as-non-root
      match:
        any:
          - resources: { kinds: ["Pod"] }
      validate:
        message: "コンテナはrootで実行不可"
        pattern:
          spec:
            securityContext:
              runAsNonRoot: true

Falco(ランタイムセキュリティ)

- rule: Terminal shell in container
  condition: spawned_process and container and (proc.name = bash or proc.name = sh)
  priority: WARNING

コンテナセキュリティチェックリスト

| レイヤー | ツール | 確認内容 | |---------|-------|--------| | Dockerfile | Hadolint | ベストプラクティス | | イメージ | Trivy | 既知のCVE | | K8s admission | Kyverno | ポリシー適用 | | ランタイム | Falco | 動作異常 |

ベストプラクティス

  • 最小ベースイメージを使用(slim, alpine)
  • 非rootユーザーで実行
  • デプロイ前にイメージをスキャン
  • ベースイメージバージョンを固定
  • マルチステージビルド
  • K8s Podセキュリティ基準を実装
  • 読み取り専用ルートファイルシステム
  • リソース制限設定

章のまとめ

  • コアコンセプトと原理を理解
  • 実装方法とテクニックを習得
  • 一般的な問題と解決策に精通
  • 実際のプロジェクトに適用可能

さらに読む

  • 公式ドキュメントとAPIリファレンス
  • GitHubのオープンソース例
  • 技術書とオンラインコース
  • コミュニティディスカッションと技術ブログ

実装例

基本例

# 完全な実装例を提供します

手順

  1. セットアップ: 開発環境の設定
  2. データ: 必要なデータの準備
  3. 実装: コア機能の構築
  4. テスト: 動作確認
  5. 最適化: パフォーマンスの向上

よくあるエラー

| エラー種別 | 原因 | 解決方法 | |-----------|------|---------| | コンパイル | 構文 | コードの構文を確認 | | 実行時 | 環境 | 依存パッケージの確認 | | 論理 | アルゴリズム | ステップごとのデバッグ | | パフォーマンス | 効率 | プロファイラーの使用 |

コード例

import sys

def main():
    print("Hello, World!")

if __name__ == "__main__":
    main()

参考資料

  • 公式ドキュメント
  • APIリファレンス
  • オープンソース例
  • コミュニティディスカッション

完全なチュートリアルをロック解除

このチャプターは有料コンテンツです。プロジェクトに参加して、10以上の神レベルのPromptや実際のソースコード例を含む、5000字以上の深い分析をロック解除してください!