SPF Nedir? Sender Policy Framework En Detaylı Anlatımı

SPF Nedir? Sender Policy Framework En Detaylı Anlatımı

Bir önceki yazımızda Reverse DNS Nedir‘i yazmıştık , şimdi ise SPF Nedir ile devam edeceğiz.

SPF kaydı, Gönderici Politikası Çerçevesi kaydı olarak çevrilebilir. Hangi alan adlarının ya da hangi ip adreslerinin, bir alan adı için posta gönderme yetkisine sahip olduğunu mail alışverişi sırasında belirtmek için kullanılır. RFC 4408‘de tanımlanmıştır ve RFC 7208 tarafından netleştirilmiştir.

SPF, alıcı mail sunucusunun, mail teslimi sırasında belirli bir alan adından geldiğini iddia eden bir mailin söz konusu alan adının yöneticileri tarafından yetkilendirilmiş bir IP adresi tarafından gönderildiğini denetlemesine izin verir. Bir alan adının yetkili gönderen mail sunucularının ve IP adreslerinin listesi, o etki alanının DNS kayıtlarında eklenir ve karşı taraf bunu kontrol eder.

Basit mail gönderim yöntemleri ile aslında herhangi bir mail sunucusuna aslında mailiniz sanki google.com dan gelmiş gibi bir mail gönderebiliriz ya da bir bankadan mail gelmiş gibi görünebilir. Önemli olan karşı taraf bunu ne şekilde kontrol edecektir. İşte kısaca anlatmak gerekirse SPF kaydı bu yöntemlerden biridir ve hatta SPF’in çıkış sebebidir. Spam göndericileri genelde bu yöntemden kaçınırlar ve izlenmelerini zorlaştırmak isterler. Günümüzde tüm mail serverların %70’inden fazlası SPF kaydını kontrol ederek kullanıcılarını bu spam göndericilerinden korumaya çalışırlar. Bunu illa mail server kontrol edecek diye bir şey yok tabi antispam için kullanılan mail gateway’ler bu görevi yerine getirebilmekte ve mail serverların yükünü hafifletmektedirler.

SPF’nin istenmeyen mailleri tanımlamaya yardımcı olmanın ötesinde potansiyel avantajları da vardır. Özellikle, bir gönderici SPF bilgisi sağlıyorsa, alıcılar bilinen güvenilir göndericileri tanımlamak için SPF PASS sonuçlarını bir white list ile birlikte kullanabilir.

SPF kaydını alan adımızın DNS kayıtlarına gireriz , şu an için bir txt kaydı hücresi oluşturarak bu işlemi yapabilirsiniz ancak bu deneysel geçiş ile birlikte spf bu şekilde başladığı için böyle devam etmiş gözüküyor , belki gelecekte Nasıl ki dns kayıtlarında A kaydı var ise , MX kaydı var ise ya da CNAME kaydı var ise ve bunlar bir standart ise SPF içinde özel bir alan ayrılabilir. Hatta geçmişte varmış ancak şu an o mekanizma kaldırılmış gözüküyor.

SPF Nasıl Çalışır?

Güvenlikli bir mail sunucusunun SPF’yi nasıl kontrol ettiğine dair iş akışı aşağıdaki şekilde olacaktır.

  • IP adresi 1.2.3.4 olan mail server diyelim ki info @ hostrazzi.com mail adresi ile yani hostrazzi.com alan adından info @ dnssorgu.com adresine bir e-mail gönderir.
  • dnssorgu.com mail sunucusu hemen, hostrazzi.com için dns sorgulaması yapar ve az önce spf kayıtlarının TXT alanında tutulduğunu belirtmiştik , txt kaydından spf kaydını çeker ve kontrol eder.
  • Eğer hostrazzi.com un txt kayıtlarında hostrazzi.com alan adının 1.2.3.4 ip adresinden mail gönderimine izin vardır şeklinde bir tanım var ise dnssorgu.com mail sunucusu bu maili kabul edecektir.

SPF kayıtlarının formatlarından bahsetmek isteriz. Örnek bir SPF kaydı yaklaşık olarak aşağıdaki gibi gözükecektir.

v=spf1 a mx ip4:1.2.3.4 include:_spf.hostrazzi.com ~all

Bu arada hostrazzi farkı ile hiç belirtilmeyen bir ipucundan bahsedelim, bunu not almanız faydalı olacaktır, belki biraz konu dışı olacaktır ama mail alıcılar spf kaydını sorgulamak için 10 sorgudan fazlasını yapmak istemez, yukarıdaki örnekte bir ip adresi ve bir include girilmiş , şimdi bir sorgu ile IP adresini zaten hemen alabildiğini düşünelim çünkü açıkça ortada , peki ya include ne olacak, onun için bir sorgu daha yapması lazım, yani toplam 2 sorgu etti ve spf kaydının tam içeriğini ancak şimdi alabildi, eğer bu toplam 10 dan fazla olsa idi muhtemelen mail gönderimlerinizde hata alırdınız. Aynı zamanda bunu limitlemeniz sizi DNS servisiniz için DDOS ataklarından da dolaylı olarak korumuş olacaktır.

Bir örnek daha verelim, böylece konuya yavaş yavaş girmiş olacağız. Aşağıdaki şekilde bir spf kaydımız olsun.

v=spf1 a mx ip4:1.2.3.4/29 -all

Yukarıdaki örnekte ip adresi yanında bir adet a kaydı , bir adet mx girilmiş , mail alıcı bunu sorgularken ip adresini zaten gördü aldı , bunun yanında a karekterini gördü , bir sorgu daha yaptı ve alan adının dns kaydından A kaydını aldı , bir kayıt daha gördü ve MX , tekrar bir sorgu yaptı ve mx ip adreslerini aldı , ip kısmını saymaz isek haricinde 2 dns sorgusu yapılmış oldu.

