E-posta protokolü, gönderen adresinin doğruluğunu denetlemeden tasarlandı. Bir sunucu “ben sizin bankanızım” diyerek posta gönderebilir ve protokolün buna itirazı yoktur. SPF, bu boşluğu kapatmak için eklenen ilk katmandır.
Ne yapar
SPF, alan adınızın DNS kaydında hangi sunucuların sizin adınıza posta gönderebileceğini ilan eder.
Alıcı sunucu bir posta aldığında iki şeye bakar: postanın hangi adresten geldiğini ve gerçekte hangi IP adresinden bağlanıldığını. Sonra alan adının SPF kaydını sorgular ve o IP’nin listede olup olmadığına bakar.
Listede varsa doğrulama geçer. Yoksa, kayıttaki politikaya göre işaretlenir ya da reddedilir.
Kayıt, DNS’te bir metin kaydı olarak durur. Kayıt türlerinin genel ayrımı DNS kayıt türleri yazısında.
Zarf gönderen ile görünen gönderen
SPF’in en çok yanlış anlaşılan yanı budur ve doğrudan güvenlik sonucu doğurur.
Bir e-postanın iki gönderen adresi vardır. Biri zarf üzerindedir ve teslimat sırasında kullanılır; kullanıcı bunu görmez. Diğeri iletinin başlığındadır ve posta istemcisinde görünen adrestir.
SPF yalnızca zarftaki adresi denetler.
Sonucu şudur: bir saldırgan, kendi alan adını zarfa yazıp SPF’i geçebilir, ama başlıkta sizin adresinizi gösterebilir. Kullanıcı sizin adresinizi görür, SPF ise başka bir alan adı için geçmiştir.
Bu boşluk tam olarak DMARC tarafından kapatılır — DMARC, iki adresin uyuşmasını şart koşar. SPF tek başına, kullanıcının gördüğü adresi korumaz.
Kaydı yazarken
Kayıt sade bir dizedir ve üç parçadan oluşur: sürüm, izin verilen kaynaklar ve sonda bir politika.
İzin verilen kaynaklar üç biçimde yazılır: doğrudan IP adresi, alan adının posta sunucularını devralan bir yönlendirme, ya da başka bir sağlayıcının kaydını içeri alan bir ekleme.
Sondaki politika en önemli karardır. Katı ret, listede olmayan her kaynağın reddedilmesini ister. Yumuşak ret, şüpheli olarak işaretlenmesini ister ama teslimatı engellemez.
Yaygın hata, yumuşak retle başlayıp orada kalmaktır. Yumuşak ret bir başlangıç kipidir; kalıcı hâle geldiğinde SPF’in caydırıcılığı büyük ölçüde kaybolur.
On sorgu sınırı
SPF’in en sık karşılaşılan teknik sınırı budur ve sessizce çalışır.
Kayıt değerlendirilirken yapılacak DNS sorgusu sayısı on ile sınırlıdır. Her ekleme ve her yönlendirme bu sayıyı tüketir.
Modern bir kurumda posta gönderen kaynak sayısı hızla artar: posta sağlayıcısı, pazarlama aracı, fatura sistemi, destek yazılımı, izleme sistemi. Her biri kendi kaydını eklemenizi ister.
Sınır aşıldığında SPF kalıcı hata verir ve doğrulama başarısız sayılır. Belirti tanıdıktır: “hiçbir şey değişmedi ama postalar spam’e düşmeye başladı”.
Çözüm iki adımdır: artık kullanılmayan kaynakları kayıttan çıkarmak ve mümkünse doğrudan IP bloklarıyla yazmak. Kaydın kaç sorgu ürettiği yayına almadan önce ölçülmelidir.
Yönlendirme SPF’i bozar
İkinci klasik sorun budur ve teknik olarak SPF’in çözemeyeceği bir durumdur.
Bir kullanıcı, kurumsal adresine gelen postaları kişisel adresine yönlendiriyorsa, posta ikinci kez teslim edilirken kaynak IP artık sizin sunucunuzdur — ama gönderen alan adı, özgün göndericiye aittir.
Alıcı taraf SPF’i denetler, IP’yi listede bulamaz ve postayı reddeder. Sonuç, yönlendirilen postaların kaybolmasıdır.
Bunun bir yan etkisi daha vardır: yönlendirme kuralları, ele geçirilmiş hesaplarda veri sızdırmanın en sessiz yoludur. Kullanıcı kendi gelen kutusunu normal görürken, tüm postaların bir kopyası dışarı gitmektedir. Bu yüzden otomatik yönlendirme kuralları hem teknik hem güvenlik gerekçesiyle kısıtlanır; izleme yaklaşımı Exchange Online posta akışı yazısında.
Alt alan adları ve kullanılmayan alanlar
İki nokta düzenli olarak atlanır.
Alt alan adları ana kaydı devralmaz; kendi SPF kayıtları yoksa korumasızdırlar. Saldırganların sahte fatura kampanyalarında alt alan adı kullanmasının nedeni budur.
Hiç posta göndermeyen alan adları da kayıtsız bırakılmamalıdır. Kurumun sahip olduğu ama kullanılmayan her alan adı, adınıza sahte posta göndermek için hazır bir araçtır. Bu alanlara “buradan hiç posta gönderilmez” anlamına gelen boş bir kayıt yazılır.
Doğrulama
Kaydı yayına aldıktan sonra üç şey doğrulanır: sözdiziminin geçerli olduğu, sorgu sayısının onun altında kaldığı ve gerçek bir postanın doğrulamayı geçtiği.
Üçüncüsü için kendi kurumunuzdan dışarıdaki bir adrese posta gönderip başlıkları okumak yeterlidir. Başlıkta doğrulama sonucu açıkça yazar.
Teslimatın diğer bileşenleri e-posta neden spam’e düşer yazısında ele alınıyor.
Kısaca
SPF, alan adınız adına hangi sunucuların posta gönderebileceğini ilan eder — ama yalnızca zarftaki adresi denetler.
Kullanıcının gördüğü adres SPF ile korunmaz; onun için DKIM ve DMARC gerekir. Kaydı yazarken iki şeyi ölçün: on sorgu sınırını aşmadığınızı ve kullanılmayan alan adlarını da kapattığınızı.