10秒后自动关闭
实战阻止SQL Server提权入侵

SQL Server是微软开发的关系型数据库管理系统(RDBMS),支持企业级数据存储、处理与分析,具有非常多的用户,广泛用于金融、医疗、电商等场景,是企业级数据管理的首选方案之一。SQL Server虽然是微软开发的,但也不是没有安全隐患,相反漏洞还挺恐怖的。例如可以通过xp_cmdshell执行cmd.exe等高危命令,从而入侵服务器。


要解决SQL Server安全问题,首先需要禁用xp_cmdshell,然后再打最新的补丁,之后再对运行身份进行降权(千万不要使用system和administrators账户运行)。最后有条件的话务必部署专业的安全防护系统,拦截SQL Server各种提权入侵。


1、禁用xp_cmdshell方法

在SQL SERVER查询分析器执行如下脚本

-- 允许配置高级选项
USE Master
GO

EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO

-- 禁用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 0
GO

--重新配置
RECONFIGURE
GO


2、必打补丁

SQL Server必须打的补丁:KB3171021。若不打此补丁,只要SQL Server在网上一经公布,几乎都会被入侵。


3、降权方法

打开“SQL Server配置管理器”,点击左侧“SQL Server服务”菜单,在右侧列表找到“SQL Server(MSSQLSERVER)”(如下图一)。

1.jpg



点击右键,“登录身份”选择“本地账户”,并输入“NT Service\MSSQLSERVER” ,再点击“确定”,并选择重启服务就可以(如下图二)。

2.jpg


注意:如果更改登录身份后启动不了SQL Server,这是因为文件ACL权限不足导致,只有将运行身份改回去( “登录身份”改为“内置账户/Local System” )。



4、安全防护软件

推荐使用《护卫神.防入侵系统》,因为其内置SQL Server防护规则,可以有效拦截SQL Server提权入侵,拦截效果如下图三。

护卫神.防入侵系统拦截SQL Server提权入侵

(图三:护卫神.防入侵系统拦截SQL Server提权入侵)


最后,如果SQL Server无需对外开放,务必关闭其端口(默认使用1433),能阻止大部分入侵。