首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  程序员

Windows 下,访问 127.0.0.1 到底过不过 Windows 防火墙?

  •  
  •   BinRelay · 110 天前 · 1973 次点击
    这是一个创建于 110 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的,某网络安全主管部门下发了一个统计软件,表面上是个单机软件,
    实际上是一个一键部署基于 tomcat 的 web 应用。然后登陆 127.0.0.1/awesome.html 进行统计。

    问题在于,有一个说明文档,要求用户将 windows 防火墙例外 java.exe 。
    但是根据我的使用情况,我发现仅仅是访问 127.0.0.1 并不需要例外,似乎数据根本不过防火墙。
    我甚至在 windows 防火墙出入方向都 deny 了相应端口,仍然可以访问。
    我不禁疑问,到底是我错了?还是某网络安全主管部门的外包公司弄错了?

    14 回复  |  直到 2019-08-01 10:06:10 +08:00
        1
    ipwx   110 天前 via Android
    一般而言,本机地址和其他地址用的不同的防火墙规则集
        2
    BinRelay   110 天前
    @ipwx win 里也就公用网络、专用网络、域三种防火墙配置文件吧
    那么访问 127.0.0.1 会匹配哪一个?还是都不匹配呢?
        3
    gam2046   110 天前
    https://stackoverflow.com/questions/21230691/why-are-localhost-connections-blocked-by-the-firewall

    这里有一个模棱两可的回答,似乎是 Bind 在 localhost 上以后,并不会触发 Windows 的防火墙。

    也就是说虽然你的软件是通过 localhost 访问的,但是是否触发防火墙取决于软件 bind socket 所使用的地址,如果是 bind 0.0.0.0 那么必然会有防火墙规则
        4
    ShangAliyun   110 天前
    可能仅仅是习惯性的对局域网开放
        5
    danmu17   110 天前
    哈哈,好奇能炸出来多少不懂装懂的。
        6
    LokiSharp   110 天前
    只是默认规则没有针对环回地址而已啊,你不能保证用户不自定义防火墙规则
        7
    BinRelay   110 天前
    @gam2046
    bind 127.0.0.1 和 0.0.0.0 决定了首次运行程序时是否弹出 windows 防火墙窗口。
    不过即使 bind 了 0.0.0.0,会弹出窗口,由于我访问的 127.0.0.1,那么无论我在弹出的窗口
    放行还是阻断,都没有任何区别。
    这个 stackoverflow 的题主也一样这样描述“ If I click 'Deny' when that dialogue appears, my program still accepts local incoming connections, so that popup is completely useless for preventing any of the risks you just mentioned. ”

    那么我初步得出结论:
    1、bind 的地址决定是否首次运行程序时是否弹出防火墙窗口。
    2、无论防火墙怎么配置,本机访问 localhost 均不会匹配 windows 防火墙策略。
    3、外包公司因为程序默认 bind 了 0.0.0.0,弹出了防火墙窗口,未进行验证或者为了局域网访问就要求用户放行软件。
        8
    BinRelay   110 天前
    @LokiSharp
    我就是额外定义了 deny 规则,环回仍然畅通无阻。
        9
    LokiSharp   110 天前
    @BinRelay #8 你把所有规则都删掉然后 deny 所有出入站再看看?
        10
    zarte   110 天前
    windows 绑定 127.0.0.1 外网无法访问,需要绑定 0.0.0.0 外网才能访问。所以觉得应该看绑定的地址。
        11
    webjin2   110 天前
    @BinRelay 公用网络、专用网络、域 。配置网卡的时候有这个选项,你是专业网络还是公用网络。至于域估计是计算加入了域之后,网卡配置选项才有这一个把。具体我也不知道。
        12
    jeblur   110 天前
    一般来说环回口只有本地有效吧,你的意思是你本地访问环回口就算在防火墙上被 block 也照样访问?如果是这样的话那没问题啊,因为你数据包根本不过防火墙当然也就跟防火墙没关系了呀
        13
    rootww21   110 天前
    你当然没弄错,外包公司是确保万无一失
        14
    jeblur   110 天前
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2184 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 35ms · UTC 15:44 · PVG 23:44 · LAX 07:44 · JFK 10:44
    ♥ Do have faith in what you're doing.