第 1 章 · 03 安全基础 本节摘要:安全是 DevOps 的第三条腿。本节从 DevSecOps 的"共享责任"讲起,覆盖零信任与最小权限两大原则,然后讲清认证/授权、认证三因素与 MFA、SSO 与 Kerberos、密码加盐;加密三兄弟(对称/非对称/哈希)及其在 SSH/HTTPS 中的应用;最后是常见攻击面(XSS/SQL 注入/CSRF/SSRF/DNS 欺骗/MITM)、CVE/CVSS、供应链安全与微隔离。学完本节,你具备 DevSecOps 面试与实战的完整安全词汇表。 学习目标 说出 DevSecOps 的定义、零信任与最小权限的含义。 区分认证与授权,说出认证三因素并各举三例。 区分对称加密、非对称加密与哈希,并说出 SSH 中两者的角色。
本节摘要:安全是 DevOps 的第三条腿。本节从 DevSecOps 的"共享责任"讲起,覆盖零信任与最小权限两大原则,然后讲清认证/授权、认证三因素与 MFA、SSO 与 Kerberos、密码加盐;加密三兄弟(对称/非对称/哈希)及其在 SSH/HTTPS 中的应用;最后是常见攻击面(XSS/SQL 注入/CSRF/SSRF/DNS 欺骗/MITM)、CVE/CVSS、供应链安全与微隔离。学完本节,你具备 DevSecOps 面试与实战的完整安全词汇表。
DevSecOps(Red Hat):Development + Security + Operations——把安全作为贯穿整个 IT 生命周期的共享责任,通过文化、自动化与平台设计落实。安全不再是发布前的"关卡",而是每个阶段的内置动作。
零信任(Zero Trust):永远不信任任何非本域来源的人或物——默认假设外部服务已被攻破、可能泄露敏感信息,因此一切访问都要验证。
最小权限(Least Privilege):只给用户、角色、服务账户完成其职责所需的最小权限;不需要的权利一律不给。
| 因素 | 含义 | 例子 |
|---|---|---|
| 你知道的 | Something you know | 密码、PIN、口令短语 |
| 你拥有的 | Something you have | 智能卡、物理令牌、软件令牌 |
| 你是什么 | Something you are | 指纹、虹膜/视网膜扫描、步态分析 |
MFA(多因素认证):要求两个以上凭证,且必须来自不同类别(如密码+指纹,而非两个密码)。MFA 是防密码攻击的头号手段。
SSO(单点登录):登录一次,即可访问多个系统而无需重复登录。典型实现是 Kerberos:用户只用凭据登录一次,获得票据授予票据(TGT),再用 TGT 换取各服务的服务票据——传递加密票据而非反复提交凭据。Kerberos 全部使用对称加密(预共享密钥)。
| 类型 | 原理 | 特点 | 用途 |
|---|---|---|---|
| 对称加密 | 同一把密钥加密+解密 | 快 | 会话数据加密(Kerberos、SSH 会话) |
| 非对称加密 | 公钥加密、私钥解密 | 慢、安全分发公钥 | 密钥交换、签名(SSH 登录、TLS) |
| 哈希 | 单向函数,不可逆 | 固定长度、可校验 | 密码存储、完整性校验 |
易错判断题:
密钥交换(Diffie-Hellman):双方各自生成公私钥对,公钥公开交换,各自用"自己的私钥+对方的公钥"推导出同一把共享对称密钥——解决"两个将军问题"(在不安全信道上安全交换密钥)。
HTTPS 与 TLS:HTTPS 的 S = Secure,TLS 提供加密+数字签名验证。证书由证书颁发机构(CA)签发,证书链从网站证书逐级到浏览器内置的根 CA;这能防中间人攻击(MITM)。
SNI(Server Name Indication):TLS 握手时客户端声明要连的主机名,让一个 IP+端口可以承载多张证书、多个 HTTPS 站点。
SSL 终止/卸载:在负载均衡器等边缘设备上解密流量,减轻后端服务器负担,让服务器专注核心功能。
| 攻击 | 原理 | 缓解 |
|---|---|---|
| XSS(跨站脚本) | 在 HTTP 响应中注入浏览器可执行代码,窃取 cookie/会话令牌 | 输入校验与输出编码 |
| SQL 注入 | 通过输入注入 SQL 片段,读取数据库敏感数据 | 参数化查询、存储过程、输入净化 |
| CSRF(跨站请求伪造) | 诱导已认证用户发起非预期操作 | CSRF Token(如 OWASP ZAP 可检测) |
| SSRF(服务端请求伪造) | 让服务器向任意地址发起请求 | 服务端 URL 校验、出站白名单 |
| DNS 欺骗 | 篡改 DNS 记录把流量引向攻击者 | TLS 加密、DNSSEC、检测工具 |
| MITM(中间人) | 在通信双方之间窃听/篡改 | TLS/证书链验证 |
| 缓冲区溢出 | 数据超出缓冲区容量覆盖相邻内存 | 内存安全语言、防护机制 |
| MAC 洪泛 | 向交换机灌入海量伪造 MAC 地址打满 CAM 表 | 端口安全、交换机防护 |
| 缓存投毒 DoS(CPDoS) | 操纵头部让源站返回错误页并缓存 | CDN/源站头部校验 |
| 口令喷洒/暴力破解 | 试密码 | MFA、限流、强密码策略 |
基础概念区分:
软件供应链:产品依赖的第三方/开源组件构成的链条——任一环被攻破都可能污染最终产品(典型:SolarWinds 事件)。
三大威胁:敏感数据泄露/丢失;云上数据共享风险;第三方厂商代码安全不足。
依赖管理:
npm prune/npm audit 清理与扫描;用校验和(checksum)验证文件完整性。微隔离(Microsegmentation):按零信任+最小权限理念,把网络访问策略细化到端点(进程/设备/实例)级别的安全方法。为什么防火墙不够?防火墙只管南北向(公司边界进出),东西向(内部工作负载互访)往往无人设防——微隔离恰好补上这一环。落地方式:云内建能力(安全组)、端点 Agent、网络设备改造。
下一节预告:理念齐了,开始第一门工具课——Git 版本控制。