数据库的安全与保障
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库的安全与保障
网络是大数据时代数据库应用的外部环境与基础,数据储一般在云端,而数据库的安全首先依赖于有一个安全的网络环境。在操作系统层上,操作系统漏洞和维护管理是威胁系统安全的两个最大的因素,因此,在数据库安全保障上,首先要加强网络环境和操作系统的安全保障。
(1)合理分配网络资源。合理分配网络资源是保障数据库服务器所在网络安全高效运行的前提。通过网络管理程序对网络上的资源进行集中管理、集中调度和分配,确保一定范围内的网络及其网络设备能够稳定、可靠、高效的运行,使所有网络资源处于良好的运行状态,保障数据库服务器所在网络的安全、高效运行。
(2)构筑防火墙。对数据库系统的入侵最先是从网络系统开始的,防火墙技术是保护系统安全的第一道屏障。
防火墙是数据库内部与外部网络之间的安全墙,它可拦截来自外部的非法访问并阻止信息的外泄,并可设定外部哪些用户可以访问内部服务,以及外部哪些服务可以被内部人员访问,将网络分割成多个安全区域,各安全区域之间用防火墙过滤数据通信,只允许经过授权的数据通过,内部网络中的主机就不会直接暴露给来自外部的攻击,并且在安全管理上更加便捷。
(3)使用入侵检测技术。尽管防火墙对内部网络起到了很好的保护作用,但是防火墙并不能防范来自内部网络的攻击,也不能控制不通过它的连接。因此,在防火墙之后加入入侵检测,能够迅速地检测到恶意入侵,甚至能确认入侵者,并能在破坏发生或数据损坏前加以阻止,能够有效减少破坏的危害并迅速地恢复系统。入侵检测是指发现或确定入侵行为存在或出现的动作,也就是发现、跟踪并记录计算机系统或计算机网络中的非授权行为,或发现并调查系统中可能为试图入侵或病毒感染所带来的异常活动。
为了让数据库系统更加安全,通常的做法是防火墙和入侵检测系统的结合提高数据库系统的整体防护性能。
(4)及时更新补丁程序和杀毒软件。由系统漏洞带来的安全威胁往往也是致命的,这些安全隐患一旦被不法分子利用,极有可能导致数据库的安全失效。应及时安装补丁程序,有效解决漏洞程序所带来的安全问题也是完善安全环境的有效方法。杀毒软件也可以协助保护计算机系统免受蠕虫病毒、木马程序等的攻击,降低计算机系统所遭受的安全威胁。由于病毒程序都在不断产生新的变体,所以杀毒软件的杀毒引擎和病毒库也要及时更新,使其保持病毒库处在最新的状态,才能有效防范最新的病毒。
在数据库建设的过程中,充分考虑数据库安全的需求,根据选定数据库系统特点,结合各种数据库安全手段,完善数据库安全建设。
(1)使用安全的文件系统。在数据库服务器操作系统选择上,尽量使用Unix系统。在Windows系统运行的数据库的数据文件应该尽量存储在NTFS文件系统中,这样既可以加强数据文件的安全,又可以最大化数据库的访问性能。(2)加密数据库文件。为了保证数据库文件中的数据不被非法窃取和修改,对数据库文件进行加密保护可以提高其安全性,目的是文件中的信息变成不可直接阅读的数据。常用的对数据库文件的加密方式一般有库外加密和库内加密两种,由于每种加密方式都有自己的优缺点,所以采用哪种加密方式需要综合考虑各种因素,选择最合适的加密方式,保证数据文件的安全。
(3)数据库视图的使用。为不同的用户定义不同的视图,可以限制各个用户的访问范围。通过视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。现在很大一部分数据库安全问题是在应用程序端造成的,造成这些安全问题的原因包括应用程序编写SQL代码不规范使数据库受到SQL
注入攻击、应用程序使用过高权限的账户来访问数据库以及在应用程序端暴露了过多数据库细节等。在编写数据库应用程序时,数据库开发者和安全维护人员要从攻击者的角度来共同分析数据库,确定数据库的潜在威胁,对数据库存储和处理的信息进行分类。这个过程不仅能帮助大家了解黑客攻击数据库的原因和方式,还能确保必要的安全控制适应数据库的设计结构。
(4)云安全技术。
“云安全”是大数据时代信息安全的体现,它融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网络上大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到服务器进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端,能够有效地提高数据库系统环境的安全。
数据库管理系统是数据库安全的最后一道屏障。因此,在数据库管理过程中,一定要充分落实各种安全机制,提高保障数据库安全水平。
(1)数据库用户口令管理。数据库系统是不允许未经授权的用户对数据库进行操作的。用户名和口令是数据库提供的最外层的安全保护措施。针对攻击者可能通过穷举、猜想、窃取等方法获取数据库的用户名和口令的问题,可以通过对口令的合理设置、管理以及一些技巧的使用,来加强口令的安全性,有效组织针对数据库口令的攻击。如,对口令进行复杂性验证,复杂的口令可以在一定程度上加大被攻击难度,减小泄露的几率。因此,应保证口令具有一定的复杂性。作为数据库管理员可通过一定手段来规范数据库用户密码的复杂度。
(2)数据库角色和权限管理。数据库管理系统大多提供了完善的权限和角色管理机制来加强数据库的存取控制。权限是执行一种特殊类型的SQL语句或存取另一用户的对象的权力,有两种类型的权限,即系统权限和对象权限。
其中系统权限是执行一种特殊动作或者在对象类型上执行一种特殊动作的权利。对象权限是在指定的表、视图、序列、过程、函数或包上执行特殊动作的权利。在实际的权限分配方案中,通常利用角色来管理数据库权限,角色为相关权限的命名组,可授权给用户和角色。建立角色的目的是为数据库应用管理权限和为用户组管理权限。利用角色对权限管理可以加强权限管理效率、提高权限管理的灵活性与安全性等。
任何系统的安全性措施都不是绝对可靠的,窃密者总有办法打破这些控制。对于某些高度敏感的保密数据,
数据库服务器必须以审计作为预防手段。对数据库系统中审计工作主要是审查系统资源的安全策略、安全保护措施及故障恢复计划等对系统的各种操作,如访问、查询、修改等,尤其是对一些敏感操作进行记录、对用户的行为进行有效的监控和记录,及时发现用户威胁军用数据库的操作企图,采取相应措施,保证军用数据库的安全。审计还可以用于监视和收集相关指定数据库活动的数据,例如可收集哪些表经常被修改,用户共执行了多少次逻辑I/O操作等统计数据。利用这些信息,可以重现导致数据库现有状况的一系列事件,以进一步找出非法存取数据的人、时间和内容等,及时挽救或恢复数据,排除不安全因素。
(3)审计是入侵检测系统的基础。它是一种较为积极的安全措施,通过审计可以监视系统的活动,收集系统各个方面的数据。而入侵检测系统则综合分析这些数据,从中发现可能发生的来自内部和外部的入侵,并依照一定的策略采取适当的应对措施,限制和防止入侵行为破坏系统的安全性。所以要使用入侵检测系统,就必须进行必要的审计,同时,助于入侵检测技术,审计数据能在保证系统安全方面发挥更大的作用。数据的备份与恢复是实现数据库系统安全运行的重要手段。数据库系统总免不了发生系统故障,重要的数据难免遭到破坏,数据库管理员应及时做好数据备份。当系统发生故障时,管理员能利用已有的数