ďťż
 
 
   [+] bash - netstat, iptables i blokowanie IP
 
 

Tematy

 
    
 

 

 

 

[+] bash - netstat, iptables i blokowanie IP





wspo - 10-11-2008 10:44
Jako, że jestem tu nowy witam wszystkich.
Od pewnego czasu usiłuje napisać prosty skrypcik ale jak się okazało przerósł on moje możliwości więc prosiłbym o małą pomoc.
Sprawa wygląda następująco:
Skrypt ma mieć za zadanie sprawdzenie liczby połączeń do serwera apache z poszczególnych IP.
Używam do tego polecenia: netstat -plan | grep :80 | awk {'print $5'} | cut -d: -f 1 | sort | uniq -c | sort -nk 1 a w wyniku tego otrzymuje coś takiego:
1 0.0.0.0
      1 83.24.xx.xx
      1 85.202.xx.xx
      1 89.238.xx.xx
      2 78.88.xx.xx
      2 81.15.xx.xx
      2 83.21.xx.xx
      2 85.193.xx.xx
      2 88.220.xx.xx
      2 89.238.xx.xx
      2 93.105.xx.xx
      4 83.1.xx.xx
      4 83.27.xx.xx
      6 85.198.xx.xx xx - ocenzurowałem IP

I teraz pytanie. Jak napisać skrypt aby w przypadku gdy liczba połączeń z jakiegoś IP przekroczy na przykład wartość 50 (kolumna po lewej stronie) banował adres IP, który ustanowił nadmierną ilość połączeń do apache i tym samym zapycha serwer.

P.S: Banować za pomocą iptables umiem. Mógłbym zabezpieczyć apache na przykład instalując mod-evasive no ale używam Debiana 4.0 Etch, dla którego ten mod coś nie chce mi śmigać. Wiem, że taki skrypt nie jest najlepszym rozwiązaniem jeśli chodzi o bezpieczeństwo apache no ale ciekawi mnie jak w ogóle zabrać się za pisanie takiego skryptu. Jeśli ktoś by był na tyle dobry, aby zechciało się mu napisać gotowy skrypt bardzo byłbym wdzięczny.



salmon - 10-11-2008 11:30
tak na szybko to dodaj na końcu filtrowanie: awk '$1> 50{print $2}' i masz tylko te do zbanowania.

A tak w ogóle to chyba fail2ban już coś takiego robi, możesz się nim zainteresować.



wspo - 10-11-2008 21:31
Dzięki bardzo mi pomogłeś.



maxblink - 04-12-2008 06:41
Wie ktoś może jak na przykład zrobić taką listę ale połączeń z moim pc, przez port np.: 6112?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis