数据库的安全策略有哪些

数据库的安全策略有哪些,第1张

计算机安全是当前信息社会非常关注的问题,而数据系统更是担负着存储和管理数据信息的任务,因而如何保证和加强其安全性,更是迫切需要解决的热门课题。下面将讨论数据库的安全策略,并简单介绍各种策略的实现方案。\x0d\一、数据库的安全策略\x0d\数据库安全策略是涉及信息安全的高级指导方针,这些策略根据用户需要、安装环境、建立规则和法律等方面的限制来制定。\x0d\数据库系统的基本安全性策略主要是一些基本性安全的问题,如访问控制、伪装数据的排除、用户的认证、可靠性,这些问题是整个安全性问题的基本问题。数据库的安全策略主要包含以下几个方面:\x0d\1保证数据库存在安全\x0d\数据库是建立在主机硬件、 *** 作系统和网络上的系统,因此要保证数据库安全,首先应该确保数据库存在安全。预防因主机掉电或其他原因引起死机、 *** 作系统内存泄漏和网络遭受攻击等不安全因素是保证数据库安全不受威胁的基础。\x0d\2保证数据库使用安全\x0d\数据库使用安全是指数据库的完整性、保密性和可用性。其中,完整性既适用于数据库的个别元素也适用于整个数据库,所以在数据库管理系统的设计中完整性是主要的关心对象。保密性由于攻击的存在而变成数据库的一大问题,用户可以间接访问敏感数据库。最后,因为共享访问的需要是开发数据库的基础,所以可用性是重要的,但是可用性与保密性是相互冲突的。\x0d\二、数据库的安全实现\x0d\1数据库存在安全的实现\x0d\正确理解系统的硬件配置、 *** 作系统和网络配置及功能对于数据库存在安全十分重要。比如对于硬件配置情况,就必须熟悉系统的可用硬盘数量,每个硬盘的可用空间数量,可用的CPU数量,每个CPU的Cache有多大,可用的内存数量,以及是否有冗余电源等问题;对于 *** 作系统,则应该周期性的检查内存是否有泄漏,根文件系统是否需要清理,重要的日志是否已经察看;对于网络就应该随时确保网络没有过载,网络畅通、网络安全是否得到保证等等。因为这一部分不是本文的重点,所以不再一一细述,总之,这三方面的安全运行是和维护数据库存在安全不可分割的。\x0d\2数据库完整性的实现\x0d\数据库的完整性包括库的完整性和元素的完整性。\x0d\数据库的完整性是DBMS(数据库管理系统)、 *** 作系统和系统管理者的责任。数据库管理系统必须确保只有经批准的个人才能进行更新,还意味着数据须有访问控制,另外数据库系统还必须防范非人为的外力灾难。从 *** 作系统和计算系统管理者的观点来看,数据库和DBMS分别是文件和程序。因此整个数据库的一种形式的保护是对系统中所有文件做周期性备份。数据库的周期性备份可以控制由灾祸造成的损失。数据库元素的完整性是指它们的正确性和准确性。由于用户在搜集数据、计算结果、输入数值时可能会出现错误,所以DBMS必须帮助用户在输入时能发现错误,并在插入错误数据后能纠正它们。DBMS用三种方式维护数据库中每个元素的完整性:通过字段检查在一个位置上的适当的值,防止输入数据时可能出现的简单错误;通过访问控制来维护数据库的完整性和一致性;通过维护数据库的更改日志,记录数据库每次改变的情况,包括原来的值和修改后的值,数据库管理员可以根据日志撤消任何错误的修改。\x0d\3数据库保密性的实现\x0d\数据库的保密性可以通过用户身份鉴定和访问控制来实现。\x0d\DBMS要求严格的用户身份鉴定。一个DBMS可能要求用户传递指定的通行字和时间日期检查,这一认证是在 *** 作系统完成的认证之外另加的。DBMS在 *** 作系统之外作为一个应用程序被运行,这意味着它没有到 *** 作系统的可信赖路径,因此必须怀疑它所收的任何数据,包括用户认证。因此DBMS最好有自己的认证机制。\x0d\访问控制是指根据用户访问特权逻辑地控制访问范围和 *** 作权限。如一般用户只能访问一般数据、市场部可以得到销售数据、以及人事部可以得到工资数据等。DBMS必须实施访问控制政策,批准对所有指定的数据的访问或者禁止访问。DBMS批准一个用户或者程序可能有权读、改变、删除或附加一个值,可能增加或删除整个字段或记录,或者重新组织完全的数据库。\x0d\4数据库可用性的实现\x0d\数据库的可用性包括数据库的可获性、访问的可接受性和用户认证的时间性三个因素。下面解释这三个因素。\x0d\(1)数据的可获性\x0d\首先,要访问的元素可能是不可访问的。例如,一个用户在更新几个字段,其他用户对这些字段的访问便必须被暂时阻止。这样可以保证用户不会收到不准确的信息。当进行更新时,用户可能不得不阻止对几个字段或几个记录的访问通道,以便保证数据与其他部分的一致性。不过有一点要注意,如果正在更新的用户在更新进行期间退出,其他用户有可能会被永远阻止访问该记录。这种后遗症也是一个安全性问题,会出现拒绝服务。\x0d\(2)访问的可接受性\x0d\记录的一个或多个值可能是敏感的而不能被用户访问。DBMS不应该将敏感数据泄露给未经批准的个人。但是判断什么是敏感的并不是那么简单,因为可能是间接请求该字段。一个用户也许请求某些包含敏感数据的记录,这可能只是由非敏感的特殊字段推出需要的值。即使没有明确地给出敏感的值,数据库管理程序也可能拒绝访问这样的背景信息,因为它会揭示用户无权知道的信息。\x0d\(3)用户认证的时间性\x0d\为了加强安全性,数据库管理员可能允许用户只在某些时间访问数据库,比如在工作时间。

