[ABE] < LOCAL> Deny on {GET http://jessie/icons/openlogo-75.png <<< http://jessie/ - 1}
SYSTEM rule:
Site LOCAL
Accept from LOCAL
Deny
即页面http://杰西无法加载图像或任何其他子资源。
$ getent ahosts jessie
192.168.122.74 STREAM jessie
192.168.122.74 DGRAM
192.168.122.74 RAW
fe80::b4f5:2ff:feb9:b12f STREAM
fe80::b4f5:2ff:feb9:b12f DGRAM
fe80::b4f5:2ff:feb9:b12f RAW
NoScript 版本 5.0.5
“jessie”是一个 systemd-nspawn 容器。它的名字是由 解析的nss-mymachines
。为什么会发生这种情况,systemd 和 NoScript 之间有什么区别?
答案1
巴尔巴兹在论坛上建议如果“jessie”解析为本地和非本地地址,则可能会发生这种情况。听起来 NoScript 将其解释为类似“DNS 重新绑定攻击”的攻击。
IPv6 链路本地地址(您的fe80...
地址)不被视为本地地址。我认为解释是它会破坏网络上某些 DNS 配置错误的网站:(。 https://github.com/avian2/noscript/blob/ebc093642cb9645bc18b63fc151d3b00063b97ee/xpi/chrome/content/noscript/DNS.js#L337
我认为可以使用 sysctl 禁用容器内的 IPv6 net.ipv6.conf.all.disable_ipv6=1
。但我不确定这是否是一个很好的回应,因为 NoScript 的 IPv6 支持存在限制。
我可以在 NoScript 中解决这个问题,方法是将其添加到 NoScript 选项 > 高级 > ABE > 系统的最顶部:
# NoScript default rule chokes when name resolves to both IPv6 LLA
# and IPv4 "private" address.
# https://unix.stackexchange.com/questions/370485/firefoxnoscript-v-s-systemd-nspawn-abe-denials/370486#370486
# Treat nodots domain as (an independent) LAN.
# Useful for nss-mymachines. I think LLMNR would also be affected.
Site ^https?://[^.]*[:/]
Accept from ^https?://[^.]*[:/]
Deny