Puncte:0

BIND 9.16 dnssec-policy implicită nu reînnoiește automat cheile

drapel ci

Acum trei luni mi-am actualizat serverele DNS la BIND 9.16 (în prezent rulează 9.16.25) pentru a profita de noul dnssec-policy implicită opțiune care mi-ar permite să rulez cu ușurință DNSSEC pentru domeniile mele. Documentația a indicat că gestionarea cheilor va avea loc automat. Am implementat acest lucru, am testat la nivel local, am părut că totul a fost semnat în regulă și totul părea în regulă cu lumea. Nu implementasem anterior DNSSEC sub nicio formă pentru aceste zone.

Am aflat mai târziu că ar fi trebuit să-mi încarc înregistrările DS la registratorul meu pentru a raporta TLD-ului că zonele mele au fost semnate și că ar fi finalizat circuitul pentru a permite DNSSEC să se întâmple efectiv... așa că am început să fac asta luna aceasta. Totuși, făcând acest lucru, lucrurile au început să eșueze și am aflat rapid că toate semnăturile mele expiraseră la 15 zile după ce am implementat DNSSEC.

Am încercat să fac o trecere manuală a tastelor pentru o zonă. Asta a schimbat semnele pentru unele dintre înregistrări, dar nu pentru toate (fără înregistrări A, AAAA, CNAME, de exemplu). M-am uitat în documente pentru detalii despre cum dnssec-policy implicită este implementat și a constatat că cheile sunt setate să nu expire, dar că semnăturile sunt setate să expire după 15 zile sau cam asa ceva... și că, dacă cheile nu expiră, nu va fi programată nicio transferare. Deci, ce ar trebui să fac cu semnele expirate?

Are dnssec-policy implicită chiar funcționează așa cum este anunțat și îmi scapa ceva esențial, sau chiar ar trebui să-l fac aici?

Setări relevante în named.conf.options:

Opțiuni {
[..]
        dnssec-validation auto;
        dnssec-policy implicit;
        dnssec-dnskey-kskonly da;
        directorul-chei-gestionate „/var/lib/bind”;
[..]
};
Patrick Mevzek avatar
drapel cn
„Am aflat mai târziu că ar fi trebuit să-mi încarc înregistrările DS la registratorul meu pentru a raporta TLD-ului că zonele mele au fost semnate” Da, altfel nu există un lanț de încredere DNSSEC, deci faptul că zona dvs. este semnată este aproape irelevant. Acesta este un fel de nucleu al designului DNSSEC, vă recomand să vă asigurați că înțelegeți pe deplin acest lucru înainte de a merge mai departe (menționați că nu ați făcut DNSSEC până acolo). Cât despre „că toate semnăturile mele expiraseră la 15 zile după ce am implementat DNSSEC”. acesta poate fi cazul, dar este separat de faptul de a trimite DS la registru prin registrator.
Christopher Hinkle avatar
drapel ci
Multumesc Patrick. Problema cu care am întâlnit a fost că odată ce mi-am încărcat înregistrările DS, totul s-a stricat pentru că semnăturile expiraseră. Trebuie să repar expirarea semnăturii înainte de a putea încărca înregistrările DS pentru a nu se rupe lucrurile atunci când o fac. Ai vreo idee despre cum pot face asta?
Patrick Mevzek avatar
drapel cn
Te-ai uitat la fișierele jurnal de legare? Semnăturile zonelor și actualizările cheilor ar trebui înregistrate? Acest lucru poate ajuta: https://gitlab.isc.org/isc-projects/bind9/-/wikis/DNSSEC-Key-and-Signing-Policy-(KASP) (este vorba despre modificări în 9.17 și, dacă puteți, ar trebui să trece la el). A se vedea https://bind9.readthedocs.io/en/v9_16_26/dnssec-guide.html: „Declarația dnssec-policy face ca zona să fie semnată și activează întreținerea automată pentru zonă. Aceasta include resemnarea zonei ca semnăturile expiră și cheile înlocuiesc periodic.”
Christopher Hinkle avatar
drapel ci
Am făcut-o într-adevăr. Am găsit aceeași documentație pe care ați citat-o ​​și tocmai de aceea am făcut upgrade la Bind 9.16 pentru început (am menționat asta în postare). Jurnalele arată „reconfigurarea cheilor de zonă” pentru fiecare zonă o dată pe oră. Cu toate acestea, semnăturile au expirat fără a fi reînnoite. Jurnalul dnssec arată configurația inițială și apoi nimic, cu excepția intrărilor repetate de reconfigurare, în ciuda expirărilor.
Patrick Mevzek avatar
drapel cn
Creșteți nivelul jurnalului și verificați din nou toate permisiunile pentru fișiere/directoare. Rețineți, de asemenea, că 9.17 ar trebui să fie și mai simplu în ceea ce privește DNSSEC decât 9.16. Îți recomand doar să încerci calm de la zero cu o zonă de jucării și să experimentezi. În această etapă, cu elementele date, nu am idee de ce lucrurile nu funcționează pentru tine. Acesta: „Am încercat să fac o trecere manuală a tastelor pentru o zonă”. este îngrijorător.Fie trebuie să-l lași pe bind să facă totul pentru tine, fie faci totul manual, dar amestecarea acestora ar putea fi o rețetă pentru probleme.
Patrick Mevzek avatar
drapel cn
„Jurnalele arată „reconfigurarea cheilor de zonă” pentru fiecare zonă o dată pe oră.” Nu cred că acesta ar trebui să fie cazul așteptat. cheile nu trebuie schimbate atât de des. KSK sunt ca pentru un an, ZSK pentru câteva săptămâni. Ceea ce se poate schimba mai des sunt semnăturile. Dacă bind vorbește despre chei atât de des, poate exista o problemă acolo.
Christopher Hinkle avatar
drapel ci
— S-ar putea să fie o problemă acolo. DREAPTA! De aceea pun întrebarea. :) L-am primit doar folosind `dnssec-policy default` fără altă configurație. Folosește CSK în loc de KSK/ZSK. Nu pot folosi 9.17 pentru că îl folosesc pe Ubuntu 20, care pare să accepte doar 9.16 momentan.
Puncte:0
drapel cn

