如何加固SQL数据库的安全 防止被攻击



     对于数据库开发人员来说,数据库内部风险的主要来源和对策如下。数据库的默认端口是

1433。和sa一样,端口1433是默认的开放端口。攻击者通常利用端口1433,配合sa一起发起

攻击。此外,DoS攻击将增加数据库服务器的CPU负荷,以达到瘫痪数据库服务器的目的。

一般情况下,端口可以修改为其他端口,让攻击者尽可能找不到;防火墙是用来过滤掉数据库

对外开放的端口,禁止所有从外部直接检测端口1433,保证数据库的安全,或者把具体的连

接IP设置到白名单中。




用户分配的权限太大。网络数据库都采用混合认证模式,因此在分配账户时,要坚持最小分配权限

的原则,不要给用户分配过多的权限,只要权限足够即可。此外,用户应限于指定的数据库,不能

操作其他数据库。信任IP访问。访问的人越少越安全,没有IP地址可以访问。因此,需要设置入站

规则或防火墙来限制数据库访问的可信IP地址,只保证合法IP可以被访问,从而有效控制来自网络

的安全威胁。
 
 
启用了太多网络协议。网络数据库可以通过TCP/IP协议访问,其他所有访问协议均被禁止,以避

免不必要的安全风险。对扩展存储过程进行管理,增强系统级和扩展存储过程的权限控制。实际

上,在大多数应用程序中,根本没有太多的系统存储过程,而且数据库拥有的系统存储过程也太

多了,这完全是为了满足用户的需要,所以请删除不必要的存储过程,因为有些存储过程很容易

用来增强权限或破坏权限。
 
 
 
禁用未使用的功能。比如数据库的邮件功能和动态链接库管理功能,除非必须使用,否则禁止使

用。SQLServer的邮件功能可能会为攻击者释放木马、其他病毒和DoS攻击创造机会。其次,邮

件功能要求通过网络直接访问数据库,所以只要访问网络就会增加被攻击的概率。信任服务器,

避免连锁危险。服务器之间的信任关系对于数据库服务器也很重要。即使前台应用服务器的安全

性足够高,我们仍然需要保持警惕,不能将最重要数据的安全性锁定在另一台服务器的安全性上

,以防止一台服务器受到危害,其他所有受信任的服务器被暴露。例如,攻击者利用各种应用系

统的漏洞捕获前台应用服务器,数据库服务器完全信任被捕获的应用服务器的访问,那么数据库

服务器就会被攻击者快速捕获。如果有多个应用系统与这些服务器相关联,所有的应用系统都会

被捕获,从而导致严重的连锁反应。简单来说,无论其他与数据库服务器有业务关联或数据关联

的服务器的安全性有多高,无论外部链接能否直接访问内部数据库服务器中的内容,数据库服务

器都要做独立的安全保护。这一点非常重要,需要特别注意。
分享: