Syslogs

Linux/Unix ve Acık Kod uygulamalar uzerine dokumanlar, ipuclari, gelistirmeler ve fazlasi…

Qmail Log Dosyalarının Ebatını Arttırmak

Bilindiği gibi qmail’e ait işlem günlüklerinin tutulduğu dosyalarının ön tanımlı size değeri 100KB’dir. /var/log/qmail dizini altında duran bu log dosyalarının ebatı 100KB’dir sınırına ulaştığı zaman ilgili dosya Multilog tarafından rename edilir ve current isimli yeni bir log dosyası açılır; ayrıca rename edilerek backuplanan eski dosyaların sayısı da en fazla 5 olabilir. Dolayısı ile geçmişe yönelik qmail aktivitelerini daha rahat izleyebilmek için bu log dosyalarının boyutlatını arttırmak isteyebilirsiniz.

Örneğin, qmail-send’e ait aktivitelerin işlem günlüklerini tutan log dosyasının değeriğini attırmak için aşağıdaki yolu izleyebilirsiniz:

Yazinin devami icin tiklayin.

  • Google Bookmarks
  • Twitter
  • FriendFeed
  • LinkedIn
  • Digg
  • Technorati
  • Facebook
  • del.icio.us
  • Add to favorites
  • Yahoo! Bookmarks
  • Live
  • Reddit
  • StumbleUpon
  • MySpace
  • Print
  • PDF
  • email

QmailToaster Kurulumu

Qmail, oldukça kararlı çalışmasından ve modüler yapısı sayesinde sunduğu esneklik sebebiyle çok uzun zamandan beri kullandığım ve önerdiğim bir MTA’dır. Fakat, Qmail’e eklenti olarak geliştirilmiş bir sürü modül bulunduğundan dolayı, tam teşekküllü bir mail sunucusu kurmak istediğinizde bahsi geçen bu modülleri de bilmeniz ve ihtiyacınıza göre kurulumlarını yapmanız gerekiyor. Bu nedenle normal şartlarda kaynak koddan derlenerek kurulan qmail ve ilgili modüller için az da olsa öncesinden bir tecrübe edinmiş olmanız gerekiyor.

Belki henüz qmail ile ilgili olarak bu tarz tecrübeleri edinmemiş fakat gerekli olan tüm modüllerle birlikte bir qmail sunucusu kurmak ve de bunu bir sürü derleme işlemi ile uğraşmadan hızlıca yapabilmek istiyorsunuzdur, işte qmail toaster tam bu noktada yardımımıza koşuyor.

Aslında, bu zamana kadar hiç qmail toaster kurmamıştım, ancak uzun zamandır duyduğum bir şey olduğundan dolayı bir qmail sunucusuna ilk ihtiyacım olduğu an bir qmail toaster kurulumu yaptım. İşte bu yazıda, 5.2 üzerinde yapılan bir qmail toaster kurulumuna ait notları bulabilirsiniz.

Yazinin devami icin tiklayin.

  • Google Bookmarks
  • Twitter
  • FriendFeed
  • LinkedIn
  • Digg
  • Technorati
  • Facebook
  • del.icio.us
  • Add to favorites
  • Yahoo! Bookmarks
  • Live
  • Reddit
  • StumbleUpon
  • MySpace
  • Print
  • PDF
  • email

Qmail logs ve timestamp hadisesi.

Qmail log dosyalarının default tarih formatı ne kadar anlamsız değil mi ? Bu anlamsız format nedeni ile geçmişe yönelik bir mail aktivitesine ait bilgileri log dosyasında ararken ve özellikle tarih bilgisi de önem arz ediyorsa işiniz var demektir.
Multilog tarafından oluşturulan bu log dosyalarındaki, TAI64 isimli format kullanılarak üretilen timestamp’ler bir insan evladının bir bakışta okuyamayacağı kadar karmaşık olduğundan dolayı, bu bilgileri human-readable bir şekle dönüştürmeniz gerekmektedir.
Tai64 formatından, Human-Readable UTC formatına dönüştürme işini yapmak için daemontools paketinin içinde tai64nlocal isimli bir programcık bulunuyor. Bu programı kullanarak convert işlemini yapmak için log dosyasını track etmek için kullandığınız komutun (more, cat vs.) kıçına (pipe) | tai64nlocal ibaresini eklemeniz gerekiyor.
İşte şöyle:
Default timestamp içeren normal bir çıktı:

