Domanda

Sto cercando le migliori pratiche per rilevare e prevenire DOS nell'implementazione del servizio (non nel monitoraggio della rete esterna). Il servizio gestisce le query per informazioni su utenti, gruppi e attributi.

Qual è la tua fonte di informazioni preferita sulla gestione di DOS?

È stato utile?

Soluzione

Questa è una tecnica che ho trovato molto utile ..

Impedisci attacchi Denial of Service (DOS) nella tua applicazione web

Altri suggerimenti

Qualunque cosa tu faccia contro DoS-Attacks, pensa se ciò che fai può effettivamente aumentare il carico necessario per gestire richieste dannose o indesiderate!

Se stai usando Linux, dovresti leggere questo articolo:
Script shell di prevenzione attacchi DoS basati su regole (da Linux Gazette) Ha i seguenti argomenti:

  • Come rilevare gli attacchi DoS da / var / log / file sicuro
  • Come ridurre gli IP rilevati ridondanti dal file temporaneo
  • Come attivare / sbin / iptables
  • Come installare lo script di shell proposto

L'applicazione di questo senza limitare correttamente il numero di IP bloccati in iptables può introdurre una vulnerabilità DoS aumentando le risorse richieste per gestire le richieste indesiderate. Per ridurre tale rischio, utilizzare ipset per abbinare gli indirizzi IP in iptables.

Inoltre, leggi prevenzione degli attacchi al dizionario ssh usando iptables . (abilitare iptables con firewall stateful come suggerito qui non protegge dalla maggior parte degli attacchi DoS ma può facilitare gli attacchi DoS che inquinano la RAM con informazioni di stato inutili.)

Sei nuovo su Linux? leggi la Roadmap da Windows a Linux: Parte 5. Registrazione Linux di IBM.

Buona fortuna!

Il mio primo tentativo di risolvere la vulnerabilità di DoS ha utilizzato l'approccio suggerito da Gulzar, che è sostanzialmente quello di limitare il numero di chiamate consentite dallo stesso indirizzo IP. Penso che sia un buon approccio, ma, sfortunatamente, il mio codice ha fallito un test delle prestazioni.

Dato che non sono riuscito a convincere il gruppo di test delle prestazioni a modificare il test (un problema politico, non tecnico), sono passato a limitare il numero di chiamate consentite durante un intervallo configurabile. Ho reso configurabili sia il numero massimo di chiamate sia l'intervallo di tempo. Ho anche permesso di impostare un valore di 0 o un numero negativo che disabilita i limiti.

Il codice che doveva essere protetto è utilizzato internamente da diversi prodotti. Quindi, ho fatto in modo che ciascun gruppo di prodotti eseguisse il proprio QA e le suite di test delle prestazioni e venissi fuori con valori predefiniti il ??più piccoli possibile per limitare un vero attacco DoS ma ancora superato tutti i test.

FWIW, l'intervallo di tempo era di 30 secondi e il numero massimo di chiamate era 100. Questo non è un approccio completamente soddisfacente, ma è semplice e pratico ed è stato approvato dal team di sicurezza aziendale (un'altra considerazione politica).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top