Email Security: Difference between revisions
No edit summary |
No edit summary |
||
| Line 31: | Line 31: | ||
*DKIM → buat verifikasi isi & header email nggak diubah-ubah | *DKIM → buat verifikasi isi & header email nggak diubah-ubah | ||
*DMARC → buat bilang “kalo gagal SPF/DKIM, tolong tolak ya!” | *DMARC → buat bilang “kalo gagal SPF/DKIM, tolong tolak ya!” | ||
= DomainKeys Identified Mail (DKIM) = | = DomainKeys Identified Mail (DKIM) = | ||
| Line 53: | Line 54: | ||
artinya: | artinya: | ||
*'''v=DKIM1''' → versi DKIM (optional, tapi umum) | *'''v=DKIM1''' → versi DKIM (optional, tapi umum) | ||
= Domain-based Message Authentication, Reporting, and Conformance (DMARC) = | |||
Fungsinya adalah ngecek apakah email itu beneran dari kita dan beneran lolos cek SPF & DKIM. | |||
Kalau nggak. | |||
DMARC berdiri di atas dua pondasi: | |||
*'''SPF''' (cek IP pengirim authorized atau nggak) | |||
*'''DKIM''' (cek tanda tangan digital email) | |||
Dan DMARC ini nambahin yang namanya alignment → ngecek apakah domain yang lolos SPF/DKIM match sama domain di From: header email. | |||
Kenapa DMARC Penting?<br> | |||
Kita gak mau domain kita dipakai penipu buat ngirimin email palsu ke orang lain. | |||
DMARC mencegah spoofing dan bantu kita dapet laporan email yang pake domain kita (dengan cara legal ataupun enggak). | |||
Contoh Record DMARC | |||
<syntaxhighlight lang=bash> | |||
v=DMARC1; p=quarantine; rua=mailto:[email protected] | |||
</syntaxhighlight> | |||
Artinya: | |||
*'''v=DMARC1''' → Versi DMARC (harus ada, all caps) | |||
*'''p=quarantine''' → Kalau gagal cek SPF/DKIM → email dikirim ke folder spam | |||
*'''rua=mailto:[email protected]''' → Kirim laporan agregat harian ke alamat email ini | |||
DMARC Policy Options: | |||
*'''none''' → Nggak ngapa-ngapain, cuma laporan doang (cocok buat testing awal) | |||
*'''quarantine''' → kirim ke spam folder kalau gagal | |||
*'''reject''' → Langsung tolak emailnya, ultimate anti-spoof mode | |||
Manfaat RUA Reports | |||
Itu <code>rua=mailto:...</code> bakal ngirimin kita laporan-laporan email yang: | |||
*Ngaku-ngaku kirim dari domain kita tapi sebenernya gak lolos SPF/DKIM | |||
*Bisa bantu kita identifikasi abuse, misconfig, atau spammer | |||
*'''k=rsa''' → jenis algoritma enkripsi (RSA paling umum) | *'''k=rsa''' → jenis algoritma enkripsi (RSA paling umum) | ||
*'''p=...''' → public key (buat validasi tanda tangan email) | *'''p=...''' → public key (buat validasi tanda tangan email) | ||
Revision as of 09:51, 15 May 2025
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)
Domain-based Message Authentication, Reporting, and Conformance (DMARC)
Fungsinya adalah ngecek apakah email itu beneran dari kita dan beneran lolos cek SPF & DKIM. Kalau nggak.
DMARC berdiri di atas dua pondasi:
- SPF (cek IP pengirim authorized atau nggak)
- DKIM (cek tanda tangan digital email)
Dan DMARC ini nambahin yang namanya alignment → ngecek apakah domain yang lolos SPF/DKIM match sama domain di From: header email.
Kenapa DMARC Penting?
Kita gak mau domain kita dipakai penipu buat ngirimin email palsu ke orang lain.
DMARC mencegah spoofing dan bantu kita dapet laporan email yang pake domain kita (dengan cara legal ataupun enggak).
Contoh Record DMARC
v=DMARC1; p=quarantine; rua=mailto:[email protected]
Artinya:
- v=DMARC1 → Versi DMARC (harus ada, all caps)
- p=quarantine → Kalau gagal cek SPF/DKIM → email dikirim ke folder spam
- rua=mailto:[email protected] → Kirim laporan agregat harian ke alamat email ini
DMARC Policy Options:
- none → Nggak ngapa-ngapain, cuma laporan doang (cocok buat testing awal)
- quarantine → kirim ke spam folder kalau gagal
- reject → Langsung tolak emailnya, ultimate anti-spoof mode
Manfaat RUA Reports
Itu rua=mailto:... bakal ngirimin kita laporan-laporan email yang:
- Ngaku-ngaku kirim dari domain kita tapi sebenernya gak lolos SPF/DKIM
- Bisa bantu kita identifikasi abuse, misconfig, atau spammer
- k=rsa → jenis algoritma enkripsi (RSA paling umum)
- p=... → public key (buat validasi tanda tangan email)