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. 05使用 Trivy 扫描镜像

适用场景

  1. 01加固容器镜像
  2. 02降低容器运行时权限
  3. 03应用 Kubernetes 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 用户运行
  • 启用只读文件系统
  • 删除所有功能
  • 定期扫描映像
  • 对映像进行签名和验证
  • 使用密钥管理

相关技能

评论

支持 Markdown