会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 禁止IIS服务器上的目录浏览!

禁止IIS服务器上的目录浏览

时间:2026-10-17 05:17:37 来源:烟消火灭网 作者:知识 阅读:854次

一台Windows Server开着IIS,禁止网站跑得好好的目录,某天你随手在浏览器地址栏敲了个目录路径,浏览结果整个文件夹结构赤裸裸地列在页面上——所有文件、禁止子目录、目录甚至备份文件,浏览一览无余。禁止这不是目录什么漏洞利用,这是浏览IIS默认行为。Directory Browsing,禁止中文叫目录浏览,目录IIS装完就给你开着。浏览

很多人不知道这事。禁止直到某天安全扫描报告甩到脸上,目录或者更糟——搜索引擎把目录列表页给收录了。浏览

IIS为什么默认开这个

早期Web服务器的设计思路是方便。没有index文件的时候,服务器总得给用户看点什么吧?那就把目录里的东西列出来。Apache当年也这么干,Nginx稍微好一点但配置不当同样会暴露。IIS从5.0到10.0,这个特性一直在,默认状态取决于版本和安装选项。Windows Server 2016之后的IIS 10,默认站点里Directory Browsing是禁用的,但如果你手动加站点、或者从旧服务器迁移配置,很容易把它带进来。

我见过一个案例:某公司的内网文件服务器用IIS搭的,IT图省事直接开了目录浏览当简易网盘用。结果外网能访问到内网穿透出来的端口,整个公司的人事档案、财务报表的文件夹名字全挂在上面。文件名本身就泄露了大量信息——“2023年Q4裁员名单.xlsx”这种,不需要点开就已经够要命了。

关掉它,两种方式

图形界面操作最直接。打开IIS管理器,左侧点中你的站点,中间功能区找到“目录浏览”图标,双击,右侧操作栏点“禁用”。完事。就这么简单。

命令行适合批量处理或者写进自动化脚本。管理员权限开CMD或者PowerShell:

%windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:directoryBrowse -enabled:false

如果要全局禁用,把"Default Web Site"换成空或者直接不加站点名,作用于applicationHost.config级别。web.config里也可以写:

<system.webServer> <directoryBrowse enabled="false" /> </system.webServer>

注意,web.config的优先级高于applicationHost.config,如果某个子目录的web.config里显式开了,上级禁用也压不住。所以检查的时候要沿着目录树往下看。

关了之后会怎样

用户访问一个没有默认文档的目录时,IIS返回403.14错误——Forbidden。页面不好看,但安全。你可以自定义这个错误页,跳转到首页或者一个友好的提示页面。总比把文件列表摊开强。

有个细节:即使禁用了目录浏览,如果目录里存在web.config且配置了<directoryBrowse enabled="true" />,照样会列出来。所以禁用操作要配合权限检查一起做。另外,web.config本身如果被下载了,里面的连接字符串、认证信息全暴露。IIS默认会拦截.config文件的直接访问,但如果你改过handler映射,就不好说了。

顺手检查这几项

关目录浏览只是基本操作。同一位置附近还有几个开关值得看一眼:HTTP响应头里别带X-Powered-By,请求筛选里禁止可疑扩展名,错误页别把详细堆栈信息返回给客户端。这些和目录浏览一样,属于“默认配置不一定安全”的范畴。

我自己的习惯是,新装一台IIS,第一件事就是把这些默认开着的、可能泄露信息的功能全过一遍。花不了十分钟,省得日后提心吊胆。服务器安全这事,从来都是细节堆出来的。

(责任编辑:综合)

上一篇:举报间谍网站
下一篇:金山网站
相关内容
  • 免杀加壳工具
  • 具备产品漏洞定位和修复能力
  • nginx获取用户真实ip
  • 网站管理系统源码
  • python破解wifi完整教程
  • 网课硕士
  • 网络安全监督检查限期整改通知书回函
  • 移动网上选号办卡
推荐内容
  • 18克pte瓶胚
  • d盾webshell
  • 渗透测试靶场推荐
  • 国家自然科学基金官网登录
  • 扫描器漏洞
  • 百搜视频在线免费观看