如何保证网络数据库的安全

如何保证网络数据库的安全,第1张

数据库的安全性是指保护数据库以防止非法使用所造成的数据泄密、更改或破坏安全性控制的方法安全性控制是指要尽可能地杜绝任何形式的数据库非法访问。常用的安全措施有用户标识和鉴别、用户存取权限控制、定义视图、数据加密、安全审计以及事务管理和故障恢复等几类1 用户标识和鉴别用户标识和鉴别的方法是由系统提供一定的方式让用户标识自己的身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供其使用权。为了鉴别用户身份,一般采用以下几种方法(1)利用只有用户知道的信息鉴别用户(2)利用只有用户具有的物品鉴别用户(3)利用用户的个人特征鉴别用户。 用户存取权限控制用户存取权限是指不同的用户对于不同的数据对象有不同的 *** 作权限。存取权限由两个要素组成:数据对象和 *** 作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的 *** 作权限分系统权限和对象权限两种。系统权限由DBA授予某些数据库用户,只有得到系统权限,才能成为数据库用户。对象权限是授予数据库用户对某些数据对象进行某些 *** 作的权限,它既可由DBA授权,也可由数据对象的创建者授予。授权定义经过编译后以一张授权表的形式存放在数据字典中。 定义视图为不同的用户定义不同的视图,可以限制用户的访问范围。通过视图机制把需要保密的数据对无权存取这些数据的用户隐藏起来,可以对数据库提供一定程度的安全保护。实际应用中常将视图机制与授权机制结合起来使用,首先用视图机制屏蔽一部分保密数据,然后在视图上进一步进行授权。 数据加密数据加密是保护数据在存储和传递过程中不被窃取或修改的有效手段。数据加密技术在83节中已有详细介绍。 安全审计安全审计是一种监视措施,对于某些高度敏感的保密数据,系统跟踪记录有关这些数据的访问活动,并将跟踪的结果记录在审计日志(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加强 *** 作系统安全性管理,数据服务器 *** 作系统必须使用正版软件,同时要有防火墙的保护。另外,根据实际需要只开放涉及业务工作的具体网络端口,屏蔽其它端口,这样可以在较大程度上防止 *** 作系统受入侵。

ORACLE数据库中 表是最基本的内容 可以说 表设计的好坏直接跟数据库的性能相关 所以 在设计表的时候 除了要遵循其固有的数据库准则之外 还需要看个人的数据库管理经验 下面我就把这些经验分享一下 或许对大家有所帮助 一 表该存放在哪里 我们都知道 在ORACLE数据库中 使利用空间这个概念来管理表对象的 在数据库创建的时候 数据库中已经建立了一些表空间 那么当我们新建立表的时候 这个新表的位置该放在什么地方呢这就好像吃饭时的坐的位置一样 是有讲究的 一般来说 我们在新建表的时候 至少要遵循如下建议 一是在数据库创建的时候 在数据库中已经有了一个SYSTEM的表空间 一般情况下 这个表空间中 只包含数据字典及Oracle系统对象 如果我们将我们的表建立在这个空间上的话 那是要降低数据库的性能的 所以 一般我们是不建议用户把表格建立在这个空间上 但是 若我们不只一个人维护数据库 如有八个人共同设计数据库系统时 如何才能保证其他用户不在SYSTEM表空间中建立数据库表格呢最好的办法就是通过权限控制 如我们可以给每个数据库设计人员指定一个默认的表空间 让他们只能在这个表空间中建立表格 如此的话 就能防止他们在SYSTEM表空间中建立自己的数据表格 从而对数据库的运行性能产生不良影响 所以 若给每个用户设置默认表空间的话 那么用户在建立具体的表时 不用具体指定表空间了 二是我们在为某个应用设计数据库的时候 最好先对表的空间进行规划 一般情况下 不要把数据表随意的分散到不同的表空间中去 如我们在为一个ERP系统设计数据库的时候 若把采购部门相关的表跟销售部门相关的表放到两个不同的表空间中去 这是不明智的做法 这么处理的话 会降低某些数据库管理和维护 *** 作的效率 如数据的备份与恢复 *** 作;而且 也无法集中管理属于某个特定应用的数据 所以 我们一般建议 在规划数据库表空间的时候 把相同应用的表放在同一个表空间中去 如果要区分不同部门或者不同模块的表的话 我们可以在表的命名上动脑子 如我们在设计ERP系统的数据库中 可以根据其应用模块的不同 在前面加上前缀来进行识别 如跟系统基本配置相关的表 我们可以用AD为前缀;而跟销售部门相关的表 我们可以加上SA前缀等等 如此的话 这些表具体是属于哪个模块的 就一清二楚了 完全没有必要为此设置不同的表空间 这是ORACLE数据库初学者经常会犯的错误 主要是对ORACLE表空间的定义不是很熟悉所导致的 二 对预计存储数量比较大的表时 要给与额外的重视 有些表非常的大 我们这边说的大 不一定是说结构复杂 而是指在这个表格中 预期会存储比较多的数据 为了提高对这个表格的处理效率 我们在事先要做出一定的安排 否则的话 后续对这些大表进行查询 插入等 *** 作的话 速度会很慢 所以 我们就有必要在数据库设计的时候 先预先估计一下表的数据存储量 把一些数据量大的表格 做一些额外的设置 如在ERP软件的数据库设置中 一般来说 产品数据与物料清单数据这两个表的数据量会比较大;而从长远看的话 销售订单 采购订单 生产订单 记账凭证等这种单据类相关的表格其数据量也会比较大 一年两年可能感觉不出来 但是 到十年后 这个纪录数量就会很庞大 而像ERP系统这种大型的信息化管理项目 用个几十年时很正常的事情 而且 为了记录的完整性 也不建议用户把以前的数据删除 所以 为这种应用进行数据库设计的时候 要充分考虑这些大表的性能问题 具体的来说 设计大表的时候 可以考虑遵循如下的建议 一是不要为大表设置存储的限制 在ORACLE数据库中 可以为每张表格设置存储配额限制 如此的话 表最大容量就不能超过这个限制 对于一些数据容量比较小的表格 这么设置时合理的 可以提高空间的利用率 但是 若数据量比较大的话 就不建议事先设置表的存储空间了 如ERP系统的销售订单表 其刚开始可能记录量很小 第一年预计只有 G的记录容量 但是 估计在十年后 这个记录容量就会达到 G了 在这种情况下 我们怎么来给其设置存储空间呢一开就设置 G空间 这也是不合理的 而且 设置存储空间 就意味着有可能产生存储碎片 从而影响到数据查询的效率 所以 在数据库表的设计过程中 若某些应用的表可能会有比较大的数据容量时 建议不要对其存储空间做出任何的限制 二是要为这大表分配足够的临时空间 如我们使用ERP系统时 要查询产品资料信息 我们都知道 产品信息的话 有些企业这个纪录数非常的庞大 而且在查询时 我们还会经常的进行排序 *** 作 如有时候会按照产品编码对查询出来的数据进行排序 当记录少的话 还好;但是 当记录多的话 这个排序动作 要求具有比较大的临时存储空间 所以 当某个表预计会有很大的记录数量的时候 我们就要给其分配足够多的临时空间 临时空间的存储参数设置取决于临时表空间的默认储存参数设置 我们可以更改这些参数 以达到我们对要求 若没有给大表分配足够多的临时空间的话 则排序的动作将会很慢 而且很可能不成功 三是要考虑将表与表的索引分离存放 大表所对应的索引通常也比较大 一般来说 索引的数量是随着表记录的数量增加而增加 两者是接近于一个正比例的关系 所以 通常表的记录容量大的时候 索引数量也会很庞大 针对这种情况 我们考虑突破我们上面讲的表空间的规则定义 而考虑把表和他的索引分别存储于不同的表空间中 甚至在条件允许的情况下 分别存储于不同的硬盘中 这么做的好处是什么呢最大的好处是让索引比较容易的获得所需要的连续的存储空间 从而提高输入输入的效率 通俗的说 就是可以提高数据的查询效率 如不这么处理的话 查询大容量的记录的话 数据库可能需要花费 秒;而如此设计的话 就可能把时间缩短为 秒 这是一个很明显的性能改善 三 如何给表命名 上面我在讲如何为表分配存储空间的时候 已经讲到过这方面的问题 下面 我就将对这个问题进行详细的描述 以帮助数据库管理员掌握一套好的数据库命名规则 首先 毋庸置疑的 在为标命名的时候 要遵循ORACLE数据库的基本命名规则 如不能以数字开头为表命名 如不能利用数据库的关键字为表命名 如表的名字不能重复等等 这些是最基本的要求 就不用我多费口舌了 除了要遵循这些基本的命名规则外 在实际工作中 为了数据库后续的维护等方面出发 我们还是要遵循一些额外的规则 这些规则跟ORACLE定义的规则不同 我们所讲的规则没有约束力 可以说 只是业界的一些共识而已 你若不怎么处理 ORACLE数据库也不会说你错误 只是后续维护的时候 会比较麻烦而已 一是在对数据库命名的时候 最好能跟体现表的分类关系 如最常见的 我们在设计数据库的时候 表都是按系统的具体模块来区分的 如根据前端系统要求的不同 数据库的表大致可以分为系统基本配置表 销售模块表 采购模块表 报表模块表等等 我们可以根据这些模块的不同 分别给与不同的前缀来区分 这么做的好处是很明显的 如一看到表最大名字 就可以知道这个表是属于哪个应用的 哪个模块的 这无疑可以提高数据库设计与前台软件开发的效率 同时 数据库中默认的排序规则是按名字来排序的 所以 为表格设置类别前缀的话 可以把同一类的表格排在一起 方便我们察看 二是对表格命名的时候 要考虑可读性 而不能随便阿狗阿猫的乱取名字 最常见的是 那些刚学数据库的人 在表命名的时候 如要建几张测试表 就会随便命名如TEST TEST 之类的 虽然这只是测试 但是 也不符合我们的命名过则 要做测试的话 那就以TEST开头 然后后面加上具体要测试的内容 如此的话 我们才可以通过表的名字知道该表具体的用途 而不用打开表去看里面具体的结构或者注释才能知道我们需要的信息 所以 在设计表的名字的时候 还要关注一下其的可读性 lishixinzhi/Article/program/Oracle/201311/18317

典型的总有刁民想害朕的心态[灵光一闪]

泄密到不存在,一般国内银行用Oracle的同时都会购买Oracle的维护服务,除非甲骨文不想做中国的生意了。当然因为中美关系的问题,一些行已经开始从周边系统逐渐开始改造使用国产数据库,比如华为的高斯200,同时国内的国有软件企业也在部署研发国产的数据库,公司名就不说了,反正确实有这个安排。

真的是个好问题,国家核心系统从什么开始决心抛弃windows。银行系统数据太过庞大复杂,上了贼船,下船太难太难了。

我是金融行业的码农,也算是有一定的发言权吧。

在数据库方面,金融领域用到的有Oracle和SQLServer等商业软件,也有Mysql、Redis等开源软件。这些软件有个令人沮丧的共同点, 很少有国产自主研发数据库

随着互联网的飞速发展,信息化浪潮席卷各个行业。效率的大幅提升,彻底颠覆了既有的工作模式。率先拥抱变革的企业收获了巨大收益,让后来者羡慕嫉妒恨。

信息技术不管发展如何,都绕不开数据存储,数据存储以关系型数据库最符合人的思维方式。关系型数据库中的翘楚无疑是Oracle数据库。

再回到题主的泄密问题,即Oracle数据库安全么?我的答案是 即安全又不安全 。之所以安全因为它是最好关系型数据库,常见的指标如易用性、稳定性、可用性、可恢复性都有完整的解决方案。之所以不安全是因为它是国外的闭源软件,是否有安全隐患,国人不得而知。

技术上不可控,我们怎么才能避免呢?答案是从管理上从严控制。

不怕。

物理上是对外隔离的, 架构上也有大量技术手段确保数据的安全。

但是自主可控的趋势不可阻挡。

内网,物理隔离。外网用啥都没用,想搞你不过是时间问题。

国内银行系统用的数据库很多, 核心系统一般都用老牌的商业数据库DB2、Oracle 。其他系统也有用Mysql、MongoDB等其他数据库。至于数据泄露吗?银行当然也怕。但是,就综合考虑来看,目前Oracle等商业数据库依然是最佳选择,将来可能会一步一步提高安全等级。

1、稳定是首要选项

我们都知道,银行是金融系统的重要机构。它们的系统不能够随便出问题,一出问题影响整个 社会 。所以, 对银行来说,稳定是摆在首要位置的 。任何创新都必须以此为前提。而DB2、Oracle这些商业数据库软件,首先能够满足银行的稳定性要求。

而在中国,银行是比较早有信息化的单位。但刚开始,没有任何经验的时候,只能是跟欧美国家学习模仿。外企银行基本都是采用oracle、DB2来做核心系统。中国自然是采用国外相同的方案。大部分银行也就采用了当时比较流行的一整套IBM大型机、小型机硬件,配套DB2、Oracle数据库来做。

2、安全实现手段

①、厂家信誉

一直用DB2、Oracle作为核心数据库。对银行来说,已经是最佳选择。因为,在过去,国产根本就没有什么拿得出手的数据库可以使用。银行自然也只能用业界最好的数据库,而且Oracle、DB2这类大品牌的数据库,在全球范围应用都很广。厂家自然也要注意保障安全,否则出了问题,全世界都受影响。

②、技术控制

除了厂家的信誉保障外,银行在技术上做了很多安全措施。首先, 内外网是物理隔离的 。这样,实时连接数据库的攻击是很难实现的了。其次,在防止数据泄露这一块,银行当然也是有很多的技术手段控制的。至少,外网需要的数据是从内网的网闸摆渡过去的。能摆渡什么数据出去,也是银行严格控制的。最后, 数据库里的敏感数据,也是加密存储的 。同时,网络上还 部署了一系列网络安全设备来 保障系统的安全。

3、银行安全需升级

银行现在虽然有很多的技术手段来保障信息安全,但是,DB2、Oracle始终是国外闭源商业数据库软件。如果软件存在漏洞或者后门,对银行来说也是一个大风险。加上国际形势风云变化,所以,银行也还是会有担心泄密问题,这就意味着银行的安全体系还需要升级。

那该如何升级安全呢?除了系统过等级保护外,也一直在倡导用安全可靠的软件。这就意味着需要逐步从Oracle、DB2等商业软件走向开源、或者国产等数据库软件。不过,银行的稳定性还是不能忽略的,所以, 银行也就只能逐步 探索 ,逐步提升安全。同时,国产数据库发展也还有很长一段路要走 。

总结

总之,早些年银行从稳定和安全出发,Oracle、DB2等商业数据库是最佳选择。这些年,随着国际形势的变化和技术的发展,银行也在逐步提升安全等级。将来也会逐步替换Oracle、DB2等商业数据库软件。

这是个系统的问题。

有些朋友说物理隔离,目前看应该做不到100%隔离。银行数据中心就是提供服务的,隔离了怎么提供服务?各个分行,网点,ATM都是要联网的,都是要访问数据库的,只是权限不同。

归结起来就是数据安全和数据库系统,计算机系统,网络系统,以及工作人员都是相关的,必须全方位防护。

数据库系统,国产化当然是必须的,但是国产数据库系统就没有漏洞吗?不故意窃取数据,难保不因失误而失窃。这个要加强测试。

计算机系统,包括软件和硬件,同样道理。

网络方面,银行应该是租用运营商的线路(虚拟专网,***)实现网点互联。出点和入点之间加密传输。如果加密算法没有被破解,秘钥没有暴露,一般没问题。但毕竟还是有”如果”的。

人的问题更大一些,买通一个人不太难吧?这个要通过层层审核,相互制衡,以及思想政治工作来防范。

所以说信息系统的安全防护是全方位的。

要使用SWIFT ,国际资金清算系统,就必须与国际接轨,所以必须用Oracl。

林郑太太被制裁,xyk不能用,工资都发现金,使用也是现金,那么多的国行,没有一家敢接盘。

有别的选择吗。

以上就是关于如何保证网络数据库的安全全部的内容,包括:如何保证网络数据库的安全、怎样管理好ORACLE数据表、国内银行系统用Oracle数据库不怕泄密吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9793035.html

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

发表评论

登录后才能评论

评论列表(0条)

保存