«

»

Ağu 27 2011

Postfix ile SPF Denetimi

Farklı birinden gidiyormuş gibi gönderilen postaları engellemek için SPF kullanılabilir.

SPF sayesinde her posta için, o postayı gönderen sunucunun IP adresini postadaki eposta alan adının DNS sunucusuna sorulur. Eğer ki DNS sunucusu, kendi alan adındaki posta sunucusuna onay verirse, SPF denetimi başarılı olur.

DNS'te SPF kaydı oluşturmak zaten çok basit. Hızlı bir web tarama ile hemen kullanabilirsiniz. Postfix ile giden gelen postaları SPF denetiminden geçirmek isterseniz, aşağıdaki işlemler uygulanabilir.

Aşağıdaki işlemler, Debian tabanlı (Ubuntu da olabilir tabiiki) sistemler için bahsedilmiştir.

  1. SPF için gerekli paketleri kur:
    sudo apt-get install postfix-policyd-spf-perl
     
  2. /etc/postfix/main.cf dosyasının üst taraflarinda bir yerde, SPF zaman aşımı süresini belirt:
    spf-policyd_time_limit = 3600s
     
  3. /etc/postfix/main.cf içerisinde, smtpd_recipient_restrictions kısmını bul ve reject_unauth_destination seçeneğinin hemen arkasına şunu ekle:
    check_policy_service unix:private/policy-spf
     
  4. /etc/postfix/master.cf dosyasının en altına da şunları (ikinci satırın başındaki boşluk önemli) ekle:
    policy-spf  unix  –       n       n       –       –       spawn
         user=nobody argv=/usr/sbin/postfix-policyd-spf-perl

     
  5. Postfix'i yeniden yükle:
    /etc/init.d/postfix reload

Bu kadar. log doayasından giden/gelen postalar için SPF il ilgili satırları bir süre incelemekte fayda var.

Test aşaması:

SPF için kullanılan betiğe test amaçlı bazı parametreler göndererek SPF denetiminin çalışıp çalışmadığını test edebilirsiniz. Örnek:

Görüldüğü gibi, belirtilen domain ve IP adresi için PF kayıdı tutarsız olduğu için, doğrulama yapılamıyor. Başarılı bir doğulama için örnek:

Üstteki örnekte gerçekten gmail'e ait olan bir IP adresi verilmiş ve denetimin başarılı olduğu görülmüştür.

Kaynaklar:

  1. https://help.ubuntu.com/community/Postfix/SPF
  2. http://www.howtoforge.com/postfix_spf
  3. http://www.openspf.org/SPF_Record_Syntax

 

Bad Behavior has blocked 19 access attempts in the last 7 days.