Hoşgeldin Misafir

> #STHM-Kimlik Avı Önleme

CW-ommah

17 Ocak 2022
905 Mesaj
TIM Görevleri
1

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Allahın Rahmeti Ve Bereketi Üzerinize Olsun
Selamun aleyküm dostlarım bu bölümde ise e-posta güvenliğini temelini yani SPF, DKIM, DMARC, S/MIME bunları allahın izniyle inceleyeceğiz

Sender Policy Frameworks(SPF) Nedir?

E-posta üzerinden yapılan dolandırıcılık ve kimlik avı saldırıları günümüzde oldukça yaygın. Bu tür saldırılara karşı kullanılan en temel güvenlik mekanizmalarından biri Sender Policy Framework, yani kısaca SPF’tir.
SPF’in temel amacı çok basittir:
Bu e-postayı gerçekten bu alan adı mı gönderdi? sorusuna cevap vermek.
Bir alan adı sahibi olarak, “Benim adıma hangi sunucular e-posta gönderebilir?” bilgisini bir SPF kaydıyla belirtirsiniz. Bu kayıt, alan adınıza ait DNS üzerinde tutulur ve gelen e-postalar bu bilgiye göre kontrol edilir.

resim.png

SPF Nasıl Çalışır?

Bir e-posta gönderildiğinde, alıcı taraftaki e-posta sunucusu şu adımları izler:
  1. E-postanın hangi alan adı adına gönderildiğini kontrol eder.
  2. Bu alan adına ait SPF kaydını DNS üzerinden sorgular.
  3. E-postayı gönderen sunucunun IP adresinin, SPF kaydında izin verilenler arasında olup olmadığına bakar.
  4. Sonuca göre e-postayı kabul eder, şüpheli olarak işaretler ya da tamamen reddeder.
Yani SPF, alıcı sunucunun “Bu e-postaya güvenebilir miyim?” kararını vermesini sağlar.
Doğrulama SonucuHedeflenen İşlem (Aksiyon)
Pass, Neutral, None (Geçti, Nötr, Yok)Kabul Et (E-postaya izin ver ve işle)
SoftFail, PermError (Yumuşak Red, Kalıcı Hata)İşaretle (Şüpheli olarak damgala ama izin ver)
Fail, TempError (Red, Geçici Hata)Reddet (E-postayı anında geri çevir/at)

Örnek SPF Kaydı

Kod
Kod:
v=spf1 ip4:127.0.0.1 include:_spf.google.com -all
Bu kaydı parçalara ayırarak inceleyelim:

  • v=spf1: Bunun bir SPF kaydı olduğunu belirtir.
  • ip4:127.0.0.1: Bu IP adresinin alan adı adına e-posta göndermesine izin verildiğini söyler.
  • include:_spf.google.com: Google’ın yetkilendirdiği sunucuların da e-posta gönderebileceğini ifade eder.
  • -all: Burada belirtilmeyen hiçbir sunucunun e-posta göndermesine izin verilmez. Yetkisiz olanlar reddedilir
resim2.png

SPF Kayıtlarını Kontrol Etmek İçin Kullanılan Araçlar

SPF kayıtlarını incelemek ve doğru yapılandırılıp yapılandırılmadığını görmek için bazı araçlar kullanılır:
  • dmarcian SPF Surveyor: DNS üzerindeki SPF kaydını görsel olarak incelemenizi sağlar ve sözdizimi hatalarını gösterir.
  • Google Admin Toolbox – Messageheader: Bir e-postanın tam başlığını analiz ederek SPF sonucunu (pass, fail, softfail vb.) gösterir.
Örneğin SPF sonucu softfail olan bir e-postada, gönderen IP adresi yetkili listede değildir; ancak e-posta yine de alıcıya ulaştırılır ve genellikle şüpheli olarak işaretlenir.
1770745129392.png

DomainKeys Identified Mail (DKIM) Nedir?

DomainKeys Identified Mail, kısaca DKIM, gönderilen bir e-postanın gerçekten iddia ettiği alan adından gelip gelmediğini doğrulamak için kullanılan bir e-posta güvenlik yöntemidir.
Basitçe söylemek gerekirse DKIM, e-postaya dijital bir imza ekler. Bu imza sayesinde alıcı sunucu, mesajın yolda değiştirilip değiştirilmediğini ve gerçekten doğru kaynaktan gelip gelmediğini anlayabilir.
DKIM, tıpkı SPF gibi açık bir e-posta kimlik doğrulama standardıdır ve DMARC yapısının temel bileşenlerinden biridir. DKIM’e ait bilgiler alan adının DNS kayıtlarında tutulur, ancak SPF’ye kıyasla daha karmaşık bir yapıya sahiptir.
DKIM’i güçlü kılan en önemli özelliklerden biri şudur:
E-posta yönlendirilse bile (forward edilse bile) doğrulamasını koruyabilir.
Bu durum SPF için her zaman geçerli değildir. Bu yüzden DKIM, SPF’ye göre daha dayanıklı kabul edilir ve e-posta güvenliğinin temel yapı taşlarından biri olarak görülür.

1770744380728.png

DKIM Nasıl Çalışır Adım Adım Bakalım

Konuyu parçalara ayıralım.
Bir e-posta gönderildiği anda, gönderen e-posta sunucusu özel bir anahtar (private key) kullanarak e-postaya dijital bir imza ekler. Bu imza, e-postanın içeriğine özgüdür ve mesajın sonradan değiştirilmediğini kanıtlamak için kullanılır.
E-posta alıcı sunucuya ulaştığında ise şu işlem gerçekleşir:

  • Alıcı sunucu, e-postanın gönderildiği alan adına ait DKIM kaydını DNS üzerinden sorgular.
  • Bu DKIM kaydının içinde yer alan açık anahtar (public key) alınır.
  • E-posta üzerindeki dijital imza bu açık anahtar ile doğrulanır.
Eğer imza doğruysa:
  • E-postanın gerçekten belirtilen alan adından geldiği,
  • Mesajın gönderim sırasında değiştirilmediği
    anlaşılır ve e-posta geçerli (authentic) kabul edilir.
Eğer imza doğrulanamazsa:
  • E-posta şüpheli olarak işaretlenebilir,
  • Ya da tamamen reddedilebilir.

DKIM Kayıtları

Bir DKIM kaydı da SPF gibi DNS üzerinde tutulur, ancak yapısı biraz daha tekniktir. Örnek bir DKIM kaydı şu şekildedir:
Kod:
v=DKIM1; k=rsa; p=<public_key>
Bu kaydın parçaları şunlardır:

  • v=DKIM1: Kullanılan DKIM sürümünü belirtir (zorunlu değildir).
  • k=rsa: Kullanılan anahtar türünü gösterir. Günümüzde standart olarak RSA şifreleme algoritması kullanılır.
  • p=: Açık anahtarı (public key) içerir. Bu anahtar, e-posta üzerindeki imzanın doğrulanması için kullanılır ve özel anahtarla eşleşir.
Not: DKIM kayıtlarının formatı, kullanılan e-posta servis sağlayıcısına veya yapılandırmaya bağlı olarak değişebilir. Bazı DKIM kayıtlarında ek etiketler (tag’ler) bulunabilir.

DKIM’i Kontrol Etmek İçin Araçlar

DKIM hakkında daha fazla bilgi edinmek isteyenler için dmarcian oldukça faydalı kaynaklar sunar.
Ayrıca dmarcian’in DKIM Record Checker ve Validator araçları sayesinde DKIM kayıtlarının doğru yapılandırılıp yapılandırılmadığı kolayca kontrol edilebilir.

Örnek Bir Spam E-posta Başlığı (Header)

Aşağıdaki örnekte, spam olarak işaretlenmiş bir e-postanın başlığından (header) alınmış bir kesit görülmektedir. Bu e-postada DKIM sonucu permerror olarak dönmüştür.
Permerror, DKIM doğrulamasında kalıcı bir hata oluştuğu anlamına gelir. Bunun birkaç olası sebebi olabilir:

  • DKIM imzasının geçersiz olması
  • DNS üzerinde DKIM kaydının eksik ya da hatalı olması
  • E-postanın yönlendirilirken (forward edilirken) içeriğinin değiştirilmesi
  • DKIM yapılandırmasının yanlış yapılmış olması
Bu tür durumlarda alıcı sunucu, e-postaya güvenmez ve mesajı spam olarak işaretleyebilir ya da tamamen reddedebilir.
1770744643178.png

Domain-Based Message Authentication, Reporting, and Conformance (DMARC) Nedir?

E-posta güvenliğinde SPF ve DKIM tek başına yeterli değildir. Asıl resmi çerçeveleyen yapı DMARC’tır. DMARC, gönderilen bir e-postanın gerçekten iddia ettiği alan adından gelip gelmediğini kontrol eder ve sorun varsa alıcı sunucuya nasıl davranması gerektiğini söyler.
Bunu yaparken SPF ve DKIM sonuçlarını birlikte değerlendirir. E-postayı gönderen alan adı, SPF ve DKIM tarafından doğrulanan alan adlarıyla uyumlu mu, değil mi buna bakar. Bu uyuma “alignment” denir.
Eğer bu uyum sağlanıyorsa e-posta güvenilir kabul edilir. Sağlanmıyorsa, DMARC devreye girer ve önceden belirlenmiş kurala göre e-postanın akıbetine karar verir.

DMARC Ne Sağlar?

DMARC sayesinde alan adı sahibi şunu net bir şekilde belirleyebilir:
  • Doğrulamadan geçemeyen e-postalar kabul edilsin mi?
  • Spam klasörüne mi taşınsın?
  • Yoksa tamamen mi reddedilsin?
