You need to enable JavaScript to run this app. Web托管时如何禁用137、139端口?ASP.Net站点端口暴露问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Web托管时如何禁用137、139端口?ASP.Net站点端口暴露问题咨询

137、139端口暴露的安全风险

137、139是Windows系统NetBIOS和SMB文件共享服务的默认监听端口,对外暴露存在明确的安全隐患:

  • 攻击者可通过端口扫描直接枚举你的服务器主机名、工作组、域名、开放共享目录等敏感信息,还可对SMB服务发起暴力破解,尝试获取服务器访问权限
  • 扩大了攻击面,即使你已经更新系统补丁,仍存在被针对NetBIOS/SMB的漏洞、反射型DDoS攻击利用的可能,轻则导致站点访问异常,重则引发数据泄露
  • 共享服务器场景下,端口暴露还可能影响同节点其他用户的服务稳定性,触发服务商的安全规则导致站点被限制
共享服务器环境下关闭137、139端口的可行方案

因为你使用的是Interserver共享主机,没有操作系统级的管理员权限,优先尝试以下可操作的方案:

方案1:通过主机面板配置防火墙规则

大部分Windows共享主机会给用户开放自定义防火墙的权限:

  • 登录你的Interserver主机控制面板,找到Windows防火墙或端口管理功能入口
  • 分别新建TCP、UDP两种协议的入站规则,指定端口范围为137、139,操作选择阻止连接,规则应用到所有网络场景
  • 保存配置后等待5分钟,用端口扫描工具验证是否生效

方案2:通过站点配置拦截请求

如果没有防火墙配置权限,可在ASP.NET站点的web.config中添加规则拦截对应端口的访问:
将以下代码添加到站点根目录web.config文件的<system.webServer>节点下即可:

<rewrite>
  <rules>
    <rule name="Block_137_139_Port" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{SERVER_PORT}" pattern="^(137|139)$" />
      </conditions>
      <action type="AbortRequest" />
    </rule>
  </rules>
</rewrite>

注:该规则依赖IIS的URL Rewrite模块,若配置后不生效可联系服务商确认模块是否开启

方案3:要求服务商协助封禁

如果以上两种方案都无效,直接提交服务工单说明第三方漏洞报告的情况,要求运维人员在节点全局防火墙层面为你的主机单独屏蔽137、139端口的对外访问,这是共享主机场景下最稳妥的解决方案,服务商有义务处理这类合理的安全需求。
注意:不要尝试修改系统级服务配置(比如禁用NetBIOS服务),共享服务器上你没有对应的操作权限,违规修改可能会导致站点被暂停服务

内容的提问来源于stack exchange,提问作者manchakowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 08:45:01