一、数据库审计的重要性
数据库审计服务是一款实时监控数据库安全的产品,可以对用户访问数据库的行为进行记录、分析、报告和溯源,加强数据资产的安全性。《信息安全技术网络安全等级保护基本要求》(GB/T-)明确要求二级及以上的信息系统“应在网络边界、重要网络节点进行安全审计,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计。
作为一种审计工具,其检测策略在数据库审计中扮演着重要角色。检测规则又是策略中的最小单位,所有审计都是通过配置对应的规则来完成触发,灵活运用规则可以大大提高审计的效率和准确性。本文主要分享下添加数据库审计规则的一些经验。
二、数据库安全审计的规则开发思路
这里以mysql为例,从六个方面来说明下审计规则的配置,给大家作参考:
l高危操作
高危操作主要是针对DDL(datadefinitionlanguage)数据定义语言,DDL语句更多的是被数据库管理员(DBA)所使用,配置此类监控规则,对SQL操作进行细粒度的审计告警,能够快速定位发现SQL执行过程中的风险行为,如DBA在没有充分准备,不清楚命令厉害关系的情况下,直接到线上执行一些DDL操作,数据库审计能够及时的告警提示,对于避免运维生产事故尤为重要。
规则内容重点监测以下几种操作:DROPDATABASE、DROPTABLE、DROPINDEX、DROPUSERMAPPING、TRUNCATE、ALTERDATABASE、ALTERTABLE、CREATEDATABASE、RENAMETABLE等。
l数据泄露或篡改
此类策略可以从两个方向进行配置审计规则:一是对全表的的Update、Delete等操作;以及大量的数据请求,如查询的行数大于或等于万行、返回或更新的行数大于或等于5万。具体的数值控制,可以根据业务情况进行调整,以达到风险监测及告警效果准确性。二是监控获取系统用户登录密码的行为,以及用户表(删除、插入、更新)的操作;此外,也可以通过SIEM结合关键词对多次登录失败的事件进行监控或关联分析,来完善数据泄露的监控规则。
l不规范语句
不规范语句主要针对DML(datamanipulationlanguage)数据操纵语言,包括不带WHERE或LIMIT条件的DELETE语句、UPDATE语句和查询语句;使用不含字段列表的INSERT语句;selectcount(*)语句。配置此类审计规则并告警,可以及时发现问题并处置,降低执行不规范语句带来的信息泄露和性能问题。
l权限变更
角色的权限控制用户可以访问哪些资源以及用户可以对这些资源执行哪些操作。权限变更意味着原本安全环境的变化,无论是外部入侵行为,还是内部的风险操作。权限更改都是需要