Quali sono lunghezze chiave accettabili per DNSSEC KSK / ZSK?

Mi è stato incaricato di esaminare l'implementazione di DNSSEC sui nostri server di nome. Mentre il lato tecnico di questo (generare chiavi, zone di segno, preparare rollover) sono relativamente semplici, ho affrontato un problema logistico.

Dalla documentazione che ho letto, 1024 bit è una buona dimensione per una chiave di sottoscrizione di zona e la procedura corretta sarebbe una ZSK per each zona con un rollover di un mese

Tuttavia, richiede fino a 10 minuti su un computer abbastanza veloce con entropia decente per generare una chiave da 1024 bit … E l'ISP che lavoro per ospitanti oltre trecento zone. A less che non in qualche modo automatizzi il process dall'inizio alla fine, questo non sarà più funzionabile – e anche se lo faccio, al termine del process sarebbe quasi tempo di iniziare con il rollover NEXT.

In breve, questo non è fattibile. Adesso sto limitando DNSSEC a clienti che lo chiedono in modo esplicito, ma questo è in massima sicurezza.

Le mie domande:

  • Sto andando a bordo con la lunghezza della chiave?
  • Come posso accelerare il process di generazione di chiavi?
  • Devo creare singoli tasti di firma chiavi per ciascuna zona così come ZSKs?

EDIT: Aggiunto i comandi esatti che sto utilizzando per generare le chiavi:

caleburn: ~/Projects/Systemec/DNS-magic/DNSSEC/keys/ >time dnssec-keygen -r/dev/random -a RSASHA256 -f KSK -b 1280 -n ZONE example.com Generating key pair.............................+++++ ...+++++ Kexample.com.+008+10282 real 9m46.094s user 0m0.092s sys 0m0.140s caleburn: ~/Projects/Systemec/DNS-magic/DNSSEC/keys/ >time dnssec-keygen -r/dev/random -a RSASHA256 -b 1280 -n ZONE example.com Generating key pair.........................+++++ .........+++++ Kexample.com.+008+22173 real 12m47.739s user 0m0.124s sys 0m0.076s 

  • Riavvierà la cache di sistema BIND (nome)?
  • Trasferimento di zona tra PowerDNS e Bind9
  • DNSSEC + Bind: dnskey invalidato da tld
  • I firewall DNS RPZ possono proteggere contro l'accesso IP?
  • BIND9 DNS con vista esterna all'interno della vista interna
  • Qual è la configuration minima ansible di binding che funziona?
  • Come forzare BIND9 per legarsi a un determinato IP?
  • i nomi denominati-checkzone report 'ns.example.com.ns' non hanno record di indirizzi (A o AAAA)
  • 2 Solutions collect form web for “Quali sono lunghezze chiave accettabili per DNSSEC KSK / ZSK?”

    dnssec-keygen legge da /dev/random per impostazione predefinita. Se l'entropia sul tuo sistema è basso, non avrai abbastanza dati casuali per generare tempestivamente le chiavi. strace probabilmente mostrerà un sacco di cose come:

     select(4, [3], [], NULL, NULL) = 1 (in [3]) read(3, "5%\5\32\316\337\241\323", 46) = 8 read(3, 0x7fff5b6c3df0, 38) = -1 EAGAIN (Resource temporarily unavailable) select(4, [3], [], NULL, NULL) = 1 (in [3]) read(3, "\305\35\201c\31\343\251\21", 38) = 8 read(3, 0x7fff5b6c3df0, 30) = -1 EAGAIN (Resource temporarily unavailable) 

    /dev/random blocchi /dev/random se non c'è abbastanza entropia, quindi potrebbe richiedere un po 'di tempo.

    Hai alcune opzioni per farlo andare molto più veloce. Il più facile è usare la -r /dev/random a -r /dev/urandom per utilizzare il generatore di numbers casuali non bloccanti (ma non sicuri). Questo non può essere considerato sicuro per qualcosa di simile a una chiave GPG o SSH che si prevede di utilizzare per diversi anni, ma è probabilmente sicuro per qualcosa che cambierà each 30 giorni.

    Un'altra opzione è quella di utilizzare qualcosa come EGD o haveged come sostituzione di /dev/random .

    Se vuoi un RNG molto più sicuro, sei meglio con un hardware RNG dedicato. Questi sono probabilmente overkill per DNSSEC a less che non gestisci TLD o domini bancari.

    Potresti voler attaccare a / dev / random per il KSK, ma / dev / urandom dovrebbe essere utile per gli ZSK.

    Penso che il consenso generale è che il tuo ZSK dovrebbe essere 1024 bit e rotolato intorno each trimestre e il tuo KSK dovrebbe essere 2048 bit e rotolato each due anni.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.