KlavyeMonitor.com    


MENÜ

. ANASAYFA

. KABLOSUZ & TELSİZ

. AVUÇİÇİ & CEP

. LINUX

. WINDOWS

. WEB

. INTERNET

. BİLGİSAYAR

. ANTİK BİLGİ

. ARAMA

. BAĞLANTILAR
. Spam Gönderenler

POPÜLERLER

htmlders

linux kitapları

proxy adresleri kablo

sayisal loto sans topu

elmekyonlen

TDGTW-WarXing

eposta yazim kurallari

BearShare Morpheus ve iMeshi Hizlandirma Yolu

proxy-hiz

komutlar

web hosting hizmetleri

inet-hiz

linux ile windowslari uyutmak

squidle2kat

yedekleme

internet hizi

database oracle mysql sql komutlari

windows mydoom virus

PDA ve cep telefonu icin www sayfasi yapimi


= = =

Favorilere ekle
Google




Linux'ta Bogofilter ve YoSucker Kullanarak Yahoo Hesabımızdaki Mektupları Spam'sız Okumak


Ocak 2004
İlker Fıçıcılar

İstenmeyen Epostalar (spam) giderek artan bir sorun. Bu sorunu gidermeye yönelik çözümler ise, spam yollayanların sürekli yeni taktik ve yöntem değiştirmeleri sebebiyle ilgi istiyor.

Bu çözümlerden Bayesian Filtre kullananlar neyin spam olup neyin olmadığını kendi kendilerine öğrendikleri için daha az bakım isteyen ve daha başarılı bir yöntem olarak öne çıkıyor. Linux'ta, C ile yazıldığı için işlemciye yük getirmeyen Bogofilter adlı program bayesian filtreleme ile spam ayıklama için oldukça ideal bir çözüm.

Web tabanlı yahoo eposta hizmeti kendi spam ayıklama uygulamasına sahip olmasına karşın, anlaşmalı olduğu firmaların reklamlarını filtrelemeden gönderiyor. Bunun yanında, kendi uygulaması Türkçe spam'ları her zaman yakalayamayabiliyor. Bizim burada amacımız ise, Yahoo'nun sayfasına web tarayıcı ile hiç bağlanmadan, YoSucker adlı programla mektupları kendi bilgisayarımıza çekip bogofilter ile filtreledikten sonra, istediğimiz bir mektup okuyucu programla (sylpheed, evolution, kmail, pine, elm, ... vs.) epostalarımızı temiz temiz okumak.

YoSucker programını şuradan edinebiliriz:

http://yosucker.sourceforge.net/

YoSucker'ı kurduktan sonra, kılavuzunda belirtildiği biçimde Yahoo hesabımız için ayarlarımızı yapmalı, ve yahoo kimlik ve parolamızı gerektiği gibi şifreleyerek mektup alma denemesi yapmalıyız. Her şey yolundaysa mektuplar /var/spool/mail veya muadili bir sistem eposta klasörüne gelmiş olmalıdır. Bir sonraki adımda, YoSucker'ın ayar dosyasını pipe kullanacak şekilde değiştireceğiz.

Bogofilter programını da şu adresten indirebiliyoruz:

http://bogofilter.sourceforge.net/

Bogofilter'ı sorunsuz kurduktan sonra, eğitmemiz gerekli. Bunu, root kullanıcısı ile yapalım. Ayıklama veritabanı, kullanıcının ~/.bogofilter/ klasöründe tutulacağından, ve YoSucker'ı da olasılıkla root haklarıyla crontab'dan çalıştırmak isteyeceğimizden bu işimizi kolaylaştıran bir tercih.

Eğitim için bir miktar (100 civarı daha iyi olur), spam epostaya gereksiniminiz var. Bu epostaları size gelenlerden seçmeniz daha iyi olur, bu şekilde size gelen epostalara daha iyi uyum sağlanmış olacak. Aynı miktarda da temiz epostayı da edindikten sonra, bogofilter'ı -s ve -n parametreleri ile kullanarak eğitiyoruz. Örneğin:

bogofilter -s < spamli_bir_eposta.txt

ya da:
cat /tmp/spamli_epostalar_klasörü/* | bogofilter -s

Bu -s parametresi ile spamli mektupların neye benzediğini öğrettik. Benzer şekilde temiz epostaları da -n ile öğretelim:

bogofilter -n < temiz_bir_eposta.txt

ya da:
cat /tmp/temiz_epostalar_klasörü/* | bogofilter -n

Bundan sonra ise -t veya -T parametresiyle bir epostanın spam olup olmadığını sorup öğrenebiliriz:

bogofilter -t < bu_spam_mi.txt

Sonuç olarak eğer spam değilse

N 0.056494

gibi bir sonuç getirecek. N spam olmadığını, 0.056494 sayısı ise spam olma olasılığını (0.0 ile 1.0 arasında) gösteriyor.
Komutun döndürdüğü ERRORLEVEL ise 1 ( yazıyla bir ). Bogofilter bir spam tesbit programı olduğundan, spam bulduğu zaman herşey yolunda anlamında 0 ERRORLEVEL ile çıkarken, spam bulamadığında bunu başarısızlık addedip 1 hata koduyla çıkıyor. Bu noktayı script yazarken karıştırmamak, ve unutmamak gerekli: Spam ise 0, değilse 1. Yani alıştığımızın tersi.

Bogofilter, filtreden geçirdiği epostalara X-Bogosity adlı bir başlık ekliyor. Ama biz kolaylık olması için, bununla yetinmeyip spam'li mektupların Subject: başlıklarına da bir işaret koyalım. Bunun için şöyle bir filtre scripti yazmamız yeterli:

#!/bin/bash
#
kullanici="ilker"
mektupkutusu="/var/mail/$kullanici"
ds=`date +%H%M%S`
ds="/tmp/mektup-$ds.tmp"
cat - |/usr/local/bin/bogofilter -p -d /root/.bogofilter/ > "$ds"
if [ $? -ne 0 ];then
cat "$ds"| sed "s/charset=us-ascii/charset=iso-8859-9/g" >> "$mektupkutusu"
else
cat "$ds"| sed "s/charset=us-ascii/charset=iso-8859-9/g;\
s/^Subject: /Subject: #### SPAM #### /g" >> "$mektupkutusu"
fi
rm "$ds" 2>/dev/null

Bu scriptte size özel yerleri değiştirmeyi unutmamalısınız (kullanici="ilker" veya /root/.bogofilter/ gibi). Bu bash shell scripti /usr/local/bin gibi uygun bir yere, filtrele gibi bir adla kaydedebiliriz. Dosyayı çalıştırılabilir yapmayı da unutmamalı:
chmod u=rwx,go=rx /usr/local/bin/filtrele
ya da:
chmod 755 /usr/local/bin/filtrele

Script kısaca mektubun spam olup olmadığına bakıyor ve spam ise mektubun "Subject:" kısmını "Subject: #### SPAM #### " biçiminde değiştiriyor. Böyle konu başlıklı bir epostayı da daha sonra herhangi bir mektup okuma programıyla filtreleyip istediğimiz bir posta kutusuna veya çöpe atmamız mümkün. Bu arada script, hazır eli değmişken yahoo'dan gelen mektupların Türkçe sorununu da gideriveriyor: (sed "s/charset=us-ascii/charset=iso-8859-9/g;).

Şimdi bu filtrele scriptini YoSucker ile ilişkilendirelim. İlgili YoSucker conf dosyasında şu değişiklikleri yapıyoruz:

OUTFILE=/usr/local/bin/fitrele

PIPE=1

Evet, hepsi bu. Artık YoSucker'ın çektiği her eposta spam ayıklamasına tabii tutulacak. Spam'li epostaların konu başlıklarında ise "#### SPAM ####" yazıyor olacak.

Bogofilter, veritabanı yeterli değil ise mektupları yanlış sınıflandırabilir. Bunun gibi durumlarda, yeni gelen epostalarla bogofilterınızı biraz daha eğitmelisiniz. Ya da bir başka çözüm olarak, bogofilter'ın her yeni mektupla kendisini kendi kendine eğitmesini sağlayabilirsiniz. Bunun için filtrele scriptimizde, bogofilter'a -u parametresini de eklememiz yeterli. Yalnız bu özelliği kullanmazdan önce man bogofilter ile bogofilter'ın kılavuzunu okumanızda, ve oradaki uyarılara dikkat etmenizde yarar var.

Spam'siz günler dileğiyle...

Ocak 2004
İlker FIÇICILAR

Ek bilgi için:
http://www.spam.org.tr/bogofilter-tr.htm
http://www.spam.org.tr/
http://anti-spam.ku.edu.tr/

İlgili Benzer Yazılar:


Arama önerileri: antispam, nospam, spam abuse, istenmeyen eposta engelleme, reklam engelleme,


Kaynak gösterecekler için referans: "AntiSpam Amaçlı Bogofilter Kullanımı, ve Yahoo'dan POP3 Kullanmadan Email Çekme", İlker Fıçıcılar, http://www.KlavyeMonitor.com/yahoo_anti_spam_bogofilter_linux.html


 
 
 
   
Bu sayfaları Linux'ta oluşturan programı yazan: İlker Fıçıcılar