Sqlsever 数据库有两种登陆身份验证模式,一种是windows身份验证;一种是sqlserver 账户验证模式,在sqlserver 账户验证模式中,sa账户是大家所熟知的,并且sa也是内置的默认管理员账户,拥有最高的操作权限;前面提到,sa账户是大家所熟知的,那么,一些别有用心的人也知道sa账户,这就为我们的数据安全留下了隐患;


 黑客会通过扫描程序在互联网上大量扫描,会发现那些开着远程访问,并且使用sa账户的数据库服务器,然后用穷举法不断尝试密码,即使是你的密码在怎么复杂,也扛不住它24小时不间断的扫描。

 

    如果你的数据库还在使用sa账户登录,并且还设置了远程登录(内网除外,这里说的是外网登录),那么你现在就可以去查看下你是不是已经被成功锁定了,打开【管理】-【Sql Server日志】如下图:

 

 可以看到,当前我的这台服务器已经有大量的IP在扫描尝试sa账户登录了,1秒钟可以多达几次,并且不止一个IP在扫描;

然后,将扫描的IP提取出来,查看IP所在地

【27.8.47.222来自重庆市重庆市】 联通【122.163.123.129来自印度】

可见作恶这种事情,是多么国际化,一个IP来自重庆,一个IP来自印度,这些恶意IP大量扫描,不仅会给我们的安全带来极大的危险,而且还会占用我们的服务器带宽,并且每一次扫描都会被sqlserver日志所记录,也会使我们的数据库日志文件增大,占用服务器空间;

 

所以,为了安全起见,我们可以从以下几个方面提高我们的安全级别:

1:禁用sa账户;

2:修改sqlserver 服务器默认端口1433;

3:限制sqlserver 登陆IP;

4:关闭数据库外网访问;(如果有网站需要使用数据库服务,则在内网使用web 服务访问数据库服务就可以了,开放Web服务的外网访问,关闭掉数据库的外网访问)

 


 

禁用 sa 账户

1、打开SQL连接工具(SQL Server Management Studio),并使用windows验证登录。

2、连接到数据库后,找到安全性 -- 登录名 -- 找到sa账户;在sa账户中,右键选择属性选项。

3、找到状态选项,可以看到右边有:是否允许连接到数据库引擎 和 登录两项。并进行设置,然后保存。

设置后进行保存,将是否允许连接到数据库引擎 和 登录状态分别设置为 拒绝  和 禁用。

可以看到sa账户出现小箭头表示状态。

 

4、测试sa账号能否正常登录。

打开SQL连接工具(SQL Server Management Studio)连接数据:

这里用另一个数据库客户端(Navicat 工具)测试:

 


部分内容参考这篇文章:

https://www.cnblogs.com/Rawls/p/9950839.html

 

 

 

 

 

更多推荐