另一种模糊Banner信息的方法是使用插件,这些插件可以提供自定义的Http应答信息.比如ServerMask这个商业软件就可以提供这样的功能,它是IIS服务器的一个插件,ServerMask不仅模糊了Banner信息,而且会对Http应答头信息里的项的序列进行重新组合,从而来模仿Apache这样的服务器,它甚至有能力扮演成任何一个Http服务器来处理每一个请求.这个软件可以在以下地址找到:Http://www.port80software.com/products/servermask
目前的最新版本是ServerMask 2.2 for IIS 4/5/6 (Web Server Anonymization and Obfuscation),如下图。我的试用30天的下载地址如下:
http://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是进入操作系统的一个捷径,是数据库留给操作系统的一个大后门。
如果你需要这个存储过程,请用这个语句也可以恢复过来。
EXEC sp_addextendedproc \'xp_cmdshell\', \'xpsql70.dll\'
在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。
强制协议加密(在实例属性->TCP/IP协议中或SQL服务器网络工具中),启用协议加密。加密是通过将数据更改为不可读形式而使敏感数据得以保密的方法。加密通过对每个人都隐藏信息而确保数据安全,即使有人直接查看加密数据。当然要有证书,如果没有,可能启动不了了。不过不必担心,进入企业管理器中修改属性即可。
(15)充分利用和配置好WINDOWS提供的IPSec!“Internet 协议安全性 (IPSec)”是一种开放标准的框架结构,通过使用加密安全服务以确保在 Internet 协议 (IP) 网络上进行保密而安全的通信。详细信息,请参阅WIN帮助。在管理工具->本地系统策略->IP安全策略在本地!使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。
如:对SQL网络连接进行IP限制、拒绝来自1434、3389端口的探测等等(实现:在IPSec过滤拒绝掉1434端口的UDP通讯即可了)。所有IP通讯->源地址(任何IP),目标地址(我的IP),UDP协议,端口1434筛选,进行安全措施->请求安全->阻止即可等。
关于IPSec的使用请参看:http://www.microsoft.com/china/technet/security/ipsecloc.asp
(15)对于IIS的404等错误提示的一些代码脚本进行跳转。
比如在iishelp\\common\\404b.htm中头部增加<META HTTP-EQUIV=REFRESH CONTENT="0;URL=../Error.html;">
并用系统漏洞检测、网站漏洞检测工具、SQL注入攻击检测工具等对自己的服务器进行检测测试。。。。!这个也非常重要。
(16) 防止Content-Location标头暴露web服务器内部IP地址的方法是执行 cscript c:\\inetpub\\adminscripts\\adsutil.vbs set w3svc/UseHostName True (需重启IIS)
(17) IIS HTTP500内部错误大部分原因 是由于iwam账号的密码不同步造成的。只要同步iwam_myserver账号在com 应用程序中的密码即可解决问题(降低IIS权限为最低也可解决)。执行 cscript c:\\inetpub\\adminscripts\\synciwam.vbs –v
(18)增强IIS防御SYN Flood的能力。
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters]
启动SynAttackProtect攻击保护,设成2。
其它,如"TcpMaxConnectResponseRetransmissions"、"TcpMaxDataRetransmissions"、"TCPMax
PortsExhausted"、"DisableIPSourceRouting"、"TcpTimedWaitDelay"等请参考相关资料。微软一般都有推荐的安全值。需手工添加修改。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



