mcpField
C
container-hardening

container-hardening

github.com/bagelholeセキュリティ1.2k438 回インストール23 週間前に更新
リポジトリ

container-hardening について

コンテナイメージと実行時設定を強化するためのセキュリティガイドです。コンテナを構築・デプロイするチーム向けに、ベースイメージの選定、最小権限設定、Kubernetes のセキュリティコンテキスト、スキャンを扱います。

主な機能

  1. 01最小ベースイメージの指針
  2. 02非 root ユーザーの設定
  3. 03実行時のセキュリティ設定
  4. 04Kubernetes のセキュリティコンテキスト
  5. 05Trivy によるイメージスキャン

活用シーン

  1. 01コンテナイメージの強化
  2. 02コンテナ実行権限の削減
  3. 03Kubernetes Pod のセキュリティ設定
  4. 04イメージの脆弱性確認

インストール

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

$npx skills add https://github.com/bagelhole/devops-security-agent-skills --skill container-hardening

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

同梱ファイルreferences/container-security.md

詳細

コンテナーの強化

コンテナーイメージとランタイム構成を保護します。

このスキルを使用するタイミング

次の場合にこのスキルを使用します。

  • セキュアなコンテナーイメージをビルドする
  • コンテナーのデプロイを強化する
  • コンテナーセキュリティ要件を満たす
  • 多層防御を実装する

Dockerfile のセキュリティ

# Use minimal base image
FROM alpine:3.18

# Don't run as root
RUN addgroup -g 1001 -S appgroup && \
    adduser -u 1001 -S appuser -G appgroup

# Copy with specific ownership
COPY --chown=appuser:appgroup . /app

# Remove unnecessary packages
RUN apk del --purge build-dependencies && \
    rm -rf /var/cache/apk/*

# Use non-root user
USER appuser

# Read-only filesystem support
WORKDIR /app

ランタイムのセキュリティ

# Run with security options
docker run -d \
  --read-only \
  --tmpfs /tmp \
  --security-opt=no-new-privileges:true \
  --cap-drop=ALL \
  --cap-add=NET_BIND_SERVICE \
  --user 1001:1001 \
  myapp:latest

Kubernetes のセキュリティコンテキスト

apiVersion: v1
kind: Pod
spec:
  securityContext:
    runAsNonRoot: true
    runAsUser: 1001
    fsGroup: 1001
  containers:
  - name: app
    securityContext:
      allowPrivilegeEscalation: false
      readOnlyRootFilesystem: true
      capabilities:
        drop: ["ALL"]

イメージのスキャン

# Scan with Trivy
trivy image --severity HIGH,CRITICAL myapp:latest

# Use distroless images
FROM gcr.io/distroless/static-debian11

ベストプラクティス

  • 最小限のベースイメージを使用する
  • root 以外のユーザーとして実行する
  • 読み取り専用のファイルシステムを有効にする
  • すべてのケイパビリティを削除する
  • イメージを定期的にスキャンする
  • イメージに署名し、検証する
  • シークレット管理を使用する

関連スキル

コメント