关于数据库安全及其防范方案的分析

随着网络的不断发展,数据的共享日益加强,数据的安全保密越来越重要。为了计算机数据库整体安全性的控制,需要做好很多细节性的工作,并根据具体应用环境的安全需要来分析安全薄弱环节,并制定统一的安全管理策略加以实施,以保证其最高的安全性。

1数据库安全环境的分析

随着时代的发展,我国的计算机信息安全标准也在不断提升。在当下的数据库系统安全控制模块中,我国数据库安全分为不同的等级。但是总体来说,我国的数据库安全性是比较低的,这归结于我国数据技术体系的落后。为了更好的健全计算机数据库体系,进行数据库安全体系的研究是必要的。我国现有的一系列数据安全理论是落后于发达国家的。这体现在很多的应用领域,比如电力领域、金融领域、保险领域等。很多软件都是因为其比较缺乏安全性而得不到较大范围的应用,归根结底是数据库安全性级别比较低。

为了满足现阶段数据库安全工作的需要,进行相关标准的深化研究是必要的。这需要对数据库安全进行首要考虑,且需要考虑到方方面面,才更有利于数据库保密性的控制,从而保证这些数据存储与调用的一致性。

在当前数据库安全控制过程中,首先需要对这些数据进行可用性的分析,从而有利于避免数据库遭到破坏,更有利于进行数据库的损坏控制及其修复。其次为了保证数据库的安全性、效益性,也离不开对数据库整体安全性方案的应用。最后必须对数据库进行的一切 *** 作进行跟踪记录,以实现对修改和访问数据库的用户进行追踪,从而方便追查并防止非法用户对数据库进行 *** 作。

2数据库安全策略的更新

为了满足现阶段数据库安全性方案的应用,进行身份的鉴别是必要的。所谓的身份鉴别就是进行真实身份及其验证身份的配比,这样可以避免欺诈及其假冒行为的发生。身份鉴别模式的应用,表现在用户使用计算机系统进行资源访问时。当然在一些特定情况下,也要进行身份鉴别,比如对某些稀缺资源的访问。

身份鉴别通常情况下可以采用以下三种方法:一是通过只有被鉴别人自己才知道的信息进行鉴别,如密码、私有密钥等;二是通过只有被鉴别人才拥有的信物进行鉴别,如IC卡、护照等;三是通过被鉴别人才具有的生理或者行为特征等来进行鉴别,如指纹、笔迹等。

在当前访问控制模块中,除了进行身份鉴别模式的应用外,还需要进行信息资源的访问及其控制,这样更有利于不同身份用户的权限分配。这就需要进行访问级别的控制,针对各个系统的内部数据进行 *** 作权限的控制,进行自主性及其非自主性访问的控制,满足数据库的安全需要。实现用户对数据库访问权限进行控制,让所有的用户只能访问自己有权限使用的数据。当某一个用户具有对某些数据进行访问的权限时,他还可以把对这些数据的 *** 作权限部分或者全部的转移给其他用户,这样其他的用户也获得了对这些数据的访问权。

为了更好的进行数据库的安全管理,审计功能的应用也必不可少。这需要就数据库的数据进行统一性的 *** 作。这样管理员更加方便对数据库应用情况进行控制,审计功能也有利于对数据库的 *** 作行为进行控制,更有利于控制用户对数据库的访问。攻击检测是通过升级信息来分析系统的内部和外部所有对数据库的攻击企图,把当时的攻击现场进行复原,对相关的攻击者进行处罚。通过这种方法,可以发现数据库系统的安全隐患,从而来改进以增加数据库系统的安全性。

在数据库数据处理过程中,可以进行一些合法查询模式的应用,当需要调取保密数据时,就需要应用推理分析模块。这是数据库安全性方案控制过程中的重难点,而通过这种简单的推理分析方法调取保密数据,是得不到有效解决的。但是我们可以使用以下几种方法来对这种推理进行控制:数据加密的基本思想就是改变符号的排列方式或按照某种规律进行替换,使得只有合法的用户才能理解得到的数据,其他非法的用户即使得到了数据也无法了解其内容。

通过对加密粒度的应用,更有利于进行数据库加密性的控制。其分为几种不同的应用类型等级。在当前应用模块中,需要进行数据保护级别的分析,进行适当的加密粒度的分析。更有利于满足数据库级别加密的需要。该加密技术的应用针对的是整体数据库,从而针对数据库内部的表格、资料等加密。采用这种加密粒度,加密的密钥数量较少,一个数据库只需要一个加密密钥,对于密钥的管理比较简单。但是,由于数据库中的数据能够被许多的用户和应用程序所共享,需要进行很多的数据处理,这将极大的降低服务器的运行效率,因此这种加密粒度只有在一些特定的情况下才使用。

表级加密也是比较常用的方法,这种方法应用于数据库内部的数据加密。针对具体的存储数据页面进行加密控制。这对于系统的运行效率的提升具备一定的帮助,不会影响系统的运行效率。这种方法需要应用到一些特殊工具进行处理,比如解释器、词法分析器等,进行核心模块的控制,进行数据库管理系统源代码的控制及其优化。但是其难以确保数据库管理系统的整体逻辑性,也存在缺陷。记录级加密;这种加密技术的加密粒度是表格中的每一条记录,对数据库中的每一条记录使用专门的函数来实现对数据的加密、解密。通过这种加密方法,加密的粒度更加小巧,具有更好的选择性和灵活性。字段级加密;这种加密技术的加密粒度是表格中的某一个或者几个字段。通过字段级的加密粒度只需要对表格中的敏感列的数据进行加密,而不需要对表格中的所有的数据进行加密。

选择加密算法也是比较常见的数据加密方法。它是数据加密的核心部分。对于数据库的整体安全性的控制具有直接性的影响。通过对加密算法的分析,得知其分为公共密钥加密及其对称加密。在数据加密模块中,需要进行密文及其明文的区分,从而进行明文及其密文的转换,也就是普遍意义上的密码。密码与密钥是两个不同的概念。后者仅是收发双方知道的信息。在数据加密技术中,对密钥进行管理主要包括以下几个方面,产生密钥。产生怎样的密钥主要取决于使用什么样的算法。若产生的密钥强度不一样就称这种算法实现的是非线性的密钥空间,若产生的密钥强度一样就称这种算法实现的是线性的密钥空间。分配密钥、传递密钥:分配密钥就是产生一个密钥并且将这个密钥分配给某个用户使用的过程。

密钥的传递分为不同的应用形式,集中式与分散式。所谓的集中式就是进行密钥整体式的传递;所谓的分散式就是对密钥的多个部分进行划分,以秘密的方法给用户进行传递。通过将整体方法与分散方法应用到存储模块中,更好的满足现阶段数据库整体安全性的需要。对于密钥的备份可以使用和对密钥进行分散存储一样的方式进行,以避免太多的人知道密钥;而销毁密钥需要有管理和仲裁机制,以防止用户对自己的 *** 作进行否认。

3结束语

随着计算机,特别是网络的不断发展,数据的共享日益加强,数据的安全保密越来越重要。本文详细阐述了数据库的安全防范,分别从数据分析、用户鉴别、访问权限控制、审计、数据加密等环节逐一剖析数据库安全。为了计算机数据库整体安全性的控制,需要做好很多细节性的工作,并根据具体应用环境的安全需要来分析安全薄弱环节,并制定统一的安全管理策略加以实施,以保证其最高的安全性。

CREATE DATABASE Archive

ON

PRIMARY ( NAME = archdat1,

FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat1mdf',

SIZE = 10MB,

MAXSIZE = 20,

FILEGROWTH = 2),

( NAME = archdat2,

FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat2ndf',

SIZE = 10MB,

MAXSIZE = 20,

FILEGROWTH = 2),

( NAME = archdat,

FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat3ndf',

SIZE = 10MB,

MAXSIZE = 20,

FILEGROWTH = 2)

LOG ON

( NAME = Archlog1,

FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog1ldf',

SIZE = 10MB,

MAXSIZE = 20,

FILEGROWTH = 2),

( NAME = Archlog2,

FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog2ldf',

SIZE = 10MB,

MAXSIZE = 20,

FILEGROWTH = 2)

GO

网站后台出现故障。

第一种原因,待保存的数据存在validation错误,无法保存到数据库中。此时需要修复所有的校验错误,才能正常保存。

第二种原因,当前数据库存储空间不足,无法保存新的数据。此时需要执行数据库archive程序,释放出足够的空间,然后才能继续尝试保存数据。

