Uscita del server DNS BIND 9.20.0, portato su libuv e nuovo backend per il database

Dopo due anni e mezzo di sviluppo, il consorzio ISC ha presentato il primo rilascio stabile della nuova e importante versione del server DNS BIND 9.20, che incorpora le modifiche sviluppate nella versione sperimentale BIND 9.19. Il supporto per la versione 9.20 sarà fornito nell'ambito di un ciclo di assistenza esteso fino al primo trimestre del 2028. Il supporto per la versione 9.18 terminerà nel secondo trimestre del 2025. Per sviluppare le funzionalità della prossima versione stabile di BIND, sarà formata una versione sperimentale BIND 9.21.0. Il codice del progetto è scritto in C ed è distribuito sotto la licenza MPL 2.0.

Principali modifiche:

  • Il nucleo dell'applicazione, che collega tutti i componenti, è stato convertito per utilizzare un ciclo di elaborazione degli eventi in modalità non bloccante, implementato sulla base della libreria libuv, utilizzata in progetti come Node.js, Knot DNS, H2O, Luvit e MoarVM. Nella versione 9.16, il gestore delle connessioni di rete è stato migrato su libuv in BIND, e ora anche parti utilizzate per l'interazione dei componenti interni dell'infrastruttura, così come gestori ausiliari (threadpool) che eseguono operazioni lunghe in thread separati, utilizzati per la verifica di DNSSEC, il trasferimento di zone, la manutenzione del catalogo delle zone e la gestione di RPZ (Response Policy Zone). Per compilare BIND ora è richiesta almeno la versione 1.34.0 di libuv.
  • È stato proposto un nuovo backend per la gestione dei database - "QP trie", che ha sostituito RBTDB (Red-Black Tree Database) ed è attivato per default per la memorizzazione della cache e del database delle zone DNS. Per il funzionamento multi-thread nel QP trie è stata utilizzata la libreria liburcu, con implementazione in spazio utente di strutture senza blocchi, grazie all'uso del meccanismo di sincronizzazione RCU (read-copy-update) e del metodo di deallocazione sicura della memoria QSBR (Quiescent-State-Based Reclamation).
  • È stato adottato un meccanismo di compressione aggiornato di nomi di dominio, che utilizza un metodo di codifica dei nomi più compatto con un numero maggiore di etichette.
  • Sono state ampliate le funzionalità di DNSSEC: è consentito applicare «dnssec-policy» per la gestione delle zone firmate (l'opzione auto-dnssec è stata rimossa); nell'uso di «inline-signing» è stata aggiunta la supporto per RFC 8901 (modello multi-firma DNSSEC 2); è stato ripristinato il supporto PKCS#11 basato su OpenSSL 3.0.0 Engine API; in «dnssec-policy» è stata aggiunta la supporto HSM (Hardware Security Module).
  • Aggiunta la supporto per la seconda versione del catalogo zone (Catalog Zone, RFC 9432), semplificando la gestione dei server DNS secondari poiché, invece di definire sul server secondario singoli record per ogni zona secondaria, viene organizzato il trasferimento del catalogo delle zone secondarie tra il server primario e quello secondario. Dopo aver configurato il trasferimento del catalogo in modo simile al trasferimento di zone singole, le zone create sul server primario, contrassegnate come appartenenti al catalogo, vengono automaticamente create sul server secondario senza necessità di modificare i file di configurazione.
  • Aggiunta la supporto per il meccanismo di errori estesi (Extended DNS Errors, RFC 8914), che consente di restituire ulteriori informazioni sulla causa dell'errore verificatosi durante l'esecuzione di una richiesta DNS.
  • Implementazione delle tecnologie "DNS over HTTPS" (DoH, DNS su HTTPS) e DNS over TLS (DoT, DNS su TLS), utilizzate per crittografare le richieste dei client verso il resolver e lo scambio di dati crittografati tra i server, è stata trasferita all'uso di un trasporto unificato.
  • Aggiunta la possibilità di utilizzare il protocollo PROXYv2 con tutti i trasporti supportati in BIND. Il protocollo PROXY consente di trasmettere informazioni sulla connessione per mantenere i dettagli riguardo l'indirizzo IP originale e il numero di porta durante il passaggio delle richieste DNS attraverso altri backend, bilanciatori di carico e proxy.server.
  • Aggiunta la supporto per la modalità USDT (User Statically Defined Tracing), che consente di eseguire il tracciamento delle applicazioni utilizzando il comando perf, senza generare sovraccarichi aggiuntivi quando il tracciamento è disattivato.
  • Nelle statistiche raccolte è stata implementata la visualizzazione delle informazioni sulle operazioni di trasferimento zone in sospeso.
  • Sono stati effettuati lavori per ridurre le latenze, diminuire il consumo di memoria e abbattere il carico sulla CPU durante la risoluzione, l'operazione di DNS-over-TLS e la formazione delle risposte su UDP e TCP.
    Uscita del server DNS BIND 9.20.0, portato su libuv e nuovo backend per il database
    Uscita del server DNS BIND 9.20.0, portato su libuv e nuovo backend per il database
    Uscita del server DNS BIND 9.20.0, portato su libuv e nuovo backend per il database

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster