Hlavni rozdil, ktery mezi nimi vidim je tedy ten, ze zatimco BIND lze nakonfigurovat tak, aby mel zcela oddelene funkce, tak jako je ma DJB, DJB nelze nakonfigurovat tak, aby obe funkce provozoval "najednou". BIND je tedy flexibilnejsi. Ano, kdyz se rekne A, musi se rict B, flexibilnejsi software byva slozitejsi a slozitejsi software byva nachylnejsi k tomu, aby obsahoval SKUTECNE chyby (skutecna chyba je, kdyz spravne nakonfigurovany software reaguje nespravne). Ja nemam potrebu mit jednoho favorita - BIND proste je flexibilnejsi, DJB je jednodussi a tak, napriklad, snaze pochopitelny laikum. Nenapadlo by me ale povazovat djb za chybny, protoze nemohu resolver pro uzivatele a autoritativni server domeny provozovat na jednom pocitaci, stejne jako nepovazuji BIND za chybny proto, ze na primy (blby) pokyn sveho pana podava blbe odpovedi.
Ja plne respektuji a chapu, ze se djb neco nelibi a proto to udelal jinak. Ale lze-li jednu vec udelat vice zpusoby, nemyslim si, ze az na jeden musi byt vsechny chybne a stejne tak si nemyslim, ze kategorie "vadny/spravny" ma neco do cineni "libi/nelibi".
V mem poslednim clanku pro Lupu jsem napsal, ze se mi pridelovani drazbou NELIBI, ale je zrejme nutne ho povazovat za SPRAVNE. A to je tentyz princip na ktery se snazim poukazat zde - veci se mi mohou nelibit, ale to neni dostacujici duvod pro to, abych je oznacil za spatne - na to musim mit duvody trochu zasadnejsi. Ale je mozne, ze jen pouzivam a chapu bezna ceska slova v jinem vyznamu, nez vsichni ostatni ...
Tady uz jsme dokazali, ze to nemusi byt pravda. Zvlaste v pripade lokalni domeny, pro kterou nejsou obcas dosazitelne root servery.
No to je o necem jinem. Tim muzete vytvorit svou soukromou TLD. Pokud to udelate pro nejakou globalne platnou domenu, delate to na sve riziko. Bind vam pokud vim tuto moznosto nedava. Pokud se po teto diskusi zvetsilo povedomi o djbdns, myslim, ze diskuse mela smysl.
BINDu funguje tak, jak je nakonfigurovan (spravne je-li spravne, spatne je-li spatne). Je zajimave zjistit, ze mu vycitate jako chybu prave to, ze se nepokousi identifikovat chybne konfigurace (misto abyste ji vycital tomu, kdo jej chybne nakonfiguroval). U CZ.NIC pro zmenu povazujete za chybu, ze kontroly provadi a na svepravnost spravce se nespoleha (a vycitate mu, ze nedeleguje domenu bez ohledu na to, zda ten, kdo ji ma nakonfigurovat ji nakonfiguroval spravne). BIND je vadny protoze nekontroluje a dela co se po nem chce, CZ.NIC je spatny, protoze kontroluje misto toho aby proste delal to, cop se po nem chce. Musim, bohuzel, konstatovat jistou nekonzistenci ve vasich nazorech - skoro to vypada, ze vam nelze zavdecit. A chyba je vzdy "nekde jinde".
Nerad bych ale, abyste to chapal jako osobni utok - o to mi skutecne nejde. Jen mam dojem, ze na sve okoli kladete prilisne naroky, a navic zamenujete "odlisne" za "chybne".
To, ze djbdns nedokaze (v pripade ztraty konektivity k rootu) poskytovat udaje ani o "vlastnich" domenach je take jeho vlastnost - a take muze byt povazovana za chybu (a nekdo to tady, tusim, udelal). Myslim, ze tu nekdo odpovidal, ze djbdns lze nakonfigurovat tak, aby tuto vlastnost/chyb - tim se jeho vlastnosti priblizi BINDu. Jenze on opravdu ziskal tu vlastnost BINDu kompletne - pri chybne konfiguraci zacne odpovidat autoritativne i na dotazy tykajici se domeny, pro kterou neni ve skutecnosti delegovan - takze ziska vlastnost i chybu BINDu.
A ted naopak - nic vam nebrani nainstalovat na dve IP dva BINDy, na jednom nenakonfigurovat zadne domeny a pouzivat ho jako cache, na druhem nadelegovat domeny a zakazat rekurzivni resei dotazu - a mate reseni, ktere ma vlastnosti djbdns - vcetne neschopnosti resolvit "vlastni" domeny pri ztrate vzdalene konektivity.
Pomoci obou programu muzete dosahnou obou typu chovani - u kazdeho jak s klady tak zapory pozadovane vlastnosti - jen "defaultni" chovani techto dvo baliku je proste jine - jednoho takove a druhe takove.
Opravdu nelze vinu svalovat na program. To, co je dokumentovano je vlastnost - ne chyba. A je chybou toho, kdo program pouziva, ze s jeho vlastnostmi neni dostatecne seznamen (a tedy je spravnou konfiguraci neodstranil, ackoliv to je mozne). Chyba neni ani to, kdyz se program nechova podle pozadavku toho, kdo ho pouziva - i to je chyba toho, kdo ma neadekvatni ocekavani.
Vas zaverecnu odstavec skutecne ukazuje, kde by mohl byt problem teto debaty - kdyz porovnavate dva systemy, ktere, navzdory tomu, ze slouzi k podobnym nebo stejnym ucelum maji ruzne vlastnosti a k dosazeni tech cilu pouzivaji ruzne cesty - nelze obvykle obecne rict, ktery system je lepsi a ktery horsi. A uz vubec nelze rict o tom, ktery se vam z vaseho hlediska zda byt horsi, ze je chybny. A to plati jak pro debaty Windows vs. UNIX, tak pro debaty BIND vs. djbdns. TO se ale teto debaty netyka - kdybyste rikal "djbdns" je lepsi nez BIND, je to vas nazor a je v poradku a skutecne neni o cem diskutovat. Vy ale rikate, ze BIND je vadny - a to je uplne jina kategorie tvrzeni. A my ostatni vam tvrdime, ze vadny neni - pokud je dobre nakonfigurovany. A to plati i pro djbdns, ktere take lze nakonfigurovat dobre i spatne. A za konfiguraci odpovida nejaky spravce. A proto je chybna funkce DNS chybou toho, kdo konfiguraci provedl a kdo ma sve praci (a softwaru, ktery pouziva) rozumet.
DNS CACHE vzdy zaisti spravne odpovede podla delegacie od autoritativnych DNS SERVERov.
Tady uz jsme dokazali, ze to nemusi byt pravda. Zvlaste v pripade lokalni domeny, pro kterou nejsou obcas dosazitelne root servery.
Nelze je ponekud divne slovo v pripade, ze BIND to dela :-)
Ad zakaz prohledavani: takze vas system prohledavani od korene je nakonec preveden na prohledavani a'la BIND. Uzasne. Takze jsme se vlastne dostali do stavu, kde jsme byli na zacatku. Proste spatnou konfiguraci nezachrani ani sebegenialnejsi program.
Moc bych se ale nedivil, kdyby byla v BINDu moznost prevest standardni chovani na chovani a'la djbdns.
BTW: lisi se nejak dotazy od klienta a od jineho DNS serveru? Pokud ne, tak proc oddelovat funkce?
No myslim, ze i toto uz bylo zmineno. Autor se domniva, ze dns server ma dva rozdilne ukoly a nelze to sloucit na jednu IP.
Co treba v pripade nepristupnosti root serveru (vypadek uplinku k providerovi)? To se nedoptam ani na svou vlastni domenu?
Pokud chcete pro nejake domeny zakazat prohledavani od root serveru, mate moznost urcit, kterych serveru se na tuto domenu bude ptat. I toto jsem zde uz tusim psal.
To jako musi mit DNS server 2 IP adresy? :-)
Ja v podstate proti djbdns nic nemam, ale nevidim duvod, proc bych kvuli neoddeleni cache od dns musel zavrhovat BIND. Funguje tak jak funguje a myslim si, ze to neni spatne.
Co treba v pripade nepristupnosti root serveru (vypadek uplinku k providerovi)? To se nedoptam ani na svou vlastni domenu?
To, ze DNS server bude kontrolovat, jestli opravdu spravce nekeca a pokud ano, tak proste odpovi po svem, povazuji za spatny napad. To je "inteligentni" software by MS.
Ostatne by mne zajimalo skutecne reseni, to co jste popsal neni skutecne reseni. Uvedu priklad:
Mam dva delegovane DNS servery, ktere jsou autoritativni, ale zaroven jsou oba dva sekundarni vuci jinemu skrytemu primarnimu DNS serveru (muze to mit nekolik duvodu, treba primarni DNS server nemusi byt vzdy dostupny, nebo jej mam ve sve sprave a DNS servery jsou u nejakeho DNS hostovace z duvodu dostupnosti). Primarni DNS server by pak nemohl fungovat, protoze neni delegovany z nadrazeneho DNS serveru. A pritom si myslim, ze toto je zcela validni konfigurace.
Ano, CZ-NIC zrejme proto, aby navenek prokazoval nejakou cinnost, zavedl toto opatreni <g>. Jinde toto nutne neni a funguje to. Ale o tomto se bavit nechcu, bylo by to mlacenim prazdne slamy.
Bind funguje tak, jak byl navrzen -- tudiz blbe, ale uz si na to vetsina kompetentnich zvykla, takze neni potreba menit.
Myslim, ze prispevek dost jasne hovoril o tom, ze zaznamy zustaly na nameserveru, kde kdysi drive byly - a tak je zrejme, ze neresime pripad "nekdo zlomyslne zridil" - proti tomu byste se ohrazoval celkem patricne, ale pripad "nekdo zanedbal svoji povinnost odbornika" - a na tom trvam.
BIND funguje tak jak ma a nemuze fungovat jinak - kdyby odmitl obsluhovat domenu, ktera mu neni nadelegovana, pak by, uvazite-li, ze nadrazeny spravce nedeleguje domenu dokud pro ni neexistuje radne nakonfigurovany nameserver vznikl deadlock znamy pod oznacenim "byla driv slepice nebo vejce ?".
Podle meho nazoru, software, ktery nepracuje spravne v situaci, kdy je chybne nakonfigurovan, stale nemuze byt povazovan za chybny. A ani to, ze RFC nepopisuje spravne jak reagovat na situaci, ktera vubec nemela nastat (a jde o chybnou konfiguraci) nelze take bez dalsiho vykladat jako "chybu RFC". To, ze nameserver nakonfigurovany v rozporu s doporucenimi funguje v rozporu s doporucenimi (ale v souladu s konfiguraci) nenichyba ani toho software, ani tech doporuceni, ale toho, kdo tu konfiguraci udelal a za jeji spravnost odpovida. Chybna konfigurace je obvykle chybou cloveka (jak by rikate, hloupeho admina) a pokouset se ji svalovat na software nebo na doporuceni (RFC) je sice z psychologickeho hlediska pochopitelne, ale presto je to nespravne.
Chtěl jsem tou poznámkou říct, že bind má nejen bezpečnostní díry (které se Vám zas tak strašné nezdají), ale podle mého i jeho fukčnost je pochybná. Djbdns je totiž na rozdíl od bindu rozdělený do dvou částí:
Ano, DJB je kontroverzní osobnost, taky s některými věcmi nesouhlasím. Nemění to ale nic na tom, že jeho sw je bezpečnější tak nějak z principu. Tj. k některým implementačním chybám nemůže dojít kvůli bezpečnému návrhu.
qmail je více než tři roky "frozen" a obávám se, že další verze už asi nebude. Přesto je ale používán. Zvláštní že ?
RFC kolem DNS neznám. Vím ale, že DSN u qmailu není součástí žádného RFC, které by se DJB rozhodl implementovat. DSN je rozšíření SMTP, nepříliš šťastně navržené nutno říct.
btw: Které bezpečnostní díry jste měl na mysli konkrétně ?
Myslim, ze spravcu DNS, co o DNS vedi houby a nebo prinejmensim pomerne malo je ohromna spousta ...
A co se tyce onoho lokalniho seznamu - samozrejme, ze prestanete potrebovat root servery, kdyz si vytvorite vlastni, coz jste presne udelal. Nicmene, stejne nedosahujete totozneho vysledku - zatimco o obsahu root-serveru se jeste vseobecne predpoklada, ze musi (mel by byt) pravidelne aktualizovany, u jakehokoliv jineho seznamu (ze ktereho muzete mozna provadet aktualizace) to, za soucasne situace, jiste vubec neni. Takovy seznam aktualni byt muze, a take nemusi (protoze se nepocita s tim, ze na nem nekdo zavisi - ten seznam se publikuje "pro informaci").
Mozna bych si dovolil pripomenout, jak to chodilo pred zavedenim DNS. To se po siti na kazdy uzel distribuoval kompletni seznam jmen vsech pocitacu na celem svete (a byl jen jednourovnovy). Temto system se obesel nejen bez root nameserveru, ale bez nameseveru vubec. Pokud si dnes dokazete prislusne udaje shanet, pak si takovy seznam muzete vytvorit znovu (dnes uz viceurovnovy, ale to nevadi) a i dnes se muzete obejit nejen bez root serveru, ale bez nameserveru vubec. Verim, ze tento napad musi vsechny, co by se chteli bez root nameserveru obejit dokonale nadchnout ;-)
K té ementálovitosti - z přehledu ISC vyplývá, že to není až tak strašné, problém je především na straně líných správců.
Root servery používají různé verze, 8.2.3, 8.2.4, 8.2.5, 8.3.0, 8.3.1 a pak nějaké VRGS1 a VRSN1, což by taky mělo trochu snížit pravděpodobnost zasažení všech serverů najednou.
Spor o zaruky za fungovani sluzeb mezi spravci a ICANN je, dle meho nazoru, jen jednim z delsiho seznamu sporu. ICANN uzavrel urcite smlouvy s americkou vladou, ktera ma dopady na jeho provoz a na spravu domeny nulte urovne - a mnoho spravcu se domniva, ze nemel mandat k takovemu jednani a k uzavreni takove dohody. Jednim z nasledku je napriklad zmena praxe pri delegacich a redelegacich domen, kdy ICANN vyzaduje vyjadreni lokalni vlady (drive se k nemu prihlizelo, pokud vlada projevila nejaky nazor, ale pokud ho neprojevila, nebylo to prekazkou), zatimco urcity okruh spravcu narodnich domen se domniva, ze ICANN nema mandat k "povinnemu" zatahovani vlad do zalezitosti spravy narodni domeny. Dalsi spor spociva i v tom, ze v rozhodujicich strukturach ICANN nejsou rovnopravne zastoupeni spravci vsech domen, coz se, pochopitelne, nekterym spravcum take nelibi.
Jak by mohl byt clanek o root serverech konkretizovan na vase servery nevim - ale vazne pochybuji, ze nejaky root server mate. A jak jste si mohl precist v clanku, zadny root server neni umisten ani v CR, takze jake "nase nameservery" vam v clanku o root serverech chybely, to nevim.
A nakonec, pokud budete vedet, jak DNS system funguje, pak si na svoji otazku dokazete odpovedet sam, podle vasich specifickych podminek a pozadavku (protoze obecna odpoved neexistuje) - a tezko muzete vedet jak DNS funguje, pokud se s vysvetlovanim nezacne od jeho korene. Od zodpovidani nejakych konkretnich technickych otazek ci reseni vaseho specifickeho problemu mate sveho technickeho spravce domeny nebo nejruznejsi konference. A jestli mate problem s DNS pri vypadku jednoho nameserveru, pak je mozna lepsi vymenit odpovednou osobu ci firmu, nez zadat po Lupe clanek, ktery by vam poradil.
Jinak zaujalo me, jak autorka pise o vysoke urovni bezpecnostnich opatreni a zaroven o programu bind na vsech (?) root serverech. I kdyby to nebyl nechvalne znamy emental bind, na potrebe dostatecne "ruznorodosti" se myslim shodneme.