
1) 【一句话结论】:采用分层纵深防御架构,结合零信任模型、动态访问控制、端到端加密及输入验证,从网络、应用、数据层面全方位防护,确保数据隐私与防攻击能力。
2) 【原理/概念讲解】:
3) 【对比与适用场景】:
以访问控制模型为例:
| 模型 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| RBAC | 基于角色分配权限 | 规则简单,角色固定,权限集中管理 | 角色明确、权限静态的场景(如学生、教师、管理员) | 难以处理复杂动态权限 |
| ABAC | 基于属性动态授权 | 权限灵活,可结合多维度属性 | 需要动态调整权限的场景(如敏感数据访问、按时间限制) | 实现复杂,需属性定义和管理 |
4) 【示例】(防SQL注入与权限检查伪代码):
# 用户上传简历接口(示例)
def upload_resume(user_id, resume_data):
# 1. 输入验证(防XSS)
if not is_valid_input(resume_data, allowed_tags=['p', 'br']):
return {"error": "输入内容非法"}
# 2. 权限检查(RBAC)
if not check_role(user_id, "student"):
return {"error": "无权限上传简历"}
# 3. 数据加密存储
encrypted_data = encrypt_data(resume_data, key_from_kms())
save_to_db(user_id, encrypted_data)
return {"message": "上传成功"}
其中is_valid_input通过白名单过滤HTML标签,check_role查询用户角色,encrypt_data调用KMS加密。
5) 【面试口播版答案】:
“面试官您好,我设计的系统安全架构采用分层纵深防御,核心是零信任模型和动态权限控制。首先,网络层用防火墙和WAF拦截外部攻击;应用层通过输入验证(防XSS、SQL注入)和参数化查询;数据层用TLS传输加密和AES存储加密。权限控制上,结合RBAC(角色固定)和ABAC(动态属性),比如学生只能查看简历,管理员可编辑,同时根据用户专业、时间等动态调整权限。关键技术选型:用Nginx+WAF防Web攻击,Spring Security做权限控制,KMS管理密钥,零信任通过OAuth2.0+JWT实现身份认证。这样能全方位保护数据隐私和防攻击。”
6) 【追问清单】:
7) 【常见坑/雷区】: