拒绝亡羊补牢!SQL Server服务器安全防护!
当今社会网络日益普及,人们彻彻底底感受到了它的无所不能,可就在人们享受它所带来便捷的同时,网络病毒、***也接种而来,不断有报道个人、企业、单位等等遭到病毒以及***的***袭击后系统出现故障无法使用、数据被窃取、硬盘被格式化、客户的机密资料被公开在网上传播等等,看来网络日益普及的今天,网络安全也迫在眉睫!
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
SQL Server
服务器对IT界来说可谓家喻户晓,尤其在中国,由于小中型企业占绝大多数,而且他们首选的数据库七、八成都是
SQL Server
数据库,可以看出
SQL Server
数据库在中国应用的普遍性,由此
SQL Server
数据库的安全防护也显的极为重要,一但数据库服务器被******夺取管理权限后,他们便能肆意进行操作,窃取客户资料、低格磁盘、变相勒索等等,由此造成的损失不是能用金钱就可以来衡量了。
既然知道了SQL Server服务器的重要性,何不先下手为强,及早的为SQL Server服务器筑起一道铜墙铁壁,将到访的恶意行为统统拒之门外!
下图为SQL Server数据库安全防范的典型架构,也是在此力推的防护架构:
![](https://i-blog.csdnimg.cn/blog_migrate/f52a07e813a6577e9f2409ae484ccee5.jpeg)
从图中可以看出,客户端在访问后台数据库时首先经过外围防火墙,过滤掉非法用户访问,然后通过Web服务器来访问数据库中属于自己的数据,假设这时第一道防火墙被***拿下,***想利用Web服务器渗入后台服务器!是不是有点紧张了,不用担心, Web服务器与后台服务器之间还建有一层防火墙,而这层防火墙免去了客户端访问Web服务器时漏洞百出的协议,可以将限制在拉升一个级别,如果***的***有一定水准向这层防火墙在次发起***时,肯定需要一定时间,这段时间就是管理员进行手工防范的时候,理所当然就对管理员就有了新的要求,那么能力有限的管理员到了这步真的只能任由***摆布了吗,那倒未必。
其实真真的防御还在最后,打个比方吧,某天一张藏宝图落在了10个人手中,宝藏是箱金币,拿到了可以够几辈子花,于是这10个人便踏上了寻宝的旅途,一路艰辛一路困阻,到最后只剩下一个人
到达了目的地,可找到它时却发现宝箱上了一把怎么也打不开的锁!这就是问题的关键了。
回过头来看,假设第二层防火墙也被***瘫痪了,当***赤裸裸的面对后台所有数据库时,却发现到了这一步怎么也进不去了,这就时最终的效果,也是本文所要论述的中心
-----SQL Server
配置。
SQL Server
安全性可以被分为以下两种:
1
.载体安全性
2
.配置安全性
什么是载体安全性?从字面就可以理解出,载体顾名思义就是装载它的实体,我们知道数据库的装载平台除了系统就没有别的了,所以载体安全性就可以理解为系统安全性。
那么什么又是配置安全性?配置安全性可以理解为针对数据库本身所作的安全配置措施。
一.
载体安全性
载体安全性细划之后又可以分为:
1.系统安全性
2.物理安全性
3.网络配置安全性
1.
系统安全性
在系统安全性的防范中主要有以下几点:
1.
及时更新补丁,不给系统留下任何补丁漏洞。
2.
安装防毒软件
3.
禁用用户,删除系统中的隐藏用户,注意这里所说的隐藏用户是图形界面看不到的用户,查看及删除的办法必须在注册表中进行操作:
打开运行,输入
regedit
展开HKEY_Local_MACHINE
![](https://i-blog.csdnimg.cn/blog_migrate/73f88898df4e5296d17f5cd44dfbc906.jpeg)
展开SAM
![](https://i-blog.csdnimg.cn/blog_migrate/662079af77bd32a29f527c3e9daab8d7.jpeg)
右击选择权限
出现如下向导
勾选administrator完全控制权限,点击确定结束操作
然后在出现的界面中按
F5
,展开
SAM
![](https://i-blog.csdnimg.cn/blog_migrate/9c80dc62cde6d32c0e01c38e5a9d184f.jpeg)
如下图,
SAM
前多了一个加号,展开
SAM
![](https://i-blog.csdnimg.cn/blog_migrate/0a056f67aa35898e8e994db1db4fedfc.jpeg)
出现的界面中展开 Domains
展开
Account,展开Users
展开
Names
,这时当前系统的所有用户都出现在了列表中
![](https://i-blog.csdnimg.cn/blog_migrate/0a25b3c23d5f3ae34b213c16ab810b7c.jpeg)
假设要删除__vmware用户
如下图,在__vmware__user用户中右击选择删除即可
![](https://i-blog.csdnimg.cn/blog_migrate/6c5c608748abdcecac2282fbe3c934b9.jpeg)
4.
组策略中,如禁用自动播放等等
2
物理安全性
物理安全性主要属于行政方面的管理
1.
不安置于公共场合
2.
禁止闲杂人员进入
3.
网路配置安全性
网络配置安全性可以分为以下几点
1.
禁用不需要的服务(如:
FTP
、
telnet
)
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 服务器
![](https://i-blog.csdnimg.cn/blog_migrate/5ad12f882c358e24bedf1d785b422a38.jpeg)
展开管理
右击备份选项,选择新建备份设备
输入备份名称,在随后的备份操作中直接调用备份名称就可以
指定备份路径
点击确定即完成备份目录新建
下面是用命令行进行备份的几种常见方法方法
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
证书服务,挂入系统
ISO
,
WIN+R
打开运行窗口,输入
sysocmgr /i:sysoc.inf
打开
windows
添加删除组件向选中其中的
CA
证书服务,注:
CA
证书服务需要
IIS
的支持,请在安装前完成IIS安装
![](https://i-blog.csdnimg.cn/blog_migrate/374396b735d81fc828f27797cff91b4a.jpeg)
点击下一步继续安装
出现
CA
类型选择向导,默认独立根
CA
,点击下一步继续
![](https://i-blog.csdnimg.cn/blog_migrate/26a3e407c9e4cfe4a45e1604e4fb9d32.jpeg)
输入
CA
公用名称,这里测试用输入
SQL_Test
点击下一步继续
采用默认安装路径,点击下一步完成安装
![](https://i-blog.csdnimg.cn/blog_migrate/35d6c446ca635f5afe596710b377f1c7.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/303a9f670228f4758a294821212e4538.jpeg)
选择申请一个证书
选择高级证书申请
![](https://i-blog.csdnimg.cn/blog_migrate/69c7c35444b77b4dd223f5788e042b8f.jpeg)
选择创建并向
CA
提交一个申请
在姓名选项中输入当前计算机名,这点很重要,其他选项实验环境下可以不填
![](https://i-blog.csdnimg.cn/blog_migrate/ccecae80dd73c3fce066d161e7b0c3a6.jpeg)
然后在证书类型中选择服务器身份验证证书
在密钥选项中的
CSP
中制定如下图选项,并选择将证书保存在本地计算机存储中,确认无误后点击提交
接下来打开证书颁发机构
展开定义的
SQL_test
,选中挂起的申请
在右侧的挂起证书中右击选择所有任务
-
颁发
然后在回到证书颁发界面,选择查看挂起的证书申请的状态
点击安装挂起的此证书
选择安装此证书
提示安装完成,同理在需要进行加密连接的
SQL_Server
服务器,重复此操作
安装完成后,打开
SQL
的服务器网络实用工具
![](https://i-blog.csdnimg.cn/blog_migrate/fa3ffaa297a3d9b6cc9543ae2480f8a5.jpeg)
勾选强制协议加密,即可完成
SSL
加密连接,然后每次启动SQL后都将自动进行加密连接,如果选择加密连接后,SQL服务出现无法启动的情况,则说明在CA证书上有问题存在,请仔细参照本文的证书演示进行配置。
至此,本文论述的SQL Server上的安全配置到此均完成
转载于:https://blog.51cto.com/zhangzhengtao/84011