Consorzio ISC rilascio del server DHCP , che sostituisce il classico ISC DHCP. I codici sorgente del progetto sono rilasciati sotto la licenza , invece della precedente licenza ISC per ISC DHCP.
Il server DHCP Kea è basato sulle tecnologie BIND 10 e utilizza un'architettura modulare che suddivide le funzionalità in diversi processi gestori. Il prodotto include un'implementazione completa del server con supporto per i protocolli DHCPv4 e DHCPv6, in grado di sostituire ISC DHCP. Kea integra strumenti per l'aggiornamento dinamico delle zone DNS (Dynamic DNS), supporta meccanismi di rilevamento dei server, assegnazione degli indirizzi, aggiornamenti e riconnessione, gestione di richieste informative, riservazione degli indirizzi per host e avvio PXE. Nell'implementazione di DHCPv6 è prevista la possibilità di delegare i prefissi. Per l'interazione con applicazioni esterne è fornita un'API speciale. È possibile aggiornare la configurazione al volo senza riavviare il server.
Le informazioni sui indirizzi dedicati e sui parametri dei clienti possono essere memorizzati in diversi tipi di archivi: attualmente sono disponibili backend per il salvataggio in file CSV, database MySQL, Apache Cassandra e PostgreSQL. I parametri di riserva degli host possono essere specificati in un file di configurazione in formato JSON o come tabella in MySQL e PostgreSQL. Il pacchetto include uno strumento perfdhcp per la misurazione delle prestazioni del server DHCP e componenti per la raccolta delle statistiche. Kea mostra buone prestazioni; ad esempio, quando si utilizza il backend MySQL, il server può eseguire 1000 assegnazioni di indirizzi al secondo (circa 4000 pacchetti al secondo), mentre con il backend memfile la prestazione raggiunge le 7500 assegnazioni al secondo.
Chiave in Kea 1.6:
- È stato implementato il backend di configurazione (CB, Configuration Backend), che consente di gestire centralmente le impostazioni di più server DHCPv4 e DHCPv6. Questo backend può essere utilizzato per memorizzare la maggior parte delle impostazioni di Kea, comprese le configurazioni globali, le informazioni sulle reti condivise, le sottoreti, le opzioni, i pool e le definizioni delle opzioni. Invece di memorizzare tutte queste impostazioni in un file di configurazione locale, possono ora essere archiviate in un database esterno. È possibile definire tramite CB non tutte, ma solo alcune impostazioni, sovrapponendo i parametri del database esterno e dei file di configurazione locali (ad esempio, nei file locali possono rimanere le impostazioni delle interfacce di rete).
Attualmente, il sistema supporta solo MySQL per la memorizzazione della configurazione (per la conservazione dei lease possono essere utilizzati MySQL, PostgreSQL e Cassandra, mentre per il pre-affido degli host sono supportati MySQL e PostgreSQL). La configurazione nel database può essere modificata sia tramite accesso diretto al DBMS, sia tramite librerie intermediarie appositamente preparate, che forniscono un insieme standard di comandi per la gestione della configurazione, come l'aggiunta e la rimozione di parametri, binding, opzioni DHCP e sottoreti;
- È stata aggiunta una nuova classe di gestori 'DROP' (tutti i pacchetti associati alla classe DROP vengono immediatamente scartati), che può essere utilizzata per filtrare il traffico indesiderato, ad esempio determinati tipi di messaggi DHCP;
- Sono stati aggiunti nuovi parametri max-lease-time e min-lease-time, che consentono di definire la durata del lease dell'indirizzo per il cliente (lease) non come un valore fisso, ma come un intervallo consentito;
- Migliorata la compatibilità con i dispositivi che non rispettano completamente gli standard per DHCP. Per aggirare i problemi, Kea ora invia le informazioni sul tipo di messaggio DHCPv4 all'inizio della lista delle opzioni, gestisce diverse rappresentazioni dei nomi host, riconosce la trasmissione di nomi host vuoti e consente di definire sub-opzioni con codici da 0 a 255;
- Per il demone DDNS è stato aggiunto un socket di controllo separato tramite il quale è possibile inviare comandi e apportare modifiche alla configurazione. Le seguenti comandi sono supportati: build-report, config-get, config-reload, config-set, config-test, config-write, list-commands, shutdown e version-get;
- Risolti (CVE-2019-6472, CVE-2019-6473, CVE-2019-6474), che possono essere utilizzati per causare un Denial of Service (crash dei gestori di server DHCPv4 e DHCPv6) attraverso l'invio di richieste con opzioni e valori non corretti. La problematica più pericolosa concerne , che nel caso venga utilizzata per i vincoli del memfile, porta all'impossibilità di riavviare autonomamente il processo del server, richiedendo dunque l'intervento manuale dell'amministratore (pulizia del database dei vincoli).
Fonte: opennet.ru
