Mail sunucularında spam trafiği, kurumlar için büyük bir güvenlik ve performans sorunudur. Greylisting, bu soruna karşı etkili bir savunma mekanizması olarak öne çıkar.
Mail sunucularında spam trafiği, kurumlar için büyük bir güvenlik ve performans sorunudur. Greylisting, bu soruna karşı etkili bir savunma mekanizması olarak öne çıkar. Gelen e-posta sunucularının IP adresi, gönderici e-posta adresi ve alıcı adresi üçlüsünü temel alarak bilinmeyen göndericilere geçici bir gecikme uygular. Bu yöntem, meşru e-posta sunucularının standart protokollere uymasını, spam göndericilerin ise genellikle tek seferlik denemelerle vazgeçmesini sağlar. Makalede, greylisting’in çalışma prensibini, kurulum adımlarını ve pratik uygulamalarını detaylı inceleyeceğiz.
Greylisting, SMTP protokolünün doğal davranışlarını kullanarak spam filtrelemesi yapar. İlk kez gelen bir e-postada, sunucu 451 “Temporary Local Problem” gibi bir 4xx hata kodu döndürür. Meşru mail sunucuları, RFC standartlarına göre bu hatayı aldıklarında e-postayı 1-5 dakika içinde yeniden göndermeye programlıdır. Spam botları ise genellikle bu gecikmeyi beklemez ve vazgeçer. Bu sayede, %80-90 oranında spam trafiği engellenebilirken, meşru e-postalar kısa bir gecikmeyle iletilir.
Prensip, triplet (üçlü) olarak adlandırılan IP + gönderici + alıcı kombinasyonuna dayanır. Bu triplet veritabanında gri listeye alınır ve belirli bir süre (genellikle 5-30 dakika) sonra beyaz listeye taşınır. Beyaz listede triplet tekrar kabul edilir. İstisnalar için whitelist mekanizması kullanılır; örneğin, güvenilir partner IP’leri doğrudan kabul edilir.
Postfix’te greylisting için postgrey aracı en popüler seçenektir. Öncelikle postgrey paketini yükleyin: Debian tabanlı sistemlerde apt install postgrey. Ardından /etc/postgrey_whitelist_clients dosyasını düzenleyerek güvenilir IP’leri ekleyin, örneğin büyük sağlayıcılar gibi microsoft.com veya google.com alt ağları. Postfix’in main.cf dosyasında smtpd_recipient_restrictions’a check_policy_service inet:127.0.0.1:10023 satırını ekleyin. Postgrey servisini başlatın: systemctl enable postgrey && systemctl start postgrey. Test için telnet ile SMTP bağlantısı kurup EHLO ve MAIL FROM komutlarını deneyin; ilk seferde 451 almalısınız.
Performans için veritabanı olarak PostgreSQL veya Redis kullanın. Varsayılan SQLite ile 1000+ kullanıcıda sorun çıkabilir. Whitelist’e kendi sunucunuzun IP’sini eklemeyi unutmayın ki iç posta etkilenmesin. Logları /var/log/postgrey için izleyin ve greylist hit oranını takip edin.
Exim’de greylisting, ACL (Access Control List) ile entegre edilir. exim.conf’ta acl_check_mail sekmesine deny message = Greylisted for $acl_m9 minutes (see http://postgrey.schmorp.de/)\n dnslists = greylist ekleyin. sqlgreylist gibi bir eklenti yükleyin veya dahili veritabanı kullanın. Deny ACL’sinde SQL sorgusuyla triplet kontrolü yapın: SELECT timeout FROM greylist WHERE ip=’$sender_host_address’ AND sender=’$sender_address’ AND recipient=’$local_part@$domain’;. Timeout geçmişse kabul edin. Servisi yeniden başlatın ve logları etkinleştirin.
Exim’in avantajı esnek ACL’lerdir; örneğin, SPF ile greylisting’i kombine edin. İlk denemede 451 döndürürken, delay=5m parametresiyle gecikme ekleyin. Küçük ölçekli sunucularda dahili flat file veritabanı yeterlidir, büyüyünce MySQL’e geçin.
Greylisting, kaynak tüketimini minimum tutar çünkü SMTP bağlantısını erken keser ve CPU yükü yaratmaz. Malware bulaşmış PC’lerden gelen spam’i de engeller zira bunlar standart sunucu davranışı göstermez. Kurulum sonrası spam hacminde belirgin düşüş gözlenir; örneğin, günlük 10.000 spam mesajı 1.000’e iner. Diğer avantajı, signature tabanlı filtrelerle (SpamAssassin) tamamlayıcı olmasıdır.
Dezavantajlar arasında meşru e-postalarda 1-2 dakika gecikme yer alır; acil bildirimler için whitelist şarttır. Yüksek trafikli sunucularda veritabanı şişebilir, bu yüzden TTL (Time To Live) süresini 300 saniye tutun. Backup MX sunucuları sorun yaratabilir; hepsine aynı greylist veritabanını senkronize edin. İzleme için munin veya grafana plugin’leri kullanın, hit/miss oranını %90 üzeri tutun.
Greylisting, mail sunucularınızı güçlendirmenin pratik ve düşük maliyetli yoludur. Kurulum sonrası düzenli izleme ve ince ayarlarla etkinliğini maksimize edin. Bu yöntemle spam trafiğini azaltırken, e-posta akışınızı güvenli ve verimli hale getirin. Kurumsal ortamda, greylisting’i katmanlı savunma stratejinizin parçası olarak değerlendirin.