Vezi exemplul în https://bind9.readthedocs.io/en/v9_16_26/dnssec-guide.html asta spune:

Activarea întreținerii zonei DNSSEC automate și generarea cheilor

Pentru a semna o zonă, adăugați următoarea declarație la clauza de zonă din Fișierul de configurare BIND 9:

Opțiuni {
    directorul „/etc/bind”;
    recursiunea nu;
    ...
};

zona „example.com” în {
    ...
    dnssec-policy implicit;
    ...
};

Declarația dnssec-policy face ca zona să fie semnată și pornește întreținere automată a zonei. Aceasta include resemnarea zonei pe măsură ce semnăturile expiră și înlocuirea cheilor în mod periodic. Valoarea implicit selectează politica implicită, care conține valori potrivite pentru majoritatea situatiilor.

Nu aia dnssec-politica poate fi într-o zona declarație, sau în Opțiuni dar apoi se aplică peste tot. Mai ales la început, pentru a testa lucrurile, s-ar putea să doriți să restricționați lucrurile pe zonă. Dar în afară de asta, ar trebui să funcționeze din cutie cu acea configurație.

Dacă nu este cazul dvs., trebuie să oferiți mai multe detalii pe baza fișierelor dvs. de jurnal.

Mai târziu, în aceeași pagină, puteți arunca o privire asupra liniilor de jurnal așteptate cu configurația de mai sus:

07-Apr-2020 16:02:55.045 zone example.com/IN (semnat): reconfigurarea cheilor de zonă
07-apr-2020 16:02:55.045 reîncărcarea configurației a reușit
07-apr-2020 16:02:55.046 keymgr: DNSKEY example.com/ECDSAP256SHA256/10376 (CSK) creat pentru politica implicită
07-Apr-2020 16:02:55.046 Se preia example.com/ECDSAP256SHA256/10376 (CSK) din depozitul de chei.
07-apr-2020 16:02:55.046 DNSKEY example.com/ECDSAP256SHA256/10376 (CSK) este acum publicat
07-apr-2020 16:02:55.046 DNSKEY example.com/ECDSAP256SHA256/10376 (CSK) este acum activ
07-apr-2020 16:02:55.048 zone example.com/IN (semnat): următorul eveniment cheie: 07-apr-2020 18:07:55.045

Vezi semnat pe ultima linie și marca temporală dată când se va întâmpla ceva (probabil semnături noi). Cât despre:

Trebuie să repar expirarea semnăturii înainte de a putea încărca înregistrările DS pentru a nu se rupe lucrurile atunci când o fac.

Chiar și fără probleme, NU încărcați NICIODATĂ un DS fără să fi verificat local lucrările de validare cap la cap. Puteți face acest lucru cu un instrument online precum DNSViz, specificând în mod explicit noul DS pe care urmează să îl adăugați, iar instrumentul va testa lucrurile ca și cum DS-ul este deja ok. Rețineți că, în mod normal, KSK (din care DS înregistrarea este practic un hash) ar trebui să se schimbe „regulat” în tonul de o dată pe an la fiecare 2 ani sau lucruri de genul ăsta. În momentul în care trebuie să rotiți DS de asemenea, dar cu precauție dacă nu doriți să rupeți rezoluția.

Christopher Hinkle avatar
drapel ci
_Config_: Am pus linia `dnssec-policy` în declarația mea de opțiuni în mod intenționat, deoarece am vrut să se aplice tuturor zonelor. _Logfiles_: jurnalul meu /var/log/named/dnssec are intrările pe care le descrieți, cu excepția faptului că nu scrie niciodată „(semnat)” după orice intrare în zonă, iar „următorul eveniment cheie” este întotdeauna după 60 de minute. Când s-au scurs cele 60 de minute, primesc o intrare: `zone example.com/IN: reconfiguring zone keys` și imediat după aceea o altă intrare `next key event`. Nimic nu se reconfigurează niciodată. Nu există erori prezente în jurnalele legate de acest proces.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.