首页数据库数据库安全策略(数据库的安全策略有哪些)

数据库安全策略(数据库的安全策略有哪些)

编程之家2023-10-22186次浏览

大家好,如果您还对数据库安全策略不太了解,没有关系,今天就由本站为大家分享数据库安全策略的知识,包括数据库的安全策略有哪些的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

数据库安全策略(数据库的安全策略有哪些)

数据库系统的安全策略

第一,系统安全策略:包括了数据库用户管理、数据库操作规范、用户认证、操作系统安全4个部分。 1)数据库用户管理。数据库用户对信息访问的最直接途径就是通过用户访问。因此需要对用户进行严格的管理,只有真正可信的人员才拥有管理数据库用户的权限; 2)数据库需要有操作规范。数据库中数据才是核心,不能有任何的破坏,数据库管理员是唯一能直接访问数据库的人员,管理员的操作是非常重要的,因此需要对数据库维护人员培训,树立严谨的工作态度,同时需要规范操作流程; 3)用户身份的认证。Oracle数据库可以使用主机操作系统认证用户,也可以使用数据库的用户认证,从安全角度出发,initSID.ora文件中的remote_os_authent参数设成FALSE,以防止没有口令的连接。建议将remote_os_roles设成FALSE,防止欺骗性连接; 4)操作系统安全。对于运行任何一种数据库的操作系统来说,都需要考虑安全问题。数据库管理员以及系统账户的口令都必须符合规定,不能过于简单而且需要定期的更换口令,对于口令的安全同样重要。系统管理员在给操作系统做维护的时候,需要与数据库管理员合作,避免。第二,数据安全策略。数据安全策略决定了可以访问特定数据的用户组,以及这些用户的操作权限。数据的安全性取决数据的敏感程度,如果数据不是那么敏感,则数据的安全策略则可以稍微松一些;反之则需要制定特定的安全策略,严格的控制访问对象,确保数据的安全。第三,用户安全策略。用户安全策略是由一般用户安全、最终用户安全、管理员安全、应用程序及开发人员安全、应用程序管理员安全5个部分组成。 1)一般用户安全。如果对于用户的认证由数据库进行管理,则安全管理员就应该制定口令安全策略来维护数据库访问的安全性。可以配置oracle使用加密口令来进行客户机/服务器连接; 2)最终用户安全。安全管理员必须为最终用户安全制定策略。如果使用的是大型数据库同时还有许多用户,这是就需要安全管理员对用户组进行分类,为每个用户组创建用户角色,并且对每个角色授予相应的权限; 3)管理员安全。安全管理员应当拥有阐述管理员安全的策略。在数据库创建后,应对SYS和SYSTEM用户名更改口令,以防止对数据库的未认证访问,且只有数据库管理员才可用; 4)应用程序开发人员安全。安全管理员必须为使用数据库的应用程序开发人员制定一套特殊的安全策略。安全管理员可以把创建必要对象的权限授予应用程序开发人员。反之,创建对象的权限只能授予数据库管理员,他从开发人员那里接收对象创建请求; 5)应用程序管理员安全。在有许多数据库应用程序的大型数据库系统中,可以设立应用程序管理员第四,口令管理策略。口令管理包括账户锁定、口令老化及到期、口令历史记录、口令复杂性校验。 1)帐户锁定。当某一特定用户超过了失败登录尝试的指定次数,服务器会自动锁定这个用户帐户; 2)口令老化及到期。DBA使用CREATE PROFILE语句指定口令的最大生存期,当到达了指定的时间长度则口令到期,用户或DBA必须变更口令; 3)口令历史记录。DBA使用CREATE PROFILE语句指定时间间隔,在这一间隔内用户不能重用口令; 4)口令复杂性校验。通过使用PL/SQL脚本utlpwdmg.sql(它设置缺省的概要文件参数),可以指定口令复杂性校验例行程序。

数据库的安全策略有哪些

计算机安全是当前信息社会非常关注的问题,而数据库系统更是担负着存储和管理数据信息的任务,因而如何保证和加强其安全性,更是迫切需要解决的热门课题。下面将讨论数据库的安全策略,并简单介绍各种策略的实现方案。

一、数据库的安全策略

数据库安全策略是涉及信息安全的高级指导方针,这些策略根据用户需要、安装环境、建立规则和法律等方面的限制来制定。

数据库系统的基本安全性策略主要是一些基本性安全的问题,如访问控制、伪装数据的排除、用户的认证、可靠性,这些问题是整个安全性问题的基本问题。数据库的安全策略主要包含以下几个方面:

1.保证数据库存在安全

数据库安全策略(数据库的安全策略有哪些)

数据库是建立在主机硬件、操作系统和网络上的系统,因此要保证数据库安全,首先应该确保数据库存在安全。预防因主机掉电或其他原因引起死机、操作系统内存泄漏和网络遭受攻击等不安全因素是保证数据库安全不受威胁的基础。

2.保证数据库使用安全

数据库使用安全是指数据库的完整性、保密性和可用性。其中,完整性既适用于数据库的个别元素也适用于整个数据库,所以在数据库管理系统的设计中完整性是主要的关心对象。保密性由于攻击的存在而变成数据库的一大问题,用户可以间接访问敏感数据库。最后,因为共享访问的需要是开发数据库的基础,所以可用性是重要的,但是可用性与保密性是相互冲突的。

二、数据库的安全实现

1.数据库存在安全的实现

正确理解系统的硬件配置、操作系统和网络配置及功能对于数据库存在安全十分重要。比如对于硬件配置情况,就必须熟悉系统的可用硬盘数量,每个硬盘的可用空间数量,可用的CPU数量,每个CPU的Cache有多大,可用的内存数量,以及是否有冗余电源等问题;对于操作系统,则应该周期性的检查内存是否有泄漏,根文件系统是否需要清理,重要的日志是否已经察看;对于网络就应该随时确保网络没有过载,网络畅通、网络安全是否得到保证等等。因为这一部分不是本文的重点,所以不再一一细述,总之,这三方面的安全运行是和维护数据库存在安全不可分割的。

数据库安全策略(数据库的安全策略有哪些)

2.数据库完整性的实现

数据库的完整性包括库的完整性和元素的完整性。

数据库的完整性是DBMS(数据库管理系统)、操作系统和系统管理者的责任。数据库管理系统必须确保只有经批准的个人才能进行更新,还意味着数据须有访问控制,另外数据库系统还必须防范非人为的外力灾难。从操作系统和计算系统管理者的观点来看,数据库和DBMS分别是文件和程序。因此整个数据库的一种形式的保护是对系统中所有文件做周期性备份。数据库的周期性备份可以控制由灾祸造成的损失。数据库元素的完整性是指它们的正确性和准确性。由于用户在搜集数据、计算结果、输入数值时可能会出现错误,所以DBMS必须帮助用户在输入时能发现错误,并在插入错误数据后能纠正它们。DBMS用三种方式维护数据库中每个元素的完整性:通过字段检查在一个位置上的适当的值,防止输入数据时可能出现的简单错误;通过访问控制来维护数据库的完整性和一致性;通过维护数据库的更改日志,记录数据库每次改变的情况,包括原来的值和修改后的值,数据库管理员可以根据日志撤消任何错误的修改。

3.数据库保密性的实现

数据库的保密性可以通过用户身份鉴定和访问控制来实现。

DBMS要求严格的用户身份鉴定。一个DBMS可能要求用户传递指定的通行字和时间日期检查,这一认证是在操作系统完成的认证之外另加的。DBMS在操作系统之外作为一个应用程序被运行,这意味着它没有到操作系统的可信赖路径,因此必须怀疑它所收的任何数据,包括用户认证。因此DBMS最好有自己的认证机制。

访问控制是指根据用户访问特权逻辑地控制访问范围和操作权限。如一般用户只能访问一般数据、市场部可以得到销售数据、以及人事部可以得到工资数据等。DBMS必须实施访问控制政策,批准对所有指定的数据的访问或者禁止访问。DBMS批准一个用户或者程序可能有权读、改变、删除或附加一个值,可能增加或删除整个字段或记录,或者重新组织完全的数据库。

4.数据库可用性的实现

数据库的可用性包括数据库的可获性、访问的可接受性和用户认证的时间性三个因素。下面解释这三个因素。

(1)数据的可获性

首先,要访问的元素可能是不可访问的。例如,一个用户在更新几个字段,其他用户对这些字段的访问便必须被暂时阻止。这样可以保证用户不会收到不准确的信息。当进行更新时,用户可能不得不阻止对几个字段或几个记录的访问通道,以便保证数据与其他部分的一致性。不过有一点要注意,如果正在更新的用户在更新进行期间退出,其他用户有可能会被永远阻止访问该记录。这种后遗症也是一个安全性问题,会出现拒绝服务。

(2)访问的可接受性

记录的一个或多个值可能是敏感的而不能被用户访问。DBMS不应该将敏感数据泄露给未经批准的个人。但是判断什么是敏感的并不是那么简单,因为可能是间接请求该字段。一个用户也许请求某些包含敏感数据的记录,这可能只是由非敏感的特殊字段推出需要的值。即使没有明确地给出敏感的值,数据库管理程序也可能拒绝访问这样的背景信息,因为它会揭示用户无权知道的信息。

(3)用户认证的时间性

为了加强安全性,数据库管理员可能允许用户只在某些时间访问数据库,比如在工作时间。

数据库安全的安全策略

数据库的安全配置在进行安全配置之前,首先必须对操作系统进行安全配置,保证操作系统处于安全状态。然后对要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的Web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似“,;@/”等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上最新SQL补丁SP4。

SQL Server的安全配置

1.使用安全的密码策略

我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库账号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa账号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步,建议密码含有多种数字字母组合并9位以上。SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非您确认必须使用空密码,这比以前的版本有所改进。同时养成定期修改密码的好习惯,数据库管理员应该定期查看是否有不符合密码要求的账号。

2.使用安全的账号策略

由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个账号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa账号,只有当没有其他方法登录到 SQL Server实例(例如,当其他系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立个拥有与sa一样权限的超级用户来管理数据库。安全的账号策略还包括不要让管理员权限的账号泛滥。

SQL Server的认证模式有Windows身份认证和混合身份认证两种。如果数据库管理员不希望操作系统管理员来通过操作系统登录来接触数据库的话,可以在账号管理中把系统账号“BUILTIN\Administrators”删除。不过这样做的结果是一旦sa账号忘记密码的话,就没有办法来恢复了。很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配账号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public账号能够select就可以了。

3.加强数据库日志的记录

审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有账号的登录事件。请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。

4.管理扩展存储过程

对存储过程进行大手术,并且对账号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。如果您不需要扩展存储过程Xp_cmdshell请把它去掉。使用这个SQL语句:

use master

sp_dropextendedproc'Xp_cmdshell'

Xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。如果您需要这个存储过程,请用这个语句也可以恢复过来。

sp_addextendedproc'xp_cmdshell','xpSQL70.dll'

如果您不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用)。

这些过程如下: Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty

Sp_OAMethod Sp_OASetProperty Sp_OAStop

去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,命令如下:

Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue

Xp_regenumvalues Xp_regread Xp_regremovemultistring

Xp_regwrite

还有一些其他的扩展存储过程,也最好检查检查。在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。

5.使用协议加密

SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等,这是一个很大的安全威胁。能被人在网络中截获到他们需要的东西,包括数据库账号和密码。所以,在条件容许情况下,最好使用SSL来加密协议,当然,您需要一个证书来支持。

6.不要让人随便探测到您的TCP/IP端口

默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不会轻易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口。不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server实例。如果隐藏了SQL Server实例,则将禁止对试图枚举网络上现有的 SQL Server实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测您的TCP/IP端口了(除非用Port Scan)。

7.修改TCP/IP使用的端口

请在上一步配置的基础上,更改原默认的1433端口。在实例属性中选择网络配置中的TCP/IP协议的属性,将TCP/IP使用的默认端口变为其他端口。

8.拒绝来自1434端口的探测

由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DoS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通信,可以尽可能地隐藏您的SQL Server。

9.对网络连接进行IP限制

SQL Server 2000数据库系统本身没有提供网络连接的安全解决办法,但是Windows 2000提供了这样的安全机制。使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,对来自网络上的安全威胁进行有效的控制。

上面主要介绍的一些SQL Server的安全配置,经过以上的配置,可以让SQL Server本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。

OK,关于数据库安全策略和数据库的安全策略有哪些的内容到此结束了,希望对大家有所帮助。

centos7搭建邮件服务器?LINUX下如何搭建邮件服务器编译服务器 阿里云服务器是什么