后端安全概述
安全不是功能,是默认属性。面试主线:威胁模型怎么想、常见漏洞地图、防护原则。
威胁模型
威胁入口: Web 层 + 身份层 + 数据层
思考框架:输入不可信、输出要消毒、身份要验证、数据要加密。
漏洞地图
| 漏洞 | 危害 | 归属篇 |
|---|---|---|
| SQL/命令注入 | 数据泄露、服务器沦陷 | web-injection |
| XSS | 窃取会话、篡改页面 | xss-and-csrf |
| CSRF | 冒充用户操作 | xss-and-csrf |
| SSRF | 内网穿透 | ssrf-and-file-upload |
| 越权 | 访问他人数据 | authentication-and-authorization |
| 弱密码学 | 数据可破解 | cryptography-basics |
防护原则
- 纵深防御:多层防护(输入校验 + 权限 + 审计),单层失守不沦陷
- 最小权限:服务账号、工具权限只给需要的(见 MCP 安全篇同原则)
- 默认拒绝:白名单优先(IP、文件类型、权限)
- 不信任输入:一切外部输入(参数、头、文件、回调)都要校验
- 安全左移:代码审查、依赖扫描(CVE)、上线前安全测试
OWASP Top 10
2021 版高频项:访问控制失效(越权)、加密失败、注入、不安全设计、安全配置错误。
面试话术:越权排第一(不是注入),因为业务逻辑漏洞难以自动检测。做权限设计时默认拒绝。
面试追问
- 安全怎么想? 威胁模型:输入不可信、输出消毒、身份验证、数据加密。纵深防御
- OWASP 第一位? 访问控制失效(越权)。业务逻辑漏洞,工具难扫出来
- 最小权限? 只给需要的权限:服务账号、工具、文件。默认拒绝
- 安全左移? 开发阶段就做:代码审查、依赖扫描、测试。上线后修成本高
- 最常见的安全事故? 数据泄露(弱口令/明文存储/越权)。密码学基础见对应篇