İçeriğe geç
🚀 Bu rehber açık kaynaklıdır ve katkılarınıza açıktır! Katkıda bulunmak, hata bildirmek veya öneri sunmak için GitHub Depomuzu ziyaret edin ve Pull Request açın.

Mesajlaşma Altyapıları ve E-Posta Doğrulama Protokolleri (SPF/DKIM/DMARC)

Mesajlaşma Altyapıları ve E-Posta Doğrulama Protokolleri

E-posta, kurumsal iletişimin omurgası olmaya devam ederken aynı zamanda MITRE ATT&CK çerçevesinde T1566 (Phishing) ve alt teknikleri T1566.001/.002 ile en yaygın ilk erişim (Initial Access) vektörüdür. SMTP protokolü tarihsel olarak kimlik doğrulama içermeden tasarlandığından, saldırganlar alan adı sahteciliği (domain spoofing) ve iş süreci ihlali (BEC) saldırılarında bu boşluğu sistematik olarak istismar eder.

SPF, DKIM ve DMARC üçlüsü, savunma derinliğinin DNS katmanında konumlanan ilk ve en kritik kontrol setidir. Tek başına hiçbiri yeterli değildir: SPF yalnızca zarf göndericisini (MAIL FROM) doğrular, DKIM mesaj bütünlüğünü korur, DMARC ise her ikisinin sonucunu kullanıcının gördüğü RFC5322.From alanıyla hizalayarak politika uygular. NIST SP 800-177 Rev. 1 (Trustworthy Email) bu üç teknolojinin birlikte konuşlandırılmasını önerir; CIS Controls v8 Safeguard 9.5 DMARC uygulamasını zorunlu kontrol olarak tanımlar.

Kurumsal e-posta güvenlik katmanları Kimlik doğrulama (SPF/DKIM/DMARC), taşıma güvenliği (MTA-STS/DANE) ve gateway katmanının savunma derinliği içindeki konumu


§9.1.1.Kurumsal Mesajlaşma Mimarileri ve Taşıma Güvenliği

Kurumsal e-posta altyapısı üç ana topolojide karşımıza çıkar: şirket içi Microsoft Exchange Server, bulut tabanlı Microsoft 365 / Google Workspace ve açık kaynaklı Postfix tabanlı MTA dağıtımları. Bu modeller arasındaki temel fark, posta akışının nerede sonlandığı ve kimlik doğrulama kontrollerinin nereye yerleştiğidir.

Topoloji Karşılaştırması

Güvenlik BoyutuMicrosoft 365Exchange On-PremisesPostfix (Açık Kaynak)
Sınır konumuMicrosoft bulut perimetri (EOP)Edge Transport + DMZ SEGDMZ veya sınır sunucusu
Kimlik doğrulamaEntra ID, Koşullu Erişim, MFAActive Directory / KerberosSASL + LDAP entegrasyonu
Gelişmiş tehditDefender for Office 365Üçüncü taraf SEG gerekliRspamd, ClamAV, OpenDMARC
Taşıma şifrelemeZorunlu TLS 1.2+Schannel / IIS TLSOpenSSL, esnek cipher sıkılaştırma
RegülasyonVeri yerelliği (özel tenant)Tam yerel veri ikametgâhıÖzelleştirilebilir uyum

Şirket içi Exchange dağıtımlarında posta akışı Edge Transport → Hub Transport → Mailbox rolleri üzerinden ilerler. Organizasyon dışına çıkan trafik Send Connector, içeri giren trafik Receive Connector üzerinden yönetilir. Konektörlerin yalnızca kimliği doğrulanmış IP aralıklarını kabul etmesi, açık röle (open relay) oluşturmaması ve fırsatçı TLS yerine zorunlu TLS uygulaması kritik sıkılaştırma adımlarıdır.

Microsoft 365 modelinde sınır Microsoft bulut altyapısıdır; kurum bağlayıcı (connector) tanımlarıyla hibrit akışları ve iş ortağı alan adlarıyla zorunlu TLS uygular. 2025 itibarıyla Google, Yahoo ve Microsoft yüksek hacimli göndericiler için SPF, DKIM ve DMARC’ı zorunlu hale getirmiştir — bu protokoller artık “en iyi uygulama” değil, operasyonel zorunluluktur.

MTA-STS, DANE ve TLS-RPT

SMTP, RFC 3207 STARTTLS ile şifrelemeyi opsiyonel bırakır. Ağdaki bir saldırgan STARTTLS komutunu kaldırarak (downgrade/strip attack) trafiği düz metne düşürebilir. Bu zafiyeti kapatan iki tamamlayıcı mekanizma vardır:

MTA-STS (RFC 8461): Alan adı, TLS’i zorunlu kıldığını HTTPS üzerinden sunulan politika dosyasıyla ilan eder.

_mta-sts.example.com. IN TXT "v=STSv1; id=20260115T100000Z;"

Politika dosyası (https://mta-sts.example.com/.well-known/mta-sts.txt):

version: STSv1
mode: enforce
mx: *.mail.protection.outlook.com
max_age: 604800

DANE/TLSA (RFC 7672): TLS sertifikasının parmak izini DNSSEC ile imzalanmış TLSA kaydında gömer. MTA-STS web PKI’ye güvenirken DANE DNSSEC’e güvenir ve TOFU zafiyetini ortadan kaldırır.

TLS-RPT (RFC 8460): TLS müzakere başarı/başarısızlık raporlarının nereye gönderileceğini belirtir:

_smtp._tls.example.com. IN TXT "v=TLSRPTv1; rua=mailto:tlsrpt@example.com"

Bu taşıma güvenliği katmanı, 6698 sayılı KVKK md.12 kapsamındaki “uygun güvenlik düzeyini sağlamaya yönelik teknik tedbirler” yükümlülüğüyle doğrudan örtüşür: e-postaların hat üzerinde şifresiz okunabilmesi, kişisel verilerin hukuka aykırı erişimine açık kapı bırakır.

Hibrit Mimaride Posta Akışı

┌─────────────────────────────────────────────────────────────────┐
│ KURUMSAL TOPOLOJİ │
├─────────────────────────────────────────────────────────────────┤
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Şube Ofis │ │ Veri Merkezi│ │ Microsoft │ │
│ │ (ip4:x.x) │ │ (Exchange) │ │ 365 / EOP │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ └───────────────────┼───────────────────┘ │
│ ┌──────▼──────┐ │
│ │ SPF Kaydı │ │
│ │ include:spf │ │
│ │ .protection │ │
│ │ .outlook.com│ │
│ │ ip4:... -all│ │
│ └─────────────┘ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ DMARC Policy: p=reject │ │
│ │ RUA: dmarc-reports@example.com │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘

§9.1.2.SPF (Sender Policy Framework — RFC 7208)

SPF, bir alan adının hangi sunucuların onun adına posta gönderebileceğini DNS TXT kaydında ilan etmesini sağlar. Alıcı MTA, gelen postanın MAIL FROM (Return-Path / zarf gönderici) adresindeki alan adına bakarak gönderen IP’sinin yetkili olup olmadığını doğrular.

Mekanizmalar ve Niteleyiciler

SPF kaydı tek bir DNS TXT kaydı olarak yayımlanır; birden fazla SPF kaydı permerror üretir (RFC 7208 §3.2).

example.com. IN TXT "v=spf1 ip4:203.0.113.0/24 include:spf.protection.outlook.com include:spf.mailjet.com -all"
MekanizmaAçıklamaDNS Sorgusu
ip4 / ip6Statik IP aralıkları (CIDR)Hayır
aAlan adının A/AAAA kayıtlarıEvet
mxMX kayıtlarındaki sunucularEvet
includeBaşka alan adının SPF kaydını dahil etEvet
allTüm diğer durumlar (her zaman sonda)Hayır
NiteleyiciAnlamOperasyonel Etki
+ (pass)YetkiliVarsayılan; kabul
- (fail)YetkisizHard fail; SMTP düzeyinde red
~ (softfail)Muhtemelen yetkisizKabul + spam skoru artışı
? (neutral)BelirsizPolitika uygulanmaz

10 DNS Lookup Limiti ve PermError

RFC 7208 §4.6.4, SPF değerlendirmesi sırasında include, a, mx, ptr, exists, redirect mekanizmalarının toplam sayısını 10 ile sınırlar. Limit aşıldığında alıcı permerror döndürmek zorundadır — meşru kurumsal postalar bile reddedilir veya spam klasörüne düşer.

Modern SaaS yığını (M365 + pazarlama otomasyonu + CRM + destek araçları) tipik olarak her servis için ayrı include gerektirdiğinden limit kolayca aşılır. Pratik çözümler:

  • Kullanılmayan include’ların kaldırılması; ptr mekanizmasının terk edilmesi
  • a/mx yerine sabit ip4/ip6 kullanımı
  • Alt alan adı delegasyonu: bulten.kurum.com, crm.kurum.com için bağımsız SPF kayıtları
  • SPF düzleştirme (flattening): include zincirlerindeki IP’lerin statik bloklara dönüştürülmesi

Postfix SPF Doğrulaması (policyd-spf)

/etc/postfix/main.cf:

policyd-spf_time_limit = 3600
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_policy_service unix:private/policyd-spf

/etc/postfix/master.cf:

policyd-spf unix - n n - 0 spawn
user=policyd-spf argv=/usr/bin/policyd-spf

SOC için kritik log çıktısı: Authentication-Results: ... spf=pass ... veya spf=fail.


§9.1.3.DKIM (DomainKeys Identified Mail — RFC 6376)

DKIM, giden e-postanın seçili başlık alanlarını ve gövdesini özel anahtarla kriptografik olarak imzalar. Alıcı, DNS’te yayımlanan açık anahtarla imzayı doğrular. DKIM’in en önemli özelliği yönlendirmeden (forwarding) sağ çıkmasıdır — bu nedenle DMARC için tercih edilen hizalama yoludur.

İmzalama Süreci

[Gönderen MTA] [DNS] [Alıcı MTA]
| | |
|--(1) Mesaj oluşturulur-------->| |
|--(2) DKIM imzası (private key)->| |
|--(3) DKIM-Signature eklenir---->| |
| |<---(4) Public key sorgusu---|
| |----(5) Public key döner----->|
| |<---(6) İmza doğrulama-------|

DKIM-Signature Başlığı

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.com; s=mail2026;
h=from:to:subject:date:message-id;
bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
b=AuUoFEtD7V6GZ1fC8Vq7h7Lx8Mv5S3nJ2kL9pQwR4sT6uV8wY2zA4bC6dE8fG0hI2jK4lM6nO
EtiketAçıklama
a=rsa-sha256İmza algoritması (RFC 8301: SHA-1 MUST NOT)
c=relaxed/relaxedKanonikleştirme; aktarım sırasındaki küçük değişikliklere tolerans
d=İmzalayan alan adı
s=Seçici (selector)
h=İmzalanan başlıklar
bh=Gövde hash’i
b=Dijital imza

DNS Kaydı ve Anahtar Yönetimi

mail2026._domainkey.example.com. IN TXT ( "v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..." )

2048-bit RSA anahtar tek DNS dizesinin 255 baytlık sınırını (RFC 1035) aştığı için çok parçalı TXT kaydı olarak bölünmelidir.

Anahtar sıkılaştırma (RFC 8301):

  • Asgari 1024-bit; önerilen 2048-bit RSA veya Ed25519 (RFC 8463)
  • c=relaxed/relaxed üretim ortamında tercih edilmeli
  • l= (gövde uzunluğu) etiketi asla kullanılmamalı — mesaj gövdesine içerik eklenerek istismar edilebilir
  • Anahtar rotasyonu: yılda en az bir (yüksek değerli postalar için 6–12 ay)

Güvenli rotasyon sırası:

  1. Yeni seçici ile anahtarı DNS’e yayımla
  2. Sunucuyu yeni seçiciye geçir
  3. Yeni anahtarın çalıştığını doğruladıktan sonra eski anahtarı iptal et (p= boş bırak)

Microsoft 365’te:

Terminal window
New-DkimSigningConfig -DomainName "example.com" -Enabled $true
Rotate-DkimSigningConfig -Identity example.com -KeySize 2048

DKIM Replay Saldırısı ve Savunma

Saldırgan, geçerli DKIM imzasına sahip bir e-postayı alıcı listesini değiştirerek yeniden gönderebilir. Savunma:

  • t= (zaman damgası) ve x= (son kullanma) etiketlerinin kullanımı
  • Oversigning: h= listesine Subject, To gibi başlıkların ikişer kez eklenmesi

§9.1.4.DMARC (RFC 7489)

DMARC, SPF ve DKIM sonuçlarını görünür RFC5322.From alan adıyla hizalama (alignment) kavramı üzerinden bağlar ve doğrudan alan adı sahteciliğini engeller.

sequenceDiagram
    participant Sender as Gönderen MTA
    participant DNS as DNS (SPF/DKIM/DMARC)
    participant Recipient as Alıcı MTA
    participant User as Kullanıcı

    Sender->>Sender: DKIM imzala (private key)
    Sender->>Recipient: SMTP + DKIM-Signature
    Recipient->>DNS: SPF: MAIL FROM IP kontrolü
    Recipient->>DNS: DKIM: selector._domainkey public key
    Recipient->>DNS: DMARC: _dmarc policy
    Recipient->>Recipient: Alignment (From ↔ SPF/DKIM)
    alt DMARC PASS
        Recipient->>User: Teslim
    else DMARC FAIL
        Recipient->>User: reject / quarantine
        Recipient->>Sender: Aggregate rapor (rua)
    end

DMARC doğrulama akışı Gönderen taraf SPF/DKIM yayınlar; alıcı doğrulama yapar, politika uygular ve rapor gönderir

Kimlik Hizalaması (Identifier Alignment)

DMARC geçer (PASS) olması için SPF veya DKIM’den en az biri PASS olmalı ve ilgili hizalama sağlanmalıdır.

Hizalama ModuSPF KoşuluDKIM KoşuluGüvenlik
Relaxed (r)From ile Return-Path aynı organizasyonel kökFrom ile d= aynı organizasyonel kökOrta / yüksek esneklik
Strict (s)From ile Return-Path karakter karakter aynıFrom ile d= karakter karakter aynıEn yüksek / düşük esneklik

DMARC Politikaları ve Kademeli Dağıtım

_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-agg@example.com; ruf=mailto:dmarc-forensic@example.com; fo=1; aspf=s; adkim=s; pct=100; sp=reject"
EtiketAçıklama
p=none (izle), quarantine (karantina), reject (reddet)
ruaToplu (aggregate) XML raporları — günlük
rufAdli (forensic) raporları — tekil başarısızlıklar
sp=Alt alan adı politikası
pct=Politikanın uygulanacağı mesaj yüzdesi (aşamalı geçiş)
fo=Başarısızlık raporlama seçenekleri

Aşamalı geçiş stratejisi:

Aşama 1: p=none; pct=100; rua=... → 4–6 hafta izleme, gönderici envanteri
Aşama 2: p=quarantine; pct=10→100 → 2–4 hafta karantina testi
Aşama 3: p=reject; pct=100 → Kalıcı koruma + sürekli izleme

DMARC Küresel Benimseme İstatistikleri (2025–2026)

DMARC kaydı olan alan adı sayısı son yıllarda artmış olsa da sıkı politika (p=reject) benimsemesi hâlâ düşüktür. Bu asimetri, saldırganların spoofing ve BEC saldırılarında avantaj elde etmesinin temel nedenlerinden biridir.

MetrikDeğer (Kaynak / Dönem)Operasyonel Çıkarım
DMARC kaydı olan alan adları~5,5 milyon+ (dmarc.org, 2025)Kayıt varlığı ≠ koruma
p=reject oranı (tüm DMARC kayıtları)~%2,5 (73,3M alan taraması, Aralık 2025)Çoğu alan adı hâlâ izleme veya karantina modunda
p=none (yalnızca izleme)~%70–75 (sektör raporları)Saldırganlar none politikalarını istismar eder
p=quarantine~%15–20Geçiş aşaması; tam koruma değil
Fortune 500 DMARC benimsemesi~%85+ kayıt; ~%60 p=reject (Valimail, 2025)Büyük kurumlar önde; KOBİ’ler geride
Kamu sektörü (ABD federal)BOD 18-01: p=reject zorunluTürkiye’de MKK (1 Mart 2025) benzer yönlendirme
Google/Yahoo zorunluluğu (Şubat 2024)5.000+ günlük gönderim: SPF+DKIM+DMARC zorunlup=none minimum; p=reject önerilir
DMARC fail oranı (spoofing girişimleri)Sektör ortalaması %0,1–%2 (büyük kurumlar)Fail artışı = aktif kampanya göstergesi

İstatistiklerin SOC karşılığı: DMARC aggregate raporlarındaki result=fail ve disposition=none kombinasyonu, politikanın henüz uygulanmadığını gösterir. disposition=reject oranının artması, p=reject geçişinin başarılı olduğunun göstergesidir. Haftalık trend analizi, yeni yetkilendirilmemiş göndericilerin (Shadow IT) erken tespitini sağlar.

DMARC Operasyonel Uygulama Yol Haritası (30/60/90 Gün)

DMARC dağıtımı tek seferlik bir DNS kaydı değil; sürekli izleme ve gönderici envanteri yönetimi gerektiren operasyonel bir süreçtir. Aşağıdaki yol haritası NIST SP 800-177 ve CIS Controls v8 Safeguard 9.5 ile uyumludur.

Faz 1 — Keşif ve Envanter (Gün 0–30):

GünEylemÇıktıSorumlu
1–7Tüm gönderen domain ve alt domain envanteriDomain listesi (apex + subdomain)DNS/E-posta ekibi
8–14Mevcut SPF kayıtlarını denetle (10-lookup limiti)SPF düzleştirme planıDNS yöneticisi
15–21DKIM seçicilerini oluştur/yayınla (2048-bit RSA)selector._domainkey.domain kayıtlarıMTA yöneticisi
22–28DMARC p=none; rua=mailto:dmarc-agg@domain.com yayınlaİzleme modu aktifDNS yöneticisi
29–30İlk aggregate raporları topla ve parse etGönderici envanteri v1.0SOC / E-posta ekibi

Faz 2 — Politika Sıkılaştırma (Gün 31–60):

GünEylemDoğrulamaRisk Azaltma
31–37Yetkisiz göndericileri SPF/DKIM ile yetkilendir veya engelleRaporlarda fail oranı düşüşüShadow IT kapatma
38–44aspf=s; adkim=s (strict alignment) test etMeşru posta kaybı sıfırSpoofing direnci artışı
45–51p=quarantine; pct=10pct=50pct=100Karantina oranı izlemeKademeli geçiş
52–58Alt domainler için sp=quarantine uygulaSubdomain spoofing engeliKapsamlı koruma
59–6030 günlük meşru posta kaybı raporuKayıp = 0 onayıYönetim sign-off

Faz 3 — Tam Koruma ve Sürekli İzleme (Gün 61–90+):

GünEylemKPISüreklilik
61–67p=reject; pct=100; sp=reject yayınlaSpoofing engelleme oranı %100Kalıcı
68–74MTA-STS mode: enforce geçişiTLS downgrade engeliHaftalık TLS-RPT analizi
75–81Wazuh/SIEM DMARC fail korelasyon kurallarıAlert < 15 dk TTDSürekli
82–90Çeyreklik DMARC maturity değerlendirmesiCIS 9.5 uyum skoru90 günde bir
90+DKIM anahtar rotasyonu (6–12 ay)Rotasyon SLA %100Yıllık takvim

Operasyonel araçlar:

AraçİşlevDağıtım
dmarcian / Valimail / EasyDMARCAggregate rapor parse, dashboard, alertingSaaS
parsedmarcAçık kaynak XML → Elasticsearch/CSVSelf-hosted
Power BI / GrafanaTrend analizi, gönderici haritasıKurumsal BI
Microsoft DefenderDMARC rapor entegrasyonu (M365)Bulut
WazuhDMARC fail → SIEM korelasyonSelf-hosted / SOC

DMARC Rapor Analizi ve SOC Operasyonu

Aggregate raporlar (XML) kaynak IP, SPF/DKIM sonucu, disposition ve hacim bilgilerini içerir. SOC ekipleri bu raporları Power BI, dmarcian veya self-hosted parser ile dashboard’a alır; bilinmeyen IP’lerden yüksek hacimli fail’leri alert’e dönüştürür.

Haftalık SOC kontrol listesi:

  1. Yeni kaynak IP’ler: Önceki haftada görülmeyen IP’lerden gelen gönderimler → yetkilendirme veya engelleme
  2. Fail oranı artışı: result=fail hacminde %50+ artış → aktif spoofing kampanyası şüphesi
  3. Disposition dağılımı: reject / quarantine / none oranları → politika etkinliği
  4. Alt domain kapsamı: sp= politikası olmayan subdomain’lerden gelen spoofing
  5. Üçüncü taraf göndericiler: CRM, pazarlama, destek araçları SPF/DKIM uyumu

Shadow IT tespiti: DMARC raporları, yetkilendirilmemiş üçüncü taraf bulut servislerinden gelen gönderimleri görünür kılar. Örneğin sendgrid.net, mailchimp.com veya freshdesk.com IP’lerinden gelen ancak SPF kaydında tanımlanmamış gönderimler, Shadow IT veya yetkisiz pazarlama kampanyası göstergesidir.

Forensic raporlar (ruf): Tekil başarısızlık raporları, saldırganın tam mesaj örneğini içerebilir. KVKK kapsamında ruf adresi yalnızca yetkili SOC analistlerine yönlendirilmeli; raporlardaki kişisel veriler maskeleme ile işlenmelidir.

Derinlemesine: SPF 10-Lookup Limiti ve PermError Önleme

Modern SaaS yığını (M365 + pazarlama + CRM + destek) tipik olarak her servis için ayrı include gerektirir; limit kolayca aşılır ve permerror üretilir — meşru postalar reddedilir.

ÇözümUygulamaDNS Sorgu Tasarrufu
Alt domain delegasyonubulten.kurum.com, crm.kurum.com bağımsız SPFHer subdomain kendi 10 limiti
SPF flatteninginclude zincirindeki IP’leri statik ip4 bloklarına dönüştürinclude sorguları sıfırlanır
Kullanılmayan include temizliğiEski SaaS kayıtlarını kaldır2–5 sorgu kazancı
ptr mekanizması terkRFC 7208 önerisi dışı; yavaş ve güvenilmez1+ sorgu

PermError tespiti: DMARC aggregate raporlarında spf=permerror veya result=permerror satırları haftalık izlenmeli. parsedmarc veya dmarcian dashboard’unda “SPF lookup count” metriği 8’in üzerine çıktığında uyarı üretilmeli.

DKIM rotasyon sırası (çift seçici): Yeni selector2._domainkey DNS’e yayınla → MTA’yı yeni seçiciye geçir → 14 gün doğrulama → eski selector1 kaydını p= boş bırakarak iptal et.


§9.1.5.ARC (Authenticated Received Chain — RFC 8617)

Meşru yönlendirme (mailing list, üniversite mezun yönlendirmesi) SPF ve DKIM doğrulamasını bozar: yönlendiren sunucunun IP’si SPF kaydında yoktur, gövde değişiklikleri DKIM imzasını kırar. ARC, zincirdeki her aracı sunucunun doğrulama sonuçlarını kriptografik olarak imzalamasına izin verir.

ARC Başlığıİşlev
ARC-Authentication-Results (AAR)O istasyondaki SPF/DKIM/DMARC sonuçları
ARC-Message-Signature (AMS)Mesaj bütünlük imzası
ARC-Seal (AS)Önceki ARC başlıklarını mühürler; cv=pass/fail

Microsoft 365’te harici SEG (Proofpoint, Mimecast) ARC imzalarını tanıtmak için:

Terminal window
Get-ArcConfig
Set-ArcConfig -Identity Default -ArcTrustedSealers "pphosted.com","mimecast.com"

§9.1.6.Postfix + OpenDKIM + OpenDMARC Referans Yapılandırması

Açık kaynak yığında DKIM imzalama OpenDKIM, DMARC politika uygulaması OpenDMARC tarafından milter protokolü üzerinden yapılır.

OpenDKIM Yapılandırması

/etc/opendkim.conf:

Syslog yes
Mode sv
Socket local:/var/spool/postfix/var/run/opendkim/opendkim.sock
RequireSafeKeys True
OversignHeaders From
Canonicalization relaxed/relaxed
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
InternalHosts refile:/etc/opendkim/TrustedHosts

Anahtar üretimi:

Terminal window
sudo opendkim-genkey -b 2048 -d example.com -D /etc/opendkim/keys/example.com -s mail -v
sudo chmod -R 700 /etc/opendkim/keys

Postfix Milter Entegrasyonu

/etc/postfix/main.cf:

milter_protocol = 6
milter_default_action = accept
smtpd_milters = local:opendkim/opendkim.sock,local:opendmarc/opendmarc.sock
non_smtpd_milters = $smtpd_milters
milter_connect_timeout = 30s
milter_command_timeout = 30s

Başarılı doğrulamada başlık:

Authentication-Results: OpenDMARC; dmarc=pass (p=reject dis=none) header.from=example.com

§9.1.7.SOC Analitiği ve Korelasyon Kuralları

E-posta kimlik doğrulama başarısızlıkları, potansiyel sızma girişiminin (Initial Access via Spear-phishing) ilk habercisidir.

Log Anatomisi

SPF Fail örneği:

Mar 02 14:22:15 border-mta postfix/smtpd[3012]: NOQUEUE: reject: RCPT from attacker-host.com[198.51.100.99]:
554 5.7.1 Recipient address rejected: SPF Fail; from=sender@kurum.com

DKIM bütünlük ihlali:

Mar 02 14:25:30 border-mta opendkim[1105]: verification failed: body hash mismatch

Wazuh Korelasyon Kuralları

/var/ossec/etc/rules/local_rules.xml:

<group name="email_security,postfix,spf_dkim_failures,">
<rule id="100500" level="0">
<decoded_as>postfix</decoded_as>
<description>Postfix e-posta olayları.</description>
</rule>
<rule id="100501" level="5">
<if_sid>100500</if_sid>
<match>status=fail</match>
<regex>policyd-spf|spf: ip=</regex>
<description>Olası e-posta sahteciliği: SPF doğrulaması başarısız.</description>
<mitre><id>T1566.001</id></mitre>
</rule>
<rule id="100502" level="6">
<if_sid>100500</if_sid>
<match>verification failed|body hash mismatch</match>
<regex>opendkim</regex>
<description>Kriptografik ihlal şüphesi: DKIM doğrulaması başarısız.</description>
<mitre><id>T1566.002</id></mitre>
</rule>
<rule id="100503" level="10" frequency="8" timeframe="120">
<if_matched_sid>100501,100502</if_matched_sid>
<description>Kritik: Aynı IP'den ardışık SPF/DKIM hataları — aktif oltalama kampanyası.</description>
<mitre><id>T1566</id></mitre>
</rule>
</group>

DMARC başarısızlık JSON log örneği (SIEM beslemesi):

{
"timestamp": "2026-06-20T14:23:45Z",
"from_domain": "example.com",
"sending_ip": "203.0.113.45",
"spf_result": "fail",
"dkim_result": "pass",
"dmarc_result": "fail",
"dmarc_policy": "reject",
"action_taken": "reject",
"mitre_technique": "T1566"
}

§9.1.8.Standartlar ve Türkiye Mevzuatı

Standart / MevzuatE-posta Kimlik Doğrulama Karşılığı
NIST SP 800-177 Rev. 1SPF + DKIM + DMARC temel öneri; TLS + S/MIME ile bütüncül güven
CIS Controls v8 — 9.5DMARC implementasyonu zorunlu kontrol
ISO 27001:2022 A.5.14Bilgi transferi güvenliği
NIST SP 800-53 SC-8İletim gizliliği ve bütünlüğü
6698 sayılı KVKKKimlik doğrulama teknik tedbir; log maskeleme, çift yetkili erişim
5651 sayılı KanunSMTP/auth loglarının zaman damgalı saklanması
BDDK BSEBYKritik iletişim kanallarında kimlik doğrulama, BEC önleme
MKK (1 Mart 2025)MKK’ya e-posta gönderen tarafların SPF/DKIM/DMARC tanımlaması zorunlu

Özet ve Mimari Tavsiyeler

SPF, DKIM ve DMARC, kurumsal e-posta güvenliğinin olmazsa olmaz üç sacayağıdır; ancak tek başına “gümüş kurşun” değildir. BEC saldırıları DMARC geçen meşru hesaplardan da gelebilir — bu nedenle gateway, SIEM ve insan faktörü katmanları şarttır.

Aşamalı Uygulama Yol Haritası

AşamaSüreEylemlerEşik
1 — Temel0–30 günSPF (-all), DKIM (2048-bit), DMARC p=none, MTA-STS testing, TLS-RPTRaporlarda meşru gönderici kapsamı %100
2 — Uygulama30–90 günDMARC p=quarantinep=reject, MTA-STS enforce, DANE (DNSSEC varsa)30 gün meşru posta kaybı sıfır
3 — OperasyonSürekliHaftalık DMARC rapor analizi, DKIM rotasyonu, Wazuh korelasyonuSPF permerror sıfır

Mimari Referans Modeli

┌─────────────────────────────────────────────────────────────────┐
│ KATMAN 1: DNS — SPF / DKIM / DMARC / MTA-STS / DANE │
├─────────────────────────────────────────────────────────────────┤
│ KATMAN 2: MTA — Postfix/Exchange/EOP + OpenDKIM + OpenDMARC │
├─────────────────────────────────────────────────────────────────┤
│ KATMAN 3: SEG — Tehdit filtreleme + sandbox + URL rewrite │
├─────────────────────────────────────────────────────────────────┤
│ KATMAN 4: SOC — DMARC rapor analitiği + Wazuh/SIEM korelasyon │
├─────────────────────────────────────────────────────────────────┤
│ KATMAN 5: UYUM — KVKK + 5651 + BDDK + CIS 9.5 + NIST 800-177 │
└─────────────────────────────────────────────────────────────────┘

Kritik başarı faktörleri: Tüm alt alan adlarını kapsama (sp=reject), haftalık DMARC rapor analizi, SPF 10-lookup limitinin düzenli denetimi, ARC destekli gateway kullanımı ve pilot ortamda test edilmeden p=reject’e geçilmemesi.

DNS katmanındaki kimlik doğrulama, e-posta güvenliğinin temelini oluşturur; ancak DMARC geçen meşru hesaplardan gelen tehditler ve şifreli kanallar bu katmanın ötesinde kalır. §9.2 gelişmiş tehditler ve SEG entegrasyonunu; §9.3 ise S/MIME şifreleme ve DLP mimarisini ele alır.