如何防止数据库里的数据被泄露

            我们知道数据库是在我们操作系统运行之上的,如果说我们要保证数据库的相对安全,必须要对计算机的各个层次有所了解。我们常说安全是一个整体,比如说我们有一台web服务器,要保证它的安全,必须要从网络安全,系统安全、外部安全、中间件安全、数据安全等这些方面去综合的去把控。

我们说到这里,大家应该是非常熟悉,其实这就是我们参加考试内容。所以说它是以外部安全为主,穿插了我们系统安全、网络安全、外部安全专业、安全、数据安全这些所有的内容,所以说我们现在还没有学到外部安全,总结性安全,所以说我们针对数据库的,我们针对这个操作系统,操作系统来讲一下,计算机系统的安全层次分类,那么主要是分为5层,第一层的物理层是计算机系统在物理硬件上的安全保护。

第二层是操作系统层,操作系统本身是提供安全性的一个保护措施。第三从网络层,网络层是网络安全控制机制,比如说安全域的划分,访问控制这些内容。第四个是数据库的系统层数据库系统层,那么数据库系统应该是有完善的访问控机制,检查数据库用户合法性以及数据库的操作权限。最后一层是数据层,这层是直接对我们的数据做一个加密。

数据库在计算机系统里面的安全模型它是这样的,就像我们在PPT里面去展示的,用户在输入用户名和密码登录后数据库应用程序会将用户名还有密码发送到我们数据库的管理系统中,验证通过后去读写我们操作系统的这个文件,最终数据会在数据库中进行读写,分别对应了数据库中的用户验证的安全,就用户安全,还有操作权控制安全,比如说我们思考语句权限的管理,文件操作控制安全,也就是我们SQL语句读写文件的内容。

那么还有加密存储与冗余,你说我们数据在数据库里面的加密,那么操作系统层的安全保护措施大方向上有两个,第一个是身份认证,给系统提供最外层的一个安全的保护措施。每个用户在系统中它都有一个用户标识,每个用户标识都是由用户名和用户的标识号这两部分来组成的。那么用户标识号在系统的整个生命周期内都是唯一的,这和我们之前讲的windows操作系统的内容是一样的,那么系统内部记录着所有合法用户的标识,那么系统鉴别是指用是指系统提供一定的方法,让用户标识自己的名字或或者说是身份,那每次用户要求登录系统时由系统进行核对,我通过验证后才能提供使用数据库系统管理的一个权限,而对于用户身份鉴别的方法有很多,而在一个系统中往往是多种方法进行结合,从而获取一个更强的一个安全性。

第二个是操作权限控制,对于通过鉴定获得系统使用权的用户,系统根据它的存在权限定义,对它的各种操作进行控制,确保它的操作是合法的。这里面讲的内容其实就是和我们windows的acr权限,还有这个 Linux的权限控制是差不多的。

第三层是数据库安全是最普通也是最核心的一个防护措施。那么第四层是数据库用户和权限,这个是数据库内部的一个安全的控制的机制,那么权限分配不合理会导致我们数据的泄露,甚至会获取我们系统的一个最高权限。

分享: