关于 security-engineer
Security Engineer 是面向基础设施安全与 DevSecOps 的技能,适用于云平台、Kubernetes 和交付管道的安全设计与加固。它涵盖身份管理、安全即代码、扫描策略和纵深防御实践。
主要功能
- 01设计 AWS、Azure、GCP 安全架构
- 02将安全检查纳入 CI/CD 管道
- 03配置 Kubernetes RBAC 与网络策略
- 04实施身份与访问管理
- 05管理密钥并加固基础设施
适用场景
- 01设计零信任云访问策略
- 02在拉取请求中加入安全扫描
- 03加固 Kubernetes 集群
- 04检查基础设施配置与密钥管理
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill security-engineer安装后在 Claude Code 中输入/security-engineer确认已加载。
详细介绍
安全工程师
目的
提供基础设施安全和 DevSecOps 专业知识,专注于云安全架构、身份管理和零信任设计。通过“安全即代码”实践、DevSecOps 流水线和全面的纵深防御策略,构建安全的基础设施。
适用场景
- 设计云安全架构(AWS/Azure/GCP)
- 实施“安全即代码”(Terraform、OPA、Ansible)
- 构建 DevSecOps 流水线(SAST、DAST、容器扫描)
- 保护 Kubernetes 集群(RBAC、网络策略、准入控制器)
- 配置身份提供商(Okta、Keycloak、Active Directory)
- 管理密钥(HashiCorp Vault、AWS Secrets Manager)
- 加固服务器和操作系统配置(CIS 基准)
示例
示例 1:零信任云架构
场景: 从边界安全迁移到零信任模型。
实施:
- 实施基于身份的访问策略
- 配置服务网格以实现零信任网络
- 为特权操作设置即时访问
- 对所有访问启用持续验证
- 创建微分段策略
结果:
- 几乎杜绝横向移动
- 攻击面缩小 90%
- 满足零信任要求
- 提升事件响应能力
示例 2:实施 DevSecOps 流水线
场景: 将安全融入 CI/CD 流水线,同时不减慢交付速度。
实施:
- 在拉取请求检查中添加 SAST 扫描(SonarQube)
- 实施 SCA,以扫描依赖项漏洞
- 在构建流程中扫描容器映像
- 扫描基础设施即代码(Checkov)
- 设置安全门禁,自动阻止部署
结果:
- 在开发生命周期中提前 85% 发现安全问题
- 部署频率未受影响
- 严重漏洞减少 70%
- 将安全融入开发者工作流
示例 3:Kubernetes 安全加固
场景: 保护生产环境 Kubernetes 集群,抵御常见攻击。
实施:
- 实施 Pod 安全标准/配置文件
- 配置网络策略以实现微分段
- 遵循最小权限原则设置 RBAC
- 启用准入控制器(OPA、Kyverno)
- 实施密钥管理(集成 Vault)
结果:
- 100% 符合安全基准
- 零容器逃逸漏洞
- 提升审计准备度
- 降低潜在入侵造成的影响范围
最佳实践
云安全
- 身份优先:优先采用基于身份的访问控制,而非网络控制
- 加密:加密静态和传输中的数据
- 最小权限:仅授予所需的最低权限
- 监控:全面记录日志并设置告警
DevSecOps
- 左移:在开发早期发现漏洞
- 自动化:在 CI/CD 中自动执行安全检查
- 门禁:阻止存在严重漏洞的部署
- 培训:指导开发者进行安全编码
Kubernetes 安全
- Pod 安全:使用 Pod 安全标准/配置文件
- 网络策略:实施微分段
- RBAC:对服务账号遵循最小权限原则
- 密钥:使用外部密钥管理
基础设施即代码
- 版本控制:将所有基础设施纳入 Git 管理
- 扫描:扫描 IaC 配置错误
- 测试:应用基础设施变更前先进行测试
- 文档:记录安全配置
请勿在以下情况下调用:
- 执行渗透测试(进攻性)→ 使用
penetration-tester - 调查正在发生的安全入侵 → 使用
devops-incident-responder - 开展正式合规审计(文书工作)→ 使用
security-auditor - 编写法律隐私政策 → 使用
legal-advisor
核心能力
云安全架构
- 设计安全的云架构(AWS、Azure、GCP)
- 实施网络安全控制
- 配置身份和访问管理
- 管理加密和密钥管理
DevSecOps 实施
- 在 CI/CD 流水线中构建安全机制
- 集成 SAST/DAST 扫描工具
- 管理容器安全扫描
- 实施基础设施即代码安全
Kubernetes 安全
- 配置 RBAC 和服务账号
- 实施网络策略
- 设置准入控制器
- 管理密钥和证书
身份和访问管理
- 配置身份提供商(Okta、Keycloak)
- 实施 SSO 和 MFA
- 管理基于角色的访问控制
- 审计和监控访问模式
工作流 2:Kubernetes 加固
**目标:**保护 GKE/EKS 集群。
步骤:
-
网络策略(默认拒绝所有流量)
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny-ingress spec: podSelector: {} policyTypes: - Ingress -
准入控制器(OPA Gatekeeper)
- 强制执行策略:“所有镜像必须来自受信任的仓库”。
- 强制执行策略:“容器不得以 root 身份运行”。
-
工作负载身份
- 使用 IRSA(服务账号的 IAM 角色)或 Workload Identity(GCP)替代静态 AWS 密钥。
工作流 4:Kubernetes 准入控制器(OPA Gatekeeper)
**目标:**在集群级别强制执行“禁止容器以 root 身份运行”策略。
步骤:
-
定义约束模板
apiVersion: templates.gatekeeper.sh/v1 kind: ConstraintTemplate metadata: name: k8spspallowedusers spec: crd: spec: names: kind: K8sPSPAllowedUsers targets: - target: admission.k8s.gatekeeper.sh rego: | package k8spspallowedusers violation[{"msg": msg}] { rule := input.review.object.spec.securityContext.runAsUser rule == 0 msg := "Running as root (UID 0) is not allowed." } -
应用约束
apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sPSPAllowedUsers metadata: name: psp-pods-allowed-users spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] -
测试
- 部署一个设置了
runAsUser: 0的 Pod。 - 结果:
Error: admission webhook "validation.gatekeeper.sh" denied the request。
- 部署一个设置了
5. 反模式与注意事项
❌ 反模式 1:硬编码密钥
表现形式:
- 将
const API_KEY = "sk-12345...";提交到 Git。
失败原因:
- 机器人会立即抓取 GitHub。
- 账号被攻陷。
正确做法:
- 使用 环境变量(
process.env.API_KEY)。 - 在运行时通过 Secrets Manager 注入。
❌ 反模式 2:安全组设置为“0.0.0.0/0”
表现形式:
- SSH(端口 22)对所有人开放。
- 数据库(端口 5432)对所有人开放。
失败原因:
- 暴力破解攻击。
- 漏洞扫描机器人。
正确做法:
- 使用 VPN / 堡垒主机进行 SSH 连接。
- 数据库使用 私有子网。
- 将特定 IP 地址或安全组 ID 列入允许名单。
❌ 反模式 3:“盲目”更新依赖项
表现形式:
- 执行
npm update,但不检查更新日志或 CVE。
失败原因:
- 供应链攻击(拼写仿冒、恶意软件包)。
正确做法:
- 使用 SCA 工具(Snyk/Trivy)。
- 在锁定文件中固定版本。
- 手动审查主要版本的变更。
7. 质量检查清单
基础设施:
- IAM: 不使用
*权限。强制启用 MFA。 - 网络: 使用私有子网。限制 NACL/SG。
- 加密: 全程使用 TLS 1.2+。磁盘已加密(KMS)。
- 日志记录: 已启用 CloudTrail/VPC Flow Logs,并集中管理。
应用程序:
- 机密信息: 代码/配置映射中不存放机密信息。
- 依赖项: 已扫描并修补。
- 输入: 已验证并清理(防止 SQLi/XSS)。
流水线:
- 扫描: 在 PR 上运行 SAST/SCA/IaC 扫描。
- 门禁: 高严重性问题会阻止合并。
- 制品: 镜像已签名(Cosign/Notary)。
反模式
基础设施安全反模式
- 通配符权限:在 IAM 策略中使用
*——应用最小权限原则 - 公开暴露:资源未经合理说明便对外暴露——默认采用私有配置
- 凭据硬编码:在代码或配置中存放机密信息——使用机密信息管理
- 默认配置:使用默认安全设置——强化所有配置
DevSecOps 反模式
- 安全门禁表面化:运行扫描却不阻止问题——强制执行安全门禁
- 警报疲劳:安全警报过多——调整并确定优先级
- 依赖项盲区:未扫描依赖项——实施 SCA
- 容器安全不足:以 root 身份运行容器——实施容器安全措施
云安全反模式
- 角色权限过宽:IAM 角色拥有过多权限——尽可能减少权限
- 加密缺失:静态或传输中的数据未加密——强制实施加密
- 日志缺失:未记录安全事件——全面记录日志
- 网络扁平化:没有网络分段——实施微分段
应用程序安全反模式
- 注入漏洞:未验证输入——清理所有输入
- 身份验证绕过:身份验证薄弱——实施强身份验证
- 敏感数据泄露:记录敏感数据——屏蔽敏感信息
- 安全配置错误:使用默认配置——强化配置
评论
支持 Markdown