BurtiNETBlog
Mail

SPF Nedir? SPF Kaydı Nasıl Oluşturulur ve Kontrol Edilir? (Sender Policy Framework)

bnet6 dk okumaGüncellendi:
SPF Nedir? SPF Kaydı Nasıl Oluşturulur ve Kontrol Edilir? (Sender Policy Framework)
İçindekiler

E-postanın en büyük zayıflığı, gönderen adresinin kolayca taklit edilebilmesidir. Biri sizin alan adınızı kullanarak müşterilerinize sahte bir fatura gönderebilir; siz haberdar bile olmazsınız. SPF bu sorunu çözen ilk ve en temel savunmadır. Bu yazıda SPF'nin ne olduğunu, nasıl çalıştığını, kaydın nasıl yazıldığını, BurtiNET hosting ve kurumsal e-posta kullanıcıları için cPanel ve DirectAdmin'de nasıl ekleneceğini ve en sık yapılan hataları anlatıyoruz.

SPF Nedir?

SPF (Sender Policy Framework), bir alan adı adına hangi sunucuların ve IP adreslerinin e-posta gönderebileceğini DNS'te yayınlanan bir TXT kaydıyla belirten e-posta kimlik doğrulama yöntemidir. Alıcı sunucu, gelen e-postanın göndericisinin alan adına bakar, o alan adının SPF kaydını DNS'ten okur ve e-postayı gönderen sunucunun listede olup olmadığını kontrol eder. Liste dışındaysa e-posta spam klasörüne yönlendirilebilir ya da reddedilebilir.

SPF, spoofing ve kimlik avı (phishing) saldırılarına karşı alan adınızı korur ve meşru e-postalarınızın teslim edilme oranını artırır. Standardı RFC 7208'de tanımlıdır.

Masada duran zarflar, kartpostallar ve kalem; gönderen kimliği, postanın güvenilirliğini belirler
Posta kutusuna gelen her mektubun bir gönderen adresi vardır; SPF, e-postada bu adresin sahte olmadığını doğrular · Fotoğraf: Giulia Bertelli / CC0 / Wikimedia Commons

SPF Nasıl Çalışır?

SPF doğrulaması, e-posta alıcı sunucuda birkaç saniyede şu adımlarla yapılır:

  1. Gönderen sunucu, alıcının sunucusuna bağlanır ve zarf göndericisini (MAIL FROM) bildirir.
  2. Alıcı sunucu, bu adresin alan adı için DNS'ten SPF (TXT) kaydını sorgular.
  3. Bağlanan sunucunun IP adresi, kayıttaki izinli IP adresleri ve alan adlarıyla karşılaştırılır.
  4. Sonuç belirlenir: pass (izinli), fail (izinsiz), softfail, neutral ya da none.
  5. Alıcı sunucu, sonucu spam puanına ve alan adının DMARC politikasına göre değerlendirir.

Bu işlem e-postanın içeriğine değil, yalnızca gönderen sunucunun IP adresine bakar. Alan adı DNS'inin genel işleyişi için DNS nedir yazımıza bakabilirsiniz.

SPF Kaydı Nasıl Yazılır?

SPF kaydı, alan adınızın DNS bölgesine eklenen tek bir TXT kaydıdır. Basit bir örnek şöyledir:

v=spf1 a mx ip4:203.0.113.10 include:_spf.google.com ~all

Kayıt soldan sağa okunur; her parça (mekanizma) bir "izin kuralı"dır:

MekanizmaAnlamıÖrnek
v=spf1SPF sürümü; kaydın ilk ifadesi olmalıdırv=spf1
aAlan adının A kaydındaki IP, e-posta gönderebilira
mxAlan adının MX kayıtlarındaki sunucular gönderebilirmx
ip4 / ip6Belirtilen IPv4/IPv6 adresi veya aralığı gönderebilirip4:203.0.113.10
includeBaşka bir alan adının SPF kaydındaki izinleri dahil eder (harici e-posta servisleri için)include:_spf.google.com
allHiçbir kurala uymayan her şey; kaydın en sonunda yer alır~all

~all, -all, ?all ve +all Farkı

all ifadesinin önündeki işaret, listede olmayan sunuculara ne yapılacağını belirler:

İfadeAdıAnlamıNe Zaman Kullanılır?
-allFail (sert)Listede olmayanları reddetTüm gönderim kaynaklarınızdan eminseniz
~allSoftFail (yumuşak)Listede olmayanları şüpheli işaretle ama reddetmeÇoğu site için güvenli başlangıç; önerilir
?allNeutralKarar vermePratikte koruma sağlamaz
+allPassHerkese izin verKullanmayın; SPF'yi anlamsız kılar

Yeni kurulumda ~all ile başlayıp DMARC raporlarında meşru e-postalarınızın tamamının geçtiğini gördükten sonra -all'a geçmek, yanlışlıkla kendi e-postalarınızı engellemenizi önler. DMARC tarafı için DMARC nedir yazısına bakın.

Yaygın E-Posta Servisleri İçin SPF include Değerleri

Alan adınız adına hem kendi sunucunuzdan hem de bir dış servisten e-posta gönderiyorsanız, o servisin include değerini kayda eklemeniz gerekir. Servislerin kendi dokümantasyonundaki güncel değeri kullanın; yaygın örnekler şunlardır:

Gönderim KaynağıEklenecek Değer
Kendi hosting/sunucunuz (BurtiNET dahil)a, mx veya sunucunun ip4: adresi
Google Workspaceinclude:_spf.google.com
Microsoft 365include:spf.protection.outlook.com
Diğer toplu e-posta/CRM servisleriServisin SPF dokümantasyonunda verdiği include: değeri

cPanel'de SPF Kaydı Ekleme

BurtiNET cPanel hosting hesaplarında SPF çoğu zaman otomatik oluşturulur; yine de kontrol etmek ve gerektiğinde düzenlemek için şu adımları izleyin:

  1. cPanel'e giriş yapın ve E-posta bölümünden Email Deliverability aracını açın.
  2. Alan adınızın yanında SPF ve DKIM durumunu görürsünüz; sorun varsa Repair (Onar) ya da Manage (Yönet) düğmesiyle kaydı düzeltin.
  3. Harici bir servis kullanıyorsanız Manage ekranında Custom (özel) kayıt seçip include değerini ekleyin.
  4. Değişikliği kaydedip DNS yayılımını bekleyin.

Kurumsal e-posta hesaplarının cPanel'de kurulumunu kurumsal e-posta cPanel'de sıfırdan kurulum rehberinde anlattık. Sunucudan istenmeyen toplu e-posta çıkmasını engellemek için cPanel relay kapatma yazısını da inceleyin.

DirectAdmin'de SPF Kaydı Ekleme

  1. DirectAdmin'de DNS Yönetimi (DNS Management) ekranını açın ve alan adınızı seçin.
  2. Mevcut bir v=spf1 TXT kaydı olup olmadığına bakın; varsa yeni kayıt eklemek yerine onu düzenleyin.
  3. Yoksa yeni bir TXT kaydı ekleyin; ad kısmı alan adının kendisi (@), değer kısmı SPF kaydınız olsun.
  4. Kaydı kaydedin.

DirectAdmin'de e-posta gönderim sınırı sorunları için günlük e-posta limiti sorunu ve çözümü yazısına bakabilirsiniz.

Renkli duvar resmiyle süslenmiş eski bir posta kutusu
SPF, e-postanın hangi "posta kutusundan" (sunucudan) gelmesine izin verildiğini DNS'te listeler · Fotoğraf: Ricardo Gomez Angel / CC0 / Wikimedia Commons

SPF Kaydı Nasıl Test Edilir?

Kayıt ekledikten sonra doğru yayınlandığını ve yazım hatası içermediğini kontrol edin:

# Linux / macOS
dig +short TXT ornek.com

# Windows
nslookup -type=TXT ornek.com

Çıktıda v=spf1 ile başlayan tek bir kayıt görmelisiniz. Ayrıca kendinize bir test e-postası gönderip e-postanın ham başlıklarında (Received-SPF ya da Authentication-Results) spf=pass ifadesini aramak en güvenilir kontroldür. DNS hatalarını topluca taramak için IntoDNS ile DNS hatalarını çözme yazısı da yardımcı olur.

En Sık Yapılan SPF Hataları

HataSonuçÇözüm
Aynı alan adında birden fazla SPF kaydıSPF geçersiz sayılır (PermError)Tüm izinleri tek v=spf1 kaydında birleştirin
10'dan fazla DNS sorgusu (çok sayıda include, a, mx)PermError; SPF başarısız olurGereksiz include'ları kaldırın, mümkünse doğrudan ip4: kullanın
+all kullanımıHerkes alan adınız adına e-posta gönderebilir~all veya -all kullanın
Harici servisin include değerinin eksik olmasıO servisten giden e-postalar fail olurKullanılan tüm gönderim kaynaklarını kayda ekleyin
Kayıt sonunda all ifadesinin unutulmasıPolitika belirsiz kalırKaydı ~all ya da -all ile bitirin
Yazım hatası (boşluk, eksik :)Kayıt hatalı okunurKaydı test aracıyla doğrulayın
Alt alan adları için ayrı kayıt eklenmemesiAlt alan adından gönderimlerde SPF çalışmazE-posta gönderen her alt alan adına ayrı SPF kaydı ekleyin

SPF kaydındaki DNS sorgu sınırı, RFC 7208'e göre en fazla 10'dur. include, a, mx, ptr, exists ve redirect bu sınıra dahil olur; ip4, ip6 ve all dahil olmaz.

SPF'nin Sınırlamaları: Neden Tek Başına Yetmez?

  • Yönlendirilen e-postalar: E-posta bir sunucudan başka bir adrese yönlendirildiğinde (forwarding) gönderen IP değişir ve SPF başarısız olabilir.
  • Görünen "From" adresini doğrulamaz: SPF zarf göndericisini kontrol eder; kullanıcının gördüğü From adresi farklı olabilir. Bu boşluğu DMARC kapatır.
  • İçerik bütünlüğünü sağlamaz: E-postanın yolda değiştirilmediğini DKIM imzası doğrular.

Bu yüzden e-posta güvenliğinde üçlü birlikte kullanılır: SPF, DKIM ve DMARC. Kurumsal e-posta altyapısının neden gerekli olduğunu kurumsal e-posta nedir yazısında, SMTP/IMAP ayarlarını IMAP, POP3 ve SMTP nedir yazısında bulabilirsiniz.

Sık Sorulan Sorular

SPF kaydı zorunlu mu?

Teknik olarak zorunlu değildir ama pratikte gereklidir. SPF'si olmayan alan adlarından gelen e-postalar spam filtrelerine daha kolay takılır; Google ve Yahoo gibi büyük sağlayıcılar toplu gönderimlerde SPF ve DKIM'i zorunlu tutar.

Bir alan adında birden fazla SPF kaydı olabilir mi?

Hayır. Bir alan adı için yalnızca bir v=spf1 TXT kaydı bulunmalıdır. Birden fazla kayıt varsa SPF geçersiz sayılır; tüm izinleri tek kayıtta birleştirin.

SPF kaydı ne kadar sürede etkinleşir?

DNS yayılımına bağlıdır; çoğu zaman birkaç dakika ile birkaç saat arasında, nadiren daha uzun sürede etkinleşir. Kaydın TTL değeri ne kadar düşükse değişiklik o kadar hızlı yayılır.

SPF, DKIM ve DMARC arasındaki fark nedir?

SPF gönderen sunucunun yetkili olup olmadığını, DKIM e-postanın imzalı ve değişmemiş olduğunu doğrular. DMARC ise SPF ve DKIM başarısız olduğunda alıcının ne yapacağını belirler ve rapor üretir. Üçü birbirini tamamlar.

~all mi, -all mi kullanmalıyım?

Yeni başlıyorsanız ~all daha güvenlidir, çünkü meşru bir gönderim kaynağını gözden kaçırırsanız e-postalar reddedilmez, yalnızca şüpheli işaretlenir. Tüm kaynaklarınızı doğruladıktan ve DMARC raporlarını izledikten sonra -all'a geçebilirsiniz.

Mail hosting'imde SPF'yi kendim eklemem gerekir mi?

Hosting hesabınızı BurtiNET'te kullanıyorsanız cPanel'in Email Deliverability aracı çoğunlukla SPF'yi otomatik önerir ve oluşturur. Alan adınızın DNS'i başka bir yerde yönetiliyorsa kaydı o DNS panelinde sizin eklemeniz gerekir. Dış bir e-posta servisi kullanıyorsanız onun include değerini de eklemelisiniz.

İlgili yazılar

Mail

DMARC Nedir?

DMARC (Domain-based Message Authentication, Reporting & Conformance), e-posta sahtekarlığını önlemek ve alan adınızın güvenliğini artırmak için kullanılan bir…

Emre G2 dk okuma