Po drátě 6: Řešení úlohy č. 6
Heslo prý máme hledat v doméně quest.podrate.cz
. Nuže dobrá,
pojďme se podívat, třeba pomocí dig quest.podrate.cz any
, co je uvnitř:
quest.podrate.cz. IN RRSIG DNSKEY 5 3 86400 20130101000000 20120114160119 15238 quest.podrate.cz. [...]
quest.podrate.cz. IN RRSIG DNSKEY 5 3 86400 20130101000000 20120114160119 24285 quest.podrate.cz. [...]
quest.podrate.cz. IN DNSKEY 257 3 5 AwEAAaW+wkuG8r84om/AZGwFsT541gvcRq8wSFDDvaleScGqtlcj4Fs7 [...]
quest.podrate.cz. IN DNSKEY 256 3 5 AwEAAd0q6y4P2uKURfGYMpfsD9TJmOTL3Zv8OoE9OIFd8Zlu3sxlr0pI [...]
quest.podrate.cz. IN RRSIG NSEC 5 3 86400 20130101000000 20120114160119 24285 quest.podrate.cz. [...]
quest.podrate.cz. IN NSEC aldebaran.quest.podrate.cz. NS SOA RRSIG NSEC DNSKEY
quest.podrate.cz. IN RRSIG NS 5 3 86400 20130101000000 20120114160119 24285 quest.podrate.cz. [...]
quest.podrate.cz. IN NS ns.ucw.cz.
quest.podrate.cz. IN RRSIG SOA 5 3 86400 20130101000000 20120114160119 24285 quest.podrate.cz. [...]
quest.podrate.cz. IN SOA jabberwock.ucw.cz. admin.ucw.cz. 2012011401 28800 7200 1209600 86400
Tedy doména zabezpečená DNSSECem. Podepsaná korektně, řetěz důvěry sahá až ke kořenovým
nameserverům (to se mimochodem snadno zkontroluje nástrojem drill
z projektu
ldns).
Zajímavý ovšem je záznam NSEC
. Ten se používá k dokazování neexistence
jmen, a to tak, že pro každou "díru" mezi po sobě jdoucími záznamy existuje podepsaný
záznam NSEC
, který obsahuje jméno těsně před dírou a těsně za dírou.
Následováním NSEC
ů si tedy můžeme pohodlně vyjmenovat všechny záznamy
v doméně. A není potřeba dělat to ručně, opět nám poslouží ldns, tentokrát programem
ldns-walk
:
aldebaran.quest.podrate.cz. TXT RRSIG NSEC
bearberry.quest.podrate.cz. TXT RRSIG NSEC
cinka.quest.podrate.cz. TXT RRSIG NSEC
dromedar.quest.podrate.cz. TXT RRSIG NSEC
eroplan.quest.podrate.cz. TXT RRSIG NSEC
friteza.quest.podrate.cz. TXT RRSIG NSEC
hromotluk.quest.podrate.cz. TXT RRSIG NSEC
ibisek.quest.podrate.cz. TXT RRSIG NSEC
jezibaba.quest.podrate.cz. TXT RRSIG NSEC
kalisnik.quest.podrate.cz. TXT RRSIG NSEC
localhost.quest.podrate.cz. A TXT RRSIG NSEC
mnoukal.quest.podrate.cz. TXT RRSIG NSEC
nornik.quest.podrate.cz. TXT RRSIG NSEC
orobinec.quest.podrate.cz. TXT RRSIG NSEC
polinko.quest.podrate.cz. TXT RRSIG NSEC
querulant.quest.podrate.cz. TXT RRSIG NSEC
rarasek.quest.podrate.cz. TXT RRSIG NSEC
sycek.quest.podrate.cz. TXT RRSIG NSEC
tetrev.quest.podrate.cz. TXT RRSIG NSEC
ukulele.quest.podrate.cz. TXT RRSIG NSEC
vratiprst.quest.podrate.cz. TXT RRSIG NSEC
warszawa.quest.podrate.cz. TXT RRSIG NSEC
xindl.quest.podrate.cz. TXT RRSIG NSEC
yard.quest.podrate.cz. TXT RRSIG NSEC
zhuverilost.quest.podrate.cz. TXT RRSIG NSEC
Dobře, ale 25 hesel k jedné úloze nedává smysl (a kdo je všechna zkoušel
poslat robůtkovi, na toho jsme po zásluze zlostně vrčeli). Není něco v těch
TXT?
. Většina obsahuje:
aldebaran.quest.podrate.cz. IN TXT "Zde heslo neni"
Jen jeden je jiný:
sycek.quest.podrate.cz. IN TXT "Heslo je svratouch"
Vida :)
Zajímavosti
Někteří správci nemají rádi, když si někdo může vypsat obsah jejich
domény (moc je nechápeme, protože DNS stejně dotazy nešifruje a odpověď může
cacheovat libovolný DNS server po světě). Proto se původní DNSSEC moc neujal
a pomohlo mu až RFC 5155, které
definuje nový způsob prokazování neexistence (NSEC3
), tuto
vlastnost nemající.
Jak se při soutěži ukázalo, zpracování podepsaných záznamů je v nejednom programu ošklivě bugovité. Kdo jste na nějakou chybu narazili, nezapomeňte ji nahlásit :)
Úlohu vytvořil Medvěd, když se chtěl DNSSEC konečně naučit používat. Jeho podpora se ostatně objeví i v nové verzi Name Server Configuratoru a DNS Sleutha.
#dig -v
DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5_7.1
cygwin na windows boxe dig neobsahuje,
takze som na tejto ulohe skoncil.
len pre zaujimavost, aky dig ste pouzivali vy?
'ERROR: ID mismatch: expected ID xxxx, got yyyy', pouzivam DiG 9.7.3, packety ale chodily spravne, takze jsem je vycetl pomoci wiresharku (pri volani techto prikazu).
> 'ERROR: ID mismatch: expected ID xxxx, got yyyy', pouzivam DiG 9.7.3,
To je věru zajímavé, mně stejná verze 9.7.3 dáva správné výsledky.