Cấu hình DMARC: từ p=none lên p=reject an toàn
Hướng dẫn cấu hình DMARC: cú pháp bản ghi, ý nghĩa từng thẻ, cách đọc báo cáo tổng hợp và lộ trình an toàn từ p=none lên quarantine rồi reject.
Trong bài này
Cấu hình DMARC là tạo một bản ghi TXT tại _dmarc.tenmien, cho máy chủ nhận biết phải làm gì với thư không đạt căn chỉnh SPF và DKIM: p=none (chỉ theo dõi), p=quarantine (đưa vào thư rác) hoặc p=reject (từ chối). Cách làm an toàn: bắt đầu với p=none kèm địa chỉ nhận báo cáo, sửa mọi nguồn gửi hợp lệ, rồi siết dần trong vài tuần.
Chính sách DMARC kiểm soát điều gì?
DMARC (Domain-based Message Authentication, Reporting and Conformance, RFC 7489) hoạt động dựa trên SPF và DKIM. Thư đạt DMARC khi SPF hoặc DKIM đạt và tên miền được xác thực khớp với tên miền ở dòng From: mà người nhận nhìn thấy. Khi thư không đạt, bên nhận áp dụng chính sách bạn đã khai báo.
DMARC mang lại hai thứ: bảo vệ, vì khi đã ở mức p=reject, kẻ gian không thể gửi thư hiển thị đúng tên miền của bạn ở dòng From; và khả năng quan sát, vì các nhà cung cấp gửi báo cáo hằng ngày liệt kê mọi máy chủ đã gửi thư bằng tên miền của bạn. Nếu chưa quen SPF và DKIM, hãy đọc SPF, DKIM, DMARC là gì trước.
Từ 2024, Gmail và Yahoo yêu cầu người gửi số lượng lớn phải có bản ghi DMARC (tối thiểu p=none), nên ngay cả bản ghi chỉ để theo dõi cũng không còn là tuỳ chọn với nhiều doanh nghiệp.
Cấu trúc bản ghi DMARC
_dmarc.congty.vn. TXT "v=DMARC1; p=quarantine; sp=quarantine; pct=100; rua=mailto:dmarc-reports@congty.vn; adkim=r; aspf=r; fo=1"| Thẻ | Bắt buộc | Giá trị | Tác dụng |
|---|---|---|---|
v | Có | DMARC1 | Phiên bản, phải đứng đầu. |
p | Có | none, quarantine, reject | Chính sách cho tên miền chính. |
sp | Không | như p | Chính sách cho tên miền con; mặc định bằng p. |
pct | Không | 0–100 | Tỉ lệ thư không đạt bị áp chính sách; mặc định 100. |
rua | Không | địa chỉ mailto: | Nơi nhận báo cáo tổng hợp hằng ngày. |
ruf | Không | địa chỉ mailto: | Nơi nhận báo cáo lỗi từng thư (nhà cung cấp lớn hiếm khi gửi). |
adkim | Không | r hoặc s | Căn chỉnh DKIM: relaxed (mặc định) hoặc strict. |
aspf | Không | r hoặc s | Căn chỉnh SPF: relaxed (mặc định) hoặc strict. |
fo | Không | 0, 1, d, s | Khi nào tạo báo cáo lỗi. |
ri | Không | số giây | Chu kỳ báo cáo mong muốn; mặc định 86400 (một ngày). |
Một vài quy tắc cần nhớ:
- Tại
_dmarc.congty.vnchỉ được có đúng một bản ghi DMARC. Có hai bản ghi thì bên nhận bỏ qua DMARC. - Nếu tên miền con như
mail.congty.vnkhông có bản ghi DMARC riêng, bên nhận dùng bản ghi của tên miền tổ chức và áp dụngsp=. - Nếu địa chỉ
ruathuộc tên miền khác với tên miền được báo cáo, tên miền nhận báo cáo phải khai báo bản ghi cho phép (congty.vn._report._dmarc.baocao.example), nếu không bên nhận sẽ không gửi báo cáo. Các dịch vụ thu báo cáo thường tự lo phần này.
Ba mức chính sách
**p=none: theo dõi.** Bên nhận không xử lý gì khác với thư không đạt nhưng gửi báo cáo cho bạn. Dùng để phát hiện các nguồn gửi; bản thân mức này không bảo vệ gì.
**p=quarantine: coi là đáng ngờ.** Thư không đạt thường bị đưa vào thư mục thư rác. Đây là giai đoạn có lưới an toàn: nếu sót một nguồn hợp lệ, thư của nó chỉ bị chậm chứ không mất.
**p=reject: từ chối.** Bên nhận từ chối thư không đạt ngay trong phiên SMTP. Đây là mục tiêu: thư giả mạo đúng tên miền của bạn không bao giờ tới hộp thư đến.
Lộ trình triển khai an toàn
Lỗi DMARC phổ biến nhất là đi quá nhanh: phần mềm hoá đơn hay form website chưa từng được xác thực bỗng dưng mất thư. Lộ trình sau phù hợp với phần lớn doanh nghiệp vừa và nhỏ.
- **Tuần 1–4:
p=nonekèm báo cáo.**
v=DMARC1; p=none; rua=mailto:dmarc-reports@congty.vnThu thập ít nhất hai đến bốn tuần báo cáo để cả các nguồn chỉ gửi mỗi tháng một lần (hoá đơn, bảng lương) cũng xuất hiện.
- Sửa mọi nguồn hợp lệ. Với mỗi nguồn trong báo cáo đang trượt, hãy thêm vào bản ghi SPF, hoặc tốt hơn là cấu hình để nguồn đó ký DKIM bằng tên miền của bạn (cách cấu hình DKIM). Nguồn lạ thì hoặc là công cụ bị quên, hoặc là giả mạo.
- Tuần 5–8: quarantine, tăng dần.
v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc-reports@congty.vnVới pct=25, chính sách quarantine chỉ áp dụng cho một phần tư số thư không đạt; phần còn lại được xử lý theo mức thấp hơn liền kề (none). Nâng lên 50 rồi 100, vừa theo dõi báo cáo vừa hỏi đồng nghiệp có thư nào bị thất lạc không.
- Từ tuần 9: reject.
v=DMARC1; p=reject; rua=mailto:dmarc-reports@congty.vnBạn có thể tăng pct từng bước một lần nữa (p=reject; pct=25 thì phần còn lại bị quarantine). Khi đã ở p=reject với pct=100, vẫn tiếp tục đọc báo cáo: công cụ marketing mới năm sau cần được khai báo trước khi bắt đầu gửi.
Đọc báo cáo DMARC tổng hợp
Báo cáo tổng hợp (rua) là các tệp XML, thường mỗi nhà cung cấp lớn gửi một lần mỗi ngày. Mỗi báo cáo liệt kê IP nguồn, số thư, kết quả SPF và DKIM, có khớp tên miền không và chính sách đã áp dụng. XML thô rất khó đọc, nên đa số dùng một trang tổng hợp nhóm nguồn gửi theo dịch vụ.
Khi xem báo cáo, hãy chia nguồn gửi thành ba nhóm:
- Đạt và khớp: nhà cung cấp hộp thư và các công cụ đã cấu hình đúng. Không cần làm gì.
- Hợp lệ nhưng trượt: ví dụ CRM ký DKIM bằng tên miền của họ, hoặc máy chủ mới chưa có trong SPF. Sửa trước khi siết chính sách.
- Lạ và trượt: thường là giả mạo hoặc spam mượn tên miền của bạn. Đây chính là thứ
p=rejectsẽ chặn.
Thư chuyển tiếp thường trượt SPF nhưng đạt DKIM; điều này bình thường và vẫn đạt DMARC.
Các trường hợp đặc biệt
- Tên miền con cho thư hàng loạt. Nếu gửi bản tin từ
news.congty.vn, hãy cấu hình SPF, DKIM riêng và khi cần cả bản ghi_dmarc.news.congty.vn, để có thể siết tên miền chính độc lập. - Tên miền không dùng để gửi thư. Khoá hẳn: SPF
v=spf1 -all, DMARCv=DMARC1; p=reject;và null MX (MX 0 ., RFC 7505). Xem thêm bản ghi MX là gì. - Mailing list. List sửa tiêu đề hoặc chèn chân thư làm hỏng DKIM. Nhiều list hiện viết lại địa chỉ From sang tên miền của list để tránh trượt DMARC, và bên nhận có thể dựa vào header ARC từ bên chuyển tiếp đáng tin.
Siết DMARC là một trong những cách rõ ràng nhất để chặn lừa đảo hoá đơn mượn chính tên miền của bạn, nhưng không chặn được tên miền nhái; xem vì sao email gửi đi bị vào spam cho chuyện tỉ lệ vào hộp thư, và phần chống spam và lừa đảo cho tên miền giống.
Cấu hình DMARC với Zomail
Trang tên miền trong Zomail hiển thị bản ghi DMARC cần khai báo, với địa chỉ rua đã trỏ sẵn về nơi Zomail thu báo cáo; giá trị chính xác nằm trên trang tên miền của bạn. Trang báo cáo DMARC sau đó cho thấy trong 30 ngày gần nhất: số thư được báo cáo, tỉ lệ đạt, các nguồn gửi nhiều nhất, nguồn không đạt và khuyến nghị cần sửa, để bạn biết lúc nào an toàn chuyển sang quarantine và reject. Các bước DNS có trong trang bắt đầu sử dụng, các gói dịch vụ có tại bảng giá.
FAQ
Nên bắt đầu DMARC với chính sách nào?
Bắt đầu với p=none kèm địa chỉ nhận báo cáo rua. Mức này không ảnh hưởng tới luồng thư nhưng cho bạn thấy mọi nguồn đang gửi bằng tên miền. Sau hai đến bốn tuần, khi các nguồn hợp lệ đều đạt, chuyển sang p=quarantine rồi p=reject.
Để p=none có đủ bảo vệ tên miền không?
Không. p=none chỉ theo dõi; thư giả mạo vẫn được chuyển như thể không có DMARC. Mức này đáp ứng yêu cầu tối thiểu của Gmail và Yahoo với người gửi số lượng lớn, nhưng việc chặn giả mạo đúng tên miền chỉ bắt đầu từ quarantine và trọn vẹn ở reject.
Thẻ pct trong DMARC nghĩa là gì?
pct là tỉ lệ phần trăm thư không đạt bị áp dụng chính sách. Với p=quarantine; pct=25, một phần tư số thư không đạt bị đưa vào thư rác, phần còn lại được xử lý như p=none. Thẻ này giúp siết dần; mặc định là 100.
Đặt p=reject có làm mất thư hợp lệ không?
Chỉ khi có nguồn gửi hợp lệ chưa được xác thực bằng SPF hoặc DKIM khớp với tên miền của bạn. Vì vậy cần đọc báo cáo ở mức p=none trước và sửa mọi nguồn. Thư gửi qua nhà cung cấp hộp thư đã cấu hình đúng không bị ảnh hưởng.
Bao lâu thì nhận được báo cáo DMARC?
Báo cáo tổng hợp thường đến mỗi ngày một lần từ từng nhà cung cấp lớn đã nhận thư từ tên miền của bạn. Không có báo cáo trong một, hai ngày đầu sau khi tạo bản ghi là bình thường.