文档首页 > > 最佳实践> 数据库安全防护最佳实践> 数据库防攻击

数据库防攻击

分享
更新时间:2021/01/22 GMT+08:00

SQL(Structured Query Language)注入攻击属于数据库安全攻击手段之一,通过将SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。数据库安全防护内置了SQL注入特性库、基于上下文的学习模型和评分机制,对SQL注入进行综合诊断,并实时阻断,从而确保用户数据库免受SQL注入攻击。

场景说明

数据库防攻击的架构图如图1所示。

图1 防攻击架构图

购买数据库安全防护实例后,假设您需要对华为云上弹性云服务器(Elastic Cloud Server ,以下简称ECS)的自建数据库进行防SQL攻击防护,数据库的信息说明如表1所示。

本章节介绍在该场景下如何通过根据创建的学习模式规则,对SQL注入进行综合诊断,并实时阻断。

表1 ECS自建数据库信息说明

类型

MySQL

版本

5.5

IP地址

192.168.1.143

端口

3306

登录数据库的用户名

root

登录数据库的用户密码

-

步骤一:将数据库接入数据库安全防护管理系统(HexaTier)

购买数据库安全防护实例后,您需要先将数据库接入数据库安全防护管理系统(HexaTier),配置日志存储路径、创建受保护的数据库和修改业务侧配置文件,才可以使用监控功能、防拖库功能和查看日志记录以及受保护的数据库安全防护策略生效。

  1. 登录管理控制台
  2. 进入登录安全防护管理控制台入口,如图2所示。

    图2 进入登录安全防护管理控制台入口

  3. 输入登录用户名admin和密码,单击“登录”或按“Enter”,如图3所示。

    图3 安全防护管理控制台登录界面

  4. 配置日志存储路径。

    为满足合规性要求,HexaTier采用远程存储的方式保存日志,供后续审计及取证使用。在登录HexaTier后,必须先配置日志存储路径,才可以使用监控功能、防拖库功能和查看日志记录。

    1. 进入远程日志配置入口,如图4所示。
      图4 进入远程日志配置入口
    2. “远程日志配置”页面,配置远程日志参数,如图5所示。
      图5 配置远程日志
    3. 单击“测试”
    4. 单击“更新”

  5. 创建受保护的数据库。

    受保护的数据库指在HexaTier中配置连接并被保护的数据库实例。创建受保护数据库后,您就可以通过HexaTier控制台进行配置敏感数据脱敏规则,启用敏感数据发现功能。

    1. 进入新建受保护的数据库入口,如图6所示。
      图6 进入新建受保护的数据库入口
    2. “受保护数据库”页面,配置数据库参数,如图7所示。
      图7 创建受保护数据库
    3. 单击“创建”,在受保护数据库列表页面可以查看创建的数据库,如图8所示。
      图8 受保护数据库创建成功

  6. 修改业务侧配置文件。

    为了确保受保护的数据库安全防护策略生效,您需要手动将业务侧配置文件中数据库的信息(IP地址和端口),分别修改为登录HexaTier的数据库安全防护实例的浮动地址和创建受保护的数据库时设置的代理端口。

    每一个添加防护的数据库都需要手动修改业务侧配置文件对应的数据库信息(IP地址和端口)。

    1. 获取图2中实例的“浮动地址”“192.168.1.95”
    2. 获取图8中受保护数据库的“代理地址”接口“3306”
    3. 登录数据库后,将业务侧配置文件中数据库的信息,分别修改为实例的浮动地址和受保护数据库的代理端口。

      以JDBC编程语言为例,配置示例如下:

      data.datasource.url=jdbc:mysql://192.168.1.95:3306/test
    4. 保存配置文件,并重启应用程序。

      配置完成后,您可以登录HexaTier,选择仪表盘 > 受保护的数据库拓扑图,查看受保护的数据库是否连接成功。

      :代表业务侧与DBSS连接不成功或未连接。连接不成功时,您可以参照数据库安全防护无法连接防护数据库进行排查。

      :代表受保护的数据库连接成功。

步骤二:配置学习模式规则和查询模式组防火墙规则

在本节中,您需要配置学习模式规则,并创建基于该查询模式组的数据库防火墙规则。

  1. 配置学习模式规则。

    1. 进入数据库安全策略入口,如图9所示。
      图9 进入数据库安全策略入口
    2. “创建数据库安全规则”页面,创建学习模式规则,如图10所示。
      图10 创建学习模式规则
    3. 单击“创建”
    4. 进入学习模式库入口,如图11所示。
      图11 进入学习模式库入口
    5. “新建查询模式”页面,配置学习模式库,如图12所示。
      图12 创建学习模式库
    6. 单击“创建”

  2. 基于学习模式的学习结果,创建查询模式组防火墙规则。

    1. 进入数据库安全策略入口,如图13所示。
      图13 进入数据库安全策略入口
    2. “创建数据库安全规则”页面,创建基于学习结果的查询模式组规则,如图14所示。
      图14 创建查询模式组防火墙规则
    3. 单击“创建”

步骤三:配置SQL注入风险引擎

  1. 进入配置SQL注入风险引擎入口,如图15所示。

    图15 进入配置SQL注入风险引擎入口

  2. “SQL注入风险引擎配置”页面,设置风险因素的权重评分,如图16所示。

    建议总分值设置为50。
    图16 设置SQL注入风险引擎

  3. 单击“保存”

步骤四:配置基于风险的IDS规则

风险引擎定义了对SQL注入攻击的防护,用户可以通过调整每个风险因素的权重评分(1~100),来配置HexaTier的风险引擎。

  1. 进入数据库安全策略入口,如图17所示。

    图17 进入数据库安全策略入口

  2. “创建数据库安全规则”页面,创建基于风险的IDS规则,如图18所示。

    图18 创建基于风险的IDS规则

  3. 单击“创建”

步骤五:查看入侵日志

在左侧导航树中,选择入侵日志,可以查看入侵事件。

单击事件日志,可以查看该事件的详情。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问