在oracle数据库的开发环境和测试环境中 数据库的日志模式和自动归档模式一般都是不设置的 这样有利于系统应用的调整 也免的生成大量的归档日志文件将磁盘空间大量的消耗 但在系统上线 成为生产环境时 将其设置为日志模式并自动归档就相当重要了 因为 这是保证系统的安全性 有效预防灾难的重要措施 这样 通过定时备份数据库和在两次备份间隔之间的日志文件 可以有效的恢复这段时间的任何时间点的数据 可以在很多时候挽回或最大可能的减少数据丢失 虽然ORACLE数据库的日志模式和自动归档设置并不复杂 但其中的一些概念和 *** 作过程还是容易混淆的 现在根据本人的经验 分析介绍如下 所用环境为UNIX(HPUX SOLARIES AIX TRU UNIX)和ORACLE 一 要使OARCLE数据库进行日志的自动归档 需要做两方面的事情 一是数据库日志模式的设置(database log mode 可为Archive Mode和No Archive Mode) 另外就是自动归档模式设置(Automatic archival 可为Enabled和Disabled) 二 如何查看数据库的现行日志和自动归档模式的设置 可用archive log list命令来查看 例如 运行在日志自动归档模式下的数据库系统查看结果如下(一般是生产环境)SVRMGR> archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination/backup/archivelogOldest online log sequence Next log sequence to archive  Current log sequence  没有启动数据库日志模式和自动归档的数据库系统查看结果如下(一般是测试环境)SVRMGR> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination/u /app/oracle/product/ /dbs/archOldest online log sequence Current log sequence  三 数据库日志模式的设置 在创建数据库时 可以在CREATE DATABASE 语句中指定数据库的日志模式 假如没有指明 则缺省为NOARCHIVELOG模式 由于如果在创建数据库时指明是Archive Mode的话 会增加约 %的创建时间 而在以后启动INSTANCE时再设置的话 一般只用去几秒的时间 所以一般在创建数据库时是不设置为ARCHIVE MODE的 如要确定一系统数据库的日志模式设置 除了(二)中的方法外也可以执行如下 *** 作查看 SVRMGR> Select from V$DATABASENAME CREATEDLOG_MODE CHECKPOINT ARCHIVE_CH ORCL  / / : :NOARCHIVELOG  将数据库的日志模式设置切换(Archive Mode 和No Archive Mode之间的切换)的步骤和 *** 作如下 关闭运行的数据库实例SVRMGRL> shutdown在进行日志模式切换之前 必须将运行的数据库正常关闭 备份数据库该备份跟以后产生的日志一起用于将来的灾难恢复(很重要 如要改为归档日志模式 没有这个数据库备份 仅有日志文件是无法从该时间点恢复的) 启动数据库实例到mount状态 但不要打开 SVRMGRL> startup mount注意 如果是使用OPS的话 请只打开一个数据库实例进行模式切换 *** 作 切换数据库日志模式 SVRMGRL> alter database archivelog;(设置数据库为归档日志模式)或SVRMGRL> alter database noarchivelog;(设置数据库为归档日志模式) 打开数据库SVRMGRL> alter database open; 确认数据库现在处于归档日志模式 SVRMGRL> archive log list;Database log mode  Archive ModeAutomatic archival EnabledArchive destination for example: $ORACLE_HOME/dbs/archOldest on line log sequence Next log sequence  Current log sequence 将这个时间点的redo logs归档SVRMGRL> archive log all; 确认新产生的日志文件已在相应的归档目录下面 四 自动归档模式设置(Automatic archival 可为Enabled和Disabled) 在该模式下 数据库启动一个arch进程 专门负责将redo logs写到系统归档设备的相应目录下 在数据库的参数文件中设置参数(一般是在$ORACLE_HOME/dbs/init ora文件中) LOG_ARCHIVE_START=LOG_ARCHIVE_DEST=LOG_ARCHIVE_FORMAT=LOG_ARCHIVE_START:如要求自动归档的话 则设为TRUE 如要求为非自动归档的话 则设为FALSELOG_ARCHIVE_DEST:该参数设定了archive logs 归档存放的路径 LOG_ARCHIVE_FORMAT:该参数设定了archive logs的命名格式 例如 如将格式设为: arch%s arclog 文件将为: arch arc arch arc arch arc这几个参数设置只有在数据库实例启动前设置才能生效 如果在数据库运行中进行设置 要使其生效 必须重起数据库 如果数据库正在运行中 不能即刻重起 要设置其为自动归档模式 则做如下 *** 作 SVRMGRL> ALTER SYSTEM ARCHIVE LOG START;如要设置其为非自动归档模式(取消自动归档) 则 SVRMGRL> ALTER SYSTEM ARCHIVE LOG STOP;但如果数据库重起后 给语句修改的结果就失效了 自动归档的设置还是按照系统参数文件中的LOG_ARCHIVE_START的值来设置 五 几种设置情况 ( ) Database log mode Archive ModeAutomatic archival Enabled这是在大部分生产环境中的ORACLE数据库日志及归档模式设置 这种情况下 做好数据库的定期备份(有热备和冷备)和归档日志备份 可有效的将数据库恢复到有归档日志的全部时间点 ( ) Database log mode Archive ModeAutomatic archival Disabled这种情况下 数据库不能自动归档 需要进行手工归档 如果所有在线日志都写满了 又没有的及时进行手工归档的话 由于LGWR没有可用的在线日志可写 数据库将会挂在这儿 只有进行手工归档后 有可用的在线日志后才能继续 在生产环境中应该避免这种情况 手工归档 *** 作如下 SVRMGRL> ALTER SYSTEM ARCHIVE LOG ALL;数据库将会把在线日志进行归档处理( ) Database log mode NO Archive ModeAutomatic archival Enabled有些相对欠缺经验的管理员在进行设置时 只在数据库参数文件中设置了LOG_ARCHIVE_START=TRUE 然后在数据库起来后查看到ARCH归档进程已经起来了 可是尽管ORACLE已经作了几次日志切换 但还是没有归档日志 这时的设置就是这种情况 如果数据库不是处在ARVHIVELOG模式 redolog 还是不会被归档 ( ) Database log mode NO Archive ModeAutomatic archival Disabled这种设置是刚安装的oracle数据库的缺省设置 开发环境也大部分如此 即没有进行归档 lishixinzhi/Article/program/Oracle/201311/18755

以上就是关于数据库的安全策略有哪些全部的内容,包括:数据库的安全策略有哪些、关于数据库安全及其防范方案的分析(数据库的安全策略)、用SQL 语言创建一个简单的archive数据库。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9397559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存