Eğer benim spf’im kaç sorguda tam cevap veriyor endişeniz var ise Dmarcly SPF Record Checker adresini kullanabilirsiniz , Size direkt olarak sayıyı verecektir ki tabi spf kaydınızı kontrol etmek içinde faydalı bir araçtır. Bunun yanında spf kaydınızı görmek için DNS Sorgu sitesini ziyaret edebilirsiniz.

Ekstra sorgu kapsamında değerlendirilen kayıtlar a, mx , ptr, include ve exist kayıtlarıdır. Sayılmayanlar ise All, ip4, ip6‘dır. Muhtemelen birazdan sahip olacağınız bilgilerin tümüne sahip erişmek ve filtrelemek için yüzlerce siteden araştırma yapmanız gerekecek idi.

Bütün spf kayıtları v= ile başlar , bu kullandığınız spf standardının versiyonunu belirtir, şu an için kullanmanız gereken versiyon spf1’dir ve v=spf1 ile belirtilir.

Birazda tanımlayıcılardan bahsedelim. all kaydı bir mekanizmadır ancak başındaki işaret bir tanımlayıcıdır.

Gelelim all kaydına. Bu kayıt şunu ifade eder , “benim bir spf kaydım var , bunlara bak , eğer ben -all olarak girdi isem ben bu sunucular dışında mail göndermem , eğer sen bu ip ler dışında benim alan adımdan mail aldı isen kesinlikle spam olarak nitelendir , çünkü o ben değilimdir” , buna hard fail denir , soft fail ise ~all kaydıdır , buna da mutlaka rastlamışsınızdır , yine şunu ifade eder , “benim bir spf kaydım var , ama bazen durum değişebilir ve ben bu ip ler yerine farklı bir ip den sana mail göndermiş olabilirim , bu durumda kararı sana bırakıyorum” demektir. Bunun önerileni -all kullanıp bu konuda net olmanızdır. Şimdi diyeceksiniz ki bir de ?all kaydı var ,bu nedir , bu nötr dür , etkisizdir , karalisteniz var ise oraya bir bakın demektir, kararı yine karşıya bırakır. Hele bir de +all vardır ki bunu yazmak bile istemiyoruz , bütün internetteki herkes benim adıma mail gönderebilir demektir , bu satırı okumayın bile şeklinde bir açıklama ile paragrafı sonlandırıyoruz. Belirtmek isteriz ki bunlara qualifiers yani tanımlayıcalar denir ya spf ile ilgili araştırma yaparken bu ifadeyi kullanabilirsiniz.

Peki tanımlayıcılardan bahsetmişken mekanizma’dan bahsetmek olur mu , bizce olmaz, konu eksik kalır, bu mekanizmalar “a , mx ve include” şeklinde olabilir.

A kaydı girerseniz “gir benim alan adıma ve a kaydına bak , ben sadece oradan mail gönderiyorum” demiş olursunuz , mx girerseniz aynı şekilde “benim mx kaydımı çek , ben sadece o ip lerden mail gönderiyorum” demiş olursunuz , “include ise bu kayda bak , orada hangi ip leri görüyor iseniz ben oradan mail çıkabilirim” demiş olursunuz.Bu arada aslında all da bir mekanizmadır , tanımlayıcı olan başındaki işaret olacaktır ki yukarıda bahsetmiştik.

Birde değiştiriciler vardır ancak gelecek için kullanmak üzeredir , redirect bunlardan biridir , gmail kullanmaktadır , bir de exp vardır ki nadiren kullanılır , muhtemelen hatalara bir açıklama getirmek için kullanılacaktır ancak şu an pek rastlayamazsınız.

Umarız bu anlatım tarzı yeterince açıklayıcı oluyordur, yorumlarınızla şekillendirebilirsiniz, biz şimdilik bu şekilde devam ediyoruz.

Bu sırada yine ara bir bilgi vermek istedik , dünya’daki tüm SPF kayıtlarının %17’si hatalıdır, bu araştırma Alexa’daki en çok ziyaret edilen 1 milyon alan adı için yapılmıştır. Spf için web hosting firmanıza, sunucu aldığınız firmanıza ya da uzman tanıdıklarınıza başvurabilirsiniz, bunun yanında yazımıza yorum ile soru sorabilirsiniz ve ya info uzantılı mail adresimiz ile iletişime geçebilirsiniz.

Şimdi diğer bir ara bilgi ile devam edelim , diyelim ki Siz bir adet ip adresine sahip bir sunucudan mail gönderimi yapıyorsunuz ama spf kaydınıza ipadresiniz/24 girdiniz , bu durumda ben aynı firmadan sunucu aldı isem ve Sizinle aynı ip blogunda isem Sizin adınıza mail gönderebilirim ve SPF filtresine takılmamış olurum , konunun önemini belirtmek için bu bilgiyi vermek istedik.

SPF ile ilgili her bilgiyi Size aktarmayı bir borç edindiğimiz için bi bilgi daha vermek isteriz , her ne kadar spf bir sınırlandırması olmasa da dns’in de bir sınırlandırması var , spf için gireceğiniz DNS TXT kayıtlarınızda 255 karakteri geçmemelisiniz , bu durumu include mekanizması ile çözebilirsiniz.

Bu yazı için bize destek veren Ayhan ARDA ‘ya katkıları için teşekkür ederiz.

Farklı firmalarda SPF kaydı nasıl girilir için firmaların mailleri ile bizi bilgilendirmesini rica ederiz. Mail adresimize ulaşan firma sayısı ve durumlarına göre oluşacak algoritma sonucunda muhtemelen yazıda yer alacaklardır.

One Comment

Leave a Reply

One Ping

  1. Pingback:

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir