reklama

Blokování TLD v Unboundu pomocí whitelistu

Blokování TLD v Unboundu pomocí whitelistu
« kdy: 21. 03. 2020, 21:20:21 »
Zdravím,
na Linuxové gatewayi do domácí sítě používám Unbound, který poskytuje DNS resolving místním zařízením.
Pomocí něho bych chtěl zajistit blokování "nových" podivných gTLD typu .top, .bid, .xyz apod., na kterých je povětšinou pouze malware nebo phishing (https://symantec-blogs.broadcom.com/blogs/feature-stories/top-20-shady-top-level-domains), a tím akorát ohrožují uživatele (nevzpomínám si, že bych na weby s těmito TLD někdy účelně lezl).

Plán byl tedy takový, že udělám whitelist povolených TLD, které propustím a vše ostatní odmítnu pomocí DNS status codu REFUSED, protože nějaké gTLD občas přibudou a já nechci mít práci navíc s průběžným aktualizováním blacklistu. Konfigurace tedy byla:
Kód: [Vybrat]
server:
        # nejprve zakazeme vse
        local-zone: "." refuse

        # povolime infrastrukturni domenu .arpa
        local-zone: "arpa." transparent

        # povolime vyjimky v IDN
        local-zone: "aero." transparent
        local-zone: "google." transparent
        local-zone: "goog." transparent

        # povolime puvodni gTLD
        local-zone: "com." transparent
        local-zone: "org." transparent
atd...

Config tedy zakazoval vše (root ".") a potom povoloval jednotlivé "neškodlivé" TLD. To funguje pěkně do té chvíle, než za takto nakonfigurovaný resolver posadím další, DNSSEC validující resolver:
Kód: [Vybrat]
bře 21 20:56:00 elaptop unbound[4777]: [4777:0] info: generate keytag query _ta-4f66. NULL IN
bře 21 20:56:00 elaptop unbound[4777]: [4777:0] info: failed to prime trust anchor -- could not fetch DNSKEY rrset . DNSKEY IN
Resolver (v tomto případě znovu Unbound) se snažil získat DNSKEY z root domény ".", která ale byla na upstreamu zakázaná. DNSSEC validace na root doméně tedy přestala fungovat a s ní i veškerý další resolving.

Šlo by nějak vyřešit, aby byla povolená root doména a TLD na whitelistu, ale vše ostatní nikoliv? Napadlo mě řešení pomocí regexů, ale ty, zdá se, Unbound neumí. Jsem ochotný změnit DNS server v případě, že by na mé požadavky byl Unbound krátký.
Dalším řešením by bylo vypnutí DNSSEC validace pomocí NetworkManager dispatcher skriptu přímo na klientech, když se připojí do domácí sítě, ale to bych nechal až jako poslední možnost.

Díky za odpovědi.

reklama


 

reklama