Chiave API Metodo di prevenzione DDOS

0

Ciao, volevo solo un feedback su un DDOS che impediva lo script php che sto progettando. E 'abbastanza semplice e volevo un feedback sul fatto che voi ragazzi pensiate che sarebbe efficace.

Attualmente sto usando il ulogin framework come base e ho implementato le API Key. Al momento l'utente invierà una richiesta con una chiave. Questa chiave viene confrontata con il database per vedere se è corretta. Quindi se la chiave non è corretta il programma tornerà.

Se la chiave è corretta, alcune statistiche verranno calcolate. La prima cosa è incrementare il contatore. L'hit medio al secondo verrà calcolato dal momento in cui ha iniziato a richiedere l'ora corrente. Inoltre c'è una finestra di X secondi in cui il contatore sarà resettato (diciamo 300). Il programmatore specifica il numero massimo di richieste che dovrebbero essere consentite in questa finestra. Se la chiave supera il limite delle richieste per reset delle statistiche (Finestra) o supera una certa quantità di richieste al secondo, verrà bloccato e non verrà dato l'accesso. Tuttavia, il contatore si incrementa ma viene avviato un altro contatore (conteggio dei blocchi).

Quando il contatore è impostato a 0 alla fine della finestra, il conteggio per la finestra successiva sarà impostato su quale sia il conto di blocco e il conto di blocco sarà impostato su 0. Se l'utente non usa l'API tasto per X (finestra) secondi, quindi entrambi i contatori verranno reimpostati su 0.

Ho aggiunto una variabile transferpenalty (0-1) che prenderà una percentuale del blockcount sulla finestra successiva invece dell'intero conteggio dei blocchi ma non penso che sia necessario averlo.

È già stato fatto? Questo proteggerebbe da una chiave API sniffata utilizzata per (D) DOS un server? Quali sono i tuoi pensieri:)

    
posta 25.07.2014 - 17:56
fonte

2 risposte

2

Il tuo codice è buono per monitorare l'attività degli utenti sul server, ma per essere onesti, non può fare a meno di prevenire attacchi DDOS dal momento che l'obiettivo degli attacchi DDOS è di inviare tonnellate di richieste al server per renderlo troppo occupato per rispondere a i suoi utenti previsti.
il tuo codice sembra fare molti controlli per determinare se il numero di richieste ha superato i tuoi standard, e questo significa che non solo l'hacker ha raggiunto il suo obiettivo mantenendo il tuo server occupato ma anche tu lo stai aiutando con un sacco di elaborazione che è fatto dal tuo codice.
Immagina che ogni volta che c'è una richiesta, il tuo codice debba cercare nel database e recuperare le informazioni per poi confrontarle e fare molte altre cose.
non c'è niente che potresti fare in PHP per fermare questo tipo di attacchi. e anche se l'attaccante usa un attacco UDP, il tuo codice non farà nulla dal momento che Apache ascolta la porta TCP. L'unica cosa che può proteggere il tuo sito web dagli attacchi DDOS è la tua azienda di hosting. l'azienda ha bisogno di avere attrezzature necessarie come:

  1. I firewall
  2. Opzioni di limitazione della velocità
  3. router appropriati
  4. Hardware front-end delle applicazioni
  5. Prevenzione basata su IPS
  6. Difesa basata su DDS
  7. Blackholing and sinkholing
  8. Pulisci tubi

ma se hai bisogno di un sistema di accesso sicuro puoi usare un captcha, anche quello che hai creato tu stesso. genera semplicemente un numero casuale di 5 cifre e crea un'immagine in PHP con il numero stampato in esso e mostra l'immagine sul modulo e quando l'utente invia il modulo, controlla se il numero che hai generato corrisponde a quello inserito dall'utente. e inoltre puoi utilizzare le librerie AES PHP / JavaScript per crittografare gli input utente sul lato client e decrittografarli sul server.

    
risposta data 25.07.2014 - 23:22
fonte
0

la società di hosting non farà molto per te in termini di DDoS. Non appena arriva alla grande (che con la maggior parte dell'hosting è piccola) e / o allaga l'ISP, ti farà blackhole. Prova qualcosa come Prolexic o Akamai (la successiva API con la loro nuova versione). buona fortuna.

    
risposta data 20.04.2017 - 11:42
fonte

Leggi altre domande sui tag