关闭数据库的xp_cmdshell命令以防止黑客攻击

时间:2021-05-18 16:48:36

      一、关闭和恢复xp_cmdshell命令 

      一般的黑客攻击SQL Server时,首先采用的方法是执行master扩展存储过程xp_cmdshell命令来破坏数据库,为了数据库安全起见,最好禁止使用xp_cmdShell,xp_cmdshell可以让系统管理员以操作系统命令行解释器的方式执行给定的命令字符串并以文本行方式返回任何输出,是一个功能非常强大的扩展存贮过程。 一般情况下,xp_cmdshell对管理员来说也是不必要的,xp_cmdshell的消除不会对Server造成 任何影响。 
      可以将xp_cmdshell消除: 

      Use  Master 
     
Exec  sp_dropextendedproc N ' xp_cmdshell '  
     
Go  


      如果需要的话,可以把xp_cmdshell恢复回来:

      Use  Master 
     
Exec  sp_addextendedproc N ' xp_cmdshell ' , N ' xplog70.dll '  
     
Go  

 

      如果你数据库理有D99_Tmp或者D99_cmd这两个表,说明这个是下载人家的软件的恶意攻击SQL SERVER的菜鸟了。用了su.exe(这是一个提升权限的黑客软件),D99_tmp(subdirectory,depth,file三个字段,里面的数据都是网站文件和目录)。

      二、收缩数据库事务日志        

     方法一:
     1.企业管理器—数据库—属性—选项—故障还原中'完全'选择为 '简单'
     2.企业管理器—所有任务—收缩数据库—文件—选日志文件—点击确定进行收缩
     3.最后将前面改动的故障还原改回'完全'就可以了

     方法二:
     1.在查询分析器中运行:

      -- 收缩日志代码,hh为数据库名称
      dump   tran  hh  with  no_log
     
backup   log  hh  with  no_log
     
dbcc  shrinkdatabase(hh)