Jump to content

Email Security

From Haidhi Wiki
Revision as of 09:40, 15 May 2025 by SanzSkuy (talk | contribs)

Sender Policy Framework (SPF)

SPF itu kayak satpam email digital; Dia ngecek: "Email ini beneran dikirim dari domain yang ngaku-ngaku itu, atau cuma nyamar doang?"

Cara Kerja SPF:

Domain kita (misal haidhi.co.id) nge-set aturan SPF di DNS.
Ini kayak bilang: “Email dari @haidhi.co.id cuma boleh dikirim dari server IP X, Y, Z ya!”
Pas ada email masuk dari [email protected], server penerima akan
Liat record SPF-nya di DNS
Cek: IP pengirim cocok gak sama list yang diizinkan?
Kalo cocok → lulus SPF. Kalo nggak cocok → bisa di-mark spam atau ditolak


Contoh SPF record

v=spf1 ip4:192.168.1.10 include:_spf.google.com ~all

Artinya:

  • Boleh kirim dari IP 192.168.1.10
  • Boleh juga kirim lewat Google (kalau pakai Gmail corporate)
  • Yang lain? ~all → "softfail" (ditandai mencurigakan, bukan ditolak total)


Kenapa SPF Penting?

  • Ngelindungin domain kita dari email spoofing (email palsu yang ngaku-ngaku dari kita)
  • Bikin sistem email kita lebih trusted (anti masuk spam)
  • Bagian dari email authentication trio: SPF, DKIM (digital signature), DMARC (policy buat enforce SPF/DKIM)


Reminder
SPF cuma ngecek IP sender, bukan ngecek isi email. Makanya biasanya digabung sama:

  • DKIM → buat verifikasi isi & header email nggak diubah-ubah
  • DMARC → buat bilang “kalo gagal SPF/DKIM, tolong tolak ya!”

DomainKeys Identified Mail (DKIM)

DKIM adalah semacam tanda tangan digital untuk email. Bayangin kita kirim surat pake wax seal ala-ala kerajaan gitu. Kalau seal-nya asli & belum dibuka-buka, berarti surat itu memang dari kita dan emang gak diotak-atik di tengah jalan. Itulah fungsi DKIM buat email.

Gimana Cara Kerjanya?

  • Pas kita kirim email, server kita akan menempelkan tanda tangan digital (signature) ke email itu.
  • Signature ini dibuat pake private key milik domain kita.
  • Penerima email nanti akan:
    • Ambil public key kita dari DNS (dari record DKIM kita).
    • Gunain public key itu buat verifikasi tanda tangan-nya.
    • Kalau valid = email belum dimodifikasi & beneran dari domain yang sah

Contoh DKIM Record:

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A... (panjang banget public key-nya)

artinya:

  • v=DKIM1 → versi DKIM (optional, tapi umum)
  • k=rsa → jenis algoritma enkripsi (RSA paling umum)
  • p=... → public key (buat validasi tanda tangan email)