如何应对事关业务生死的数据泄露和删改?

一、引言

1. 什么是数据库审计?

对于一个仓库,如果要防盗,常见做法是出入口全装上监控,一旦有问题了,调监控查找异常情况。对数据库来说也类似,数据库也有出入口,对所有连接出入口监控,可以记录下所有的动作,一旦有问题了,通过查询历史动作并进行分析,可以找到关键信息。

故数据库审计可以理解为是记录用户访问数据库行为,定位非法动作,事后追根溯源,提高数据库安全性的功能。

2. 常见的审计方式

常见的审计方式包括以下几个类别:

(1)应用层审计

在应用系统中直接审计,语句还没往数据库后台发就先做了审计,不影响数据库性能,对底层用的是什么数据库也不关心,但对应用系统压力比较大,并且应用系统需要解析语句,有一定复杂度。

(2)传输层审计

往往抓包解析实现,对上下层都没什么影响,但同样要解析语句,有一定复杂度,并且如果传输层是通过加密通讯,将无法解析。

(3)内核审计

直接在内核上实现,所有功能都能实现,也能将性能影响降到最低,但是对后台稳定性会有影响,对开发人员要求高,不管是开源还是非开源数据库,都会非常慎重考虑直接在内核上支持审计。

(4)插件审计

对于开源数据库,通常都有提供插件方式增加功能。审计可以以插件直接嵌在内核上,当然会对数据库性能有一定影响,但同样因为直接嵌在内核,很多一手信息能直接拿到,比方说上面没办法回避的语法解析就不用做,而且还能直接拿更多的运行态信息,能开发功能强大又灵活的审计功能。

原文链接:【https://www.infoq.cn/article/a4DNNeVBNuGqLJMR0HhK】。未经作者许可,禁止转载。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章