İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Linux icin top 20 http baglantisini gormek ve iptables ile bloklamak

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
Linux icin top 20 http baglantisini gormek.
Bunu biraz once yazdim, tek satir ama cok ise yariyor.
Ozellikle DOS yada DDOS saldiri yaptiklarinda IP adreslerini tesbit etmek icin ideal.
PHP:
netstat -an | grep ":80 "| awk '{print $5}'|cut -d":" -f1 | sort |uniq -c | sort -nr | head -20 | grep -v -E "127.0.0.1|0.0.0.0"
Bu listede cok dikkati ceken (en ustteki) IP leri (eger cok fazla sayida ise ornegin 100) bloklamak icin asagidaki ornegi kullanabilirsiniz:
PHP:
iptables -I INPUT -s 85.97.22.70 -j DROP

Ek olarak bu da 10 un uzerindeki baglantilari gosteriyor, ($1 > 10) buradaki 10 degerini degistirerek daha buyuk degerlere ayarliyabilirsiniz, ornegin 100 sonrada bunu bir script haline getirip donen degerleri iptables ile bloklayabilirsiniz. Ardindan bu scripti cron da calistirabilirsiniz:
PHP:
netstat -an | grep ":80 "| awk '{print $5}'|cut -d":" -f1 | sort| uniq -c | sort -nr | grep -v -E "127.0.0.1|0.0.0.0|10.0.0.1" | awk '{ if ($1 > 10) { print $1 " " $2 ; }}'

Bu biraz daha iyi bir kod, birkac ddos sitesi gezdikten sonra derledim:
PHP:
netstat -ntu | awk '{print $5}'|cut -d":" -f1 | sort| uniq -c | sort -nr | grep -v -E "127.0.0.1|0.0.0.0|10.0.0.1" | awk '{ if ($1 > 150) { print $1 " " $2 ; }}'
 

okan23

0
İyinet Üyesi
Katılım
29 Eylül 2005
Mesajlar
499
Reaction score
0
60 değeri optimum bence çok fazla resim içeren site varsa ve keep alive kapalı ise banlanma ihtimaliniz daha fazla
 

Wishmaster

0
İyinet Üyesi
Katılım
16 Eylül 2005
Mesajlar
322
Reaction score
0
Konum
Kocaeli
böyle bir durum olursa
# iptables -f yaparak tüm kuralları kaldırabilirsiniz. Bilmiyenler olabilir diye yazdım.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
okan23' Alıntı:
60 değeri optimum bence çok fazla resim içeren site varsa ve keep alive kapalı ise banlanma ihtimaliniz daha fazla

Evet sitenin yogunluguna gore degisiyor, once gozlemleyip sonra karar vermek en iyisi.
 

UndeaD

0
İyinet Üyesi
Katılım
19 Aralık 2004
Mesajlar
337
Reaction score
0
root@server [/etc]# ./deneme.sh
./deneme.sh: line 1: unexpected EOF while looking for matching `"'
./deneme.sh: line 2: syntax error: unexpected end of file

erroru alıyorum :S sorun nedir acaba ?
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
deneme.sh icindekileri buraya kopyala bakayim.
 

UndeaD

0
İyinet Üyesi
Katılım
19 Aralık 2004
Mesajlar
337
Reaction score
0
netstat -an | grep ":80 "| awk '{print $5}'|cut -d":" -f1 | uniq -c | sort -nr | head -20 | grep -v -E "127.0.0.1|0.0.0.0
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
En sonda " yok.
Onun yerine bunu kullan:

PHP:
netstat -an | grep ":80 "| awk '{print $5}'|cut -d":" -f1 | sort | uniq -c | sort -nr | head -20 | grep -v -E "127.0.0.1|0.0.0.0"
 

UndeaD

0
İyinet Üyesi
Katılım
19 Aralık 2004
Mesajlar
337
Reaction score
0
dikkatimi çekti :D tam cevaplıyordum sen yuazmışın saol..
 

UndeaD

0
İyinet Üyesi
Katılım
19 Aralık 2004
Mesajlar
337
Reaction score
0
bu arada scriptteki 20 değeriini nekadar yükseltirsem liste okadar çoğalıyor fakat bunların okada bağlantısı olduğunu sanmıorum :D 1000 yazdım mesala liste 25-30 kişi fln oldu :S
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
1. yukaridaki yeni komut satirini mi kullaniyorsun?
2. head onundeki 20 rakami kac satir gosterecegini belirliyor
 

UndeaD

0
İyinet Üyesi
Katılım
19 Aralık 2004
Mesajlar
337
Reaction score
0
hmm anladım.. peki bunu nasıl çoğaltabiliriz mesala 50 bağlantısı olanı göstermesini ?
şimdiden saol
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
ilk mesajimda yazmistim ama yine yazayim.
Asagidaki satirda 50 rakami, sadece 50 den buyuk baglanti sayilari olan IP leri listeler. 50 den buyuk baglanti sayisi yok ise hic birsey listemez.

PHP:
netstat -an | grep ":80 "| awk '{print $5}'|cut -d":" -f1 | sort| uniq -c | sort -nr | grep -v -E "127.0.0.1|0.0.0.0|10.0.0.1" | awk '{ if ($1 > 50) { print $1 " " $2 ; }}'
 

UndeaD

0
İyinet Üyesi
Katılım
19 Aralık 2004
Mesajlar
337
Reaction score
0
saol oldu galiba

18 217.157.141.21
10 85.107.92.34
8 85.100.203.92

yanlarındaki 18 , 10 , 8 bağlantı sayısınımı listeliyor acaba *

iyinetadmin cevap: evet
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst