六种数据库容灾方案
1、 经典方案,即双机ha,单盘阵的环境。
简单的说,双机热备就是用两台机器,一台处于工作状态,一台处于备用状态,但备用状态下,也是开机状态,只是开机后没有进行其他的操作。打个比方来说,在网关处架上两台频宽管理设备,将两台的配置设定为一致,只是以一台的状态为主,一台为次。主状态下的频宽管理设备工作,处理事件,次状态下的频宽管理设备处于休眠,一旦主机出现故障,备用频宽管理设备将自动转为工作状态,代替原来的主机。这就是“双机热备”。
 
 2、单机双盘阵(os层镜像)。针对某些用户的双盘阵冗余的需求,我提出了在os层安装卷管理软件,用软件对两台盘阵做镜像的方案,但只有单机工作,一台盘阵挂了,因为os层的软raid的作用,系统仍然可以工作。

 
  3、双机双柜(os层镜像)方案,这个方案,仍然是用os层做镜像,但是用了双机ha,这种方式有个尚未确认的风险,非纯软方式的ha要求主机有共享的存储系统。一台机器对盘阵lun做的镜像虚拟卷,是否也适用另一台主机,也就是说,a主机做的镜像,b主机接管后,
是否会透明的认出a机做镜像之后的逻辑虚拟卷,如果ab两主机互相都能认,那么就是成功的方案!!

 
  4、双机双柜(底层镜像)。这种方案,虽然共享的lun不是在一台物理盘阵上,但是被底层存储远程镜像到另一台盘阵上,能保持数据的一致性

 
  5、双机双柜纯软方式HA。这种方案,主机装纯软HA软件,虽然纯软不需要外接盘阵,但是接了盘阵,照样可行。

 
  6、双机双柜(hacmp geo),其实geo大体上就是个类似于纯软HA的软件。
 
数据库安全
(一)数据库安全的定义
  数据库安全包含两层含义:第一层是指系统运行安全,系统运行安全通常受到的威胁如下,
一些网络不法分子通过网络,局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法,并关闭cpu风扇,使cpu过热烧坏等破坏性活动; 第二层是指系统信息安全,系统安全通常受到的威胁如下,黑客对数据库入侵,并盗取想要的资料。
编辑本段
(二)数据库安全的特征
  数据库系统的安全特性主要是针对数据而言的,包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等几个方面。下面分别对其进行介绍
1.数据独立性
  数据独立性包括物理独立性和逻辑独立性两个方面。物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的;逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。
2.数据安全性
  操作系统中的对象一般情况下是文件,而数据库支持的应用要求更为精细。通常比较完整的数据库对数据安全性采取以下措施:
  (1)将数据库中需要保护的部分与其他部分相隔。
  (2)采用授权规则,如账户、口令和权限控制等访问控制方法。
  (3)对数据进行加密后存储于数据库。
3.数据完整性
  数据完整性包括数据的正确性、有效性和一致性。正确性是指数据的输入值与数据表对应域的类型一样;有效性是指数据库中的理论数值满足现实应用中对该数值段的约束;一致性是指不同用户使用的同一数据应该是一样的。保证数据的完整性,需要防止合法用户使用数据库时向数据库中加入不合语义的数据
4.并发控制
  如果数据库应用要实现多用户共享数据,就可能在同一时刻多个用户要存取数据,这种事
件叫做并发事件。当一个用户取出数据进行修改,在修改存入数据库之前如有其它用户再取此数据,那么读出的数据就是不正确的。这时就需要对这种并发操作施行控制,排除和避免这种错误的发生,保证数据的正确性。
5.故障恢复
  由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。
SQL server数据库安全策略
  SQL Server 2000[1]的安全配置在进行SQL Server 2000数据库的安全配置之前,首先必须对操作系统进行安全配置,保证操作系统处于安全状态。然后对要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的Web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似“,; @ /”等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上最新SQL补丁SP3。
  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本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。