重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
security-hardening by ancoleman/ai-design-components
npx skills add https://github.com/ancoleman/ai-design-components --skill security-hardening通过系统化的配置加固、最小权限强制执行和自动化安全控制,主动减少基础设施各层的攻击面。应用行业标准的 CIS 基准和零信任原则于操作系统、容器、云配置、网络和数据库。
在以下情况调用此技能:
安全加固应用于五个基础设施层级:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
从拒绝所有访问开始,仅明确允许必需的操作。应用默认拒绝的防火墙规则和网络策略,然后允许特定流量。
授予操作所需的最低权限。使用 RBAC、针对特定资源的 IAM 策略以及权限有限的数据库角色(除非必需,否则不允许 DELETE 或 DDL)。
实施多个重叠的安全控制:网络防火墙、身份验证、授权、审计日志记录和加密协同工作。
移除不必要的组件、服务和权限。使用最小化容器基础镜像,禁用未使用的服务,并删除所有 Linux 能力(除非必需)。
在错误或配置错误时,默认为安全状态。身份验证失败拒绝访问,缺失的配置使用限制性默认值,监控失败触发即时警报。
根据暴露程度和数据敏感性确定加固工作的优先级:
立即应用:
工具: Trivy、Falco、ModSecurity、Cloudflare
在生产前应用:
工具: Checkov、Prowler、Lynis、OpenSCAP
系统性地应用:
工具: Ansible、Puppet、kube-bench、docker-bench-security
CIS(互联网安全中心)基准提供行业标准的加固指南。
Docker CIS 基准:
docker run --rm -it \
--net host \
--pid host \
--cap-add audit_control \
-v /var/lib:/var/lib:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /etc:/etc:ro \
docker/docker-bench-security
Kubernetes CIS 基准:
kubectl apply -f https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml
kubectl logs job/kube-bench
Linux CIS 基准:
# 使用 Lynis
lynis audit system --quick
# 使用 OpenSCAP
oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_cis \
/usr/share/xml/scap/ssg/content/ssg-ubuntu2004-ds.xml
| CIS 控制 | 加固操作 | 层级 |
|---|---|---|
| 4.1 安全配置 | 应用加固基线 | 所有层级 |
| 5.1 账户管理 | 强制执行最小权限、MFA | 操作系统、云 |
| 6.1 访问控制 | RBAC、网络策略 | 所有层级 |
| 8.1 审计日志管理 | 启用全面日志记录 | 所有层级 |
| 13.1 网络监控 | 部署 IDS/IPS、流日志 | 网络 |
| 3.1 数据保护 | 启用静态/传输中加密 | 云、数据库 |
详细的 CIS 控制映射,请参见 references/cis-benchmark-mapping.md。
根据安全要求和兼容性需求选择基础镜像:
| 使用场景 | 推荐基础镜像 | 大小 | CVEs | 权衡 |
|---|---|---|---|---|
| 生产应用 | Chainguard Images | ~10MB | 0 | 最小化,零 CVE |
| 最小化 Linux | Alpine | ~5MB | 少 | 小,可审计 |
| 兼容性 | Distroless | ~20MB | 少 | 无 shell,调试困难 |
| 调试 | Debian slim | ~80MB | 较多 | 有调试工具 |
| 遗留应用 | Ubuntu | ~100MB | 多 | 完全兼容 |
生产建议: 生产环境使用 Chainguard Images 或 Distroless,开发环境使用 Alpine。
加固必须持续验证,而不仅仅在实施时。
容器漏洞扫描:
# Trivy:全面的漏洞和错误配置扫描器
trivy image --severity HIGH,CRITICAL myapp:latest
# Grype:快速漏洞扫描器
grype myapp:latest
基础设施即代码扫描:
# Checkov:多云 IaC 扫描器
checkov -d terraform/ --framework terraform
# Terrascan:策略即代码扫描器
terrascan scan -t terraform -d terraform/
Kubernetes 安全扫描:
# Kubesec:安全风险分析
kubesec scan k8s/deployment.yaml
# Polaris:配置验证
polaris audit --format=pretty
# Trivy K8s 扫描
trivy k8s --report summary cluster
云安全态势:
# Prowler:AWS 安全评估
prowler aws --services s3 iam ec2
# ScoutSuite:多云安全审计
scout aws --services s3 iam ec2
将安全扫描集成到 CI/CD:
# GitHub Actions 示例
name: Security Hardening Verification
on:
push:
branches: [main]
schedule:
- cron: '0 0 * * *' # 每日扫描
jobs:
container-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build image
run: docker build -t myapp:test .
- name: Scan with Trivy
uses: aquasecurity/trivy-action@master
with:
image-ref: 'myapp:test'
severity: 'CRITICAL,HIGH'
exit-code: '1' # 发现问题时失败
iac-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Scan IaC with Checkov
uses: bridgecrewio/checkov-action@master
with:
directory: terraform/
framework: terraform
soft_fail: false
从扫描结果生成合规性报告:
# 生成 CIS 合规性报告
kube-bench run --json > cis-report.json
# 生成漏洞报告
trivy image --format json --output vuln-report.json myapp:latest
# 聚合报告用于合规性仪表板
python scripts/generate-compliance-report.py \
--cis cis-report.json \
--vulns vuln-report.json \
--output compliance-dashboard.html
# 编辑 /etc/ssh/sshd_config.d/hardening.conf
PermitRootLogin no
PasswordAuthentication no
PermitEmptyPasswords no
MaxAuthTries 3
X11Forwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
# 重启 SSH
systemctl restart sshd
# 使用最小化基础镜像
FROM cgr.dev/chainguard/python:latest
# 非 root 用户
USER nonroot
# 只读文件系统
COPY --chown=nonroot:nonroot app /app
WORKDIR /app
# 删除所有能力
ENTRYPOINT ["python", "-m", "app"]
securityContext:
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
resource "aws_s3_bucket_public_access_block" "secure" {
bucket = aws_s3_bucket.data.id
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
resource "aws_s3_bucket_server_side_encryption_configuration" "secure" {
bucket = aws_s3_bucket.data.id
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "aws:kms"
}
}
}
# Kubernetes NetworkPolicy:拒绝所有入站流量
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
namespace: production
spec:
podSelector: {}
policyTypes:
- Ingress
-- PostgreSQL 加固
REVOKE ALL ON DATABASE app FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM PUBLIC;
CREATE ROLE app_user WITH LOGIN;
GRANT CONNECT ON DATABASE app TO app_user;
GRANT SELECT, INSERT, UPDATE ON app.orders TO app_user;
-- 强制 SSL 连接
ALTER SYSTEM SET ssl = on;
-- 在 pg_hba.conf 中:hostssl all all 0.0.0.0/0 scram-sha-256
针对特定层级的加固指南:
references/linux-hardening.mdreferences/container-hardening.mdreferences/cloud-hardening.mdreferences/network-hardening.mdreferences/database-hardening.md自动化脚本:
scripts/harden-linux.pyscripts/harden-container-host.shscripts/generate-compliance-report.pyscripts/scan-infrastructure.sh工作示例:
examples/linux/examples/kubernetes/examples/terraform/❌ 仅在部署时加固
❌ 盲目应用所有控制
❌ 没有验证
❌ 通过隐匿实现安全
❌ 未经测试的加固
❌ 大规模手动加固
关于逐步实施,请根据基础设施类型从 references/linux-hardening.md 或 references/container-hardening.md 开始。
每周安装次数
64
代码仓库
GitHub 星标数
321
首次出现
2026 年 1 月 25 日
安全审计
安装于
opencode58
gemini-cli57
codex54
github-copilot54
cursor54
amp48
Proactive reduction of attack surface across infrastructure layers through systematic configuration hardening, least-privilege enforcement, and automated security controls. Applies industry-standard CIS Benchmarks and zero-trust principles to operating systems, containers, cloud configurations, networks, and databases.
Invoke this skill when:
Security hardening applies across five infrastructure layers:
Start with all access denied, explicitly permit only required operations. Apply default-deny firewall rules and network policies, then allow specific traffic.
Grant minimum permissions required for operation. Use RBAC, IAM policies with specific resources, and database roles with limited permissions (no DELETE or DDL unless required).
Implement multiple overlapping security controls: network firewalls, authentication, authorization, audit logging, and encryption working together.
Remove unnecessary components, services, and permissions. Use minimal container base images, disable unused services, and drop all Linux capabilities unless required.
On error or misconfiguration, default to secure state. Authentication failures deny access, missing configurations use restrictive defaults, and monitoring failures trigger immediate alerts.
Prioritize hardening efforts based on exposure and data sensitivity:
Apply immediately:
Tools: Trivy, Falco, ModSecurity, Cloudflare
Apply before production:
Tools: Checkov, Prowler, Lynis, OpenSCAP
Apply systematically:
Tools: Ansible, Puppet, kube-bench, docker-bench-security
CIS (Center for Internet Security) Benchmarks provide industry-standard hardening guidance.
Docker CIS Benchmark:
docker run --rm -it \
--net host \
--pid host \
--cap-add audit_control \
-v /var/lib:/var/lib:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /etc:/etc:ro \
docker/docker-bench-security
Kubernetes CIS Benchmark:
kubectl apply -f https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml
kubectl logs job/kube-bench
Linux CIS Benchmark:
# Using Lynis
lynis audit system --quick
# Using OpenSCAP
oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_cis \
/usr/share/xml/scap/ssg/content/ssg-ubuntu2004-ds.xml
| CIS Control | Hardening Action | Layer |
|---|---|---|
| 4.1 Secure Configuration | Apply hardening baselines | All layers |
| 5.1 Account Management | Enforce least privilege, MFA | OS, Cloud |
| 6.1 Access Control | RBAC, network policies | All layers |
| 8.1 Audit Log Management | Enable comprehensive logging | All layers |
| 13.1 Network Monitoring | Deploy IDS/IPS, flow logs | Network |
| 3.1 Data Protection | Enable encryption at rest/transit | Cloud, Database |
For detailed CIS control mapping, see references/cis-benchmark-mapping.md.
Choose base images based on security requirements and compatibility needs:
| Use Case | Recommended Base | Size | CVEs | Trade-off |
|---|---|---|---|---|
| Production apps | Chainguard Images | ~10MB | 0 | Minimal, zero CVEs |
| Minimal Linux | Alpine | ~5MB | Few | Small, auditable |
| Compatibility | Distroless | ~20MB | Few | No shell, harder debug |
| Debugging | Debian slim | ~80MB | More | Has debugging tools |
| Legacy apps | Ubuntu | ~100MB | Many |
Production recommendation: Chainguard Images or Distroless for production, Alpine for development.
Hardening must be verified continuously, not just at implementation.
Container vulnerability scanning:
# Trivy: Comprehensive vulnerability and misconfiguration scanner
trivy image --severity HIGH,CRITICAL myapp:latest
# Grype: Fast vulnerability scanner
grype myapp:latest
Infrastructure as Code scanning:
# Checkov: Multi-cloud IaC scanner
checkov -d terraform/ --framework terraform
# Terrascan: Policy-as-code scanner
terrascan scan -t terraform -d terraform/
Kubernetes security scanning:
# Kubesec: Security risk analysis
kubesec scan k8s/deployment.yaml
# Polaris: Configuration validation
polaris audit --format=pretty
# Trivy K8s scanning
trivy k8s --report summary cluster
Cloud security posture:
# Prowler: AWS security assessment
prowler aws --services s3 iam ec2
# ScoutSuite: Multi-cloud security audit
scout aws --services s3 iam ec2
Integrate security scanning into CI/CD:
# GitHub Actions example
name: Security Hardening Verification
on:
push:
branches: [main]
schedule:
- cron: '0 0 * * *' # Daily scan
jobs:
container-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build image
run: docker build -t myapp:test .
- name: Scan with Trivy
uses: aquasecurity/trivy-action@master
with:
image-ref: 'myapp:test'
severity: 'CRITICAL,HIGH'
exit-code: '1' # Fail on findings
iac-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Scan IaC with Checkov
uses: bridgecrewio/checkov-action@master
with:
directory: terraform/
framework: terraform
soft_fail: false
Generate compliance reports from scan results:
# Generate CIS compliance report
kube-bench run --json > cis-report.json
# Generate vulnerability report
trivy image --format json --output vuln-report.json myapp:latest
# Aggregate reports for compliance dashboard
python scripts/generate-compliance-report.py \
--cis cis-report.json \
--vulns vuln-report.json \
--output compliance-dashboard.html
# Edit /etc/ssh/sshd_config.d/hardening.conf
PermitRootLogin no
PasswordAuthentication no
PermitEmptyPasswords no
MaxAuthTries 3
X11Forwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
# Restart SSH
systemctl restart sshd
# Use minimal base
FROM cgr.dev/chainguard/python:latest
# Non-root user
USER nonroot
# Read-only filesystem
COPY --chown=nonroot:nonroot app /app
WORKDIR /app
# Drop all capabilities
ENTRYPOINT ["python", "-m", "app"]
securityContext:
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
resource "aws_s3_bucket_public_access_block" "secure" {
bucket = aws_s3_bucket.data.id
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
resource "aws_s3_bucket_server_side_encryption_configuration" "secure" {
bucket = aws_s3_bucket.data.id
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "aws:kms"
}
}
}
# Kubernetes NetworkPolicy: deny all ingress
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
namespace: production
spec:
podSelector: {}
policyTypes:
- Ingress
-- PostgreSQL hardening
REVOKE ALL ON DATABASE app FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM PUBLIC;
CREATE ROLE app_user WITH LOGIN;
GRANT CONNECT ON DATABASE app TO app_user;
GRANT SELECT, INSERT, UPDATE ON app.orders TO app_user;
-- Force SSL connections
ALTER SYSTEM SET ssl = on;
-- In pg_hba.conf: hostssl all all 0.0.0.0/0 scram-sha-256
For layer-specific hardening guidance:
references/linux-hardening.mdreferences/container-hardening.mdreferences/cloud-hardening.mdreferences/network-hardening.mdreferences/database-hardening.mdFor automation scripts:
scripts/harden-linux.pyscripts/harden-container-host.shscripts/generate-compliance-report.pyscripts/scan-infrastructure.shFor working examples:
examples/linux/examples/kubernetes/examples/terraform/❌ Hardening only at deployment
❌ Applying all controls blindly
❌ No verification
❌ Security through obscurity
❌ Hardening without testing
❌ Manual hardening at scale
For step-by-step implementation, start with references/linux-hardening.md or references/container-hardening.md based on infrastructure type.
Weekly Installs
64
Repository
GitHub Stars
321
First Seen
Jan 25, 2026
Security Audits
Gen Agent Trust HubFailSocketPassSnykWarn
Installed on
opencode58
gemini-cli57
codex54
github-copilot54
cursor54
amp48
LobeHub桌面端开发指南:基于Electron的桌面应用架构与功能实现教程
556 周安装
Elasticsearch专家指导:搜索优化、ELK栈部署与分布式系统实战
62 周安装
Render 部署指南:Git 驱动与 Docker 镜像部署全解析
553 周安装
PyTorch深度学习开发专家 | Transformer、扩散模型、LLM开发指南与最佳实践
545 周安装
Rust最佳实践指南:179条规则提升代码质量与性能 | 所有权、错误处理、内存优化
551 周安装
TypeORM 开发指南:TypeScript ORM 框架实战教程与数据库设计
554 周安装
| Full compatibility |