Grilisteleme

Griliste kavramı Evan Harris tarafından http://projects.puremagic.com/greylisting/ adresinde açıklanmıştır.

Nasıl Çalışır

Grilisteleme, Kalleş Yazılım üzerinden teslim edilmeye çalışılan iletileri ayıklamak için SMTP Aktarımının Geciktirilmesi gibi basit ama oldukça etkili bir mekanizmadır. Ana fikir. bir iletinin göndericisi ile alıcısı arasında bir ilişkinin mevcudiyetini sağlamaktır. Çoğu meşru posta için böyle bir ilişki kurulabilir ve teslimat normal şekilde gerçekleşir.

Diğer yandan, böyle bir ilişki evvelce mevcut değilse, teslimat geçici olarak reddedilir (bir 451 SMTP yanıtı ile). Meşru posta aktarımcıları böyle bir durumda biraz gecikmeyle teslimatı yinelerler[25]. Kalleş yazılımlar ise, tersine, ya teslimatı hemen yinelerler ya da basitçe vazgeçip adres listelerindeki sonraki hedefe yönelirler.

Bir teslimat sırasında verilen bilgilerden üçü, bir üçlü olarak, bir gönderici ile alıcı arasındaki eşsiz ilişkiyi tanımlamak için kullanılır:

Bir teslimat reddedilmişse bu üçlü belli bir süre (normalde 1 saat) grilisteli olarak saklanır ve bu sürenin sonunda aklisteye alınır. Belli bir sürenin sonunda (normalde 4 saat) bu üçlü için bir teslimat gerçekleşmemişse, bu üçlü listeden silinir.

Eğer aklisteye alınmış bir üçlüye uzunca bir süre (aylık faturalama dönemli hesaplar düşünülerek, en az bir aylık bir süre) teslimat olmazsa, bu üçlü listeden silinir. Bu işlem listenin sınırsız büyümemesi için yapılır.

Bu zamanaşımları Evan Harris'in grilistelemeyi açıkladığı belgesinden alınmıştır. Bazıları için, grilisteye alınmış üçlülere daha uzun zamanaşımları gerekebilir, çünkü bazı İSS'ler (earthlink.net gibi) teslimatlarını her 6 saat ya da buna yakın aralıklarla yinelerler[26].

Çok sayıda posta alıcısı olması durumu

Birden fazla posta alıcısı kullanıyorsanız ve her sunucu kendi grilistesini oluşturuyorsa:

  • Belli bir göndericiden kullanıcılarınızdan birine gelen ilk teslimatlar teorik olarak, N posta alıcısı konakların sayısını göstermek üzere N çarpı 1 saatlik ilk gecikme süresi kadar geciktirilir. Bunun sebebi, farklı bir sunucuya yapılan yinelenmiş bir teslimatın bu sunucu açısından ilk teslimat olması ve 451 yanıtıyla reddedilmesidir. En kötü durumda, gönderici konak başa dönüp teslimatı ilk posta alıcısına teslim etmeye çalışması sırasında 4 saatlik süre veya grilistenin ikinci zamanaşımı süresi dolar ve bu kısır döngü gönderici postayı teslim etmekten vazgeçinceye kadar (genelde bu süre 4 gün civarındadır) sürer.

    Uygulamada bu böyle olmaz. Bir teslimat geçici bir başarısızlıkla reddedilirse, gönderici konak hemen diğer posta alıcısından teslimatı gerçekleştirmeye çalışır. Böylece 1 saat sonra bu posta alıcılarından biri bu teslimatı kabul eder.

  • Bir üçlü, posta alıcılarınızdan biri tarafından aklisteye alınmış olsa bile, aynı üçlü farklı bir posta alıcısında teslimat için kullanıldığında o sunucu açısından grilisteli olarak işlem görür.

Bu sebeplerden, posta alıcılarınız arasında paylaşılan bir grilisteleme veritabanı gerçekleştirmek iyi bir çözüm olabilir. Ancak, bu veritabanını tutan makinenin başına gelecek bir talihsizlik bütün posta alıcıları için teslimatların başarısız olmasına sebep olacaktır. Bunun yerine veritabanlarının birebir kopyalanması tekniklerinden birini kullanılabilir ve bu sunuculardan birini sorgulara yanıt verecek bir son çare SMTP sunucu yapabilirsiniz.

Sonuç

Şahsi deneyimlerime göre, evvelce açıklanan SMTP Sınamaları uygulandıktan sonra grilistelemenin uygulanması halinde bu iki yöntem birlikte döküntü postanın %90'ından kurtulmayı sağlıyor. Eğer grilistelemeyi ilk savunma mekanizması olarak kullanırsanız, gelen döküntü postanın önemli bir kısmını tek başına yakalayacaktır.

Buna karşın, bu tekniğin kullanımından sıfıra yakın Hatalı Olumlama ortaya çıkar. Bellibaşlı posta aktarımcılarının tümü bir geçici başarısızlıktan sonra eninde sonunda başarılı bir teslimatı gerçekleştirmek amacıyla teslimat yinelemeleri yaparlar.

Grilistelemenin perde arkasında, birinin belli bir alıcıya bir saatlik gecikmeye konu olarak hemen teslim alınmamış bir meşru posta vardır (bu bir saatlik gecikme, çok sayıda posta alıcısı kullanıyorsanız bir kaç saat de olabilir).

Ayrıca, Soru: 4.5.1. 'in yanıtına da bakınız.



[25] Nadiren, groups.yahoo.com gibi bazı “meşru” büyük hacimli posta göndericileri geçici başarısızlığa uğramış teslimatları gerçekleştirmeye çalışmazlar. Evan Harris böyle göndericileri aklisteler için yararlı olabileceğini düşünerek liste halinde derlemiş:
http://cvs.puremagic.com/viewcvs/greylisting/schema/whitelist_ip.txt?view=markup.

[26] Büyük siteler giden postalar için çoğunlukla birden fazla sunucu kullanırlar. Örneğin, anlık teslimatlar için bir sunucu veya bir sunucu havuzu kullanılırken, ilk teslimat başarısız olduğunda posta, büyük kuyrukları idare edecek şekilde yapılandırılmış son çare sunucularına devredilir. Bu nedenle, böyle sitelerden gelen ilk iki teslimat başarısız olacaktır (IP adresinin değişmesi nedeniyle).