进入操作模式
高效防护 Web 应用

高效防护 Web 应用

官网控制台部署
ROS 模板 IaC 部署
官网控制台部署
ROS 模板 IaC 部署

一键部署

25

https://www.aliyun.com/solution/tech-solution/web-protection

方案概览

随着网络技术的不断发展,您的 Web 应用如果没有流量入口的防护,会面临如下风险:

  • 网页被恶意篡改,导致信息不准确。

  • 站点响应突然变慢或突然遇到海量的访问请求,影响正常用户访问。

  • 账户、手机号等敏感数据泄漏或数据库数据被篡改,导致业务受影响。

  • 面对新型的安全漏洞,修改代码做修复需要花时间,有阶段性的安全隐患。

  • 为了满足各行业安全合规要求,需要花大量的开发成本来达到网站的安全防护水位。

如何高效灵活地避免以上问题,防护您的 Web 应用,我们推荐您使用阿里云 Web 应用防火墙(Web Application Firewall,简称 WAF)。WAF 通过对网站或者 App 的业务流量进行恶意特征识别及防护,在对流量进行清洗和过滤后,将正常、安全的流量返回给服务器,避免网站服务器被恶意入侵导致性能异常等问题,从而保障网站的业务安全和数据安全。

方案架构

WAF 支持为 ECS 实例开启安全防护。将 ECS 实例接入 WAF 后,实例所有的 Web 业务流量将被指定网关牵引到 WAF 进行检测。WAF 过滤 Web 应用攻击后,将正常的业务流量转发回 ECS 服务器。具体网络架构如下图所示。

image

本方案的技术架构包括以下基础设施和云服务:

  • 云服务器 ECS:部署了 Web 应用。

  • WAF 3.0 按量付费版:用于防护 Web 应用。

部署准备

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值。本方案的云资源支持按量付费,且默认设置均采用按量付费引导操作。如果确定任何一个云资源采用按量付费方式部署,账户余额都必须大于等于100元。

资源开通

如果您是首次访问阿里云Web应用防火墙3.0,请按照以下步骤进行开通。否则请进入部署资源步骤。

  1. 访问Web应用防火墙3.0(按量付费)购买页。

  2. 选择付费模式为按量付费后,完成如下配置。

    配置项

    说明

    地域

    选择实例所在地域:中国内地区域、。

    WAF版本

    默认为按量3.0,表示开通的实例为WAF 3.0的按量付费版本。无需配置。

    流量计费保护阈值

    实例的流量计费保护阈值,保持默认值即可。如果实例的峰值QPS流量超过设置的阈值时,实例将进入沙箱,并且该小时不会出账(流量费和功能费会正常统计),实际总费用为0。

    重要

    实例进入沙箱后,将不再保证产品SLA。接入该实例防护的流量将随时可能出现业务访问异常,包括但不限于丢包、限速、限连、防护失效、日志/报表数据异常、访问超时、进入DDoS清洗/黑洞等。如果实例一直处于沙箱状态,请及时调整流量计费保护阈值,避免业务受到影响。更多信息,请参见沙箱说明。

    关于流量计费保护阈值的更多信息,请参见流量计费保护。

    服务关联角色

    为了向您提供对云上网络流量的访问控制、监控分析等功能,WAF需要访问您的云服务资源。您需要点击创建服务关联角色,系统会自动创建角色AliyunServiceRoleForWaf,无需手动对此角色做任何修改。

  3. 确认当前配置后,单击立即购买并完成下单。

一键部署

10

一键部署基于阿里云资源编排服务 ROS(Resource Orchestration Service)实现,ROS 模板已定义好脚本,可自动化地完成云资源的创建和配置,提高资源的创建和部署效率。

您可以通过下方提供的 ROS 一键部署链接,来自动化地完成这些资源的创建和配置:

  • 创建 ECS 实例

  • 安装一个 Web 网站

  • 开通 WAF 3.0 按量付费版。

操作步骤

  1. 单击一键部署,并选择地域。

  2. 在配置页面选择可用区、ECS 规格、设置密码,确认好价格后单击下一步。

  3. 在价格预览确认价格后,单击创建。

    image

    本方案中,ECS 和 WAF 都是按量计费,其中,WAF 按量付费实例会根据每个完整小时内处理的业务请求量及您已启用的防护功能,计算该小时的流量处理费和功能费,生成分时账单,并在每个结算周期生成每日账单。实际产生费用以账单为准。

  4. 当资源栈信息页面的状态显示为创建成功时表示一键配置完成。

将 ECS 实例接入 WAF

5

重要

接入WAF时,Web业务可能出现短暂的秒级连接中断。建议选择业务低峰期进行操作,并在接入完成后关注业务状态。若客户端或服务具备有效的重连机制,此中断将自动恢复,不会对业务运行造成影响。

操作步骤

  1. 登录 Web 应用防火墙 3.0 控制台。

  2. 在左侧导航栏,选择接入管理 > 云产品接入 > 云服务器ECS,单击立即授权,完成云产品授权。

    说明

    如果您已经完成云产品授权,则该页面不会出现,您可以直接执行后续步骤。

    image

  3. 单击image刷新列表,选择通过一键部署创建的实例,单击立即接入。

    image

  4. 单击添加端口,填入端口号 80,单击确定。

    image

  5. 完成接入后,WAF 会自动生成一个命名为“实例 id-端口-资产类型”的防护对象,并为该防护对象默认开启基础防护规则。您可以在防护对象页面,查看自动添加的防护对象。

    image

    如果您希望继续使用 WAF 3.0 的更多防护功能,请参见图说防护配置。

验证及清理

10

方案验证

一、通过恶意 SQL 注入代码,验证 SQL 注入防护

  1. 登录 ROS 控制台,在左侧导航栏,选择资源栈,找到本方案创建的资源栈。

  2. 在资源栈详情页,单击输出页签,单击网站地址URL打开部署的网站。此刻能正常访问。

    image

    image

  3. 在 IP 后输入 SQL 恶意攻击代码验证防护效果,例如http://<ECS 公网 IP>?id=1 and 1=1,返回如下 405 拦截提示页面,则表示攻击被拦截。

    image

二、查看 WAF 控制台安全报表,验证防护效果

  1. 打开 Web 应用防火墙 3.0 控制台。点击左侧导航栏的检测与响应 > 安全报表,可以查看攻击类型分布、攻击来源、防护详情等数据。

  2. 可以看到之前 SQL 注入攻击触发的拦截,基于这些详细的数据和图表展示,可以及时发现和处理潜在的安全威胁,并且制定有效的安全策略。

清理资源

您可以使用ROS一键删除创建的云资源,避免继续产生费用。

  1. 登录ROS控制台。

  2. 在左侧导航栏,选择资源栈。

  3. 在资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除。

  4. 在删除资源栈对话框,选择删除方式为释放资源,然后单击确定,根据提示完成资源释放。