【AWS】什么是AWS WAF (Web Application Firewall)
【AWS】什么是AWS WAF (Web Application Firewall)
AWS WAF (Web Application Firewall) 是一项 Web 应用程序防火墙服务,
可帮助您保护 Web 应用程序或 API 免受常见的 Web 攻击和机器人程序的侵害,这些攻击可能会影响应用程序可用性、泄露安全或消耗过多资源。
您可以将 AWS WAF 想象成一个**“智能守门员”**,
它位于您的 Web 应用程序或 API 之前,检查所有传入的 HTTP/HTTPS 请求。
根据您定义的规则,WAF 可以允许、阻止或监控 (计数) 这些请求,从而在恶意流量到达您的应用程序之前将其过滤掉。
AWS WAF 的核心功能和优势
AWS WAF 旨在提供灵活、可扩展且易于部署的 Web 应用程序保护。
- 灵活的 Web 流量筛选:自定义规则: 您可以创建自己的规则,根据多种条件来筛选 Web 流量,包括:IP 地址: 允许或阻止来自特定 IP 地址或 IP 范围的请求。HTTP 标头和正文: 检查请求的标头或正文内容是否存在恶意模式。URI 字符串: 匹配请求 URI 中的特定字符串。SQL 注入和跨站脚本 (XSS): 轻松创建规则来阻止这些常见的 Web 漏洞攻击。大小约束: 限制请求的特定部分的大小。正则表达式匹配: 支持使用正则表达式进行更复杂的模式匹配。地理匹配: 根据请求来源的地理位置进行筛选。
- AWS 托管规则和自定义规则:AWS 托管规则 (AWS Managed Rules): AWS 提供预配置的规则组,用于保护应用程序免受常见威胁,例如 OWASP Top 10 安全风险、SQL 注入、XSS、常见漏洞和入侵程序 (CVE) 等。这些规则由 AWS 安全专家管理和自动更新。AWS Marketplace 托管规则: 您还可以订阅 AWS Marketplace 上由第三方安全卖家提供的托管规则组,以获得更专业的保护。自定义规则: 除了托管规则,您可以创建自己的自定义规则来满足特定的应用程序安全需求。
- 机器人程序控制 (Bot Control):识别和控制机器人流量: AWS WAF Bot Control 是一种托管规则组,可让您了解和控制常见和普遍存在的机器人程序流量。阻止或限制速率: 您可以阻止或限制不需要的机器人(如抓取工具、扫描器和爬虫)的流量,同时允许常见的机器人(如状态监控器和搜索引擎)。降低成本和提高分析准确性: 阻止不需要的机器人流量可以减少应用程序处理成本,并提高 Web 分析的准确性。
- 欺诈控制 (Fraud Control):账户创建欺诈预防 (ACFP): 帮助检测和阻止自动化或人工的欺诈性账户创建尝试。账户接管预防 (ATP): 监控应用程序的登录页面,检测和阻止盗用凭证对用户账户的未授权访问,防范凭证填充攻击和暴力破解登录尝试。
- 实时可见性和监控:实时指标和采样请求: AWS WAF 提供实时指标,并对 Web 请求进行采样,帮助您了解流量模式和规则匹配情况。这些数据集成到 Amazon CloudWatch 中。详细日志记录: WAF 可以捕获每个接受检查的 Web 请求的完整标头数据,用于自动提供安全保护、分析或审计用途。
- 易于部署和维护:多种部署位置: AWS WAF 可以部署在以下 AWS 服务之前,保护其后的 Web 应用程序或 API:Amazon CloudFront: 作为内容分发网络 (CDN) 的一部分,在网络边缘提供保护,阻止恶意流量到达您的源服务器。Application Load Balancer (ALB): 保护在 ALB 后运行的 Web 服务器。Amazon API Gateway: 保护 REST API。AWS AppSync: 保护 GraphQL API。无需额外基础设施: 无需部署其他软件、配置 DNS 或管理 SSL/TLS 证书。集中管理: 可以创建集中化的规则集合并部署到多个 Web 应用程序上,简化多站点环境中的安全管理。
- 成本效益:按使用量付费,您只需为部署的规则数量和应用程序收到的请求数量付费,没有预先承诺。
AWS WAF 的工作原理
AWS WAF 通过以下方式保护您的 Web 应用程序或 API:
- 流量路由: 用户的 Web 请求首先被路由到与 AWS WAF 关联的 AWS 服务(如 CloudFront、ALB、API Gateway 或 AppSync)。
- 规则评估: AWS WAF 检查这些传入的 HTTP/HTTPS 请求,并根据您配置的 Web ACL (Web Access Control List) 中的规则进行评估。
- 规则类型:基于规则的规则 (Rule Statements): 定义要匹配的条件(如 IP 地址、字符串匹配、大小限制等)。基于速率的规则 (Rate-based Rules): 允许您指定客户端 IP 在一定时间内(例如 5 分钟)允许的 Web 请求数。如果请求率超过限制,则会阻止新的请求,有助于防御 DDoS 攻击。托管规则组: 预配置的规则集合,由 AWS 或第三方卖家管理。
- 操作执行: 根据规则评估的结果,WAF 会执行以下操作之一:Allow (允许): 允许请求通过并到达您的 Web 应用程序。Block (阻止): 阻止请求并返回 HTTP 403 Forbidden 响应。Count (计数): 统计符合规则条件的请求数量,但不阻止它们。这对于测试新规则或监控流量模式很有用。
- 日志记录和监控: WAF 将每个请求的详细信息记录到 Amazon CloudWatch Logs 或 Amazon S3,以便您进行审计、分析和故障排除。
AWS WAF 的典型用例
- 防御常见 Web 漏洞: 保护应用程序免受 OWASP Top 10 威胁,如 SQL 注入、跨站脚本 (XSS)、跨站请求伪造 (CSRF) 等。
- 阻止恶意机器人程序: 识别并阻止爬虫、扫描器、内容抓取工具、垃圾邮件机器人等恶意或不需要的自动化流量。
- 防止 DDoS 攻击: 使用基于速率的规则和地理匹配来缓解第 7 层(应用层)DDoS 攻击。
- 账户接管和欺诈预防: 保护登录页面和注册流程,防止凭证填充、暴力破解登录和欺诈性账户创建。
- 内容访问控制: 根据 IP 地址、国家/地区或其他 HTTP 请求属性限制对特定内容的访问。
- 自定义安全策略: 实施特定于业务需求的安全策略,例如阻止来自已知恶意 IP 地址的流量。
- API 保护: 保护 REST API 和 GraphQL API 免受各种 Web 攻击。
总结来说,AWS WAF 是一项强大的 Web 应用程序防火墙服务,它通过灵活的规则配置、托管规则组、机器人程序和欺诈控制功能,以及与 AWS 服务的深度集成,帮助您在网络边缘保护您的 Web 应用程序和 API 免受各种 Web 攻击和恶意流量的侵害,从而提高应用程序的可用性、安全性和合规性。
关注
收藏
赞
踩