DKIM, SPF ve DMARC

E-Posta Kimlikleri; DMARC, DKIM ve SPF Kayıtları

E-mail ile haberleşme artık günümüz dünyamızın en önemli iletişim araçlarından biri. Bu kadar önemli bir iletişim aracı doğal olarak art niyetli insanlarında dikkatini çekmiş durumda. Elimizde ki istatistiklere göre son kullanıcıların neredeyse yarısı göndereni belli olmayan maillerde ki bağlantılara ve dosyalara erişim gerçekleştiriyor.

Sistemlerimize en başta güvenlik sebeplerinden dolayı bir çok ek filtrelemeler getirmekteyiz. E-posta gibi temelinde oldukça güvensiz bir iletişim aracına da olabildiğince güvenli hale getirebilmek için bir nevi sistem doğrulama kayıtları eklenmektedir.

Sistemler kendilerine gelen e-postaları gerçekten de sizin gönderdiğinizi doğrulaması gerekir. Bunun için sender kısmında ki domainin ilgili DNS kayıtlarını sorgular. Bunlar sırası ile DMARC Policy, DKIM ve SPF’tir.

DKIM Nedir?

DKIM’in açılımı “Domain Keys Identified Mail” şeklindedir. Yahoo! tarafından ilk başlarda DomainKeys olarak tasarlanan DKIM’in amacı phishing spoofing dediğimiz oltalama saldırılarını önlemektir.

Yazımızın girişinde e-posta iletişiminin kökünde ne kadar güvensiz olduğunu dile getirmiştik. Spammer veya saldırgan, bir e-mail sunucusuna bir mail atarken from kısmına sizin domain bilgilerinizi yazarak normal şartlarda aldatabilir. DKIM’in mantığı bu tip aldatmaların önüne geçmektir.

DKIM Nasıl Çalışır?

Mail Transfer Agent’ınız (MTA) giden maillerin header kısmına DKIM-Signature dediğimiz, body ve header kısmını kapsayan bir dijital imza ekler. Mantığı aynı bir dosya şifreleme mantığıdır. DKIM-Signature ile şifrelediğiniz maili gönderdiniz diyelim. Alıcı maili aldığı zaman direk maili açamaz çünkü mail şifrelidir. Encrypt edilen mailin decrypt işlemi için bir anahtara ihtiyaç duyar. Bu anahtarda sizin public DNS zone kısmınızda TXT olarak bulunan anahtardır. Maili alan SMTP sunucusu sizin dns sunucunuzdan anahtarı aldıktan sonra şifreli kısmı da açar ve şifresiz kısım ile bir kıyaslama yapar. Eğer iki alanda aynı ise mail doğrulanır ve kabul edilir.

Bu döngüde iki faz vardır. Birincisi kilidi açacak anahtar, ikincisi ise açılan kilit ile şifrelenmemiş gönderinin uyuşmasıdır. İki fazda yerine getirilirse söylediğimiz gibi, mail doğrulanır.

DKIM Wizard: https://www.sparkpost.com/resources/tools/dkim-wizard/

SPF Nedir?

Açılımı Sender Policy Framework olan SPF, ilgili alan adının hangi mail adreslerinden mail gönderebileceğini belirttiğimiz alandır. Aynı DKIM’de olduğu gibi public dns zone kısmına TXT olarak ekleniyor.

SPF’in doğru yapılandırılması oldukça önemli. Windows işletim sistemi bilgisayarınızda command promt (CMD) çalıştırdığınız da aşağıda ki komut ile istediğiniz domainin txt kayıtlarını sorgulayabilirsiniz;

nslookup -q=TXT domain.com

SPF Nasıl Çalışır?

Ben burada kendi domain adresimi yazdığımda SPF ile ilgili aşağıda ki gibi bir sorgu dönüyor;

"v=spf1 redirect=_spf.yandex.net"

Burada benim SPF kayıtlarımın yandex’in kayıtlarına yönlendirdiğim ortaya çıkıyor. Yani maili alan sunucu, benim SPF kaydımı sorgulamak istediğinde ben ona _spf.yandex.net’te ki kayıtları dönüyorum.

Örnek verebilmek adına mynet.com’un kayıtlarını sorguladığımızda aşağıda ki gibi bir sonuç dönüyor;

"v=spf1 a mx ip4:212.101.96.0/19 ip4:209.17.115.103 ip4:209.17.115.104 ip4:209.17.115.105 ip4:64.69.218.74 ip4:64.69.218.75 ip4:64.69.218.76 ip4:216.21.224.0/20 ip4:209.17.115.0/24 ip4:37.75.13.0/24 ~all"

Mynet bize bir mail gönderdi diyelim. Maili alan sunucu, mailin sender domain kısmının DNS bilgilerini Root DNS’lerden sorgulayarak bulur ve SPF kayıtlarını ister. Ardından Mynet’in public dns sunucularından bu SPF kaydını alır. Burada “A” ve “MX” kayıtlarını doğrulanır.

C:\Users\mutkus>nslookup -q=A mbmail.mynet.com
Name:    mbmail.mynet.com
Address:  212.101.98.165

C:\Users\mutkus>nslookup -q=MX mynet.com
mynet.com       MX preference = 10, mail exchanger = mbmail.mynet.com

mbmail.mynet.com        internet address = 212.101.98.165

Yukarıda ki sorgu tiplerini incelediğimizde SPF kaydından öğrendiğimiz mbmail.mynet.com’un A ve MX kayıtlarını inceledik. Dönen cevapta bize 212.101.98.165 IP adresi döndü. SPF kaydında 212.101.96.0/19 kaydı ile bu adresinden aslında doğru olduğunu doğrulamış oldum.

SPF kayıtlarında en dikkat edilecek yer ise en son kısımdır. Örnek olarak incelediğimiz mynet’in SPF kaydının sonunda ~all ibaresi dikkat edeceğimiz kısım. Burada herhangi bir eşleşme bulunmasa bile SoftFail sonucu döner. Maili alıp almamak sunucuya kalmış bir olaydır. ~ ibaresinin yanı sıra + ve ? parametreleri de benzerdir. SPF’te en katı parametresi – parametresidir. Bu parametre ile sadece eşleşen bilgilerle mail alışverişi yapılır. Diğer tüm durumlarda Fail verilir.

Phishing gibi etkilerden kurtulmak için bu tip ufak detaylara oldukça dikkat edilmelidir. SPF kaydınıza subnet girmekten kaçınmalı, direk mail sunucunuzun IP adresini girmelisiniz.

DMARC Nedir?

Açılımı Domain-Based Message Authentication Reporting & Conformance olan, Türkçesi ise Alan Adı Doğrulama, Raporlama ve Uygunluk olarak çevrilen DMARC, phishing ve spam mailleri önlemek amacı ile oluşturulmuştur. SPF ve DKIM gibi public dns zone kısmına TXT olara eklenmektedir.

Mail servera sorunsuz olarak düşen mailiniz, eğer DMARC kaydınız yoksa spam kutusuna düşme ihtimali oldukça yüksektir. Dilerseniz siz kendiniz, dilerseniz de https://www.unlocktheinbox.com/dmarcwizard gibi sitelerden direkte oluşturabilirsiniz.

SPF’te olduğu gibi DMARC’ta da parametrelerin doğru girilmesi gerekmektedir. Yalnız SPF’ten çok daha fazla parametreler bulunmaktadır. Bunlar;

  1. v = Kullanımı zorunludur. DMARC sürümünü belirler. Şuanda DMARC1 sürümü olduğu için v=DMARC1 şeklinde olmalı
  2. p = Şüpheli e-postalar için ne yapılacağı belirtilir. Bununda kullanımı zorunludur. Değerleri ve açıklamaları şöyledir;
    1. none: İletiyle ilgili hiç bir şey yapılmaz. Günlük rapora kayıt edilir.
    2. quarantine: İleti spam olarak işaretlenir.
    3. reject: İleti red edilir.
      örnek kullanım p=none
  3. pct = Kullanımı zorunlu değildir. DMARC doğrulaması başarısız olan maillerin yüzde kaçının teslim edileceği belirtilir. Bu oran varsayılan olarak 100’dür. Ama siz örneğin 100 mailden 5’nin (%5) teslim edilmesini istiyorsanız pct=5 olarak belirtmeniz gerekmektedir.
  4. rua = İsteğe bağlıdır. Eğer alan adınıza ait DMARC etkinliklerini rapor olarak almak istiyorsanız kullanmanız gerekmektedir. rua= [email protected] gibi.
  5. sp = İsteğe bağlı bir parametredir. Alt alan adlarınıza farklı bir policy uygulamak istiyorsanız kullanabilirsiniz. Değerleri ise p etiketi ile aynıdır.
  6. aspf = SPF (ASPF) modu belirlenir. İsteğe bağlıdır. SPF imzaları ile tam olarak nasıl eşleşmesi gerektiğini buradan ayarlayabilirsiniz. Varsayılan değeri relaxed değeridir.
    1. r: Relaxed, yani esnek parametresidir. Kısmi eşleşmelere izin verir.
    2. s:Strick, yani katı değerdir. SPF kaydı ile birebir eşleşme ister.

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.