Portál AbcLinuxu, 5. května 2025 06:06

Dotaz: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu

17.4.2014 12:16 fleg
Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Přečteno: 616×
Odpovědět | Admin
Mam uz dlhsie problem s dns sfloodom zo zahranicia na moje dns servre v housingu. Maju sluzit len na webhosting, cize by mali resolvovat len zony, ktore poznaju. Problem ma vlastne len primarny dns, sekundarny podla vsetkeho nie a nerozumiem preco. Na primarnom som uz skusal vselico, bud resolvoval hocico zvonku alebo nic. Momentalne sa branim len tym, ze povolujem urcity pocet requestov za s cez iptables. Moj sucasny konfig vyzera takto: allow-recursion { none; }; recursion no;

Napriek tomu, ze som pochopil a z manualiu, ze takto by mal Bind odmietat cudzie domeny zresovluje vsetko o co ho zvonku poziadaju. Vie mi niekto poradit ako donutit Bind obsluhovat len requesty na svoje zoznove zaznamy a ine odmietat? Bind 9.3.1

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.4.2014 12:39 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Odpovědět | | Sbalit | Link | Blokovat | Admin
napr.:

do casti options si pridaj:
allow-recursion {
                trusted;
};
do named.conf pridaj:
include "/etc/bind/named.conf.acl";
a do /etc/bind/named.conf.acl pridaj:
acl trusted {
        127.0.0.0/8;
        tu.si.pridaj.ip.adresy,z.ktorych.chces.povolit.rekuzivne.query;
};
takze rekurzivny bude len pre povolene ip, inac bude len autoritativny pre jeho domeny...
23.4.2014 14:33 fleg
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Ja nemozem urcit zoznam adries, z ktorych povolim requesty, pretoze sa jedna o primarny names server pre hostujuce domeny. Requesty musia byt povolene odvsadial. Mne ide o to, aby akceptoval len requesty na zony, ktore ma v konfigu a vsetko ostatne ignoroval.
MMMMMMMMM avatar 23.4.2014 14:38 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Odpovědět | | Sbalit | Link | Blokovat | Admin
a ten primární nameserver teď funguje i jako rekurzivní? testoval jsi to? mrkni na http://podpora.nic.cz/page/530/jak-odhalit-otevreny-rekurzivni-name-server/
Linux Dokumentační Projekt - PDF ke stažení
23.4.2014 15:13 drunkezz | skóre: 34 | blog: kadeco
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Odpovědět | | Sbalit | Link | Blokovat | Admin

daj ipku dns servera nech zistime ci je otvoreny abo nie

tu je rozdiel medzi rekurzivnym a auth only DNS serverom

 

[root@NAS ~]# dig sme.sk @8.8.8.8

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> sme.sk @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37875
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;sme.sk.                                IN      A

;; ANSWER SECTION:
sme.sk.                 1777    IN      A       195.146.144.8
sme.sk.                 1777    IN      A       195.146.144.9

;; Query time: 18 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Apr 23 15:11:06 2014
;; MSG SIZE  rcvd: 56

[root@NAS ~]# dig sme.sk @ns1.prohaxx.sk

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> sme.sk @ns1.prohaxx.sk
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 35069
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;sme.sk.                                IN      A

;; Query time: 9 msec
;; SERVER: 188.123.96.72#53(188.123.96.72)
;; WHEN: Wed Apr 23 15:11:12 2014
;; MSG SIZE  rcvd: 24

[root@NAS ~]# dig prohaxx.sk @ns1.prohaxx.sk

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> prohaxx.sk @ns1.prohaxx.sk
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8263
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;prohaxx.sk.                    IN      A

;; ANSWER SECTION:
prohaxx.sk.             86400   IN      A       158.193.112.240

;; AUTHORITY SECTION:
prohaxx.sk.             86400   IN      NS      ns2.prohaxx.sk.
prohaxx.sk.             86400   IN      NS      ns1.prohaxx.sk.

;; ADDITIONAL SECTION:
ns1.prohaxx.sk.         86400   IN      A       188.123.96.72
ns2.prohaxx.sk.         86400   IN      A       217.67.31.171

;; Query time: 9 msec
;; SERVER: 188.123.96.72#53(188.123.96.72)
;; WHEN: Wed Apr 23 15:11:42 2014
;; MSG SIZE  rcvd: 112

[root@NAS ~]#
D.
23.4.2014 17:00 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hod sem laskave cely config.
V zasade bys mel mit neco jako
acl "trusted_networks" {
        127.0.0.1;
        ::1;
};

acl "known_networks" {
        127.0.0.1;
        ::1;
...
};

options {
        allow-transfer {
                trusted_networks;
        };

        allow-query-cache {
                known_networks;
        };

        allow-recursion {
                known_networks;
        };

        allow-query { any; };
...
};
23.4.2014 17:12 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Do trusted_networks teda nejspis patri sekundarni nameserver, jestli z primarniho tahas zony jako slave.
24.4.2014 19:48 fleg
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takze zaujimave je, ze hoci zakazem rekurziu ta funguje veselo dalej.
options {
        directory "/etc/nameserver";
        allow-query { any; };
        pid-file "/var/run/named/named.pid";
        auth-nxdomain no;
        allow-recursion { none; };
        recursion no;

};
IP je 92.240.244.23.

Inak zdoraznujem opat, ze kedze sa jedna o primarne nsko k domenam musim povolit requesty odvsadial, ale staci mi ak bude obsluhovat len zony, ktore ma v konfigu. Ktory priznak sluzi na taketo nastavenie bindu? Som uz z toho magor.

MMMMMMMMM avatar 24.4.2014 20:15 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
funguje?
root@server:~# nslookup - 92.240.244.23
> seznam.cz
Server:         92.240.244.23
Address:        92.240.244.23#53

Non-authoritative answer:
*** Can't find seznam.cz: No answer
24.4.2014 20:57 drunkezz | skóre: 34 | blog: kadeco
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu

...tak mne dig pise ze rekurzivny ten bind nie je

D.

25.4.2014 10:39 fleg
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu

No podla konfigu by byt nemal a napriek tomu flooduje. Staci sa pozriet na narast trafficu od pondelka, ked to opat zacalo. Traffic Premyslam, ze okrem obmedzenia dns floodu na vstupe by som podobne obmedzil cez iptables aj output, cim eliminujem ten traffic.

25.4.2014 15:27 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
nie je to nahodou len traffic in? teda ze niekto ta chce zneuzit, ale kedze nemas povolenu rekurziu, tak nic z toho. ked moj server zneuzili na ddos (cez ntp), tak aj po odstraneni chyby som mal traffic in este stale zvyseny, a az po par dnoch to prestalo. zrejme kym som nezmizol z nejakeho zoznamu zneuzitelnych serverov (ale to si len myslim). pripadne si pust tcpdump a uvidis, co ti tam tecie...
AraxoN avatar 25.4.2014 17:11 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Na DDoS útok stačí, že odpoveď Tvojho servera je väčšia než request. Je jedno, či odpoveď obsahuje zoznam root serverov, chybovú hlášku, alebo inú odpoveď. V hlavičke UDP je možné podvrhnúť adresu odosielateľa, takže útočník nastaví túto adresu na adresu obete a tak to pošle na Tvoj server. To ho stojí X bandwidth. Tvoj server potom odpovedá obeti, a to obeť stojí napr. 2x bandwith.

Keďže obvykle prebieha útok len na niekoľko vybraných serverov, to čo v skutočnosti hľadáš, je limitovanie počtu requestov na jednu IP. Na svojich autoritatívnych DNS serveroch pre stovky domén som to k úplnej spokojnosti vyriešil cez iptables, modul "hashlimit".

Pravidlo môže byť napríklad takto:
iptables -A INPUT -p udp -m udp --dport 53 -j dns_udp
iptables -A dns_udp -s moj.aip.adr.esa/32 -j ACCEPT
...
iptables -A dns_udp -m hashlimit --hashlimit-above 6/min --hashlimit-burst 30 --hashlimit-mode srcip --hashlimit-name DoS-DNS -j DROP
iptables -A dns_udp -j ACCEPT
25.4.2014 19:09 fleg
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
No ja uz mam v iptables toto:
# Requests per second
RQS="5"

# Requests per 7 seconds
RQH="15"

iptables -A INPUT -p udp --dport 53 -m state --state NEW -m recent --set --name DNSQF --rsource
iptables -A INPUT -p udp --dport 53 -m state --state NEW -m recent --update --seconds 1 --hitcount ${RQS} --name DNSQF --rsource -j DROP
iptables -A INPUT -p udp --dport 53 -m state --state NEW -m recent --set --name DNSHF --rsource
iptables -A INPUT -p udp --dport 53 -m state --state NEW -m recent --update --seconds 7 --hitcount ${RQH} --name DNSHF --rsource -j DROP
Povodne boli hodnoty vyssie, teraz som ich osekal a flood je na urovni 50kb/in a 160kb/out. Inak zaujimave bolo, ze dnes som skusal flooderov osekat rucne banovanim. Chvilku to vyzeral, ze to ide, po zabanovani asi 10 ipeciek nastal asi 60% pokles, ale potom ma oskenoval nejaky skript (slo o symetricky flood) a pocet utociacich pc sa niekolkonasobne zvysil, aby dorovnali predchadzajuci traffic. Toto som zopakoval cele este raz s rovnakym vysledkom. Nebolo by vhodne spravit rovnake pravidla aj pre Output? Problemom vlastne je, ze moje dnsko flooduje ine, kedze mu prichadzaju nezmyselne requesty.
25.4.2014 18:45 bimbo
Rozbalit Rozbalit vše Re: Ako zakazat Bindu resolvovat ine domeny ako vlastne z konfigu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Daj si do googlu "bind views". Urob si internal a external views .

Priklad je tu:

http://www.cyberciti.biz/faq/linux-unix-bind9-named-configure-views/

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.