ISP’ler için SPAM istatistiği çıkarma

ISP sistemlerini yöneten arkadaşların günümüzdeki temel sıkıntılarının başında dinamik ip kullanan müşterilerin bilgisayarlarından SPAM  gönderilmesi(bilgisayarlara bulaşan çeşitli zararlı yazılımlar sonucu)  ve bu ip adreslerinin kara listelere girmesi sonucu aynı ip adresini alacak diğer müşterilerin e-posta göndermede sorun yaşaması gelmektedir.

ISP tarafından bakıldığında elimizde sınırlı ip adresi olduğu için müşterilerin her bağlantısında farklı ip adresi veriliyor ve eğer bir ip adresi spam kara listelerine girdiyse o ip adresini başka müşteri aldığında mail gönderemiyor ya da gönderdiği mailler Junk, Spam klasörlerine düşüyor.

ISP ortamında yüzbinlerce kullanıcı olduğu için ve bu yüzbinlerce kullanıcı milyonlarca mail gönderdiği için hangi mailin spam hangisinin normal olduğunu bulmanın kolay bir yolu yok. Tabi patronların lügatında yok/olmaz diye bir sözcük yer almadığı için iş başa düştü ve milyonlarca mailin aktığı bir sistemde %kaç oranında SPAM mail gidiyor, %kaç oranında ip adresi spam listelerine girmiş sorularına cevap aramaya koyulduk.

Teknik olarak cevaplandırmaya çalıştığımız sorular: ağımızdan ne kadar spam gönderiliyor, hangi ip adresleri spam gönderiyor ve ötesinde spam gönderen ip adreslerinin kaç tanesi kara listelere girmiş durumdadır?

İlk olarak bir ip adresinin spammer olup olmadığını bulacak mantık düşündük.  Spammer mantığımız şöyle çalışıyor: bir ip adresi belirli değerden fazla(örneğin 500) SMTP bağlantısı kurmaya çalışıyorsa bu ip adresi spam göndermeye çalışıyor demektir.

Adım adım Spam listesi çıkarma

İlk olarak  TCP/25 portuna yapılan bağlantı isteklerini(SYN paketi)  loglamamız gerekiyor

# tcpdump -nntttt -i lagg0  -w hamlog.pcap   \( src net 199.0.0.0/17 src net 192.0.0./16 \) and dst port 25 and  ‘tcp[13] & 2 != 0’ &

Yukardaki komutu tüm SMTP trafiğini görecek bir konumda çalıştırmak gerekir. Bunun için TAP cihazları ya da Switchlerden mirror alarak Linux sistemler kullanılabilir.

hamlog.pcap dosyası bizim ip bloğumuzdan yapılan tüm SMTP bağlantılarını içermektedir.

Bu dosya içerisinden hangi ip adresinin kaç adet SMTP bağlantısı başlatmak istediği bilgisini çıkaralım

#tcpdump -nn -r hamlog>textlog

#cut -f3 -d” ” cuma |cut -f1,2,3,4 -d”.”|sort -n|uniq -c |sort -nr>liste

Listeye bakacak olursak aslında spam gönderici ip adresleri hemen belli oluyor. Bir ip adresinin 32.000 SMTP bağlantısı başlatma isteğinde bulunması bormal değildir.

326189 88.101.218.151
220194 99.79.22.97
218239 99.79.63.9
189308 17.17.16.131
144264 99.79.43.122
142219 99.79.13.25
122556 99.57.67.104
121786 99.79.102.70
120254 99.79.91.239
119938 99.79.126.59
119047 99.79.79.183
103905 99.79.76.173
103525 99.79.91.221

Bu dosya hangi ip adresinin kaç adet STMP bağlantısı kurmaya çalıştığını da içermektedir. Bize sadece hangi ip adresleri spam gönderiyor bilgisi lazım. Bu bilgiyi de aşağıdaki komutla alabiliriz.

#akw -F ” ” ‘{print $2}’ >liste

Sonra ortaya çıkan ip adreslerini RBL sorgulaması yaparak hangilerinin SPAM kara listelerine girdiğini bulabiliriz.

Komut satırından RBL sorgulaması için rblcheck yazılımını kullanıyorum.

#for a in `cat sorgu`;do rblcheck -m $a |grep -v “not listed”;done >>SONUC

SONUC dosyasi icerigine bakacak olursak hangi ip adreslerinin hangi karalistelere girdiğini görebiliriz.

11.22.111.243 listed by xbl.spamhaus.org
11.22.60.245 listed by pbl.spamhaus.org
11.22.81.66 listed by pbl.spamhaus.org
11.22.35.151 listed by xbl.spamhaus.org
11.22.94.254 listed by xbl.spamhaus.org
11.22.31.0 listed by pbl.spamhaus.org
11.22.78.254 listed by pbl.spamhaus.org
1.23.4.175 listed by xbl.spamhaus.org
11.22.76.9 listed by pbl.spamhaus.org
11.22.71.101 listed by xbl.spamhaus.org
11.22.54.221 listed by xbl.spamhaus.org
11.22.81.27 listed by pbl.spamhaus.org
7.7.27.29 listed by xbl.spamhaus.org

NOT: Burada uygulanan yöntem tüm SMTP trafiğini TAP cihazlarıyla kaydedilmesi ve kaydedilen trafik üzerinde işlem yapılmasıyla gerçekleştirilmiştir.

This entry was posted in Misc, Network Security, Sniffer, SPAM and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

16 − two =