# 第22天:WAF 与 Shield——防御网络攻击 ## 今天你将学到什么 今天学习如何保护你的网站免受攻击。WAF 防御应用层攻击(SQL 注入、XSS),Shield 防御 DDoS 攻击(用海量流量压垮你的服务器)。 --- ## 常见的网络攻击类型 ### 攻击一:SQL 注入 **原理**:黑客在输入框里输入特殊的数据库命令,欺骗你的程序执行恶意操作。 **举例**:登录页面的用户名输入框,黑客输入: ``` admin' OR '1'='1 ``` 如果你的程序没有防护,这可能让黑客绕过密码验证直接登录。 ### 攻击二:XSS(跨站脚本攻击) **原理**:黑客在网页中注入恶意脚本,当其他用户浏览这个页面时,脚本会在他们的浏览器中执行。 **举例**:在评论区输入一段恶意代码,其他用户看到这条评论时,代码自动执行,偷走他们的登录信息。 ### 攻击三:DDoS(分布式拒绝服务攻击) **原理**:黑客控制成千上万台电脑(僵尸网络),同时向你的服务器发送海量请求,把服务器压垮。 **类比**:想象有人雇了 10 万人同时打你公司的客服电话,正常客户永远打不进来。 **真实案例**:2016 年,针对 DNS 服务商 Dyn 的 DDoS 攻击导致 Twitter、Netflix、GitHub 等大量网站瘫痪数小时。 --- ## AWS WAF(Web Application Firewall) WAF 是"Web 应用防火墙",检查每一个到达你网站的请求,阻止恶意请求。 ### WAF 放在哪里 WAF 部署在流量入口处: ``` 用户请求 → CloudFront / ALB → WAF 检查 → 通过 → 你的服务器 → 阻止 → 返回 403 错误 ``` ### WAF 能防什么 | 攻击类型 | WAF 怎么防 | |----------|-----------| | SQL 注入 | 检测请求中的 SQL 关键字和特殊字符 | | XSS | 检测请求中的脚本标签和恶意代码 | | 恶意爬虫 | 识别非人类的访问模式 | | 暴力破解 | 限制同一 IP 的请求频率 | | 已知恶意 IP | 维护黑名单,直接拦截 | ### AWS 托管规则(开箱即用) AWS 提供了预置的规则集,你不需要自己写规则: | 规则集 | 防护内容 | |--------|----------| | 核心规则集 | OWASP Top 10 常见攻击 | | SQL 注入规则 | 各种 SQL 注入变体 | | 已知恶意输入 | 已知的攻击模式 | | 机器人控制 | 恶意爬虫和自动化工具 | **使用方式**:在 WAF 控制台勾选你需要的规则集,几分钟就能启用防护。 ### 自定义规则 你也可以写自己的规则: - 屏蔽特定国家的访问 - 限制同一 IP 每分钟最多 100 次请求 - 阻止请求体超过 10KB 的请求 - 只允许特定的 IP 地址访问管理后台 --- ## AWS Shield(DDoS 防护) ### Shield Standard(免费,自动启用) - 所有 AWS 账户自动拥有 - 防护常见的网络层 DDoS 攻击 - 不需要任何配置 - 覆盖:SYN Flood、UDP 反射、DNS 放大等 **你什么都不用做,它已经在保护你了。** ### Shield Advanced(付费,$3,000/月) - 更高级的 DDoS 防护 - 24/7 专家团队支持(DDoS 响应团队) - 实时攻击可视化 - **成本保护**:如果 DDoS 攻击导致你的 AWS 费用暴涨(比如 Auto Scaling 加了很多机器),AWS 帮你承担这部分费用 **适合**:金融、电商、游戏等高价值目标。学习阶段不需要。 --- ## GuardDuty——智能威胁检测 GuardDuty 是 AWS 的"安全摄像头",持续监控你的账户活动,发现异常行为。 **它监控什么**: - 网络流量模式(有没有和恶意 IP 通信) - API 调用行为(有没有异常的操作) - DNS 查询(有没有连接恶意域名) **它能发现什么**: - 有人从异常的国家登录了你的账户 - 某台 EC2 实例在挖矿(CPU 异常高 + 连接矿池地址) - 有人在尝试暴力破解你的 SSH 密码 - S3 桶被异常大量下载(可能是数据泄露) **使用方式**:一键启用,不需要安装任何东西。GuardDuty 自动分析日志和流量,发现威胁后通知你。 --- ## 安全服务选择指南 | 我想防护... | 用什么服务 | |------------|-----------| | SQL 注入、XSS 等 Web 攻击 | WAF | | DDoS 攻击 | Shield(Standard 免费自动启用) | | 账户异常行为(被盗用、挖矿) | GuardDuty | | 软件漏洞 | Inspector | | S3 中的敏感数据泄露 | Macie | | 统一安全视图 | Security Hub | --- ## 今天的小测验 1. SQL 注入攻击的原理是什么?WAF 怎么防护它? 2. DDoS 攻击的目的是什么?它和普通黑客攻击有什么区别? 3. Shield Standard 和 Shield Advanced 的区别是什么?学习阶段需要 Advanced 吗? 4. GuardDuty 能发现哪些类型的安全威胁? --- ## 延伸阅读 - [AWS WAF 开发者指南](https://docs.aws.amazon.com/waf/latest/developerguide/) - [AWS Shield 文档](https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html) - [GuardDuty 用户指南](https://docs.aws.amazon.com/guardduty/latest/ug/) - [OWASP Top 10 安全风险](https://owasp.org/www-project-top-ten/) --- ## 明天预告 明天学习 CloudTrail——AWS 的"监控录像",记录你账户中的每一个操作。谁在什么时候做了什么,一清二楚。这是安全审计和故障排查的基础。