当今社会网络日益普及,人们彻彻底底感受到了它的无所不能,可就在人们享受它所带来便捷的同时,网络病毒、木马也接种而来,不断有报道个人、企业、单位等等遭到病毒以及黑客的木马袭击后系统出现故障无法使用、数据被窃取、硬盘被格式化、客户的机密资料被公开在网上传播等等,看来网络日益普及的今天,网络安全也迫在眉睫!

SQL Server服务器对IT界来说可谓家喻户晓,尤其在中国,由于小中型企业占绝大多数,而且他们首选的数据库七、八成都是SQL Server 数据库,可以看出SQL Server数据库在中国应用的普遍性,由此SQL Server数据库的安全防护也显的极为重要,一但数据库服务器被黑客攻击夺取管理权限后,他们便能肆意进行操作,窃取客户资料、低格磁盘、变相勒索等等,由此造成的损失不是能用金钱就可以来衡量了。
既然知道了SQL Server服务器的重要性,何不先下手为强,及早的为SQL Server服务器筑起一道铜墙铁壁,将到访的恶意行为统统拒之门外!
下图为SQL Server数据库安全防范的典型架构,也是在此力推的防护架构:
 
从图中可以看出,客户端在访问后台数据库时首先经过外围防火墙,过滤掉非法用户访问,然后通过Web服务器来访问数据库中属于自己的数据,假设这时第一道防火墙被黑客拿下,黑客想利用Web服务器渗入后台服务器!是不是有点紧张了,不用担心, Web服务器与后台服务器之间还建有一层防火墙,而这层防火墙免去了客户端访问Web服务器时漏洞百出的协议,可以将限制在拉升一个级别,如果攻击的黑客有一定水准向这层防火墙在次发起攻击时,肯定需要一定时间,这段时间就是管理员进行手工防范的时候,理所当然就对管理员就有了新的要求,那么能力有限的管理员到了这步真的只能任由黑客摆布了吗,那倒未必。
 其实真真的防御还在最后,打个比方吧,某天一张藏宝图落在了10个人手中,宝藏是箱金币,拿到了可以够几辈子花,于是这10个人便踏上了寻宝的旅途,一路艰辛一路困阻,到最后只剩下一个人
到达了目的地,可找到它时却发现宝箱上了一把怎么也打不开的锁!这就是问题的关键了。
回过头来看,假设第二层防火墙也被攻击瘫痪了,当黑客赤裸裸的面对后台所有数据库时,却发现到了这一步怎么也进不去了,这就时最终的效果,也是本文所要论述的中心-----SQL Server配置。
SQL Server安全性可以被分为以下两种:
1.载体安全性
2.配置安全性
什么是载体安全性?从字面就可以理解出,载体顾名思义就是装载它的实体,我们知道数据库的装载平台除了系统就没有别的了,所以载体安全性就可以理解为系统安全性。
那么什么又是配置安全性?配置安全性可以理解为针对数据库本身所作的安全配置措施。
一.  载体安全性
    载体安全性细划之后又可以分为:
1.系统安全性
2.物理安全性
3.网络配置安全性
1.     系统安全性
   在系统安全性的防范中主要有以下几点:
1.及时更新补丁,不给系统留下任何补丁漏洞。
2.安装防毒软件
3.禁用用户,删除系统中的隐藏用户,注意这里所说的隐藏用户是图形界面看不到的用户,查看及删除的办法必须在注册表中进行操作:
  打开运行,输入regedit
  展开HKEY_Local_MACHINE
 展开SAM
右击选择权限出现如下向导
   勾选administrator完全控制权限,点击确定结束操作       
然后在出现的界面中按F5,展开SAM
如下图,SAM前多了一个加号,展开SAM


    出现的界面中展开Domains

展开Account,展开Users

展开Names,这时当前系统的所有用户都出现在了列表中
假设要删除__vmware用户
如下图,在__vmware__user用户中右击选择删除即可
4.组策略中,如禁用自动播放等等
2     物理安全性
      物理安全性主要属于行政方面的管理
    1.不安置于公共场合
  2.禁止闲杂人员进入
3.     网路配置安全性
       网络配置安全性可以分为以下几点
1.禁用不需要的服务(如:FTPtelnet
2.SQL服务器与其它服务器独立安装,避免由其它服务器中的漏洞被利用从而攻击到SQL 服务器
3.配合防火墙做相应配置,根据防火墙策略的要求做出相应调整
二.配置安全性
配置安全性可以理解为针对数据库本身所作的安全配置措施,首先来了解下用户对SQL Server的访问方式以及验证方式由哪些
①用户的访问控制
  1.访问方式:
    1.windows登录
       Windows帐户登录
     2.SQL_Server登录
       SQL_Server帐户SA登录
     2.验证方式:
        1.windows验证
      Windows验证的这种验证方式相对来说安全性较高,但当前工作环境如果是域或工作组的话,利用windows验证会很麻烦,需要手工逐个去添加
        2.SQL Server验证
            相反SQL Server验证的这种验证方式会变的很灵活,它不论在域或是工作组只需要一个SA帐户就行,不过理所当然它的安全性会变低,由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,使用一个极为复杂的密码是首选,并且最好不在数据库中使用sa这个帐户,除非在没有其它方法登录到 SQL Server 实例时在使用sa账户
数据库管理员应建立一个与sa有着一样权限的超级用户账户来管理数据库。
    ② 数据存贮安全
       1.     备份
   俗话说留得青山在不怕没柴烧,每天对数据库进行备份是一个不错的习惯,假如SQL服务器因为物理故障损坏造成数据丢失,因为之前有了备份就不用太担心了。
下面来介绍几种用命令行来进行备份的常见备份方式,在备份之前需要提前配置好备份设备,也就是备份存放的目录路径
 如图,展开SQL服务器
展开管理
右击备份选项,选择新建备份设备
输入备份名称,在随后的备份操作中直接调用备份名称就可以
指定备份路径
点击确定即完成备份目录新建
下面是用命令行进行备份的几种常见方法方法
      1.     完全备份
      Backup database 数据库名 to 备份设备
   2.     差异备份
      Backup database 数据库名 to 备份设备 with diff erential
       3.     事务日志备份
      Backup log 数据库名 to 备份设备
二.还原
备份虽然有了,但还得会还原才行,常见的还原方式有
1.     完全恢复还原
    功能强,完全恢复
2.     大容量日志恢复还原
    功能中,大容量操作步记录,例如select into bulk insert操作的记录
3.     简单模式还原
功能弱,不记录日志
知道了还原模式通常有哪些,我们就可以用命令来查看当前数据库的还原模式
select databaseproperty ('数据库名','recovery')
当然用命令还可以手工更改当前数据库的还原模式
alter database 数据库名 set recovery simple(简单模式)、full(完全恢复)、bulk_logged(大容量模式)
.传输的安全性
传输安全性可以理解为SSL的加密连接,就是对传输数据进行加密,下图为大家演示。
首先需要用到的就是CA证书服务,挂入系统ISOWIN+R打开运行窗口,输入sysocmgr /i:sysoc.inf打开windows添加删除组件向选中其中的CA证书服务,注:CA证书服务需要IIS的支持,请在安装前完成IIS安装
 
 点击下一步继续安装
出现CA类型选择向导,默认独立根CA,点击下一步继续
输入CA公用名称,这里测试用输入SQL_Test点击下一步继续
采用默认安装路径,点击下一步完成安装
安装完毕后,在浏览器中输入http://itet-06/certsrv,打开CA证书申请界面,其中itet-06CA服务器的计算机名,如下图
选择申请一个证书
选择高级证书申请
选择创建并向CA提交一个申请
在姓名选项中输入当前计算机名,这点很重要,其他选项实验环境下可以不填
然后在证书类型中选择服务器身份验证证书
 
在密钥选项中的CSP中制定如下图选项,并选择将证书保存在本地计算机存储中,确认无误后点击提交
接下来打开证书颁发机构
展开定义的SQL_test,选中挂起的申请
在右侧的挂起证书中右击选择所有任务-颁发
然后在回到证书颁发界面,选择查看挂起的证书申请的状态
点击安装挂起的此证书
选择安装此证书
提示安装完成,同理在需要进行加密连接的SQL_Server服务器,重复此操作
安装完成后,打开SQL的服务器网络实用工具
 
勾选强制协议加密,即可完成SSL加密连接,然后每次启动SQL后都将自动进行加密连接,如果选择加密连接后,SQL服务出现无法启动的情况,则说明在CA证书上有问题存在,请仔细参照本文的证书演示进行配置。
至此,本文论述的SQL Server上的安全配置到此均完成

posted on 2011-07-26 19:26  魏来的星  阅读(567)  评论(0编辑  收藏  举报