On Tue, 22 Oct 2013, clash wrote:
> Il 22/10/2013 10:38, snORky ha scritto:
>
> > puoi aggiungere anche fail2ban
> > pero' se non configuri bene tutti gli alert non serve a molto...
>
> pero' fail2ban lavora su ricerca di stringhe nei log non a livello di
> socket di rete, quindi è impotente, che ne so, contro i vari torhammer,
infatti e' quello che intendevo per minimale. aggiungo dunque il nostro
approccio che evita di analizzare logs ma anche iptables che diciamocelo
consuma cicli cpu pure quello
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
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.
ciao