Bu kontrol, özellikle alan adı taklit edilerek gönderilen sahte e-postaların önüne geçmek için çok etkilidir.

DMARC Kaydı Nasıl Görünür?

DMARC ayarları da DNS üzerinde tutulan bir kayıtla yapılır. Örnek bir DMARC kaydı şu şekildedir:
Kod:
v=DMARC1; p=quarantine; rua=mailto:[email protected]
Bu kayıtta:

  • v=DMARC1, kullanılan DMARC sürümünü belirtir.
  • p=quarantine, DMARC kontrolünden geçemeyen e-postaların spam klasörüne taşınacağını söyler.
  • rua ise opsiyoneldir ve DMARC raporlarının hangi adrese gönderileceğini belirtir.
Bu raporlar sayesinde alan adı sahibi, kendi alan adı üzerinden gönderilmeye çalışılan şüpheli e-postaları takip edebilir.

DMARC Kayıtlarını Kontrol Etmek

SPF, DKIM ve DMARC kayıtlarını birlikte kontrol etmek için dmarcian Domain Checker oldukça kullanışlıdır. Bu araç, alan adının e-posta güvenliğiyle ilgili tüm kayıtlarını tek ekranda gösterir.
Örneğin microsoft.com üzerinde yapılan bir kontrolde, tüm doğrulamaların sorunsuz geçtiği görülür. Kayıt detaylarına bakıldığında, DMARC kontrolünü geçemeyen e-postaların p=reject politikası nedeniyle doğrudan reddedildiği anlaşılır.
Yani bu alan adı adına yetkisiz şekilde e-posta göndermeye çalışanlar, daha en baştan engellenmiş olur.

1770744685499.png

Secure/Multipurpose Internet Mail Extensions (S/MIME) Nedir?

S/MIME, e-postaların hem güvenli hem de doğrulanabilir olmasını sağlayan bir sistemdir. Temel amacı, bir e-postanın gerçekten doğru kişiden gelip gelmediğini göstermek ve mesaj içeriğinin başkaları tarafından okunmasını engellemektir.
Bu sistem, açık anahtar mantığıyla çalışır. Her kullanıcının iki anahtarı vardır: biri herkese açık olan, diğeri ise sadece kendisinde bulunan gizli anahtar. Gizli anahtar kimseyle paylaşılmaz, açık anahtar ise karşı tarafla güvenle paylaşılabilir.

Dijital İmza Ne İşe Yarar?

Bir e-posta gönderilirken, gönderen kişi mesajı kendi gizli anahtarıyla imzalar. Alıcı taraf ise bu imzayı, gönderenin açık anahtarıyla kontrol eder.
Bu kontrol sayesinde üç önemli şey sağlanır:

  • E-postanın gerçekten belirtilen kişiden geldiği anlaşılır.
  • Gönderen, mesajı kendisinin göndermediğini sonradan inkâr edemez.
  • Mesaj gönderildikten sonra içeriğinde bir değişiklik yapılıp yapılmadığı tespit edilir.
Kısacası dijital imza, e-postanın kimliğini ve bütünlüğünü garanti altına alır.

Şifreleme Nasıl Çalışır?

Şifreleme tarafında ise farklı bir süreç işler. E-posta, alıcının açık anahtarı kullanılarak kilitlenir. Bu kilidi sadece alıcının gizli anahtarı açabilir.
Bu sayede mesajın içeriği, araya giren başka biri olsa bile okunamaz. E-posta yalnızca hedeflenen kişi tarafından görüntülenebilir.

S/MIME Örneği

  • Ali, e-postayı S/MIME kullanarak Mehdi'ye güvenli bir şekilde göndermek ister.
  • Ali, bir Dijital İmza oluşturmak için dijital bir sertifika hazırlar.
  • Ali, e-posta mesajını kendi özel anahtarı (Private Key) ile "imzalar" (Dijital İmza).
  • Ali, e-postayı imzaladıktan sonra halka açık anahtarını (Public Key) Mehdi ile açıkça paylaşır.
  • Ali ayrıca, e-postayı şifrelemek için Mehdi'nin halka açık anahtarını ister (Şifreleme).
  • Mehdi, Ali'den gelen mesajı Ali’nin halka açık anahtarı ile doğrular (Dijital İmza).
  • Mehdi, aldığı mesajın şifresini kendi özel anahtarı ile çözer (Şifreleme).
  • Mehdi cevap yazmak istediğinde, aynı işlemleri en baştan itibaren uygular.
  • Böylece hem Ali hem de Mehdi, gelecekteki yazışmalar için birbirlerinin sertifikalarına sahip olmuş olurlar.
1770744723707.png

Okuduğunuz için Teşekkür ederim

CW-Ommah...
Bug Researchers Tim Sundu.

1770745433026.png
 

Ekli dosyalar

  • 1770744293538.png
    1770744293538.png
    22.6 KB · Görüntüleme: 0
  • 1770744371942.png
    1770744371942.png
    36.6 KB · Görüntüleme: 0