Firefox+noscript 및 systemd-nspawn - ABE 거부됨

Firefox+noscript 및 systemd-nspawn - ABE 거부됨
    [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

포럼의 Barbaz"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 옵션 > 고급 > ABE > 시스템의 맨 위에 다음을 추가하여 NoScript에서 이 문제를 해결할 수 있었습니다.

# 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

관련 정보