PushizoDocs
Operasyon

DMARC ve TLS-RPT izleme

Platform alan adının DMARC toplu raporlarını ve TLS-RPT raporlarını alma (Postal HTTP endpoint ya da IMAP), ayrıştırma, yetkisiz kaynak uyarıları, politika önerisi ve Cloudflare ile tek tıkla p= değişimi.

Pushizo, kendi gönderici alan adınız için gelen DMARC toplu raporlarını (XML) ve TLS-RPT raporlarını (JSON) toplayıp admin panelinde yorumlar: hangi kaynaklar (IP/sağlayıcı) alan adınız adına e-posta gönderiyor, SPF/DKIM doğrulama oranı ne, yetkisiz kaynak var mı ve politikayı (p=none → quarantine → reject) ne zaman sıkılaştırmak güvenli. Bu özellik platform (SaaS işletmecisi) içindir; müşteri app'lerinin gönderici alan adı doğrulaması için e-posta teslim edilebilirliği.

DNS kayıtları

_dmarc.pushizo.com      TXT  "v=DMARC1; p=none; rua=mailto:dmarc@pushizo.com; fo=1"
_smtp._tls.pushizo.com  TXT  "v=TLSRPTv1; rua=mailto:dmarc@pushizo.com"

dmarc@ adresine gelen raporlar iki yoldan biriyle (ya da ikisiyle) alınır.

A) Postal HTTP endpoint (önerilen)

  1. Belirteç üretin: openssl rand -hex 24; .env.prod → DMARC_INBOUND_TOKEN=<belirteç>; API ve worker'ı yeniden başlatın.
  2. Postal → ilgili posta sunucusu → Routing → HTTP Endpoints → Add: URL https://api.pushizo.com/hooks/dmarc/<belirteç>, Encoding Body as JSON, Format Raw message, Strip replies kapalı.
  3. Routing → Routes → Add route: Name dmarc, Domain pushizo.com, Endpoint = yukarıdaki, Mode Endpoint. Ayrı posta kutusu gerekmez.
  4. Postal spam denetimi açık kalsın; rapor olmayan iletiler Pushizo tarafından 200 ile kabul edilip atılır (Postal yeniden denemez). Sınırlar: 25 MB gövde, IP başına dakikada 120 istek; belirteç yoksa/yanlışsa 404.
  5. Doğrulama: curl -s -o /dev/null -w '%{http_code}' -X POST https://api.pushizo.com/hooks/dmarc/yanlis -H 'content-type: application/json' -d '{}' → 404. İlk raporlar 24–48 saat içinde gelir.

B) IMAP posta kutusu

  1. dmarc@<alan-adı> posta kutusunu oluşturun.
  2. .env.prod → DMARC_IMAP_URL=imaps://dmarc%40pushizo.com:<URL kodlu parola>@<imap-sunucusu>:993 (parolada @ : / ? # % varsa encodeURIComponent). Worker'ı yeniden başlatın.
  3. Worker dmarc-fetch bakım işi 15 dakikada bir (Redis kilidiyle tek çalıştırma) kutuyu tarar: raporlar Processed klasörüne taşınır, rapor olmayan iletiler çöp kutusuna. Panelde Şimdi tara ile hemen tetiklenir.

Ayrıştırma ve saklama

  • DMARC XML (DOCTYPE/ENTITY reddedilir), TLS-RPT JSON, gzip/zip (bütçeli açma), MIME ekleri; idempotent (org_name, report_id).
  • Yalnızca DMARC_DOMAIN alan adına ait raporlar saklanır (başka alan adı reddedilir).
  • Tablolar: dmarc_reports, dmarc_report_records, tls_reports, dmarc_policy_changes (platform tabloları).

Uyarılar ve öneri

  • Yeni yetkisiz kaynak (≥ 5 ileti / 24 saat) ve yetkili geçme oranı düşüşü platform adminlerine tr/en e-posta ile bildirilir (kaynak/uyarı başına günde bir).
  • Panel E-posta güvenliği (/admin/email-security): canlı DNS politikası, 7/30 günlük doğrulama oranı, kaynaklar (yetkili/yetkisiz), son raporlar, TLS hataları ve politika önerisi. 14 gün + %98 doğrulama sonrasında bir adım sıkılaştırma önerilir.
  • Admin uçları: GET /admin/v1/deliverability/dmarc, POST …/fetch, …/policy, …/rollback; denetim kaydı admin.dmarc.*.

Cloudflare ile tek tıkla politika (isteğe bağlı)

Cloudflare → API Tokens → Create Token → "Edit zone DNS" şablonu, yalnızca ilgili bölge. .env.prod → CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_ID; API'yi yeniden başlatın. Panelde Cloudflare ile uygula yalnızca p= etiketini değiştirir (rua, fo korunur), işlem denetim kaydına yazılır, Geri al önceki değere döner. Cloudflare yapılandırılmadıysa panel girilecek tam TXT değerini gösterir.

Ortam değişkenleri

DeğişkenZorunluAçıklama
DMARC_DOMAINHayırİzlenen alan adı (varsayılan sistem e-posta alan adı)
DMARC_INBOUND_TOKENA yoluPostal HTTP endpoint belirteci
DMARC_IMAP_URLB yoluIMAP bağlantısı (gizli)
CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_IDHayırTek tıkla politika

Hepsi isteğe bağlıdır; tanımsızken özellik kapalıdır. Compose ve Helm gizli anahtar listeleri bu değişkenleri içerir.

Bu sayfada