祝振欣
摘要:如何实现数据库安全,是数据库设计的重要环节,也是数据库管理系统中最重要部分。大量重要数据存放于数据库中,如果无法保障数据库的安全,则可能导致系统中的重要数据被窃取、丢失或损毁等危害。该文通过对数据库的安全机制、访问控制策略的分析,提出了针对数据库安全设计的建议。
关键词:数据库;安全机制;安全策略;安全设计;访问控制
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)17-0009-02
现在是信息化时代,信息化离不开数据库的建设,数据库是电子商务系统、信息管理系统、金融系统以及ERP系统的基础,保存着企业、客户等重要的商业数据和信息,如交易信息、工程数据和个人资料等。因此,保证数据库安全性是每个数据库管理员的责任。
1 数据库系统的安全机制
在现实应用中,数据的安全性是数据库的一个重要特性,安全性是指系统保护数据以防止被非法使用而造成的数据泄漏、破坏更改。数据库系统安全机制分为四个等级:
1.1 操作系统安全机制
通常情况下,数据库管理系统运行在一特定操作系统平台下,所以操作系统的安全性直接到数据库的安全。在用户使用计算机实现对数据库服务器的访问时,首先应该获得操作系统的使用权限。操作系统安全性是管理员工作之一。
1.2 网络传输安全机制
在网络时代,防止数据传输过程中的安全,通常会采用对数据加密的方式进行。1)数据加密:数据加密是所有数据库级别的操作,数据在定到磁盘时进行加密,从磁盘读的时候解密,可以保护数据库中的业务数据而不必对现有的应用程序做修改。2)备份加密:备份加密的方式可以防止数据泄漏和被窜改,备份的恢复可以限于特殊的用户。
1.3 数据库级安全机制
用户在通过服务器级安全性检查后,将面对不同的数据库接口。在建立不同用户的登录账号时,应该确定用户登录时的默认数据库,并需要给用户分配权限。固定数据库角色存在于每个数据库中,在数据库级别提供管理特权分组。管理员可将任何有效的数据用户添加为固定数据库角色成员,第一个成员都获得应用于固定数据库角色的权限。在特殊情况下,我们需要创建一个自定义的数据库角色。
1.4 对象级安全机制
数据库对象安全机制包括对数据表和列的安全设置,是对用户权限审查的最后一个安全等级。数据对象的访问权限指定了用户针对数据操作的许可、数据对象的引用。用户访问数据时的处理过程:1)用户必须先登录进行身份识别,并被确认为合法用户。2)用户在访问的数据库中有对应的账号,在此账号上定义数据库管理的安全策略。3)审核用户是否有访问数据库对象的权限,经过许可权限的验证,才可以对数据的访问。通常,为了减少系统开销,在对象级安全管理上应该在大多数场合赋予用户广泛的权限,具体情况实施具体的访问权限设置。
2 数据库访问控制策略
2.1 数据库访问控制系统
访问控制是允许或限制用户访问能力及范围的一种方法。最初的研究和应用主要是为了防止机密信息被未经授权者访问,现在主要在商业领域进行应用,其的目的是使用户只能对取得授权的数据库操作。
访问控制系统主要包括:
1) 主体,即发出访问动作、操作要求的实体,一般指用户或者某进程。
2) 客体,指被调用的程序或数据访问。
3) 安全访问规则,一般用来确定主体是否拥有对客体的访问能力。
2.2 数据库访问控制方式
数据库访问控制方式有自主访问控制、基于角色访问控制和强制访问控制等三种方式。
1) 自主访问控制
自主访问控制,指允许把访问控制权的授予和取消留给个体用户来判断,具有某种访问特权的用户可以把该种访问许可传递给其他用户。
2) 基于角色访问控制
在RBAC中,访问决策是基于角色的。角色,指一个或一群用户在组织内可执行操作的集合。使用角色来集中管理数据库或服务器的权限,按照角色的作用范围,可以将角色分为服务器角色和数据库角色。服务器角色是对服务器级别的权限分配,而数据库角色是针对具体数据库的权限分配。数据库角色可分为:固定数据库角色;用户定义的数据库角色;应用程序角色等。
3) 强制访问控制
强制访问控制,是一种限制访问客体的手段,主要以包含在这些客体中信息敏感性和访问这些信息主体的正式授权信息为基础,对于不同类型的信息采取不同层次的安全策略
2.3 数据库数据加密方案
1) 身份验证器:加密菶表中的数据时,加密算法将使数据变得无法阅读。此类加密的数据是无法阅读的,却可以被具有该表数据修改权限的用户操作。身份验证器是加密数据与爱迪生段特定数据的结合,用于确保不会发生数据行的非法移动。
2) 对称密钥加密:对称密钥加密能提供比密码加密更高的加密强度,同时能够支持更多的算法。对称密钥在加密大规模数据时是比较高效的。在使用对称密钥进行更多的加解密操作前,首先打开相应的密钥。
3) 称密钥加密:百对称密钥加密常用于加密对称密钥,而不是直接加密数据,因为对称算法在加解密时通常更为高效。其使用密码或数据库主密码保护非对称密钥有两点好处:其一,使用时可自动解密不需要输入密码;其二,比单独使用密码保护更具有优势。
4) 证书加密:证书中保存了大量的信息,包括拥有者,发布者以及有效期限。证书可以被单独备份,也可以使用证书直接对数据进行加解密操作。
3 数据库安全设计
安全策略主要包括安全密码和安全账号、日志记录检测、数据库安全设置、操作系统安全设置、扩展存储过程管理、网络及协议安全管理等方面的策略。
3.1 用户身份认证及权限控制
数据库系统安全的第一道防线即是用户身份认证及权限控制。用户身份即系统创建的安全登录名,用户以此访问数据库,通过验证用户名称和口令,防止非法用户访问到数据库,进而对数据库进行非法存取和一些破坏操作,这也是身份认证系统的最基本功能。权限控制即系统为了限定用户的访问权限,而授予用户一定的权限,用来限制用户操纵数据库的权力,即能保证用户在授权范围内对数据库实体的存取执行权限,又能阻止用户访问非授权数据。
3.2 数据库加密
加密数据能够保护机密信息不被窃取,数据加密是对数据形式进行转换和重新排列的过程,在对数据进行读取时,必须使用密钥进行解密,否则通常无法直接阅读经过加密算法处理的数据,保护加密所使用的密钥是保障数据安全的一个至关重要的问题。1)身份验证器,是加密数据与某段特定数据的结合,用于确保不会发生数据行的非法移动。2)对称密钥加密,能够提供更高的加密强度,同时能够支持更多的算法。3)非对称密钥加密,用于加密对儿密钥,而不是直接加密数据。证书加密,类似于非密钥,证书中存储了更多的信息,包括证书打肿脸充胖子者、发布者和有效期限等。
3.3 加强数据库日志的记录
事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录。事务日志记录每个事务的开始,所有针对数据库的访问均有记录,通过激活实例属性,打开“安全性”选项,设定“审核级别”为全部,则登录数据库的所有账号就被详细记录在数据库日志里。通过定期查看数据库日志记录,进而检测是否存在可疑或非法的登录事件,保护数据库的安全。
3.4 网络数据库备份与恢复
数据库是许多组织的任务关键组件,是所有重要数据的存储。而数据库故障会带来巨大的损失,而这可以通过实现数据恢复计划来避免。
备份数据库并确保在灾难出现后能够将其及时恢复到预期的状态,是数据库管理员不可推卸的职责。网络备份一般通过专业的数据存储管理软件结合相应的硬件和存储设备来实现,工程师通过特殊的手段读取却在正常状态下不可见、不可读、无法读的数据。数据恢复是指通过技术手段,将保存在服务器硬盘、移动硬盘、台式机硬盘等设备上丢失的电子数据进行抢救和恢复的技术。
参考文献:
[1]马军. 数据库操作技术大全[M].北京:电子工业出版社,2008.6.
[2]郭郑州. SQL Server2008完全学习手册[M].北京:清华大学出版社,2011.1.