实时数据库安全要求有哪些,数据库系统有怎样的安全防护需求
来源:整理 编辑:黑码技术 2024-10-30 04:51:06
本文目录一览
1,数据库系统有怎样的安全防护需求
不完全一样。关键是你参照那个标准,现在国内有我国自行的标准,叫“信息系统安全等级保护”,简称“等保”,一般分为4级,每一级还有细分;如果是ISO27001,又不一样。所以关键的还是要看你想参照那个标准。我们可以从以下几点进行保护:1、使用安全的密码策略2、使用安全的帐号策略3、加强数据库日志的记录4、管理扩展存储过程5、使用协议加密6、不要让人随便探测到你的tcp/ip端口7、修改tcp/ip使用的端口8、拒绝来自1434端口的探测9、对网络连接进行ip限制10、安装数据库审计系统(例如:昂楷数据库审计系统)
2,数据库的安全策略有哪些
计算机安全是当前信息社会非常关注的问题,而数据库系统更是担负着存储和管理数据信息的任务,因而如何保证和加强其安全性,更是迫切需要解决的热门课题。下面将讨论数据库的安全策略,并简单介绍各种策略的实现方案。
一、数据库的安全策略
数据库安全策略是涉及信息安全的高级指导方针,这些策略根据用户需要、安装环境、建立规则和法律等方面的限制来制定。
数据库系统的基本安全性策略主要是一些基本性安全的问题,如访问控制、伪装数据的排除、用户的认证、可靠性,这些问题是整个安全性问题的基本问题。数据库的安全策略主要包含以下几个方面:
1.保证数据库存在安全
数据库是建立在主机硬件、操作系统和网络上的系统,因此要保证数据库安全,首先应该确保数据库存在安全。预防因主机掉电或其他原因引起死机、操作系统内存泄漏和网络遭受攻击等不安全因素是保证数据库安全不受威胁的基础。
2.保证数据库使用安全
数据库使用安全是指数据库的完整性、保密性和可用性。其中,完整性既适用于数据库的个别元素也适用于整个数据库,所以在数据库管理系统的设计中完整性是主要的关心对象。保密性由于攻击的存在而变成数据库的一大问题,用户可以间接访问敏感数据库。最后,因为共享访问的需要是开发数据库的基础,所以可用性是重要的,但是可用性与保密性是相互冲突的。
二、数据库的安全实现
1.数据库存在安全的实现
正确理解系统的硬件配置、操作系统和网络配置及功能对于数据库存在安全十分重要。比如对于硬件配置情况,就必须熟悉系统的可用硬盘数量,每个硬盘的可用空间数量,可用的CPU数量,每个CPU的Cache有多大,可用的内存数量,以及是否有冗余电源等问题;对于操作系统,则应该周期性的检查内存是否有泄漏,根文件系统是否需要清理,重要的日志是否已经察看;对于网络就应该随时确保网络没有过载,网络畅通、网络安全是否得到保证等等。因为这一部分不是本文的重点,所以不再一一细述,总之,这三方面的安全运行是和维护数据库存在安全不可分割的。
2.数据库完整性的实现
数据库的完整性包括库的完整性和元素的完整性。
数据库的完整性是DBMS(数据库管理系统)、操作系统和系统管理者的责任。数据库管理系统必须确保只有经批准的个人才能进行更新,还意味着数据须有访问控制,另外数据库系统还必须防范非人为的外力灾难。从操作系统和计算系统管理者的观点来看,数据库和DBMS分别是文件和程序。因此整个数据库的一种形式的保护是对系统中所有文件做周期性备份。数据库的周期性备份可以控制由灾祸造成的损失。数据库元素的完整性是指它们的正确性和准确性。由于用户在搜集数据、计算结果、输入数值时可能会出现错误,所以DBMS必须帮助用户在输入时能发现错误,并在插入错误数据后能纠正它们。DBMS用三种方式维护数据库中每个元素的完整性:通过字段检查在一个位置上的适当的值,防止输入数据时可能出现的简单错误;通过访问控制来维护数据库的完整性和一致性;通过维护数据库的更改日志,记录数据库每次改变的情况,包括原来的值和修改后的值,数据库管理员可以根据日志撤消任何错误的修改。
3.数据库保密性的实现
数据库的保密性可以通过用户身份鉴定和访问控制来实现。
DBMS要求严格的用户身份鉴定。一个DBMS可能要求用户传递指定的通行字和时间日期检查,这一认证是在操作系统完成的认证之外另加的。DBMS在操作系统之外作为一个应用程序被运行,这意味着它没有到操作系统的可信赖路径,因此必须怀疑它所收的任何数据,包括用户认证。因此DBMS最好有自己的认证机制。
访问控制是指根据用户访问特权逻辑地控制访问范围和操作权限。如一般用户只能访问一般数据、市场部可以得到销售数据、以及人事部可以得到工资数据等。DBMS必须实施访问控制政策,批准对所有指定的数据的访问或者禁止访问。DBMS批准一个用户或者程序可能有权读、改变、删除或附加一个值,可能增加或删除整个字段或记录,或者重新组织完全的数据库。
4.数据库可用性的实现
数据库的可用性包括数据库的可获性、访问的可接受性和用户认证的时间性三个因素。下面解释这三个因素。
(1)数据的可获性
首先,要访问的元素可能是不可访问的。例如,一个用户在更新几个字段,其他用户对这些字段的访问便必须被暂时阻止。这样可以保证用户不会收到不准确的信息。当进行更新时,用户可能不得不阻止对几个字段或几个记录的访问通道,以便保证数据与其他部分的一致性。不过有一点要注意,如果正在更新的用户在更新进行期间退出,其他用户有可能会被永远阻止访问该记录。这种后遗症也是一个安全性问题,会出现拒绝服务。
(2)访问的可接受性
记录的一个或多个值可能是敏感的而不能被用户访问。DBMS不应该将敏感数据泄露给未经批准的个人。但是判断什么是敏感的并不是那么简单,因为可能是间接请求该字段。一个用户也许请求某些包含敏感数据的记录,这可能只是由非敏感的特殊字段推出需要的值。即使没有明确地给出敏感的值,数据库管理程序也可能拒绝访问这样的背景信息,因为它会揭示用户无权知道的信息。
(3)用户认证的时间性
为了加强安全性,数据库管理员可能允许用户只在某些时间访问数据库,比如在工作时间。
3,sqlserver有哪些安全策略
Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行全面地管理。按照本文介绍的步骤,你可以为SQL Server 7.0(或2000)构造出一个灵活的、可管理的安全策略,而且它的安全性经得起考验。 一、验证方法选择 本文对验证(authentication)和授权(authorization)这两个概念作不同的解释。验证是指检验用户的身份标识;授权是指 允许用户做些什么。在本文的讨论中,验证过程在用户登录SQL Server的时候出现,授权过程在用户试图访问数据或执行命令的时候出现。 构造安全策略的第一个步骤是确定SQL Server用哪种方式验证用户。SQL Server的验证是把一组帐户、密码与Master数据库Sysxlogins表中的一个清单进行匹配。Windows NT/2000的验证是请求域控制器检查用户身份的合法性。一般地,如果服务器可以访问域控制器,我们应该使用Windows NT/2000验证。域控制器可以是Win2K服务器,也可以是NT服务器。无论在哪种情况下,SQL Server都接收到一个访问标记(Access Token)。访问标记是在验证过程中构造出来的一个特殊列表,其中包含了用户的SID(安全标识号)以及一系列用户所在组的SID。正如本文后面所介绍 的,SQL Server以这些SID为基础授予访问权限。注意,操作系统如何构造访问标记并不重要,SQL Server只使用访问标记中的SID。也就是说,不论你使用SQL Server 2000、SQL Server 7.0、Win2K还是NT进行验证都无关紧要,结果都一样。 如果使用SQL Server验证的登录,它最大的好处是很容易通过Enterprise Manager实现,最大的缺点在于SQL Server验证的登录只对特定的服务器有效,也就是说,在一个多服务器的环境中管理比较困难。使用SQL Server进行验证的第二个重要的缺点是,对于每一个数据库,我们必须分别地为它管理权限。如果某个用户对两个数据库有相同的权限要求,我们必须手工设 置两个数据库的权限,或者编写脚本设置权限。如果用户数量较少,比如25个以下,而且这些用户的权限变化不是很频繁,SQL Server验证的登录或许适用。但是,在几乎所有的其他情况下(有一些例外情况,例如直接管理安全问题的应用),这种登录方式的管理负担将超过它的优 点。 二、Web环境中的验证 即使最好的安全策略也常常在一种情形前屈服,这种情形就是在Web应用中使用SQL Server的数据。在这种情形下,进行验证的典型方法是把一组SQL Server登录名称和密码嵌入到Web服务器上运行的程序,比如ASP页面或者CGI脚本;然后,由Web服务器负责验证用户,应用程序则使用它自己的 登录帐户(或者是系统管理员sa帐户,或者为了方便起见,使用Sysadmin服务器角色中的登录帐户)为用户访问数据。 这种安排有几个缺点,其中最重要的包括:它不具备对用户在服务器上的活动进行审核的能力,完全依赖于Web应用程序实现用户验证,当SQL Server需要限定用户权限时不同的用户之间不易区别。如果你使用的是IIS 5.0或者IIS 4.0,你可以用四种方法验证用户。第一种方法是为每一个网站和每一个虚拟目录创建一个匿名用户的NT帐户。此后,所有应用程序登录SQL Server时都使用该安全环境。我们可以通过授予NT匿名帐户合适的权限,改进审核和验证功能。 第二种方法是让所有网站使用Basic验证。此时,只有当用户在对话框中输入了合法的帐户和密码,IIS才会允许他们访问页面。IIS依靠一个NT 安全数据库实现登录身份验证,NT安全数据库既可以在本地服务器上,也可以在域控制器上。当用户运行一个访问SQL Server数据库的程序或者脚本时,IIS把用户为了浏览页面而提供的身份信息发送给服务器。如果你使用这种方法,应该记住:在通常情况下,浏览器与服 务器之间的密码传送一般是不加密的,对于那些使用Basic验证而安全又很重要的网站,你必须实现SSL(Secure Sockets Layer,安全套接字层)。 在客户端只使用IE 5.0、IE 4.0、IE 3.0浏览器的情况下,你可以使用第三种验证方法。你可以在Web网站上和虚拟目录上都启用NT验证。IE会把用户登录计算机的身份信息发送给IIS,当 该用户试图登录SQL Server时IIS就使用这些登录信息。使用这种简化的方法时,我们可以在一个远程网站的域上对用户身份进行验证(该远程网站登录到一个与运行着Web 服务器的域有着信任关系的域)。 最后,如果用户都有个人数字证书,你可以把那些证书映射到本地域的NT帐户上。个人数字证书与服务器数字证书以同样的技术为基础,它证明用户身份标 识的合法性,所以可以取代NT的Challenge/Response(质询/回应)验证算法。Netscape和IE都自动在每一个页面请求中把证书信 息发送给IIS。IIS提供了一个让管理员把证书映射到NT帐户的工具。因此,我们可以用数字证书取代通常的提供帐户名字和密码的登录过程。 由此可见,通过NT帐户验证用户时我们可以使用多种实现方法。即使当用户通过IIS跨越Internet连接SQL Server时,选择仍旧存在。因此,你应该把NT验证作为首选的用户身份验证办法。 三、设置全局组 构造安全策略的下一个步骤是确定用户应该属于什么组。通常,每一个组织或应用程序的用户都可以按照他们对数据的特定访问要求分成许多类别。例如,会 计应用软件的用户一般包括:数据输入操作员,数据输入管理员,报表编写员,会计师,审计员,财务经理等。每一组用户都有不同的数据库访问要求。1.防止外网的话安装防火墙,提高系统的审核机制2.将管理员登陆用户全部设置密码3.查杀系统是否有木马4.清除现有sqlserver的非法用户以上做完应该没什么问题了
文章TAG:
实时数据库安全要求有哪些 数据库系统有怎样的安全防护需求