DNS authorative

Fórumok

Sziasztok!

Van egy authorative DNS server /Red-Hat, named/ ami 3 domain-ért felelős.
Azt szeretném megoldani, hogy kintről csak ezeket a domaineket lehessen tőle kérdezni és a többire ne adjon semmilyen választ senkinek.
Tehát vhol a nagyvilágból indítok egy nslookup-ot server XXX.XXX.XXX.XXX
akkor ne lehessen mondjuk kérdezni tőle az index.hu-t. Most visszaadja az ip-t igaz kiírja, hogy non authorative.

Ezt hogyan lehet beállítani a named.conf -ban?

köszi

Hozzászólások

Én a helyedben külön szerverre raknám a rekurzív dns-t.
Ami pedig az authoritatív ott az options -hoz:
recursion no;
paramétert add meg.

Ha feltétlenül egy gépen akarod megoldani akkor view-kat kell definiálnod egyet a belső egyet a külső felhasználók számára, de én ezt nem tenném.

Biztonsági szempontból előnyös különválasztani a két szolgáltatást.
A djbdns-t csak így lehet használni, és a Bind esetében is ajánlott.

Így kevésbé sebezhető... ha valaki megbolondítja (cache poisoning) a szerveredet vagy leterheli akkor a DNS szolgáltatás (kívülről) elérhetetlenné válhat.

linkek:
http://cr.yp.to/djbdns/separation.html
http://www.bind9.net/manual/bind/9.3.2/Bv9ARM.ch01.html#id2547076
http://www.knowplace.org/pages/howtos/split_view_with_bind_9_howto.php
Az utolsó hasonló megoldást kínál mint a tied, nem Bind -ban vagyok szakértő, de szerintem a két szolgáltatás jó ha nem egy gépen van. Ennyi.

Elég alap, nem kell hozzá semmi extra:

acl myclients { 127.0.0.0/24; ide-az-ip-cimed; };
acl nic { 193.6.27.63; };

options {
directory "/etc/namedb/zones"; // Working directory
listen-on port 53 { ide-az-ip-cimed; 127.0.0.1; };
listen-on-v6 { none; };
query-source address ide-az-ip-cimed port 53;
pid-file "/var/run/named.pid";
allow-query { myclients; };
ixfr-from-differences yes;
provide-ixfr yes;
request-ixfr yes;
};

zone "example.hu" {
type master;
file "example.hu.zone";
notify yes;
allow-transfer { ide-az-ns2; nic; };
allow-query { any; };
};

A nic azért van, hogy a domain.hu-ról lehessen ellenőrizni rendesen a beállításokat, a webes felületről. Ja, amúgy authoritative, nem authorative.

Nos még annyi, hogy van egy belső hálón csücsülő dns is, ami csak caching illetve amit nem tud feloldani azt forward erre az authorativ dns-re.
Tehát azt szeretném, hogy kívülről csak azt a három domaint kezelje le amiért felelős, de a belsőknek bármit feloldjon a nagyvilág felé.

Ekkor is jó a recursion no; ??

köszi

Pontosítva arról van szó, hogy mondjuk a 192.168.100.22 -es kliens gép webezni akar és defaultból egy caching-only dns van neki adva, de mivel ott nem tudja feloldani a nevet ezért átadja a saját authorativ dns-nek aki simán feloldja.
Na most azt szeretném, hogy csak a belső hálónak tegye ezt és a külvilágból csak azokat oldja fel amire authorativ.

Ezekből a leírásokból ez nem igazán derült ki.

Tud vki jobbat?

Ez a beállítás, amit írtam tökéletes erre, csak hozzá kell adnod a myclients ACL-hez az alhálós IP címeket, ahonnan jönnek a kérések, a zónáknál, amire authoritative a szerver, azoknál meg a zone blokkban az allow-query { any; }; overrideolja, tehát azokat a zónákat bárki le fogja tudni kérdezni.

Az allow-transfer-ba meg csak a másodlagos névszervereket kell felvenni, hogy lehúzzák tpled a zónafájlt. View-eket még nem használtam, de szerintem ide nem is kell, csak bonyolítaná a dolgot. Lehet biztonságosabb a két külön névszerver, ahgyan előbb írták, de ez a megoldás sokkal egyszerűbb, és szerintem a megfelelő óvintézkedések (privilege separation, chroot, jogosultságok megfelelő beállítása) amúgy is elengedhetetlenek, tehát ezzel sem teszed ki nagy kockázatnak a szervered.

acl myclients { 127.0.0.0/24; 192.168.0.0/24; };

A főblokkban meg ugye ott az allow-query, abban a myclients, tehát amit a myclients-be teszel csak az kérdezheti a névszervered. Ellenben a zone blokkban ott is van egy allow-query, ami ugye overrideolja a globális beállítást egy any-vel, tehát azt a master zónát bárki lekérdezheti.

Nem, az ns2-ket a zone blokkokba kell csak tenni:

zone "example.hu" {
type master;
file "example.hu.zone";
notify yes;
allow-transfer { ide-az-ns2; nic; };
allow-query { any; };
};

Ott az ide-az-ns2 helyére az ip címet, hogy tudjon transferolni. Legalábbis ha jól vettem ki a szavaidból, Te vagy az ns1, és az ns2 akarja lehúzni tőled a zónát.