1、IIS 加固以及 ASP 木马防护运行环境:windows server 2003IIS 版本 :IIS 6.0IIS 安全主要还是对权限的设置,防止黑客将 ASP 木马等写入系统。首先先要了解到 IIS WEB 服务器的权限设置有两个地方:一个是 NTFS 文件系统本身的权限设置,另一个是 IIS 下网站站点 属性主目录(或站点下目录属性 目录)面板上。这两个地方时密切相关的。IIS 下网站-站点-属性- 主目录(或站点下目录- 属性-目录)面板上有:脚本资源访问、读取、写入、浏览、记录访问、索引资源 6 个选项。这 6 个选项中, “记录访问 ”和“索引资源”跟安全性关系不大,一般都设置。
2、但是如果前面四个权限都没有设置的话,这两个权限也没有必要设置。另外在这 6 个选项下面的执行权限下拉列表中还有:无、纯脚本、纯脚本和可执行程序、3 个选项。而网站目录如果在 NTFS 分区(推荐用这种)的话,还需要对 NTFS 分区上的这个目录设置相应权限,许多地方都介绍设置 everyone 的权限,实际上这是不好的,其实只要设置好 Internet 来宾帐号( IUSR_xxxxxxx)或 IIS_WPG 组的帐号权限就可以了。如果是设置 ASP、PHP 程序的目录权限,那么设置 Internet 来宾帐号的权限,而对于 ASP.NET 程序,则需要设置 IIS_WPG 组的帐号权限。在后
3、面提到 NTFS 权限设置时会明确指出,没有明确指出的都是指设置 IIS 属性面板上的权限。ASP、PHP、ASP.NET 程序所在目录的权限设置如果这些程序是要执行的,那么需要设置“读取” 权限,并且设置执行权限为“纯脚本”。不要设置“写入”和“脚本资源访问” ,更不要设置执行权限为“ 纯脚本和可执行程序” 。NTFS 权限中不要给 IIS_WPG 用户组和 Internet 来宾帐号设置写和修改权限。如果有一些特殊的配置文件(而且配置文件本身也是 ASP、PHP 程序) ,则需要给这些特定的文件配置 NTFS 权限中的 Internet 来宾帐号(ASP.NET 程序是 IIS_WPG 组
4、)的写权限,而不要配置 IIS 属性面板中的“写入 ”权限。IIS 面板中的“写入”权限实际上是对 HTTP PUT 指令的处理,对于普通网站,一般情况下这个权限是不打开的。IIS 面板中的 “脚本资源访问”不是指可以执行脚本的权限,而是指可以访问源代码的权限,如果同时又打开“写入” 权限的话,那么就非常危险了。执行权限中“ 纯脚本和可执行程序 ”权限可以执行任意程序。即可以执行任意类型的 EXE 文件,这个对于黑客来说就是一个很好利用的漏洞。对于 ASP.NET 程序的目录,许多人喜欢在文件系统中设置成 Web 共享,实际上这是没有必要的。只需要在 IIS 中保证该目录为一个应用程序即可。如
5、果所在目录在 IIS 中不是一个应用程序目录,只需要在其属性- 目录面板中应用程序设置部分点创建就可以了。Web 共享会给其更多权限,可能会造成不安全因素。对于以上内容的总结:一般不要打开-主目录-(写入),(脚本资源访问) 这两项以及不要选上( 纯脚本和可执行程序),选(纯脚本)就可以了.需要 的应用程序的如果应用程序目录不止应用程序一个程序的可以在应用程序文件夹上(属性)- 目录- 点创建就可以了 .不要在文件夹上选 web 共享。上传目录的权限设置:网站上可能会设置一个或几个目录允许上传文件,上传的方式一般是通过 ASP、PHP、ASP.NET 等程序来完成。这时需要注意,一定要将上传
6、目录的执行权限设为“无” ,这样即使上传了 ASP、PHP 等脚本程序或者 exe 程序,也不会在用户浏览器里就触发执行。该项设置在 IIS 面板中设定同样上面所述的一样,如果不需要用户用 PUT 指令上传,那么不要打开该上传目录的“ 写入” 权限。而应该设置 NTFS 权限中的 Internet 来宾帐号(ASP.NET 程序的上传目录是 IIS_WPG 组)的写权限。如果下载时,是通过程序读取文件内容然后再转发给用户的话,那么连“读取”权限也不要设置。这样可以保证用户上传的文件只能被程序中已授权的用户所下载。而不是知道文件存放目录的用户所下载。 “浏览” 权限也不要打开,除非你就是希望用户
7、可以浏览你的上传目录,并可以选择自己想要下载的东西。总结::一般 ASP , PHP 等程序都有一个上传目录.比如论坛.他们继承了上面的属性可以运行脚本的.我们应该将这些目录从新设置一下属性.将(纯脚本)改成(无)。对于 ACCESS 的保护许多 IIS 用户常常采用将 Access 数据库改名(改为 asp 或者 aspx 后缀等)或者放在发布目录之外的方法来避免浏览者下载它们的 Access 数据库。而实际上,这是不必要的。其实只需要将 Access 所在目录(或者该文件)的“读取”、 “写入 ”权限都去掉就可以防止被人下载或篡改了 (IIS 属性面板上)。你不必担心这样你的程序会无法读取
8、和写入你的 Access 数据库。你的程序需要的是 NTFS 上 Internet 来宾帐号或 IIS_WPG 组帐号的权限,你只要将这些用户的权限设置为可读可写就完全可以保证你的程序能够正确运行了。总结:Internet 来宾帐号或 IIS_WPG 组帐号的权限可读可写.那么 Access 所在目录(或者该文件)的“读取” 、 “写入”权限都去掉就可以防止被人下载或篡改了。其他目录的修改:还有类似纯图片目录、纯 html 模版目录、纯客户端 js 文件目录或者样式表目录等,这些目录只需要设置“读取” 权限即可,执行权限设成 “无”即可。其它权限一概不需要设置。ASP 木马的防护:1、建议通过
9、 ftp 来上传、维护网页,尽量不安装 asp 的上传程序。 2、对 asp 上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。这其中包括各种新闻发布、商城及论坛程序,只要可以上传文件的 asp都要进行身份认证。3、asp 程序管理员的用户名和密码要有一定复杂性,不能过于简单,还要注意定期更换。4、到正规网站下载 asp 程序,下载后要对其数据库名称和存放路径进行修改,数据库文件名称也要有一定复杂性。5、要尽量保持程序是最新版本。 6、不要在网页上加注后台管理程序登陆页面的链接。7、为防止程序有未知漏洞,可以在维护后删除后台管理程序的登陆页面,下次维护时再通过 ftp 上传即可。
10、8、要时常备份数据库等重要文件。 9、日常要多维护,并注意空间中是否有来历不明的 asp 文件。 10、一旦发现被入侵,除非自己能识别出所有木马文件,否则要删除所有文件。重新上传文件前,所有 asp 程序用户名和密码都要重置,并要重新修改程序数据库名称和存放路径以及后台管理程序的路径。 ASP 木马查杀清除:早期的 ASP 木马是能被杀病毒软件正常检测并查杀的,不过随着 ASP 木马的发展目前很多都处与隐藏状态,一般的杀毒软件已经难已将他们查杀了,这就需要靠我们手工清除。第一步:一般黑客都会通过更改 ASP 脚本的启动权限使 ASP 木马能够以最高权限运行,这就给我们提供了一个查找 ASP 木
11、马的捷径。我们只要在命令提示符下输入“cd c:inetpubadminscripts”, 然后执行“adsutil.vbs get w3svc/inprocessisapiapps”,就能够得到以 system 权限启动的 DLL 文件。而在默认情况下,asp.dll 是不会出现在其中的,如果出现了 asp.dll,那么服务器必定感染了 ASP 木马。第二步:根据自己网站的结构从根据目录开始搜索 ASP 文件,这点需要网络管理员清楚地知道网站文件的分布情况,当在与网页存放目录不相干的目录中搜索到 ASP 文件时,这个文件肯定就是 ASP 木马了。第三步:在“Internet 服务管理器”里面
12、去掉一些用不着的映射(比如*.cer, *.cdx, *.htr 之类的映射) ,然后在网站跟目录开始搜索*.cer, *.cdx, *.htr 文件,将所有搜索出来的文件都彻底删除掉。第四步:看看正常文件有没有被写入恶意代码,从网站最初的目录(根目录)开始,在搜索对话框里输入“* asp”,在包含文字中输入“VBS cript.Encode”或“iframe src”之类的关键字后开始搜索,搜索到 ASP 文件后将相应代码清除掉即可。第五步:如果检测到了 ASP 木马,那么在清理完木马之后,就需要尽快做亡羊补牢的工作了。小提示:没有经验的网络管理员也可以使用一些“ASP 木马追捕”之类的程序或软件来帮助你清除木马病毒。