最近帮一个朋友管理Window 2008服务器,发现有个站点是用asp写的,更可怕的是还有传说中的“上传漏洞”,在上传文件夹中有好多的可执行的asp、php文件,算是shell后门脚本吧。怎么处理这个漏洞问题???最快捷的方法就是让这些文件“不可执行”!
下面是百度出来的解决方案:
我们在建站的时候,通常有些目录必须给写入权限,这个时候这些目录就很可能 被人写入脚本文件,为了将安全性维护得更好,我们可以关闭这些有写入权限的目录的脚本执行权限。IIS6的时候,我们很容易找到关闭的地方,而IIS7时 代,由于架构的变化,很多人找不到,这里我就给大家稍微说明一下怎么关闭特定网站目录的脚本执行权限。
第一步呢,我们在IIS的左侧选中该目录,切换到功能视图
第二步呢,打开“处理程序映射”功能
第三步呢,打开右侧的“编辑功能权限”,将“脚本”这一项取消掉即可
(台湾网友提供)IIS7 如何关闭特定目录的执行权限(与IIS6比较)
若網站中有那種需要讓使用者上傳檔案的目錄,都一律建議將這些目錄設定成完全沒有執行權限,在早期的 IIS6 要將特定目錄的執行權限設定為「無」是非常直覺的(如下圖示),不過由於 IIS7 整個架構的改變反而讓許多人找不到設定「執行權限」的地方,以下就是一個小提醒,讓大家能夠設定出更安全的站台環境。
以下是 IIS6 設定目錄執行權限的地方,應該是閉著眼睛就能找到的:
相對的,到了 IIS7 若不先瞭解其架構真的不容易找到相同設定的地方。
首先,先選取目錄,再點選「處理常式對應」功能,再點選「開啟功能」:
再點選「編輯功能權限」
最後,將「指令碼」取消勾選,這時你會發現許多 處理常式對應 (Handler Mappings) 都會被自動設定為「已停用」,按下確定後就設定完成。
設定完成後會在該目錄下新增一個 web.config 設定檔,裡面會有該目錄執行權限的存取政策定義:
综上所述:
若想让目录只有读取权限,只要在目录中放置一个名为 “web.config”,内容为
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers accessPolicy="Read" /> </system.webServer> </configuration>
的(配置)文件即可。
这样,在访问该目录下的 asp、php等可执行文件时,IIS7就会输出如下错误提示:
HTTP 错误 401.3 - Unauthorized
由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面。