
制定一个成功的数据库安全策略的关键在于你要了解为什么要保护数据库,保护哪个数据库,以及如何最好的保护数据以应对所有类型的威胁,遵从各种规范——如SOX、HIPAA、PCI DSS、GLBA 和欧盟法令。在最新的研究中,建议企业按照以下三点来建立完整的数据库安全策略:
1、建立一个集身份验证、授权、访问控制、发现、分类,以及补丁管理于一体的坚实基础。了解哪些数据库包含敏感数据是数据库安全战略的基本要求。企业应对所有的数据库采取一个全面的库存管理,包括生产和非生产的,并且遵循相同的安全政策给它们划分类别。所有的数据库,尤其是那些存有私人数据的数据库,应该有强的认证、授权和访问控制,即使应用层已经完成了认证和授权。缺乏这些坚实基础会削弱审计、监察和加密等其他的安全措施。
此外,如果不能每季度给所有的关键数据库打补丁,那么至少半年一次,以消除已知的漏洞。使用滚动补丁或从数据库管理系统(DBMS)的供应商和其他厂商那里收集信息,以尽量减少应用补丁的停机时间。始终在测试环境下测试安全补丁,定期运行测试脚本,以确保修补程序不影响应用程序的功能或性能。
2、使用具有数据屏蔽、加密和变更管理等功能的预防措施在建立了一个坚实和基本的数据库安全策略后,就应该开始采取预防措施,以保护重要的数据库。这样就为生产和非生产数据库提供了一个保护层。数据隐私不随着生产系统而停止,它也需要扩展到非生产环境,包括测试、开发、质量保证(QA)、分阶段和训练,基本上所有的私有数据都可以驻留。数据库安全专业人士应该评估在测试环境中或外包应用开发中用数据屏蔽和测试数据生成来保护私有数据的效果。
使用网络加密以防止数据暴露给在监听网络流量或数据静止加密的窥视者(他们关注存储在数据库中的数据)。当数据针对不同的威胁,这些加密方法可以实现相互独立。通常情况下,也不会对应用程序的功能有影响。
保护关键数据库的结构要按照标准化的变更管理程序来进行。在过去,对生产环境中的计划或其它数据库进行变更时需要关闭数据库,但新版本的数据库管理系统允许在联机时进行这些更改,这就带来了新的安全风险。一个标准化的变更管理程序能确保只有管理员在得到管理部门批准后才能改变生产数据库并且跟踪所有数据库的变更。机构还应该更新自己的备份和可行性计划,以处理数据或元数据因这些变更而发生的改变。
3、建立具有审计、监测和漏洞评估功能的数据库入侵检测系统当重要数据发生意外变化或者检测到可疑数据时,有必要进行一个快速的调查来查看发生了什么事情。数据库里的数据和元数据可以被访问、更改甚至是删除,而且这些都可以在几秒钟的时间内完成。通过数据库审计,我们能够发现“是谁改变了数据”和“这些数据是什么时候被改变的”等问题。为了支持之前提到的管理条例标准,安全和风险管理的专业人士应该追踪私人数据的所有访问途径和变化情况,这些私人数据包括:xyk卡号、社会安全卡卡号以及重要的数据库的名称和地址等信息。如果私人数据在没有授权的情况下被更改或者被访问,机构应该追究负责人的责任。最后,可以使用漏洞评估报告来确定数据库的安全空白地带,诸如弱效密码、过多的优先访问权、增加数据库管理员以及安全群组监测。
牢记安全政策、安全标准、角色分离和可用性
数据库安全策略不仅关注审计和监测,它也是一个端到端的过程,致力于减少风险、达到管理条例的要求以及防御来自内部和外部的各种攻击。数据库安全需要把注意力更多地放在填补安全空白、与其他安全政策协作以及使安全方式正式化上。在草拟你的安全策略时,要使你的数据库安全政策与信息安全政策一致要注意行业安全标准要强调角色分离要清楚描述出数据恢复和数据使用的步骤。
数据库的安全性是指保护数据库以防止非法使用所造成的数据泄密、更改或破坏安全性控制的方法安全性控制是指要尽可能地杜绝任何形式的数据库非法访问。常用的安全措施有用户标识和鉴别、用户存取权限控制、定义视图、数据加密、安全审计以及事务管理和故障恢复等几类1. 用户标识和鉴别用户标识和鉴别的方法是由系统提供一定的方式让用户标识自己的身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供其使用权。为了鉴别用户身份,一般采用以下几种方法(1)利用只有用户知道的信息鉴别用户(2)利用只有用户具有的物品鉴别用户(3)利用用户的个人特征鉴别用户。 用户存取权限控制用户存取权限是指不同的用户对于不同的数据对象有不同的 *** 作权限。存取权限由两个要素组成:数据对象和 *** 作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的 *** 作权限分系统权限和对象权限两种。系统权限由DBA授予某些数据库用户,只有得到系统权限,才能成为数据库用户。对象权限是授予数据库用户对某些数据对象进行某些 *** 作的权限,它既可由DBA授权,也可由数据对象的创建者授予。授权定义经过编译后以一张授权表的形式存放在数据字典中。 定义视图为不同的用户定义不同的视图,可以限制用户的访问范围。通过视图机制把需要保密的数据对无权存取这些数据的用户隐藏起来,可以对数据库提供一定程度的安全保护。实际应用中常将视图机制与授权机制结合起来使用,首先用视图机制屏蔽一部分保密数据,然后在视图上进一步进行授权。 数据加密数据加密是保护数据在存储和传递过程中不被窃取或修改的有效手段。数据加密技术在8.3节中已有详细介绍。 安全审计安全审计是一种监视措施,对于某些高度敏感的保密数据,系统跟踪记录有关这些数据的访问活动,并将跟踪的结果记录在审计日志(audit log)中,根据审计日志记录可对潜在的窃密企图进行事后分析和调查6. 事务管理和故障恢复事务管理和故障恢复主要是对付系统内发生的自然因素故障,保证数据和事务的一致性和完整性故障恢复的主要措施是进行日志记录和数据复制。在网络数据库系统中,分布事务首先要分解为多个子事务到各个站点上去执行,各个服务器之间还必须采取合理的算法进行分布式并发控制和提交,以保证事务的完整性。事务运行的每一步结果都记录在系统日志文件中,并且对重要数据进行复制,发生故障时根据日志文件利用数据副本准确地完成事务的恢复Oracle数据库的安全机制简介Oracle主要提供用户标识和鉴别、授权与检查、审计等系统级的安全性措施以及通过触发器灵活定义的用户级安全性措施1. Oracle的用户标识和鉴别Oracle系统预定义了SYS和SYSTEM两个用户。SYS用户拥有 *** 作Oracle数据字典和相关的数据库对象的权限;SYSTEM用户拥有 *** 作Oracle应用开发工具所使用的表的权限。SYS和SYSTEM用户分别用系统给定的口令登录。其他用户使用CREATE USER语句建立,同时用户的口令通过加密后存储在数据字典中。 Oracle的授权与检查机制Oracle系统的权限包括系统权限和对象权限两类,采用非集中式的授权机制,即DBA负责授予与回收系统权限,每个用户授予与回收自己创建的数据库对象的权限Oracle也是将授权信息记录在数据字典的授权表中。 Oracle的审计技术在Oracle中,审计分为语句审计、特权审计和模式对象审计。其中,语句审计只允许审计SQL语句,不对SQL语句引用的模式进行审计。特权审计只审计系统权限的使用。而模式对象审计则审计具体的数据 *** 纵语言(DML,Data Manipulation Language)语句和制定模式的GRANT和REVOKE语句。特权审计和模式对象审计针对所有用户,通常由DBA设置在Oracle中,审计设置以及审计内容均存放在数据字典中。 用户定义的安全性措施除了系统级的安全性措施外,Oracle还允许用户使用数据库触发器定义更复杂的用户级安全性措施。触发器定义后,也存放在数据字典中。用户每次执行特定的 *** 作时都会自动触发对应的触发器,系统检查触发器中设定的执行条件是否符合,如不符合则不执行触发器中指定的 *** 作综上所述,Oracle提供了多种安全性措施,提供了多级安全性检查。数据字典在Oracle的安全性授权和检查以及审计技术中起着重要作用。网络数据库安全性技术随着互联网技术的日益普及,网络数据库已经得到了普遍应用,随之而来的则是网络数据库的安全性问题。特别是近几年,随着企业信息建设的不断深化,企业中涉及网络数据库安全方面的问题也越来越多。如何有效提高网络数据库的安全防御措施,建立一套行之有效的数据库安全防御机制,已经是企业需要首先解决的问题。网络数据库安全问题经常涉及到的是数据库数据的丢、非法用户对数据库的侵入等。针对以上两个方面的问题,应该采取具体的应对措施,以实现企业核心数据的安全防护。首先,针对网络数据库数据丢失的问题,应该着重以下几个方面的工作:1、服务器存储系统硬盘作为服务器数据存储的主要设备,在正常运行过程中,一点小的故障都有可能造成硬盘物理损坏,所以一般服务器存储系统要求采用 Raid磁盘阵列,以此来增强服务器存储系统的容错能力。2、数据备份机制建立一套行之有效的数据备份机制,是保障企业网络数据安全的又一项重要内容。对于一些非常重要的数据要运用其它设备时时执行 备份,定期定时做相对完备的备份方案。作为企业用户来说,由于数据量上的原因,在使用磁盘阵列的同时,还应考虑采用磁带机作为数据备份设备。在解决好数据丢失问题的基础上,需要考虑的则是如何应对网络数据库非法入侵的问题。网络技术的飞速发展,使各行业的信息化管理水平有了很大程度的提高,同时也带动了整个企业的管理效率的提高,但随之而来的问题是网络非法入侵者不断出现。入侵者的目的往往针对企业核心机密,或是对数据的蓄意破坏。对于企业网络数据库管理人员来说,如何在数据库本身以及在网络层面上采取有效措施,防止数据库系统的非法入侵,是一个非常艰巨的任务。制定数据库系统安全策略,主要分以下几个方面:1.数据库用户的管理,按照数据库系统的大小和数据库用户所需的工作量,具体分配数据库用户的数据 *** 作权限,控制系统管理员用户账号的使用。2.建立行之有效的数据库用户身份确认策略,数据库用户可以通过 *** 作系统、网络服务以及数据库系统进行身份确认,通过主机 *** 作系统进行用户身份认证。 3.加强 *** 作系统安全性管理,数据服务器 *** 作系统必须使用正版软件,同时要有防火墙的保护。另外,根据实际需要只开放涉及业务工作的具体网络端口,屏蔽其它端口,这样可以在较大程度上防止 *** 作系统受入侵。计算机安全是当前信息社会非常关注的问题,而数据库系统更是担负着存储和管理数据信息的任务,因而如何保证和加强其安全性,更是迫切需要解决的热门课题。下面将讨论数据库的安全策略,并简单介绍各种策略的实现方案。\x0d\x0a一、数据库的安全策略\x0d\x0a数据库安全策略是涉及信息安全的高级指导方针,这些策略根据用户需要、安装环境、建立规则和法律等方面的限制来制定。\x0d\x0a数据库系统的基本安全性策略主要是一些基本性安全的问题,如访问控制、伪装数据的排除、用户的认证、可靠性,这些问题是整个安全性问题的基本问题。数据库的安全策略主要包含以下几个方面:\x0d\x0a1.保证数据库存在安全\x0d\x0a数据库是建立在主机硬件、 *** 作系统和网络上的系统,因此要保证数据库安全,首先应该确保数据库存在安全。预防因主机掉电或其他原因引起死机、 *** 作系统内存泄漏和网络遭受攻击等不安全因素是保证数据库安全不受威胁的基础。\x0d\x0a2.保证数据库使用安全\x0d\x0a数据库使用安全是指数据库的完整性、保密性和可用性。其中,完整性既适用于数据库的个别元素也适用于整个数据库,所以在数据库管理系统的设计中完整性是主要的关心对象。保密性由于攻击的存在而变成数据库的一大问题,用户可以间接访问敏感数据库。最后,因为共享访问的需要是开发数据库的基础,所以可用性是重要的,但是可用性与保密性是相互冲突的。\x0d\x0a二、数据库的安全实现\x0d\x0a1.数据库存在安全的实现\x0d\x0a正确理解系统的硬件配置、 *** 作系统和网络配置及功能对于数据库存在安全十分重要。比如对于硬件配置情况,就必须熟悉系统的可用硬盘数量,每个硬盘的可用空间数量,可用的CPU数量,每个CPU的Cache有多大,可用的内存数量,以及是否有冗余电源等问题;对于 *** 作系统,则应该周期性的检查内存是否有泄漏,根文件系统是否需要清理,重要的日志是否已经察看;对于网络就应该随时确保网络没有过载,网络畅通、网络安全是否得到保证等等。因为这一部分不是本文的重点,所以不再一一细述,总之,这三方面的安全运行是和维护数据库存在安全不可分割的。\x0d\x0a2.数据库完整性的实现\x0d\x0a数据库的完整性包括库的完整性和元素的完整性。\x0d\x0a数据库的完整性是DBMS(数据库管理系统)、 *** 作系统和系统管理者的责任。数据库管理系统必须确保只有经批准的个人才能进行更新,还意味着数据须有访问控制,另外数据库系统还必须防范非人为的外力灾难。从 *** 作系统和计算系统管理者的观点来看,数据库和DBMS分别是文件和程序。因此整个数据库的一种形式的保护是对系统中所有文件做周期性备份。数据库的周期性备份可以控制由灾祸造成的损失。数据库元素的完整性是指它们的正确性和准确性。由于用户在搜集数据、计算结果、输入数值时可能会出现错误,所以DBMS必须帮助用户在输入时能发现错误,并在插入错误数据后能纠正它们。DBMS用三种方式维护数据库中每个元素的完整性:通过字段检查在一个位置上的适当的值,防止输入数据时可能出现的简单错误;通过访问控制来维护数据库的完整性和一致性;通过维护数据库的更改日志,记录数据库每次改变的情况,包括原来的值和修改后的值,数据库管理员可以根据日志撤消任何错误的修改。\x0d\x0a3.数据库保密性的实现\x0d\x0a数据库的保密性可以通过用户身份鉴定和访问控制来实现。\x0d\x0aDBMS要求严格的用户身份鉴定。一个DBMS可能要求用户传递指定的通行字和时间日期检查,这一认证是在 *** 作系统完成的认证之外另加的。DBMS在 *** 作系统之外作为一个应用程序被运行,这意味着它没有到 *** 作系统的可信赖路径,因此必须怀疑它所收的任何数据,包括用户认证。因此DBMS最好有自己的认证机制。\x0d\x0a访问控制是指根据用户访问特权逻辑地控制访问范围和 *** 作权限。如一般用户只能访问一般数据、市场部可以得到销售数据、以及人事部可以得到工资数据等。DBMS必须实施访问控制政策,批准对所有指定的数据的访问或者禁止访问。DBMS批准一个用户或者程序可能有权读、改变、删除或附加一个值,可能增加或删除整个字段或记录,或者重新组织完全的数据库。\x0d\x0a4.数据库可用性的实现\x0d\x0a数据库的可用性包括数据库的可获性、访问的可接受性和用户认证的时间性三个因素。下面解释这三个因素。\x0d\x0a(1)数据的可获性\x0d\x0a首先,要访问的元素可能是不可访问的。例如,一个用户在更新几个字段,其他用户对这些字段的访问便必须被暂时阻止。这样可以保证用户不会收到不准确的信息。当进行更新时,用户可能不得不阻止对几个字段或几个记录的访问通道,以便保证数据与其他部分的一致性。不过有一点要注意,如果正在更新的用户在更新进行期间退出,其他用户有可能会被永远阻止访问该记录。这种后遗症也是一个安全性问题,会出现拒绝服务。\x0d\x0a(2)访问的可接受性\x0d\x0a记录的一个或多个值可能是敏感的而不能被用户访问。DBMS不应该将敏感数据泄露给未经批准的个人。但是判断什么是敏感的并不是那么简单,因为可能是间接请求该字段。一个用户也许请求某些包含敏感数据的记录,这可能只是由非敏感的特殊字段推出需要的值。即使没有明确地给出敏感的值,数据库管理程序也可能拒绝访问这样的背景信息,因为它会揭示用户无权知道的信息。\x0d\x0a(3)用户认证的时间性\x0d\x0a为了加强安全性,数据库管理员可能允许用户只在某些时间访问数据库,比如在工作时间。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)