
1) 【一句话结论】
12306在春运高并发下,主要面临DDoS攻击、敏感信息泄露(传输/存储)、身份伪造(如SQL注入)、会话劫持/CSRF等风险,需通过负载均衡(含会话粘性)、传输加密(TLS)、存储加密(AES)、微服务隔离、安全网关(WAF)、会话管理(CSRF防护、JWT认证)及数据脱敏等架构设计手段综合防护。
2) 【原理/概念讲解】
老师讲解:高并发场景下,系统易受以下风险攻击:
架构设计防护核心:通过分层防护,从流量、传输、存储、服务、会话、通信等维度加固。
3) 【对比与适用场景】
以负载均衡的会话粘性处理为例:
| 对比项 | Nginx ip_hash模式 | Redis会话存储模式 |
|---|---|---|
| 定义 | 根据客户端IP哈希分配请求,确保同一IP请求发到同一后端 | 将会话ID存入Redis,Nginx通过cookie传递会话ID,请求发到后端时查询Redis获取会话状态 |
| 特性 | 简单,依赖IP,高并发下IP可能变化(如移动网络) | 更灵活,支持多后端,会话状态存储在Redis,可持久化 |
| 使用场景 | 用户IP稳定,如固定IP或局域网 | 用户IP频繁变化(如移动设备),或需要会话状态持久化 |
| 注意点 | 高并发下可能因IP哈希冲突导致会话丢失 | Redis读写压力,需考虑集群或主从复制 |
服务间通信认证(gRPC vs RESTful API):
| 对比项 | gRPC(RPC风格) | RESTful API(HTTP风格) |
|---|---|---|
| 定义 | 基于HTTP/2的轻量级RPC框架,支持双向流、流式响应 | 基于HTTP协议的RESTful服务,通过HTTP方法(GET/POST等)调用 |
| 特性 | 传输高效(HTTP/2多路复用),支持流式通信 | 传输简单,兼容性好,但效率低于gRPC |
| 使用场景 | 微服务间高频、低延迟调用(如票务服务调用支付服务) | 对性能要求不高,或与第三方系统对接 |
| 注意点 | 需配置TLS证书验证服务身份,JWT令牌认证 | 需配置HTTPS,JWT令牌认证,但HTTP/2支持有限 |
4) 【示例】
用户购票流程(含会话粘性、服务间认证、数据脱敏):
GET /ticket?user_id=123&date=2024-01-10 HTTP/1.1,携带会话Cookie(如session_id=abc123)。session_id将请求发到同一后端票务服务(如后端1)。5) 【面试口播版答案】
(约90秒)
“面试官您好,12306在春运高并发下,主要面临几个安全风险:首先是DDoS攻击,大量恶意请求导致服务器过载;其次是敏感信息泄露,身份证、支付信息在传输或存储时可能被窃取;还有身份伪造(如SQL注入),以及会话劫持(如会话ID传输不安全)和CSRF攻击。从架构设计防护,我们可以用负载均衡分散流量,同时处理会话粘性(比如Nginx的session_sticky或Redis存储会话ID,确保用户请求始终发到同一后端);传输用TLS 1.3加密,存储用AES-256加密;微服务隔离(票务和支付服务分开部署,避免横向攻击);安全网关(WAF拦截应用层攻击);服务间通信用gRPC加TLS和JWT认证,确保调用安全;数据脱敏(支付信息在日志中只显示部分数字,用户界面隐藏部分数字)。这样从流量、传输、存储、服务、会话、通信多个层面综合防护。”
6) 【追问清单】
7) 【常见坑/雷区】