Consorzio ISC rilascio del server DHCP , che sostituisce il classico ISC DHCP. I codici sorgente del progetto è sotto licenza , invece della licenza ISC precedentemente applicata per ISC DHCP.
Il server DHCP Kea è basato su tecnologie BIND 10 e utilizzando un'architettura modulare, che prevede la suddivisione delle funzionalità in diversi processi gestori. Il prodotto include un'implementazione completamente funzionale del server con supporto per i protocolli DHCPv4 e DHCPv6, capace di sostituire ISC DHCP. In Kea sono integrati strumenti di aggiornamento dinamico delle zone DNS (Dynamic DNS), meccanismi di rilevamento dei server, assegnazione degli indirizzi, aggiornamenti e riconnessioni, gestione delle richieste di informazioni, riservazione degli indirizzi per gli host e avvio PXE. Nella realizzazione di DHCPv6 è inoltre prevista la possibilità di delegazione dei prefissi. Per l'interazione con applicazioni esterne viene fornito un'apposita API. È possibile aggiornare la configurazione al volo senza riavviare il server.
Le informazioni sugli indirizzi assegnati e sui parametri dei client possono essere archiviate in diversi tipi di repository: attualmente sono forniti backend per lo storage in file CSV, database MySQL, Apache Cassandra e PostgreSQL. I parametri di riservazione degli host possono essere definiti nel file di configurazione in formato JSON o come tabella in MySQL e PostgreSQL. Include lo strumento perfdhcp per misurare le prestazioni del server DHCP e componenti per la raccolta delle statistiche. Kea dimostra buone prestazioni; ad esempio, utilizzando il backend MySQL il server può eseguire 1000 assegnazioni di indirizzi al secondo (circa 4000 pacchetti al secondo), e con il backend memfile le prestazioni raggiungono le 7500 assegnazioni al secondo.
Le chiave in Kea 1.6:
- È stato implementato il backend della configurazione (CB, Configuration Backend), che consente di gestire centralmente le impostazioni di più server DHCPv4 e DHCPv6. Il backend può essere utilizzato per memorizzare la maggior parte delle impostazioni di Kea, comprese le impostazioni 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, ora possono essere archiviate in un database esterno. È possibile definire tramite CB non tutte, ma solo alcune impostazioni con sovrapposizione dei parametri dal database esterno e dai file di configurazione locali (ad esempio, nelle impostazioni locali possono essere mantenuti i parametri delle interfacce di rete).
Attualmente, per il database per la memorizzazione della configurazione viene supportato solo MySQL (per la memorizzazione dei lease possono essere utilizzati MySQL, PostgreSQL e Cassandra, mentre per il salvataggio degli host MySQL e PostgreSQL). La configurazione nel database può essere modificata sia tramite accesso diretto al database che tramite librerie intermediarie appositamente preparate, che forniscono un insieme standard di comandi per gestire la configurazione, come l'aggiunta e la rimozione di parametri, legami, 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 scartare 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 il tempo di vita del lease dell'indirizzo per il cliente non come un valore fisso, ma come un intervallo consentito;
- È stata migliorata la compatibilità con i dispositivi che non rispettano pienamente gli standard per DHCP. Per superare questi problemi, Kea ora invia le informazioni sul tipo di messaggio DHCPv4 all'inizio dell'elenco delle opzioni, gestisce diverse rappresentazioni dei nomi degli host, riconosce la trasmissione di un nome host vuoto 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 direttamente e apportare modifiche alla configurazione. Sono supportati i seguenti comandi: build-report, config-get, config-reload, config-set, config-test, config-write, list-commands, shutdown e version-get;
- Eliminati (CVE-2019-6472, CVE-2019-6473, CVE-2019-6474), che possono essere utilizzati per causare un'interruzione del servizio (portare al crash dei gestori server DHCPv4 e DHCPv6) tramite l'invio di richieste con opzioni e valori non corretti. Il problema rappresenta il maggiore pericolo , che nel caso in cui venga utilizzato per le associazioni dello storage memfile, porta all'impossibilità di riavviare autonomamente il processo del server, pertanto per ripristinare il funzionamento è necessario l'intervento manuale dell'amministratore (pulizia del database delle associazioni).
Fonte: opennet.ru
