Re: [Hackmeeting] attacco DDoS a Nodo50, suggerimenti sull'a…

Delete this message

Reply to this message
Autor: bisco
Data:  
Para: hackmeeting
Assunto: Re: [Hackmeeting] attacco DDoS a Nodo50, suggerimenti sull'autodifesa
Il 22.10.2013 10:17 Jaromil ha scritto:
[cut]
>
> qui parsiamo netstat ogni $sleep contando le connessioni aperte, se
> sono
> piu' di $connlimit le mettiamo in "blackhole" (che e' una roba
> built-in)
>
>  while `sleep $sleep`; do
>   conns=`netstat -ntau | tail -n+3 | awk '{print $5}' | cut -d: -f1 |
> sort | uniq -c`
>   for c in ${(f)conns}; do
>     ip=`print $c | awk '{print $2}'`
>     nc=`print $c | awk '{print $1}'`
>     { test "$ip" = "127.0.0.1" } && { continue }
>     # altri ip in whitelist qui

>
>     { test $nc -gt $connlimit } && {
>      echo "$ip -> blackhole"
>      echo "ip route add blackhole $ip"
>         echo "$ip" >> blacklist-live.list
>         ip route add blackhole $ip }
>   done
>  done

>
> questa roba non ha memoria
>


in questo caso hai comunque il kernel che deve capire se deve rispondere
o meno a un determinato IP, ma la richiesta t'e' arrivata e ti
continuera' ad arrivare. quello che fai e' non mandargli alcuna
risposta.

e' corretto o mi son perso un pezzo?

> ora a me piacerebbe fare la stessa cosa ma in C e con un sqlite che fa
> dei controlli sulle connessioni piu' raffinati e soprattutto tiene
> memoria tra un'avvio ed un altro.
>


sicuramente sarebbe un miglioramento nelle prestazioni e sulla
flessibilita'.

PS: chiaramente quando ho scritto il PS nella mail che ho mandato poco
fa non ha tenuto conto di questa :)

ciao

--
bisco