MTA-STS sorgulama

_mta-sts TXT kaydını sorgulayın, politika dosyasını HTTPS üzerinden alın, içindeki mx kalıplarını alan adının gerçekten yayınladığı MX sunucularıyla karşılaştırın ve max_age değerini 31.557.600 saniyelik üst sınıra göre denetleyin.

MTA-STS nedir, bu araç neye bakar

E-posta sunucuları arasındaki SMTP trafiği fırsat buldukça şifrelenir: alıcı sunucu STARTTLS sunmazsa veya yol üzerindeki biri bu teklifi silerse ileti düz metin olarak gider. MTA-STS (RFC 8461), bir alan adının gönderen sunuculara şunu söylemesini sağlar: "MX sunucularım geçerli bir sertifikayla TLS destekler; bunu sağlayamıyorsanız teslim etmeyin". İki parçadan oluşur: _mta-sts.<alan adı> adresinde, politikayı ve sürüm kimliğini duyuran bir TXT kaydı ile politikanın kendisi, yani https://mta-sts.<alan adı>/.well-known/mta-sts.txt adresindeki küçük bir metin dosyası.

OrbitProbe TXT kaydını okur, politika dosyasını gönderen bir sunucunun yapmak zorunda olduğu şekilde ister (HTTPS, sertifika denetlenir, yönlendirme izlenmez), version, mode, mx ve max_age alanlarını ayrıştırır, ardından alan adının MX kayıtlarını sorgulayarak her MX sunucusunun politikadaki mx kalıplarından biriyle eşleşip eşleşmediğine bakar.

Sonucu okumak

mode: enforce, MTA-STS destekleyen gönderenlerin TLS'i başarısız olan veya politikada yer almayan bir MX sunucusuna teslimi reddetmesi demektir. mode: testing iletiyi yine de teslim eder ve hatayı yalnızca raporlar; doğru ilk adım budur. mode: none politikayı geri çeker. max_age, gönderenin politikayı saniye cinsinden ne kadar süre önbellekte tutabileceğidir; politika oturduktan sonra bir hafta veya daha uzun süreler yaygındır, üst sınır 31557600 saniyedir (yaklaşık bir yıl).

Gerçek hayatta en sık görülen hata, MX kayıtlarıyla artık eşleşmeyen politikadır: e-posta yeni bir sağlayıcıya taşınmış, MX kayıtları değiştirilmiş, politika dosyası ise hâlâ eski sunucuları listeliyordur. enforce modunda bu, MTA-STS'e uyan her gönderenden gelen teslimatı engeller. Araç, hiçbir kalıbın kapsamadığı her MX sunucusunu bu yüzden adıyla gösterir.

TXT kaydındaki id yalnızca bir sürüm işaretidir. Gönderenler politika dosyasını id değiştiğinde yeniden alır; bu yüzden dosyayı her düzenlediğinizde id değerini de değiştirin.

Bu kontrolün söyleyemedikleri

Araç MX sunucularınıza bağlanmaz; dolayısıyla gerçekten STARTTLS sunup sunmadıklarını ve sertifikanın adla eşleşip eşleşmediğini sınamaz. Hangi gönderenlerin MTA-STS desteklediğini de bilemez. Başarısız olan bir sorgu "MTA-STS yok" olarak değil, "kontrol edilemedi" olarak gösterilir: zaman aşımı, kaydın bulunmadığının kanıtı değildir. enforce moduna geçmeden önce hataları gönderenlerden öğrenebilmek için MTA-STS'i TLS-RPT ile birlikte kullanın.

Bu araç nasıl kullanılır

  1. Alan adını girin. example.com gibi bir alan adı yazın veya yapıştırın. Tam bir URL de olur: şema, yol ve baştaki www atılır.
  2. Kontrolü çalıştırın. Araç _mta-sts.<alan adı> adresindeki TXT kaydını okur, politika dosyasını mta-sts.<alan adı> adresinden HTTPS ile alır ve MX kayıtlarını sorgular.
  3. Politikayı MX sunucularıyla karşılaştırın. mode ve max_age değerlerine bakın; her MX sunucusunun politikadaki bir mx kalıbıyla kapsandığından emin olun.

Komut satırındaki karşılığı

Aynı kontrolün terminalden yapılışı. Komutlar example.com kullanır: yerine kendi adınızı yazın.

  • TXT kaydıdig _mta-sts.example.com TXT +short
  • Politika dosyasıcurl -s https://mta-sts.example.com/.well-known/mta-sts.txt
  • Karşılaştırılacak MX sunucularıdig example.com MX +short
  • Windowsnslookup -type=TXT _mta-sts.example.com

Sık sorulan sorular

Bir alan adında MTA-STS var mı, nasıl kontrol edilir?

Alan adını yukarıya yazın. Araç _mta-sts.<alan adı> adresindeki TXT kaydını sorgular, https://mta-sts.<alan adı>/.well-known/mta-sts.txt dosyasını alır ve ikisini, bulduğu her sorunla birlikte gösterir.

MTA-STS TXT kaydı nasıl görünür?

v=STSv1; id=20260101T000000. v etiketi başta olmalıdır; id en fazla 32 harf ve rakamdan oluşur. Politika dosyasını her değiştirdiğinizde id değerini de değiştirin.

testing mi enforce mu kullanmalıyım?

Bir TLS-RPT kaydıyla birlikte testing ile başlayın, raporları birkaç hafta okuyun ve meşru MX sunucularınız için hata görünmediğinde enforce moduna geçin.

Araç neden bir MX sunucusunun kapsanmadığını söylüyor?

MX kaydınızdaki sunucu adı politikadaki hiçbir mx satırıyla eşleşmiyor. *.example.com gibi bir wildcard tam olarak bir etiketle eşleşir: mx1.example.com adını kapsar, a.b.example.com adını veya example.com'un kendisini kapsamaz.

Politika dosyası için özel bir web sunucusu gerekir mi?

Gereken şunlardır: mta-sts.<alan adı> adında, bu ad için geçerli bir sertifikayla HTTPS, yönlendirme içermeyen bir 200 yanıtı ve text/plain içerik türü. Statik dosya sunan herhangi bir hosting bunu karşılar.