数据库安全服务 DBSS-数据库审计实例规则配置最佳实践:场景三:解决SQL注入风险的告警误报

时间:2024-08-14 11:17:43

场景三:解决SQL注入风险的告警误报

DBSS提供SQL注入检测功能,并内置了一些SQL注入检测规则。您也可以自行添加SQL注入检测规则。

示例:若某些语句命中了SQL注入规则,但是经分析发现该语句并不是一条攻击语句,是自己程序生成的合法语句,如图7所示。

图7 SQL注入误报

为了避免DBSS对误报SQL的持续告警,您可以通过设置白名单来解决该误报问题。

风险规则的优先级高于SQL注入规则。

图7所示,执行的SQL语句如下:

SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'adventureworks' UNION SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'adventureworks' UNION SELECT COUNT(*) FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = 'adventureworks'

分析语句关键信息:该语句用SELECT语句访问information_schema库的TABLES表。

配置操作

  1. 进入风险操作页面。

    图8 进入风险操作

  2. 单击添加风险操作,填写规则信息。

    图9 填写规则信息

    图9所示,填写的规则表示:在information_schema库的TABLES表执行的SELECT语句为无风险。

    添加“操作对象”时,单击“添加操作对象”,填写“目标数据库”“目标表”,单击“确认”,完成添加。

    图10 添加SQL注入白名单操作对象

  3. 单击下方“确认”,添加规则成功。

    设置完成后,再次检测到该语句时,优先命中该条规则,识别为无风险将不再告警。

support.huaweicloud.com/bestpractice-dbss/dbss_06_0022.html