Ricerca in FOLBlog

[SdSM] DDDDDDDDDDDDDDOS!

 Scritto da alle 06:27 del 23/10/2011  Aggiungi commenti
Ott 232011
 
closeQuesto articolo è stato pubblicato 5 anni 9 mesi 30 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi. Questo sito non è responsabile per eventuali errori causati da questo problema.

image

E’ un (quasi) tranquillo giovedi’ quando una iconcina rossa lampeggiante attira la mia attenzione. Hummm… pare che il server di $noivogliamopagarepocoanziniente abbia qualche problemino. Vediamo un po’… ed infatti e’ lento come la fame. Che accidenti ha sto’ coso? E vedo subito quale e’ il problema: 6000 SYN contemporanei. Ahi ahi ahi signora Ghemboli, mi e’ caduta proprio sul DOS!

Yup, un bel DDOS niente meno, in un paio di minuti becco un migliaio di IP diversi, russia, cina, korea, c’e’ di tutto e di piu’.

E dato che $noivogliamopagarepocoanziniente vuole pagare poco (anzi niente), il foxxuto sito e’ ospitato su una macchina condivisa insieme ad altri siti che adesso stanno soffrendo come dei bassotti sulla neve. Vado a riportare a Da Boss.

DB – Che possiamo fare?
IO – Bloccare l’IP a livello di firewall.
DB – Tutti gli ip che arrivano? Ma sono tanti…
IO – No, io intendo bloccare l’IP del server, metterlo off-line.
DB – ??? Come off-line??
IO – Allora, lo scopo di questa gente (gesticolando verso lo schermo del computer), intendo chi sta’ facendo l’attacco, e’ di rompere i marroni e far spendere dei soldi per cercare di respingerlo, lo scopo di quell’altra gente, intendo $noivogliamo, e’ di pagare il meno possibile (anzi di meno). Quindi qualsiasi cosa noi facciamo andra’ contro il principale volere dei nostri clienti. Percui la cosa piu’ semplice da fare e’ mettere il sito fuori linea ed aspettare un paio di giorni, tra un paio di giorni vedremo se si sono stufati oppure no.

Ovviamente DB ha cominciato ad ullullare riguardo ai livelli di servizio e roba cosi’…

IO – In tal caso la cosa migliore da fare e’ spostare il sito su un server dedicato in un diverso range di rete in modo che almeno non rompa i marroni agli altri siti che sono su quella macchina, ovviamente $noivogliamo dovra’ pagare il setup ed il mantenimento, e poi cominciare ad aggiungere ratelimiting et similia. Ma ovviamente questo costera’ tempo (e quindi soldi) e se non vuoi regalarlo a $noivogliamo qualcuno dovra’ anche pagare.

Alla fine siamo rimasti che io avrei iniziato l’installazione del nuovo server fisico e dedicato per $noivogliamo mentre DaBoss avrebbe gestito la discussione monetaria con $noivogliamo. L’installazione mi prende circa un’oretta, mentre sono li’ che cerco un indirizzo IP libero ed arrangio con Bart un routing su uno degli switch al centro arriva DB.

DB – Ho parlato con UL di $noivogliamo ed abbiamo l’ok per lo spostamento, il server e’ pronto?
IO – Installato e’ installato, ma ancora non ho aggiunto niente di firewalling e ratelimiting. Quindi direi che c’e’ ancora da lavorarci…
DB – Ma lo possiamo fare dopo che e’ installato al datacenter! Mettetelo su’ subito…

Qualche cosa mi fa’ pensare che i vari clienti che sono sul server condiviso (che anche loro sono nella stessa lega dal braccino corto di $noivogliamo) hanno cominciato a lamentarsi per la lentezza dei loro siti… Comunquesia, ci manca poco che DB spinga me e Bart fuori dalla porta col server in mano per andare ad installarlo. Il che significa che un’oretta dopo il server e’ Up & Running ma senza uno straccio di firewall, ed io sono li’ che stramaledico DB per la sua foxxuta fretta mentre cerco di mettere insieme un paio di regole di iptables per bloccare sta’ schifezza.

E subito scopro un bel problema: CentOS ha un bel bug in iptables percui al massimo posso avere 100 indirizzi nella tabella di rate limiting.

Dopo un paio di smadonnamenti in direzione generica di CentOS e di chi dubita della superiorita’ di distribuzioni che non masturbano i sorgenti dei software che distribuiscono (tipo Slackware per intenderci), metto insieme un paio di script da mettere in pipe al log di Varnish in modo che se lo stesso IP mi appare piu’ di 20 volte in 30 secondi finisce nel firewall in una bella chain “blacklist”.

Rimango a guardare la chain che parte da zero e raggiunge i 5000 elementi nel giro di una ventina di minuti… Wow… Ok, e’ ora di andarsene a casa. Quella sera mi collego verso le nove per dare un’occhiata e vedo che la chain ha raggiunto i 7000 elementi, nel frattempo il numero di pacchetti per secondo sullo switch e’ fisso a 12 mila. Mi sa che $noivogliamo ricevera’ una bella fatturina per uso di banda… poi mi viene un dubbio e guardo questo cappero di sito di $noivogliamo… hummm… non vedo niente di strano, niente che possa attrarre un DDOS, qualche cosa mi fa’ pensare che qualcuno abbia cannato l’indirizzo ip del ricevente, ma che ci vogliamo fare?

Comunque sia, il sito rimane relativamente lento ma funzionale per i giorni a seguire, mentre il numero di connessioni varia da 6000 a circa 200 durante il fine settimana per poi risalire fino ad 8000 al martedi’ successivo. DB persiste nel domandare updates della situazione e “miglioramenti”, io gli faccio presente che continuare a masturbare un firewall non porta nessun miglioramento ma semplicemente aumenta la fattura che dovremmo spedire a $noivogliamo alla fine del mese.

Dopo un’altra settimana, siamo sempre li’ sulle 5~6000 connessioni contemporanee ed oltre 8000 indirizzi IP nel firewall. Non so chi e’ che questa gente abbia fatto incazzare ma paiono ben determinati. Ovviamente bisogna anche considerare che a loro (quelli del DDOS) non costa niente. Ma io mi aspetto di sentire altri ullullati quando $noivogliamo ricevera’ la fattura per il tempo speso a stare dietro al loro sito del menga.

Davide

legenda personaggi

Articoli simili:

  • Facebook
  • Twitter
  • Delicious
  • StumbleUpon
  • Wikio
  • Reddit
  • Technorati
  • Segnalo
  • Live
  • Add to favorites
  • Email
  • RSS

 Lascia un commento

Puoi usare questi tag e attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(richiesto)

(richiesto)

Pinterest
EmailEmail
PrintPrint
%d blogger hanno fatto clic su Mi Piace per questo: