3. SPF Kayıtları
Bir SPF kaydı, alan ismini "HELO" ve "MAIL FROM" kimliklerinde kullanmaya yetkili olan ve olmayan konakların bildirildiği bir DNS özkaynak kaydıdır. Tam bu şekilde olmasa da, bu kayıtta yer alan konaklar izin verilenler ve izin verilmeyenler (hiçbir kategoriye girmeyenler) olarak gruplanır, denebilir.
SPF kaydı tek bir dizgeden oluşur. Bir kayıt örneği:
v=spf1 +mx a:colo.example.com/28 -all
Bu kayıt "spf1" sürümüdür ve 3 yönerge içerir:"+mx", "a:colo.example.com/28" (+ imi örtüktür) ve "-all".
3.1. Yayınlama
SPF uyumlu olmak isteyen alan sahipleri "HELO" ve "MAIL FROM" kimliklerinde kullanılan konaklar için SPF kayıtları yayınlamalıdır. SPF kayıtları DNS ağacında bir alt alan adı altında değil, ilgili oldukları konak ismine, örneğin SRV
kayıtlarına yerleştirilir. Bu TXT
veya SPF
özkaynak kaydı kullanımı ile aynıdır (bkz, DNS Özkaynak Kaydı Türleri).
SPF Kayıtları bölümündeki örnek, bir alan bölge dosyası üzerinden şu satırlarla yayınlanabilir:
example.com. TXT "v=spf1 +mx a:colo.example.com/28 -all" smtp-out.example.com. TXT "v=spf1 a -all"
TXT
kayıtları üzerinden yayınlarken, başka amaçlarla yayınlanmış başka TXT
kayıtlarının varolabileceğine dikkat ediniz. Bunlar boyut sınırlarıyla ilgili sorunlara yol açabilirler (bkz, Kayıt Uzunluğu).
3.1.1. DNS Özkaynak Kaydı Türleri
Bu belge 99 koduyla yeni bir DNS RR türü olarak SPF
özkaynak kaydını tanımlar. Bu türün biçimi TXT
özkaynak kaydı [RFC1035] ile aynıdır. Her iki tür için de kaydın karakter içeriği [US-ASCII] olarak kodlanır.
Mevcut uygulama (bir TXT
kaydı kullanımı) en iyisi olmamakla beraber, henüz yeni özkaynak kaydı türüyle çalışamayan ama hala kullanımda olan pek çok DNS sunucusu ve çözümleyici gerçeklenimi olduğundan bu gereklidir. Bu iki kayıt türlü şema, aynı amaç için ayrılmış bir özkaynak kaydı türünü kullanarak daha iyi bir çözüme geçişin yolunu açar.
Bir SPF uyumlu alan adı her iki özkaynak kaydı türünde de SPF kaydı içermelidir *ÖNERİ*. Bir uyumlu alan adı en az bir türde kayda sahip olmalıdır *ZORUNLU*. Örneğin, Yayınlama bölümündeki kayıtlardan biri yerine şu kayıtlar daha iyidir:
example.com. IN TXT "v=spf1 +mx a:colo.example.com/28 -all" example.com. IN SPF "v=spf1 +mx a:colo.example.com/28 -all"
Örnek özkaynak kayıtları bu belgede TXT
kaydı türünde gösterilmiştir; yine de, bunlar SPF
türünde veya her iki türde de yayınlanabilirdi.
3.1.2. Çoklu DNS Kayıtları
Bir alan adı bir yetkilendirme sınamasında bir kayıttan fazlasının seçilmesine sebep olacak şekilde çok sayıda kayda sahip olmamalıdır *ZORUNLU*. Seçim kuralları için Kayıtların Seçilmesi bölümüne bakınız.
3.1.3. Tek DNS Kaydında Çok Sayıda Dizge
[RFC1035]'in 3.3 ve 3.3.14. bölümlerinde tanımlandığı gibi, tek bir metin DNS kaydı (TXT
ve SPF
'nin ikisi de) birden fazla dizgeden oluşabilir. Eğer yayınlanan bir kayıt çok sayıda dizge içeriyorsa, bu dizgeler aralarına boşluk konmaksızın birleştirilmiş tek bir kayıt gibi ele alınmalıdır *ZORUNLU*. Örnek:
IN TXT "v=spf1 .... ilk" "ikinci dizge..."
kaydı ile aşağıdaki kayıt bir diğerinin eşdeğeri olarak ele alınmalıdır *ZORUNLU*:
IN TXT "v=spf1 .... ilkikinci dizge..."
Çok sayıda dizge içeren TXT
ve SPF
kayıtları, tek bir kayıtta 255 baytlık azami uzunluğu aşabilecek kayıtları oluşturmak için yararlıdır.
3.1.4. Kayıt Uzunluğu
Belli bir alan isminde yayınlanacak bir SPF kaydı bir sorgunun sonucunda 512 sekizliye sığacak kadar küçük olmalıdır *ÖNERİ*. Bu, eski DNS gerçeklenimlerini TCP'ye toslayıp devrilmekten koruyacaktır. Yanıt uzunluğu bu belgenin kepsamı dışında kalan pek çok şeye bağlı olduğundan, sadece şu söylenebilir: Belirtilen türde (TXT
veya SPF
) kayıtların tümünün ve DNS isminin toplam uzunluğu 450 karakterin altında kalırsa, DNS yanıtları UDP paketlerine sığacaktır. TXT
biçimi sorgular için boyut hesaplanırken, alan adı altında yayınlanmış diğer TXT
kayıtları da hesaba katılmalıdır. Tek bir UDP paketine sığamayacak kadar uzun kayıtlar SPF istemcileri tarafından sessizce yoksayılabilirler *SEÇİMLİK*.
3.1.5. İsim Kalıplı Kayıtlar
Yayınlamak için isim kalıplarının kullanılması önerilmez. Eğer bu tür kayıtlar kullanılmışsa dikkatli olunmalıdır. Eğer bir alan bu tür MX kayıtları yayınlıyorsa, aynı sorunlara ve gereksinimlere konu isim kalıbı bildirimlerini de yayınlarsa iyi olur. Özellikle de öznitelik kayıtlarının bulunduğu her konak ve alt alan adı için bu bildirim yinelenmelidir. Örneğin, [RFC1034]'ün 4.3.3. bölümünde verilen örnek şu kayıtlarla genişletilebilirdi:
X.COM. MX 10 A.X.COM X.COM. TXT "v=spf1 a:A.X.COM -all" *.X.COM. MX 10 A.X.COM *.X.COM. TXT "v=spf1 a:A.X.COM -all" A.X.COM. A 1.2.3.4 A.X.COM. MX 10 A.X.COM A.X.COM. TXT "v=spf1 a:A.X.COM -all" *.A.X.COM. MX 10 A.X.COM *.A.X.COM. TXT "v=spf1 a:A.X.COM -all"
Uyarı
SPF kayıtları alan içindeki her isim için iki tane olmalıdır: biri isim için, diğeri isim altındaki ağacı kapsayan bir isim kalıbı için.
İsim kalıplarının kullanımından genellikle vazgeçilir, çünkü bunlar alan altında her ismin bulunmasına ve herhangi bir isme yapılan bir sorgunun asla RCODE 3 (İsim Hatası) döndürmemesine sebep olur.