Merhaba,
Iyi bir mail akışı için, gelen maillerinizi denetlemenizin yanı sıra gönderilen maillerinizin de doğrulanması ve güvenli bir şekilde iletilmesi için bazı yapılandırmalar gerekir.
SPF, DKIM ve DMARC gibi DNS bazlı doğrulamalar bunların en önemlileridir. Her birini kısaca özetlemek ve tanımlamak gerekirse;
SPF: Domaininiz ile mail göndermek için yetkilendirdiğiniz sunucuların IP veya Hostname’lerine yer verdiğiniz bir TXT kaydıdır. Bu kayıt içerisinde yer almayan bir sunucudan mail gönderimi sağlandığında bir çok mail sunucusu veya gateway bunu spam olarak algılar.
DKIM: DKIM özelliğini aktif ettikten sonra gönderilen maillerinizin gövdesi şifrelenir. Maili teslim alan sunucu şifrelenmiş kısmı okuyabilmek için DNS sağlayıcınızdan daha önce paylaştığınız DKIM anahtarlarını teslim alır ve maili anlaşılır bir şekilde kullanıcıya teslim eder. Bu sayede gönderdiğiniz mailin gönderici ve alıcı arasındaki yolculuğu sırasında manipüle edilmediğini ispatlamış olursunuz.
DMARC: Herhangi bir kaynaktan SPF ya da DKIM kaydınız ile tutarsızlık yaşayan bir e-posta gönderildiğinde, DMARC kaydı içerisinde belirteceğiniz bir politika ile bu maili teslim alan sunuculara ne yapması gerektiğini belirtirsiniz. Dmarc politikası içerisinde 3 farklı aksiyon alma şansınız vardır. Bunlar; karantina, reddetme ve raporlamadır. (Quarantine, reject, none)
Şimdi gelin Microsoft 365 yani Exchange Online kullanılan bir yapıda SPF, DKIM ve DMARC yapılandırmalarına göz atalım.
Eğer Exchange Online hizmetini özel bir alan adı ile kullanmak istiyorsanız bu alan adının DNS sunucularına Microsoft’un sizden istediği 3 DNS kaydını eklemeniz ve dış dünya ile paylaşmanız gerekir. Bu alan adını ilk kez Microsoft 365’e kaydediyorsanız aşağıdaki adıma geldiğinizde size MX, CNAME ve SPF kaydı için gerekli DNS kayıtlarını verecektir. Siz bu kayıtları DNS sunucunuzda paylaşmalısınız.
Örneğin tayfuntech.com alan adı için aşağıdaki görseldeki görebileceğiniz üzere bir MX bir TXT ve bir adet de CNAME kaydı paylaşıyorum.
MX kaydı, tayfuntech.com alan adını kullanan kullanıcılara mail gönderilirken hangi mail sunucularının maili teslim alacağına dair bir adresleme yapmakta. Öte yandan SPF (TXT) kaydı ise az önce bahsettiğimiz gibi mail gönderme esnasında yetkilendirdiğimiz sunucu bilgilerini barındırır. Biz Exchange Online sunucularını kullandığımız için Exchange Online sunucu IP havuzuna denk gelen bir hostname ile bunu belirtiyoruz. Bu TXT kaydını DNS sunucunuzda paylaştığınızda Admin Center>>Settings>>Domains başlığında domaininize tıkladıktan sonra durumunu kontrol edebilirsiniz. OK ibaresini görüyorsanız her şey yolundadır.
SPF kaydını hallettikten sonra sıra DKIM kaydını etkinleştirmekte. Security.microsoft.com adresinden M365 Güvenlik merkezine oturum açın ve Policies & Rules (İlkeler ve Kurallar) >> Threat Policies (Tehdit ilkeleri)>>Email Authentication settings (E-posta kimlik doğrulama adımları) menülerine giriş yapın.
Bu menüde DKIM başlığına tıkladıktan sonra domaininizi seçin. DKIM özelliğini enable etmeye çalıştığınızda aşağıdaki gibi bir hata alacaksınız. Hatada, DKIM için gereken CNAME kayıtlarının eksik olduğunu belirtiyor.
Hata içerisinde bulunan iki CNAME kaydını da bir not defterine alıyoruz ve DNS kayıtlarını yönettiğimiz domain sağlayıcıya gidiyoruz.
Az önce not aldığım değerleri kullanarak gerekli CNAME kayıtlarını DNS sağlayıcım üzerinde paylaşıyorum.
Her iki CNAME kaydını da paylaştıktan sonra M365 Güvenlik Merkezi üzerinden DKIM’I tekrar enable etmeyi deniyorum ve bu kez başarılı oluyorum.
Son olarak DMARC kaydını oluşturup paylaşacağız. DMARC kaydı ile ilgili Microsoft 365 Admin Center üzerinde herhangi bir fonksiyon bulunmamakta. Bu nedenle yalnızca gerekli kaydı DNS sunucusudan paylaşmak yeterli olacaktır. Bu kayıt içerisinde belirlemeniz gereken bazı parametreler bulunmakta. Bu nedenle DMARC kaydı standart olarak size sunulmaz. Eğer DMARC ile ilgili yeterli tecrübeniz yoksa aşağıdaki görsellerdeki gibi websitelerinden destek alarak bir kayıt oluşturabilirsiniz. SPF ve DKIM kaydınız ile uyuşmayan maillerin başına ne geleceğini policy kısmında belirtirken aynı zamanda bu hatalar ile ilgili raporlar almak istediğiniz mail adresinizi kayıt içerisinde ekleyebilirsiniz.
Bizim örnek senaryomuzda, tayfuntech.com domaini için SPF ve DKIM hataları barındıran maillerin karantinaya alınması gerektiğini belirttik. Ayrıca bu hatalara dair mail@tayfuntech.com adresine raporlar gönderilmesini belirttik.
Bu tool aracılığıyla oluşturduğum kaydı DNS sağlayıcım üzerinde paylaştım ve DMARC işlemini de tamamlamış oldum.
Peki tüm bu yaptıklarımız işe yaradı mı? Nasıl emin olabiliriz?
İşlemleri tamamladıktan sonra herhangi bir dış kullanıcıya mail gönderin. Alıcı tarafından teslim alınan e-postayı ayrı bir pencerede açın ve File>>Properties bölümüne girin. Açılacka pencerede Internet headers yazan bölümü kopyalayın.
Kopyaladığınız bu içeriği https://mha.azurewebsites.net/ adresine gidip yapıştırın ve header analiz işlemini başlatın.
Authentication-Results başlığında (header), sırasıyla spf=pass, dkim=pass, dmarc=pass ibarelerini görmelisiniz. Böylece gönderdiğiniz her mailin gövdesinde yer alan bu doğrulama katmanları sayesinde hem domainizin taklit edilmesi hem de reputasyonunun düşmesinin önüne geçmiş olursunuz.
Eğer SPF, DKIM veya DMARC değerlerinden herhangi birine karşılık olarak pass yerine none yazıyorsa gerçekleştirdiğiniz işlemlerde bir eksiklik olabilir. Gerçekleştirdiğiniz adımları ve DNS sunucularınızı gözden geçirmenizde fayda var.