近年来,网络安全威胁态势愈发严峻。一方面,网络威胁趋向多样化和复杂化,对企业的防御要求不断提升。另一方面,数字化浪潮下的企业随着转型进程的不断深入,迫切需要更加全面、完善的防御策略。Web 应用程序安全,已成为企业发展必须关注的焦点问题。
WAF 是保护 Web 应用程序抵御攻击的主要方式,但传统 WAF 已经无法满足企业创新业务的发展需求。在面对更广泛的应用程序攻击,特别是客户端攻击、基于 API 的攻击和由机器人驱动的攻击,使用传统 WAF 方案的企业往往束手无策。尤其在多云、混合云以及云原生场景下,企业对 WAF 提供的防护要求不断升级。
亚马逊云科技 WAF 应用程序防火墙 Amazon WAF,使企业能够创建安全规则以控制机器人流量并阻止常见的攻击模式,从而保护 Web 应用程序免受攻击。
全方位防护能力
Web 流量筛选
由于攻击媒介种类繁多,仅拥有一种防御类型显然无法充分应对网络威胁。需要从不同的维度检测到攻击并根据相应的规则缓解。Amazon WAF 允许创建集中化的规则集合,可根据 IP 地址、HTTP 标头和正文或自定义 URI 等条件来筛选 Web 流量,以阻止尝试利用 Web 应用程序漏洞的攻击。
托管规则组
Amazon WAF 托管规则组用于阻止被判定具有攻击行为的 IP,例如恶意爬虫、DDoS 攻击等。基于规则的控制给用户提供了多种配置选择,帮助企业针对常见的应用程序漏洞或其他有害流量提供保护,并且无需自己编写规则。
API 管理
Amazon WAF 支持通过 API 进行管理,企业可以自动创建和维护规则,并将其集成到开发和设计流程,减少了应用程序团队和安全团队之间的交接流程,确保可以及时更新所有规则。
实时可见性
Amazon WAF 能够抓取包含 IP 地址、地理位置、URI、用户代理和引用站点等详细信息的原始请求。通过与 Amazon CloudWatch 集成,可设置自定义警报,在超过阈值或发生特定攻击时进行提示,为应用程序提供更好的防护。
如何配置 Amazon WAF
1.创建 Web ACL
登录亚马逊云科技控制台,搜索“WAF”服务,打开 Amazon WAF 控制台。
选择 "Web ACL"选项,点击创建按钮。
设置名称、用于过滤 Web 请求的规则和规则组。可以指定如何处理匹配的网络请求,为网络 ACL 中定义的每条规则定义一个动作;可以为网络 ACL 指定默认操作,可以是阻止(Block)或允许(Allow)。当网络 ACL 中的规则未明确允许或阻止请求时,Amazon WAF 将采取该行动。
提示:Web防护必用的四个托管规则是,Amazon IP reputation list (已知恶意IP列表)、Core rule set(包含跨站脚本攻击等OWASP攻击防护的策略)、Known bad inputs(包含已知的漏洞发现和利用防护)和SQL database(包含SQL注入攻击防护)。
设置规则的优先级,建议把比较复杂的检查条件优先级安排在低优先位置,让恶意请求先经过简单条件的检查。
设置完成后,点击“Next”。CloudWatch metrics 相关设置保持默认。确认配置无误后,点击创建即可。
2.关联 Web ACL 到资源
在 Web ACL 创建后,我们需要将它与需要保护的资源关联起来。在 Web ACL 详细信息页面或资源设置中,找到 "Associations"(关联)选项,并添加关联到您的资源。
3.调整 Web ACL 规则
安全是一个持续的过程,随着网络威胁的不断演变,需要不断更新和调整 Web ACL 规则以确保它有效地保护您的应用程序。
增加限速规则:根据应用程序的请求频率,将每个公网源IP访问的次数进行限速设置。
误杀字段设置: 将 Core rule set里的 SizeRestrictions_BODY 子规则,设置为count模式。
设置白名单:使用 Scope Down 设置匹配过滤条件,将过滤条件设置为不匹配该条件,以实现白名单的作用。
经过上述步骤,Amazon WAF已经可以开始防护应用安全。当需要使用WAF完成安全合规的任务,或者做误杀排查工作,就需要启用WAF日志功能。
启用日志
打开WAF Overview的面板,选择“Logging and metrics”,点击“Edit”,选择“S3 bucket”或“CloudWatch Logs log group”,并设置桶名。设置完成后,点击“Save”,WAF 日志会被送到指定的 log group 中。
在这里,选择“S3 bucket”和“CloudWatch Logs log group”分别对应了两种日志存储归档和查询的方法。前者是 S3存储+Athena 查询,后者是 Log insight 查询。这两种方法成本比较低。适合查询工作不频繁的使用场景。
注意:桶名必须以“aws-waf-logs-”开始,否则无法在下拉框中找到新创建的“ log group”。
S3存储+Athena 查询方法中,通过使用 athena 命令进行 WAF 日志表的创建,使用SQL语句即可进行日志查询。
Log insight 查询方法中,通过 CloudWatch Log Insights,使用Query 语句即可查看日志内容,如查看详细日志、生成可视化图表。
创建日志分析系统
对于动态资源和数据资源丰富的网站,需要使用安全日志分析系统(SIEM)来帮助我们更高效的完成日常的安全日志初步分析,以及深入分析的工作。Amazon WAF 支持与主流的图形化调查 SIEM 产品的集成,包括OpenSearch, Elastic Search, Splunk, Sumo Logic等。
在完成 Amazon WAF 的部署后,使用 OpenSearch 创建日志分析系统的具体步骤如下:
1. 创建 OpenSearch 访问环境:登录亚马逊云科技控制台,选择 OpenSearch 服务,在 Create domain 中完成相关设置。等 OpenSearch 节点准备好后(大约15分钟),会得到 OpenSearch Dashboards URL。点击 Dashboard URL ,登录账号,并选择 Global tanent。
2. 导入 OpenSearch Dashboard:将ndjson 文件导入 dashboard,并完成Index Template 的设定。
3. 创建 Kinesis Firehose, 将 WAF 日志转发到 OpenSearch 集群中:打开WAF Overview的面板,选择“Logging and metrics”,点击“Edit”,创建一个新的 Kinesis Data Firehose Delivery stream,并将其关联到 WAF logging 设置里。
4. 映射 Firehose IAM Role 到 OpenSearch 用户:获取 Kinesis Delivery Stream 的 IAM Role ARN ,点击 IAM Role 进入 IAM 界面拷贝 Role ARN。进入OpenSearch 中,完成映射。
完成以上步骤后,Amazon WAF 日志分析系统就基本完成了。使用 json 格式的查询语句,通过添加过滤条件,可以实现复杂的查询策略,以完成不同的查询任务。
当然,部署 Amazon WAF 的前提是您已经拥有激活的亚马逊云科技中国区账户。立即注册亚马逊云科技账号,体验 Amazon WAF 是如何保护 Web 应用程序免受攻击。
完整注册流程如下:
一、邮箱验证
前往账号亚马逊云科技注册页面,点击前往https://aws.amazon.com/cn/free/?sc_channel=seo&sc_campaign=blog0907
1.填写您注册账号的邮箱, 点击“继续”。
2.查收验证邮件。
3.输入邮箱中收到的验证码 , 点击“继续”。
二、设置用户名密码
1.输入您的账号用户名。
2.输入您的账号密码。
3.再次输入,确认您的账号密码。
三、填写账号联系人以及公司信息
1. 填写公司联系人姓名全称。
2. 填写公司联系人联系电话。
3. 填写公司名称,请务必与您所提供的营业执照公司名称保持一致。
4. 填写公司办公地址。
5. 选择是否需要发票。
6. 查看客户协议,并完成勾选。
四、企业信息验证
1.上传企业营业执照。
2.填写网络安全负责人姓名。
3.填写网络安全负责人联系方式。
4.上传网络安全负责人身份证件。
五、完成手机验证
1.填写手机号。
2.输入验证码。
3.完成验证,点击继续。
六、选择支持计划
根据企业具体需求,选择符合的支持计划。
七、等待注册结果。
还没有评论,来说两句吧...