Nel mio nome DNS conf. Del mio server DNS vedo
rate-limit {
responses-per-second 5;
window 5;
};
Cosa significa veramente? E può causare problemi ai client DNS? È una configurazione troppo stretta?
Nel mio nome DNS conf. Del mio server DNS vedo
rate-limit {
responses-per-second 5;
window 5;
};
Cosa significa veramente? E può causare problemi ai client DNS? È una configurazione troppo stretta?
Risposte:
Limita il numero di risposte identiche che un singolo client DNS può ottenere in un secondo. L' window 5
opzione consente una raffica di risposte 5 * 5.
"Risposte identiche" e "singolo client DNS" sono termini un po 'non ovvi qui, leggi questo per maggiori informazioni: http://web.archive.org/web/20140209100744/http://ss.vix.su/~ vjs / rl-arm.html .
Generalmente è una buona cosa limitare la velocità - può aiutarti in caso di un attacco DOS un giorno. I valori predefiniti dovrebbero essere OK nella maggior parte dei casi.
window
viene utilizzato solo per controllare l'intervallo di tempo entro il quale vengono tracciate le "risposte identiche" inviate a ciascun "singolo client DNS". Il Manuale di riferimento per l'amministratore di BIND 9 afferma: L'account [RRL del cliente] non può diventare più positivo del limite al secondo o più negativo di window
volte il limite al secondo. Questo messaggio di Vernon Schryver spiega il comportamento dell'algoritmo in modo più dettagliato.
Si consiglia di leggere il manuale di riferimento dell'amministratore per BIND 9.9 .
Fondamentalmente, responses-per-second
è il numero di risposte identiche che possono essere inviate a una singola destinazione, al secondo. Le definizioni sono difficili.
Una singola destinazione è un blocco di indirizzi di rete, della dimensione configurata in ipv4-prefix-length
o ipv6-prefix-length
come applicabile. Quindi, se ipv4-prefix-length
è 24, ed entrambi 192.0.2.1
e 192.0.2.2
stanno interrogando il server DNS, condivideranno questa quota e potranno solo inviare così tante query tra loro due.
Le risposte identiche sono le risposte alle query per un particolare tipo di RR per un particolare nome esistente o per un nome inesistente. Le seguenti query sono tutte distinte:
IN A example.net.
IN A www.example.net.
IN AAAA example.net.
IN A nonexistent.domain.example.net.
Tuttavia, tutte le seguenti query sono identiche (supponendo che nonexistent.domain.example.net.
ecc. Rispettino i loro nomi):
IN A nonexistent.domain.example.net.
IN A nonexistent.domain2.example.net.
IN SOA other.nonexistent.domain.example.net.
window
complica ancora un po 'le cose. È il numero di secondi per i quali è possibile accumulare quote. Moltiplicare window
e responses-per-second
dare il massimo per cui qualsiasi quota può essere positiva, o in termini più elementari, la capacità di scoppio.
Per fare un esempio generale:
Sei il nameserver autorevole e non ricorrente per example.net.
. Immagina che non sia stato visto alcun traffico DNS negli ultimi 10 secondi e che la configurazione nella domanda si applichi a livello globale. I seguenti eventi si verificano in sequenza:
IN NS example.net.
. 25 saranno consentiti e i restanti 75 verranno ignorati.IN A nonexistent.example.net.
. 25 saranno consentiti e i restanti 75 verranno ignorati.IN MX nonexistent-domain.example.net.
verrà ignorato poiché è stato raggiunto il limite per domini inesistenti.IN A example.net.
. È permesso.IN NS example.net.
. 25 di loro ricevono risposte e i restanti 25 vengono ignorati; la quota per 198.51.100.0/24 non si applica a questi host, ma condividono la quota per 192.0.2.0/24.IN NS example.net.
. 5 di loro ricevono risposte e i restanti 20 vengono ignorati, poiché la quota viene reintegrata solo con 5 query al secondo.iptables -A INPUT -p udp --dport 53 -m recent --set --name dnslimit
iptables -A INPUT -p udp --dport 53 -m recent --update --seconds 60 --hitcount 11 --name dnslimit -j DROP
IPtables può funzionare altrettanto bene. Mantiene il traffico completamente fuori servizio se viene rilevato un attacco.
Non credo sia una buona idea valutare il limite, chiediti: giudichi il limite anche le risposte del server web? Perché pensi che le risposte DNS siano meno importanti delle risposte del server web?
E anche se il limite di velocità, quel 5 req / sec suona molto basso.