首页 高效防护 Web 应用

高效防护 Web 应用

更新时间: 2024-12-20 16:58:04

手动部署

40

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 服务器。具体网络架构如下图所示。

tech_solu_106@2x.png

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

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

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

部署准备

5

  1. 准备一个需要接入 WAF 防护的 ECS 实例。

  2. 访问阿里云免费试用,在 Web 应用防火墙资源包 3.0 卡片,如果您符合试用规则,可以单击立即试用

  3. 如果显示您不符合试用规则,您可以开通按量付费版。确保您的阿里云账户余额不小于 100 元,以便使用按量付费资源。选用最低规格的按量计费 ECS 实例与 WAF 3.0 按量付费版体验本方案,并在体验结束后释放资源,产生的费用不超过 5 元。实际费用以控制台账单为准。

部署资源

10

规划好资源后,请按照以下步骤部署方案中的所有资源。

创建专有网络 VPC 和交换机

  1. 登录专有网络管理控制台

  2. 在顶部菜单栏,选择华东1(杭州)地域。

  3. 在左侧导航栏,单击专有网络

  4. 专有网络页面,单击创建专有网络

  5. 创建专有网络页面,配置 1 个专有网络和 1 台交换机。配置交换机时,请确保交换机所属的可用区的 ECS 是可用状态。

    项目

    说明

    示例值

    VPC 名称

    建议您在部署过程中新建一个 VPC 作为本方案的专有网络。部署过程中填写 VPC 名称即可创建对应名称的 VPC。

    长度为 2~128 个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和连字符(-)。

    VPC_HZ

    IPv4 网段

    在创建 VPC 时,您必须按照无类域间路由块(CIDR block)的格式为您的专有网络划分私网网段。阿里云 VPC 支持的网段信息请参见什么是专有网络

    在网络规划时可以按照管理网段-开发网段-测试网段-生产网段等规则做好规划。网段一旦投入使用,调整过程复杂,因此规划十分重要。

    192.168.0.0/16

    交换机

    建议创建 1 个交换机。

    vsw_web

    可用区

    建议选择排序靠后的,一般此类可用区较新。新可用区资源更充沛,新规格也会在新的可用区优先上线。

    可用区 J

    IPv4 网段

    虚拟交换机需要一个 IPv4 网段

    例如:

    vsw_web:192.168.1.0/24

创建安全组

  1. 登录 ECS 管理控制台

  2. 在左侧导航栏,选择网络与安全>安全组

  3. 在顶部菜单栏,选择华东 1(杭州)地域。

  4. 安全组页面,单击创建安全组

  5. 创建安全组页面,创建 1 个安全组。

    项目

    说明

    示例值

    名称

    设置安全组的名称。

    sg-web

    网络

    选择之前规划的专有网络 VPC。

    VPC_HZ

    安全组类型

    本方案选择普通安全组,具体差异您可以参考普通安全组与企业级安全组

    普通安全组

创建云服务器 ECS

  1. 登录 ECS 管理控制台

  2. 在左侧导航栏,选择实例与镜像>实例

  3. 在顶部菜单栏,选择华东 1(杭州)地域。

  4. 实例页面,单击创建实例

  5. 在云服务器 ECS 购买页面,创建 1 台云服务器 ECS。

    项目

    说明

    示例值

    实例名称

    实例的名称。

    APP

    网络

    VPC 专有网络

    选择上一步创建的专有网络

    可用区及交换机

    使用之前创建的交换机所对应的可用区。

    可用区 J

    交换机 vsw_web

    支付方式

    按量付费

    实例规格

    ECS 的实例规格及内核、vCPU 数量。关于 ECS 选型的最佳实践请参见实例规格选型指导

    ecs.e-c1m2.large

    镜像

    ECS 的“装机盘”,为 ECS 实例提供操作系统、预装软件等。

    Alibaba Cloud Linux

    镜像版本

    镜像的版本。

    Alibaba Cloud Linux 3.2104 LTS 64 位

    系统盘类型

    硬盘类型。

    ESSD 云盘

    系统盘容量

    硬盘容量。

    40 GiB

    公网 IP

    用于在云服务器 ECS 对外访问公网资源。

    分配公网 IPv4 地址

    带宽计费方式

    选择按使用流量,以节省流量成本。

    按使用流量

    带宽值

    本方案以 5 Mbps 为例。

    5 Mbps

    安全组

    使用之前创建的安全组。

    sg-web

    管理设置

    使用自定义密码,方便后续登录服务器安装相关软件。

    自定义密码

应用部署

5

部署示例应用

开通了云资源后,接下来您需要执行以下操作部署示例应用:

  1. 登录 ECS 管理控制台

  2. 在左侧导航栏,选择实例与镜像>实例

  3. 在顶部菜单栏,选择华东 1 (杭州)地域。

  4. 部署示例应用。

    1. 实例页面,找到创建的一台 ECS 实例,在其右侧操作列,单击远程连接

    2. 远程连接对话框的通过 Workbench 远程连接区域,单击立即登录,然后根据页面提示登录。

    3. 执行以下命令,安装网站示例。

      curl -fsSL https://help-static-aliyun-doc.aliyuncs.com/tech-solution/install-web-protection.sh|bash

开通 WAF 3.0 按量付费版

5

  1. Web应用防火墙3.0(按量付费)购买页,参考下表配置参数,然后单击立即购买

    配置项

    描述

    商品类型

    选择Web应用防火墙3.0

    付费模式

    选择按量付费

    地域

    根据您的业务所在地域,选择WAF实例的地域。可选项:中国内地非中国内地

    WAF版本

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

    流量计费保护阈值

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

    按量付费实例支持的最大阈值与默认值保持一致:

    • 中国内地:100,000 QPS。

    • 非中国内地:10,000 QPS。

    重要

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

  2. 确认配置信息后,同意服务协议,并单击立即开通

将 ECS 实例接入 WAF

10

重要
  • 实例接入WAF时,Web业务可能会出现秒级闪断。在客户端可自动重连的情况下该闪断会自动恢复,不会对您的业务造成影响,请您关注业务并根据业务系统评估准备重连或回源等相关容灾机制。

  • ECS实例接入WAF后,如果进行如下操作,引流端口会自动取消接入。您需要重新添加端口,否则,业务流量将不会经过WAF防护。

    • 更换实例上绑定的公网IP

    • ECS创建迁移任务,变更可用区

    • 实例被释放

  • ECS引流是对EIP或公网IP进行的引流。

  • ECS解绑EIP后引流会被自动删除。

操作步骤

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

  2. 在左侧导航栏,单击接入管理

  3. 选择云产品接入页签,在左侧云产品类型列表,选择 ECS

  4. 根据页面提示,单击立即授权,完成云产品授权(如果您已经完成云产品授权,则该页面不会出现,您可以直接执行后续步骤)。

    image

  5. 单击同步最新资产,等待约 60s 后,选择需要添加的实例,单击添加端口

    image

  6. 添加端口弹窗,根据您 Web 应用的协议类型,填入端口号及其他配置信息。本方案以 HTTP 协议为例,填入 80 端口。

    image

    如果您的 Web 应用采用了 HTTPS 协议,需要上传证书,并选择高级配置。详情请参见添加引流端口

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

    image

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

验证及清理

5

方案验证

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

  1. 在浏览器中输入 ECS 公网 IP 进行访问测试,如果网站可以正常访问,则表示 WAF 接入成功。image

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

    image

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

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

image.png

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

清理资源

阿里云为新用户提供每月20元的免费额度,周期为3个月,下单后立即生效。如果出现超额,超额部分将按照WAF 3.0按量付费的计费规则付费。

  1. 如果您不再使用 WAF 3.0 实例,可以登录控制台,在总览页面单击关闭 WAF

image

  1. 释放 1 台云服务器 ECS 实例:

    登录 ECS 控制台,在实例页面,找到目标实例,然后在操作列选择216更多-竖向..png>释放设置,根据界面提示释放实例。

  2. 释放 1 台交换机:

    登录专有网络控制台,在交换机页面,找到目标交换机,然后在操作列单击删除,按照界面提示释放实例。

  3. 释放 1 个专有网络 VPC:

    登录专有网络控制台,在专有网络页面,找到目标 VPC,然后在操作列单击删除,按照界面提示释放实例

一键部署

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 服务器。具体网络架构如下图所示。

tech_solu_106@2x.png

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

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

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

部署准备

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

  2. 为阿里云账号充值。为节省成本,本方案默认选择使用按量付费,使用按量付费资源需要确保账户余额不小于 100 元。选用最低规格的按量计费 ECS 实例,并在体验结束后释放资源,产生的费用不超过 5 元。实际费用以控制台账单为准。

一键部署

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业务可能会出现秒级闪断。在客户端可自动重连的情况下该闪断会自动恢复,不会对您的业务造成影响,请您关注业务并根据业务系统评估准备重连或回源等相关容灾机制。

  • ECS实例接入WAF后,如果进行如下操作,引流端口会自动取消接入。您需要重新添加端口,否则,业务流量将不会经过WAF防护。

    • 更换实例上绑定的公网IP

    • ECS创建迁移任务,变更可用区

    • 实例被释放

  • ECS引流是对EIP或公网IP进行的引流。

  • ECS解绑EIP后引流会被自动删除。

操作步骤

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

  2. 在左侧导航栏,单击接入管理

  3. 选择云产品接入页签,在左侧云产品类型列表,选择 ECS

  4. 根据页面提示,单击立即授权,完成云产品授权(如果您已经完成云产品授权,则该页面不会出现,您可以直接执行后续步骤)。

    image

  5. 单击同步最新资产,等待约 60s 后,选择通过一键部署创建的实例,单击添加端口

    image

  6. 添加端口弹窗,填入端口号 80

    image

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

    image

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

验证及清理

10

方案验证

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

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

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

    image

    image

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

    image

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

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

image.png

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

清理资源

在本方案中,您创建了 1 个 ECS 实例、1 个 WAF 实例。体验完方案后,您可以参考以下规则处理对应产品的资源,避免继续产生费用。

  1. 登录 ROS 控制台,在左侧导航栏,选择资源栈

  2. 找到本方案部署的资源栈,然后在其右侧操作列,单击删除

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