一、引言
1. 什么是数据库审计?
对于一个仓库,如果要防盗,常见做法是出入口全装上监控,一旦有问题了,调监控查找异常情况。对数据库来说也类似,数据库也有出入口,对所有连接出入口监控,可以记录下所有的动作,一旦有问题了,通过查询历史动作并进行分析,可以找到关键信息。
故数据库审计可以理解为是记录用户访问数据库行为,定位非法动作,事后追根溯源,提高数据库安全性的功能。
2. 常见的审计方式
常见的审计方式包括以下几个类别:
(1)应用层审计
在应用系统中直接审计,语句还没往数据库后台发就先做了审计,不影响数据库性能,对底层用的是什么数据库也不关心,但对应用系统压力比较大,并且应用系统需要解析语句,有一定复杂度。
(2)传输层审计
往往抓包解析实现,对上下层都没什么影响,但同样要解析语句,有一定复杂度,并且如果传输层是通过加密通讯,将无法解析。
(3)内核审计
直接在内核上实现,所有功能都能实现,也能将性能影响降到最低,但是对后台稳定性会有影响,对开发人员要求高,不管是开源还是非开源数据库,都会非常慎重考虑直接在内核上支持审计。
Comments