DNS etc.

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Čtvrtek Duben 6 16:59:09 CEST 2000


On Thu, 6 Apr 2000, Petr Novotny wrote:

Zas jeden pekny flamewar, to si nemuzu nechat ujit... :)

> 2. Je bezpecne napsan. :-)

Vzhledem k tomu, jak moc ma DJB v oblibe nadratovane konstanty (mam na
mysli veci jako "header[2] & 120"), globalni promenne a podobne chyby
skryvajici konstrukce, tak bych toto tvrzeni povazoval ze ponekud
diskutabilni (ale aspon uz opustil K&R styl).

> Rychlejsi? Ano. Na rozdil od BINDu totiz nemusi pri startu/reloadu 
> autoritativni komponenta "kompilovat" vsechny zony; DNS packety 
> serviruje z predpripraveneho souboru na disku (a soubor je 
> nahrazovan novou verzi atomicky, takze zavedeni nove zony je bez 
> preruseni funkcnosti).

Lepe receno je prace prerusena jen na tak kratkou dobu, ze je to naprosto
zanedbatelne.

> 1. Musite vzit v potaz, ze cache a autoritativni zdroj jsou rozdilne 
> programy, a tedy kazdy poslouchaji na jinem interface. (Normalne 
> mate k dispozici interfejsu spoustu - udelate si loopback na 
> 127.0.0.2, 127.0.0.3 atd. :-))

Bohuzel zadny z nich neni videt zvenku. Pro ty, co z jakehokoli duvodu
nechteji/nemohou aliasovat skutecny interfejs, to predstavuje veliky (a
IMHO dost zbytecny) problem pri migraci z bindu, ktery umi delat na jednom
interfejsu kes i autoritativni ns.

> 3. Zonovy format vypada vyrazne jinak. (Je snadno parsovatelny 
> pocitacem, a clovek se uci snaze nez pocitac.)

Ovsem pocitac neni narozdil od cloveka liny a ma spoustu energie na
vykonavani cinnosti, ktere nevyzaduji tvurci pristup. :)

> Pokud se s uvedenymi body smirite, dostanete se do sveta 
> mnohych vyhod, kde treba split-DNS triky jsou uplne za babku, 

Pokud mate IP adresy za babku.

> 1. Je to program s dlouhou historii bezpecnostnich der. Podle 
> CERT je overflow v BINDu v soucasne dobe nejpouzivanejsi exploit.

Coz o to, to je nejspis pravda.

> 2. Program neni navrzen bezpecne; je bezpecny ve smyslu "pokud 
> jsme to tentokrat napsali dobre, tak to uz je snad OK"; historie 
> rika, ze nelze bezpecnost zalozit na tom, ze v programu neni 
> prehlednuti.

Mozna vyse napsanemu rozumim spatne, ale tomu, ze bezpecnost zavisi na
tom, ze se nektere komponenty (treba TCB) musi v podstate bezpodminecne
chovat spravne, se asi nevyhneme (aspon pomineme-li "byzantske"
replikovane systemy, kde to lze nekdy preformulovat tak, ze se musi
spravne chovat aspon urcity pocet zucastnenych). Jina vec je, jak velky je
objem toho, na co se spolehame, (pokud mozno maly) a na cem je nase duvera
zalozena (pokud mozno na necem jinem, nez slepe vire).

> 3. Nema omezeni pouzite pameti.

Ale ma. Rozhodne nesezere vic, nez kolik ma ta masina k dispozici. :)

> 4. Natazeni zony trva dlouho, nebot zona se musi "zkompilovat".

Je-li zona relativne mala, je to problem pouze z toho duvodu, ze bind
prestane po dobu kompilace odpovidat (zatimco u tinydns probiha vlastni
kompilace paralelne). Je-li zona velka (coz se ale tyka jen zlomku
potencialnich uzivatelu), je blbost ji primarne udrzovat v textovem
souboru, at uz ma syntaxi bindovou nebo tinydns-ovou.

> 5. Neni oddelena autoritativni cast od cache.

Pod slovem "oddelena" si lze predstavit ruzne veci. Pocinaje tim, ze
obe casti se nachazeji v ruznych galaxiich, konce tim, ze se pocitac
v jednom okamziku zabyva pouze jednou z techto uloh. :)

Navic zakladni funkcni vyhoda, ktera z toho rozdeleni IMHO plyne...
totiz znesnadneni cache poisoningu tim, ze neumoznime kazdemu, aby se ptal
na cokoli, neni az tak tak velka vyhra, protoze presvedcit nejaky stroj,
ktery ma k dane kesi pristup, aby se na neco konkretniho zeptal, neni
vetsinou tak obtizne (a casto to jde udelat i v realnem case).

> 6. BIND prijima DNS odpovedi od kohokoliv, prijdou-li ve spravny 
> cas. (Casty DNS spoofing: Zeptate se BINDu, a ihned mu 
> podstrcite otravenou odpoved.)

Tehle vytce ne zcela rozumim. Bind samozrejme nesezere uplne vsechno, co
mu prijde. Otazka zni, jak je tezke vyrobit presvedcivy podvrh spravne
odpovedi. U bindu je to bohuzel pomerne snadne.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux