Forum
Domain Key, spam ve phishing maillerin engellenmesi için kullanılan bir teknolojidir. Bu teknoloji Mark Delany tarafından yahoo için geliştirilmiştir. Teknolojinin çalışma mantığı son derece basittir. Gönderilen maillerin şifreli bir şekilde imzalanarak alıcı tarafından ( MTA seviyesinde kullanıcı seviyesinde değil ) gönderilen mailin bu domain için yetkili bir MTA dan gönderilip gönderilmediğinin kontrolünün yapılmasını sağlar.
Sizin domainden gönderilen maillerin gerçekten sizin yetkili bir sunucunuzdan çıkıp çıkmadığının kontrolünün DomainKey üzerinden kontrol edilmesi için ( normal şartlarda sunucular bu kontrolü yapmaz, pek çok MTA için bu ayarların nasıl yapıldığını bu adresten öğrenebilirsiniz http://domainkeys.sourceforge.net ) DNS üzerindeki TXT- Record kullanılır. Yani özetle DomainKey Policy ve Mailleri şifrelemek için kullanılan anahtarın "public key" bölümünü dns’ ten edinebilirsiniz.
DomainKey yapısını kullanmak istiyorsanız bilmeniz gereken ilk konu DNS üzerinde iki kayıt oluşturmanız gerektiğidir. Bunlardan birisi DomainKey Policydir.
Bu kaydın ismi "_domainkey" ile başlıyor olmalı ve devamında domain ismi gelmeli. cozumpark.com için örnek kayıt aşağıdaki gibidir.
_domainkey.cozumpark.com
Bunun yanında ek olarak "o=-" veya "o=~" kayıtlarını da kullanıyoruz. Bunlardan ilki olan "o=-" bu domainden gönderilen tüm maillerin imzalandığını, ikinci komut olan "o=~" yardımı ile bu domainden gönderilen bazı maillerin imzalandığını belirtebiliriz. Bunlara ise ek olarak test (t), sorumlu email adresi (r), ve note (n) ekleyebiliriz. Buna da örnek vermek gerekirse
"o=-; n=deneme maili; r=hakan.uzuner@hakanuzuner.com" gibi bir kayıt hazırlayabilirsiniz.
Alıcı MTA bu policy çerçevesinde hareket edecektir, yani eğer tüm gönderilen maillerde imza olacak ise bu durumda gelen mail içinde bu imzayı arayacaktır, ancak böyle bir dns kaydı yok ise ve maili alan MTA Domain Key kontrolü yapıyor ise bu durumda admin olarak o MTA da siz domain KEY bulunmaması halinde nasıl bir aksiyon alınacak ise ( maili kabul etme veya işaretleyerek kullanıcıya ulaşatır vb ) bu aksiyon alınır.
Gelelim ikinci bölüme, yani domain Key policy dns üzerinde tanımlandı, dns üzerinde tanımlanacak ikinci kayıt olan "public key record" kısmıdır.
Bu bölümünde daha net anlaşılabilmesi için DomainKey çalışma mantığının biraz daha detaylarına girmek istiyorum.
Sahip olduğunuz MTA eğer gönderdiği mesajları DomainKey mimarisine göre imzalayacak ise sistem aşağıdaki şekilde çalışmaktadır.
Bir mail DomainKey ile imzalanması halinde header bölümünde kriptografik imza’ yı içeren "DomainKey-Signature" ve buna ek olarak bazı bölümler içerir
Buna bir örnek vermek gerekirse
DomainKey-Signature: a=rsa-sha1;
s=istanbul;
d=cozumpark.com;
c=simple;
q=dns;
b=dydVyOfAKCdLXdJOc8G2q8LoXSlEniSbav+yuU4zGffruD00lszZVoG4ZHRNiYzR;
Maili alan sunucu imzayı kontrol etmek için ilk olarak DNS üzerindeki TXT record içerisinde bulunan public key’ i edinmesi gerekmektedir, bu nedenle bizimde bir public key oluşturmamız ve bunu dns üzerinden yayınlıyor olmamız gerekmektedir.
TXT kaydı için örnek aşağıdaki gibidir
selector (s=…) + ._domainkey. + the domain name
istanbul._domainkey.cozumpark
içerisine ise
k=rsa;p=Publickey ( buraya ürettiğiniz public key’ i giriyorsunuz)
Buradaki public key sizin sunucunuz tarafından üretilmektedir veya opensll ile sizde oluşturabilirsiniz ki bunu da mail serverların DomainKey için nasıl konfigüre edileceğini anlattığım bölümden edinebilirsiniz.
Tabiki bu public key, mail sunucununzun mailleri gönderirken imzalamak için kullandığı private key ile eşleşmek zorundadır.
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
Bilgilendirme için teşekkürler hocam.
1984 doğumluyum. 4 yaşından bu yana İstanbul’da yaşıyorum. Sırası ile aşağıdaki okullarda eğitim gördüm. Paşaköy ilkokulu (1990-1995) Kartal Zekeriyya Güçer İlköğretim Okulu(1995-1998) Ümraniye Teknik ve Endüstri Meslek Lisesi Bilgisayar Bölümü(1998-2001) Kocaeli Üniversitesi Bilgisayar Programcılığı(2002-2004) Anadolu Ünv. İşletme Fakültesi(2006-2009) Lise yıllarından sonra bir bilgisayar firmasının teknik servisinde mesleğe merhaba dedim. Outsource olarak Citibank ytl ve bina taşınma projesinde yer alarak 8 ay görev yaptım. Bu görevden sonra şu an çalışmakta olduğum yerde bilgi işlem sorumlusu olarak göreve başladım ve 18 yıldır görevimin başındayım.