[root@hostname ~]# more logdosyası
@400000004817b72606025e44 delivery 2: success: accepted_message./Remote_host_said:_250_ok
@400000004817b726062f9094 status: local 0/10 remote 1/120
@400000004817b72606892dfc end msg 351
@400000004817b7260690c364 delivery 4: success: accepted_message./Remote_host_said:_250_ok
@400000004817b7260699b85c status: local 0/10 remote 0/120
@400000004817b72606ce4964 end msg 362

Bu da human-readable hale dönüştürülmüş hali:

Yazinin devami icin tiklayin.

  • Google Bookmarks
  • Twitter
  • FriendFeed
  • LinkedIn
  • Digg
  • Technorati
  • Facebook
  • del.icio.us
  • Add to favorites
  • Yahoo! Bookmarks
  • Live
  • Reddit
  • StumbleUpon
  • MySpace
  • Print
  • PDF
  • email

Greylisting

Greylisting, enteresan ve efektif bir spam ile başetme metodudur. Bu metod, gönderilen her bir mailin source ip’sini, gonderen e-mail adresini ve alıcı e-mail adresini kontrol ediyor. (Bu üç bilgiye triplet deniyor.) Eğer gönderilen bir maile ait bu üç bilgi daha önce rastlanılmamış bir triplet ise "geçici olarak servis dışı"ymış gibi davranarak ilgili maili reject ediyor ve "Daha sonra tekrar deneyiniz" şeklinde bir hata mesajı gönderiyor.

Server servis dışı olmadığı halde gönderilen maili geçici bir süre için reject etti. İşte greylist uygulamasının enteresan yönü bu.

Bu yalancı reject durumunun nedeni aslında çok basit; SMTP’nin standartların belirtildiği RFC 2821 uyarınca, bir mail geçici olarak reject edildiği zaman, gönderide bulunan MTA ya da maili gönderen uygulama bir müddet sonra aynı maili tekrar göndermek için teşebbüsde bulunur; bulunmuyorsa o mail spamdir.

Yazinin devami icin tiklayin.

  • Google Bookmarks
  • Twitter
  • FriendFeed
  • LinkedIn
  • Digg
  • Technorati
  • Facebook
  • del.icio.us
  • Add to favorites
  • Yahoo! Bookmarks
  • Live
  • Reddit
  • StumbleUpon
  • MySpace
  • Print
  • PDF
  • email

Spamdyke – Spam filter for qmail

Hatrı sayılır oranda mail trafiğine sahip bir qmail sunucusunun spam trafiği de o oranda fazla oluyor. Böyle bir sunucum var ve spam ile mücadele etmek için bu serverı, üzerinde spamassassin, qsheff ve rblsmtp kurulu olan bir smtp gateway arkasında çalıştırıyorum. Bu üçlü, kullanıcıları spam illetinden oldukça başarılı bir şekilde kurtarıyor. anti-spam

Ancak söz konusu spam ile savaş olduğunda, bazı zamanlar false positive durumlar yaşanmaması imkansız oluyor. Geçenlerden yine bir false positive sorunu ile karşılaştım. Ilgili qmail üzerinde hesabı bulunan ve Internet’e ADSL ile bağlanan bir kullanıcının ip’sinin, kullandığım block listte yer almasından dolayı gönderdiği mailler RBLSMTP tarafından reject ediliyordu.

