Storie dalla Sala Macchine


Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | Login/Register


DDDDDDDDDDDDDDOS!

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
09/05/2011 08:00

Precedente Successivo

I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.

16 messaggi this document does not accept new posts

Alberto

Di Alberto postato il 09/05/2011 08:56

Forse qualcuno si sarà incazzato con $noivogliamo perchè non è stato pagato per qualche servizio

-- Alberto

z f k

Di z f k postato il 09/05/2011 09:09

Beh, costa niente...  Le botnet si affittano, costano poco, ma costano; e tenere su un attacco per due settimane di fila comincia a far salire il totale.

Per curiosità, che porte/servizi hanno attaccato?

CYA

-- z f k

Davide Bianchi

@ z f k Di Davide Bianchi postato il 09/05/2011 09:29

Per curiosità, che porte/servizi hanno attaccato?

Solo http. D'altra parte non c'e' altro aperto sul firewall per quel server.

-- Davide Bianchi

WM

Di WM postato il 09/05/2011 09:18

>> non vedo niente di strano, niente che possa attrarre un DDOS

giusto per curiosita': cosa ti saresti aspettato?

WM

-- WM

Davide Bianchi

@ WM Di Davide Bianchi postato il 09/05/2011 09:30

giusto per curiosita': cosa ti saresti aspettato?

Bho! Con tutti i siti che ospitiamo che sono collegati a parti del governo o servizi piu' o meno pubblici mi sarei aspettato qualche cosa del genere.

-- Davide Bianchi

Kim Allamandola

Di Kim Allamandola postato il 09/05/2011 09:19

Io suggerirei al $cliente tanto per fargli digerire il conto: "ad ogni

modo lei deve pagare per colpa di terzi; può sporgere denuncia e

valutare se ha una qualche copertura assicurativa..."



Cosa che lo terrà impegnato a trovare un'"assicurazione" per moooolto

tempo :-\)



#ifdef vagamente_OT

Da ex {Open,}Solarista, orfano di SUN, che non si sente troppo cullato

sotto IllumOS, debbo dire che Ubuntu non se la cava male: ha un po'

di bug, non ultimo della 11.04, l'install btrfs+luks+lvm dove

grub non riconosce il nuovo btrfs --- ZFS, DOVE ***** SEI --- e devi

lavorare un minimo a mano (o a script), ma fa il suo lavoro sia sui

desktop che sui server... La slack l'è un po' scomoda da mantenere

IMO...

#endif // vagamente_OT

 

-- Kim Allamandola

Anonymous coward

@ Kim Allamandola Di Anonymous coward postato il 10/05/2011 20:38

di bug, non ultimo della 11.04, l'install btrfs+luks+lvm dove

grub non riconosce il nuovo btrfs --- ZFS, DOVE ***** SEI --- e devi

Dove e' ZFS? sicuramente NON in ubuntu, visto che linux e zfs hanno licenze che si escludono a vicenda. quindi ninete ZFS in "kernel space" linux.

Prova a cercarlo in Debian GNU/kFreebsd :D

-- Anonymous coward

Manuel Ravasio

Di Manuel Ravasio postato il 09/05/2011 09:24

E una volta di piu' Slackware vince a mani basse!!!

-- Manuel Ravasio

Anonymous coward

Di Anonymous coward postato il 09/05/2011 10:58

> 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.

Cos'è... i commerciali si son messi a smanettare nel codice? :D

Un limite "serio", messo da un programmatore, sarebbe... che so... 64, 128... 256... ma 100 che numero è?!??

-- Anonymous coward

Verzasoft

Di Verzasoft postato il 09/05/2011 14:22

Un limite "serio", messo da un programmatore, sarebbe... che so... 64, 128... 256... ma 100 che numero è?!??

E' un numero tondo...

-- http://www.verzasoft.tk

BlackKatMike

@ Verzasoft Di BlackKatMike postato il 09/05/2011 17:14

 

Un limite "serio", messo da un programmatore, sarebbe... che so... 64, 128... 256... ma 100 che numero è?!??

E' un numero tondo...

 

Tondo in base 10, sì, ma si parlava di limiti tondi in base 2...

-- BlackKatMike

Anonymous coward

Di Anonymous coward postato il 09/05/2011 18:50

>DB - Che possiamo fare?

come mi stanno sulle balle quelli che parlano al plurale qnado poi il lavoro lo devi fare tu: "Contattiamo gli utenti", "sistemiamo quei 12 pc entro oggi", "redisgiamo le specifiche"... etc etc

>DB - Ho parlato con UL di $noivogliamo ed abbiamo l'ok per lo spostamento,il server e' pronto?

ma sicuramente $noivogliamo non sono stati informati dei costi....

>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.

ah ecco. Mi raccomando la storia quando $noisiamopezzenti piangera' strappandosi le vesti e fara' di tutto per non pagare.

PS: ma perche' "ullulare" con 3 "l"? non me bastano due?

PS2: ma come si fa a "ddos"sare qualcuno? come si contattano i padroni della botnet? Accettano paypal? no, perche' c'e' un certo sito italiano che mi sta sulle balle, quanto costa tirarlo giu' qualche giorno? :-\)

-- Anonymous coward

Davide Bianchi

@ Anonymous coward Di Davide Bianchi postato il 09/05/2011 18:59

ma perche' "ullulare" con 3 "l"?


Se sei una persona normale "ululi", se sei un UL... ULluli...

-- Davide Bianchi

Anonymous coward

@ Davide Bianchi Di Anonymous coward postato il 09/05/2011 22:20

 

ma perche' "ullulare" con 3 "l"?

Se sei una persona normale "ululi", se sei un UL... ULluli...



Castello ululì, lupo ululà, UL ullulà!

-- Anonymous coward

Dotnette

Di Dotnette postato il 11/05/2011 09:40

Mettere un sito down per giorni mi sembra troppo estremo.

Soluzione mia: bloccare TUTTI gli IP cinesi e coreani...e se il sito è a carattere locale magari anche russi, turchi e brasiliani...e soprattutto quelli INDIANI

Se qualche cinese si lamenta gli si dica che è colpa della censura del suo governo.

-- Dotnette

Davide Bianchi

@ Dotnette Di Davide Bianchi postato il 11/05/2011 10:04

bloccare TUTTI gli IP cinesi e coreani


che e' fattibile SE il sito in questione e' l'unico sul server e non su un server condiviso e gli altri non hanno problemi...


-- Davide Bianchi

16 messaggi this document does not accept new posts

Precedente Successivo


Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.


Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.

Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".

Web Interoperability Pleadge Support This Project
Powered By Gojira