Windows2003服务器安全配置的一些思路 - 德化论坛
关键信息
- 作者
- laichuanhua
- 发布时间
- 2006-03-17
(10)设置system32/cmd.exe访问权限!这个比较容易,自己尝试一下吧。(11)模糊服务器的Banner信息,如修改IIS的Banner实现操作系统版本的隐藏,一般把IIS->APACHE。这个也比较容易,但高手还是容易看出来的。方法如下:利用资源修改工具来修改DLL,如exescope...

(10)设置system32/cmd.exe访问权限!这个比较容易,自己尝试一下吧。(11)模糊服务器的Banner信息,如修改IIS的Banner实现操作系统版本的隐藏,一般把IIS->APACHE。这个也比较容易,但高手还是容易看出来的。方法如下:利用资源修改工具来修改DLL,如exescope、ultraedit等(另外一种方法更专业,我在下面会讲)。存放IIS BANNER 的DLL 文件都是放在C:\WINDOWS\SYSTEM32\INETSRV\ 目录里,在IIS 5.0中的对应关系如下:WEB 是:C:\WINNT\SYSTEM32\INETSRV\W3SVC.DLLFTP 是: C:\WINNT\SYSTEM32\INETSRV\FTPSVC2.DLL***TP 是:C:\WINNT\SYSTEM32\INETSRV\***TPSVC.DLL例如用UltraEdit打开,查找Microsoft-IIS/5.0,修改为:Apache/1.3.29(Unix)或其它。
注意的地方就是:1 在修改的时候请停止IIS 的服务,可以用iisreset /stop (当然,iisreset /start是启动)。2 由于2000 系统后台的文件保护机制的作用,当系统一旦发现重要的DLL 文件被修改后就会尝试用%SYSTEMROOT%\system32\dllcache 目录下的备份文件来进行恢复,所以在修改前我们还需要事先删除或改名:%SYSTEMROOT%\system32\dllcache 目录下的同名文件。完成后WINDOWS 会出来一个对话框:系统文件被更改需要安装光盘恢复,不用理会点取消就好了。不过,想要完全隐藏还是不太现实,因为IIS 和APACHE 返回的代码格式还是相差较大的。
另一种模糊Banner信息的方法是使用插件,这些插件可以提供自定义的Http应答信息.比如ServerMask这个商业软件就可以提供这样的功能,它是IIS服务器的一个插件,ServerMask不仅模糊了Banner信息,而且会对Http应答头信息里的项的序列进行重新组合,从而来模仿Apache这样的服务器,它甚至有能力扮演成任何一个Http服务器来处理每一个请求.这个软件可以在以下地址找到:https://www.port80software.com/products/servermask目前的最新版本是ServerMask 2.2 for IIS 4/5/6 (Web Server Anonymization and Obfuscation),如下图。我的试用30天的下载地址如下:https://www.port80software.com/products/ServerMask/try?cmd=download&email=zxz@zjnu.cn&c=787f065a4d3e81d8fdd46a3765a87972
尽管大家可以用ServerMask这样的软件来模糊指纹,但是仍然可以被Httprint这样利用统计学原理进行识别的的软件打败,具体知识请自己查阅相关资料。略。
(12)删除附件,删除“我的文档”所在的目录!如删除【C:\Documents and Settings\Default User\「开始」菜单\程序\附件】IIS禁用未知CGI扩展和WebDev(这个的扫描器很多),如不用asp.net则也禁用掉,紧用WINS服务,删除传真服务、删除不必要的映射,删除IIS中的不用的程序映射,如htw, htr, idq, ida等等。(13)SQL Server 2000安全配置,如修改1433端口监听、隐藏 SQL Server 实例(配置方法:SQL SERVER属性->网络配置->TCP/IP协议->默认端口,将1433改为你想要的数值,并点击隐藏实例)、禁止其他RPC连接到本地SQL SERVER等(配置方法:在远程服务链接处,取消RPC连接本机SQL即可)。这样可以禁止对试图枚举网络上现有的 SQL Server 实例的客户端所发出的广播作出响应,一定要打上最新的SP3补丁!(可以向本人索取)。在编程时一定要对编写的程序,尤其是ASP程序进行SQL 脚本注入攻击的防护!具体,看关于SQL 脚本注入攻击的相关参考文章。(14)对SQL SERVER使用安全的帐号策略。对sa配置一个健壮的密码,不要把sa的密码写在应用程序或者代码脚本中。如果数据库管理员不希望操作系统管理员通过登录来接触数据库的话,可以在帐号管理中把系统帐号“BUILTIN\Administrators”删除。如我们的设置不采用sa帐号,而是创建YourslikeNamesoft标准帐号,对KYCMIS/KYCBBS权限为Public+Dbowner。同时,加强数据库日志记录。审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。并定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。findstr /C:"登录" d:\Microsoft SQL Server\MSSQL\LOG\*.*
管理扩展存储过程:对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。如果你不需要扩展存储过程xp_cmdshell请把它去掉。使用这个SQL语句:USE master
exec sp_dropextendedproc ''''xp_cmdshell''''
xp_cmdshell是进入操作系统的一个捷径,是数据库留给操作系统的一个大后门。如果你需要这个存储过程,请用这个语句也可以恢复过来。