Smtp authentication işleminden geçmesine rağmen adsl ip pool’undan aldığı kirli bir ip adresi nedeniyle ortaya çıkan bu sorun kafayi yemek için güzel bir false positive örneği değil mi?

Bu durum karşısında, yani smtp auth yapmış kişiler için rbl check işlemini pass geçmek için bir çözüm ararken Sam Clippinger’ın 2007′de yazdığı spamdyke isimli bir yazılıma rastladım. Qmail için yazılmış bu tool herhangi bir patch gerektirmeden sisteme kolayca kurulabiliyor ve yapılandırması oldukça basit. FreeBSD ports collectionda bulunan spamdyke’ı kurmam ve yapılandırmam 10 dakikamı almadı.
İşte üzerinde vpopmail çalışan bir qmail’in /var/qmail/supervise/qmail-smtpd/run dosyasının spamdyke ile ilgili temel satirları:

/usr/local/bin/spamdyke -l3 -d /var/qmail/control/rcpthosts
-a 300 -T 60 -S /var/qmail/control/blacklist -x bl.spamcop.net
--smtp-auth-command-encryption "/home/vpopmail/bin/vchkpw /usr/bin/true"
--hostname hostname.domainname.com --access-file /etc/tcp.smtp

Smtp auth. özelliğinden başka bir sürü işe yarar özellikle birlikte gelen spamdyke gerçekten süper bir anti-spam aracı.
Şiddetle tavsiye ederim.

Daha fazla bilgi için:
http://www.spamdyke.org/documentation/README.html

  • Google Bookmarks
  • Twitter
  • FriendFeed
  • LinkedIn
  • Digg
  • Technorati
  • Facebook
  • del.icio.us
  • Add to favorites
  • Yahoo! Bookmarks
  • Live
  • Reddit
  • StumbleUpon
  • MySpace
  • Print
  • PDF
  • email

Rblsmtpd

Rblsmtpd, ucspi-tcp paketi ile gelen Realtime Blocking List yazılımıdır. Bu yazılım gelen maillerin source ip’lerini daha önceden belirlediğiniz bir RBL veritabanınında sorgular ve listede bulması halinde maili reject eder. Bu şekilde spammerlara karşı güzel bir önlem almış olursunuz.

Yapılandırması da oldukça kolaydır:

Qmail’inizi stop ettikten sonra, /var/qmail/supervise/qmail-smtpd/run dosyasını editleyin.

Dosyanın orjinali (genel olarak) aşağıdaki gibidir :

#!/bin/sh

QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`

if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
    echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
    echo /var/qmail/supervise/qmail-smtpd/run
    exit 1
fi

if [ ! -f /var/qmail/control/rcpthosts ]; then
    echo "No /var/qmail/control/rcpthosts!"
    echo "Refusing to start SMTP listener because it'll create an open relay"
    exit 1
fi

exec /usr/local/bin/softlimit -m 7000000 \
    /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
        -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1

Dosyaya, aşağıda kırmızı ile belirtilmiş eklemeleri yapın.

#!/bin/sh

QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`

RBLLIST=""
RBLLIST=$RBLLIST" -r bl.spamcop.net"
#RBLLIST=$RBLLIST" -r relays.ordb.org"
RBLLIST=$RBLLIST" -r dnsbl.sorbs.net"
#RBLLIST=$RBLLIST" -r safe.dnsbl.sorbs.net"
#RBLLIST=$RBLLIST" -r dev.null.dk"
#RBLLIST=$RBLLIST" -r list.dsbl.org"
#RBLLIST=$RBLLIST" -r multihop.dsbl.org"
#RBLLIST=$RBLLIST" -r orbs.dorkslayers.com"
#RBLLIST=$RBLLIST" -r orbz.gst-group.co.uk"
#RBLLIST=$RBLLIST" -r sbl-xbl.spamhaus.org"


if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
    echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
    echo /var/qmail/supervise/qmail-smtpd/run
    exit 1
fi

if [ ! -f /var/qmail/control/rcpthosts ]; then
    echo "No /var/qmail/control/rcpthosts!"
    echo "Refusing to start SMTP listener because it'll create an open relay"
    exit 1
fi

exec /usr/local/bin/softlimit -m 7000000 \
    /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
        -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \
/usr/local/bin/rblsmtpd -C $RBLLIST /var/qmail/bin/qmail-smtpd 2>&1

Daha sonra qmail’i yeniden başlatın. Böylce, gelen smtp istekleri dosyanın yukarısında belirtilen RBLLIST sunucularında sorgulanacaktır. Örnekte, bl.spamcop.net ve dnsbl.sorbs.net block listeleri kullanılıyor. Başlarında # işareti konup comment out edilmiş olanlar ignore edilmektedir. Farklı blocklistler kullanmak istemeniz durumunda, yeni RBLLIST satırları ekleyebilirsiniz.

Linkler:
http://cr.yp.to/ucspi-tcp/rblsmtpd.html
http://www.qmailinfo.org/index.php/Rblsmtpd

http://www.belgeler.org/howto/qmail-kurulumu-nasil_rblsmtpd.html

  • Google Bookmarks
  • Twitter
  • FriendFeed
  • LinkedIn
  • Digg
  • Technorati
  • Facebook
  • del.icio.us
  • Add to favorites
  • Yahoo! Bookmarks
  • Live
  • Reddit
  • StumbleUpon
  • MySpace
  • Print
  • PDF
  • email

Vpopmail Custom Maildir – Skeleton Directory Patch

Normalde Qmail’in maildir yapısı, yeni maillerin bulunduğu new/, okunmuş maillerin tutulduğu cur/ ve teslimat sürecinde kullanılan tmp/ isimli folderdan oluşur. İhtiyaçlarınız doğrultusunda Maildir yapısına yeni klasörler eklemek isteyebilir ve sisteme eklediğiniz her yeni mail kullanıcısının Maildir yapısının bu klasörleri de içermesini isteyebilirsiniz.

Ya da maildrop gibi bir yazılım kullanıyorsunuzdur ve maildrop için tanımladığpınız, maildrop ifadeleri içeren .qmail dosyasının her yeni kullanıcı açılışında Maildir’a kopyalanmasını isteyebilirsiniz.

İşte bu gibi durumlar için skel olarak anılan vpopmail patchi işinize yarayabilir. Skel patchini yüklediğiniz zaman, vpopmail, yeni kullanıcı açılışlarında, daha önceden içerisine özel klasör yapınızı ve dosyalarınızı attığınız ~vpopmail/skel isimli dizinin içeriğini kullanıcının home dizinine kopyalarak, sizi bu işi manuel yapma zahmetinden kurtarır.

Kurulum ve ayarlar şu şekilde:

Yazinin devami icin tiklayin.

  • Google Bookmarks
  • Twitter
  • FriendFeed
  • LinkedIn
  • Digg
  • Technorati
  • Facebook
  • del.icio.us
  • Add to favorites
  • Yahoo! Bookmarks
  • Live
  • Reddit
  • StumbleUpon
  • MySpace
  • Print
  • PDF
  • email

Netqmail

Qmail’in farkli ozelliklerini devreye almak icin qmail kurulumunda yapilmasi gereken patch’lerle ugrasmamak icin, icerisinde qmail’in yani sira, qmail icin cikan onemli tum patchleri barindiran netqmail isimli paketin yeni versiyonu 1.06 cikmis.

 http://qmail.org/netqmail/

  • Google Bookmarks
  • Twitter
  • FriendFeed
  • LinkedIn
  • Digg
  • Technorati
  • Facebook
  • del.icio.us
  • Add to favorites
  • Yahoo! Bookmarks
  • Live
  • Reddit
  • StumbleUpon
  • MySpace
  • Print
  • PDF
  • email

« Onceki SayfaSonraki Sayfa »