Zabezpečení DNS
Obsah
Co je to?
V poslední době se na internetu rozmáhají tzv. "DNS Amplification útoky". Ty prakticky spočívají v zesílení toku pomocí otevřených DNS resolverů. Je samozřejmě snaha se tomuto vyvarovat, protože to poškozuje celé hkfree - v případě útoku pocházejícího z našeho rozsahu nás může cílová síť odstřihnout (naroutovat náš prefix do null), takže se do ní nedostaneme a mohou s tím být jenom problémy.
Jak se tomu vyvarovat?
Je nutné si dát pozor na DNS cache a rekurzivní resolvery na zařízeních s veřejnou IP. Například Voyage linux má defaultně puštěný dnsmasq, který v případě dostupné veřejné IP právě rekurzivní resolver poskytuje.
Týká se to mne?
Jestli máš na routeru veřejnou IP a DNS server, je to možné. Vyzkoušet to lze příkazem
dig @89.248.IP.ADRESA +time=1 seznam.cz A
z linuxového PC mimo hkfree, nebo na stránce
http://kotec.bkralik.cz/free_pruditko/test.php?ip=89.248.IP.ADRESA
Pokud výsledkem bude timeout (connection timed out), je vše OK. Pokud výsledkem bude přeložená IP adresa seznamu, je to problém a je nutné ho řešit.
Jak to zakázat?
Mikrotik
Pokud máte na mikrotiku veřejnou IP a zároveň zaplé "Allow remote requests" v IP/DNS, je nutné přidat následující pravidla
/ip firewall filter add action=drop chain=input dst-port=53 protocol=udp src-address-list=!povolene add action=drop chain=input dst-port=53 protocol=tcp src-address-list=!povolene /ip firewall address-list add address=10.107.0.0/16 list=povolene add address=89.248.240.0/20 list=povolene add address=192.168.0.0/16 list=povolene add address=169.254.0.0/16 list=povolene add address=172.16.0.0/12 list=povolene add address=127.0.0.0/8 list=povolene
Stačí otevřít terminál ve winboxu, vložit do text něj a dát enter.
Linux
Voyage Linux a dnsmasq
Voyage má v základu automaticky zaplý DNS server DNSMasq. Pokud ho nevyužíváte, stačí ho vypnout nastavením "ENABLED=0" v /etc/default/dnsmasq a provedením /etc/init.d/dnsmasq stop
BIND
Teoreticky stačí nastavit
acl corpnets { 192.168.0.0/16; 10.0.0.0/16; 89.248.240.0/20; }; options { allow-query { any; }; allow-recursion { corpnets; }; };
což povolí rekurzivní dotazy pouze z vnitřní IP