Bỏ qua tới nội dung
Kiến thức Website· ·11 phút đọc

DMARC là gì, vì sao cần SPF và DKIM trước và nên bắt đầu từ mức chính sách nào

Nguyen Hien
DMARC là gì, vì sao cần SPF và DKIM trước và nên bắt đầu từ mức chính sách nào
Cỡ chữ

Bạn đã cài SPF và DKIM cho tên miền nhưng vẫn không biết ai đang giả mạo email của mình, email fail xác thực đang được xử lý thế nào, hay liệu có hệ thống nào đang gửi email nhân danh tên miền bạn mà bạn không hay. DMARC ra đời để giải quyết đúng ba việc đó: điều phối kết quả SPF và DKIM, áp chính sách xử lý email fail, và gửi báo cáo về cho bạn.

DMARC là gì và nó khác SPF, DKIM ở điểm nào

DMARC (Domain-based Message Authentication, Reporting and Conformance, xác thực, báo cáo và tuân thủ theo tên miền) là chuẩn xác thực email được mô tả trong RFC 7489. Điểm khác biệt cơ bản: trong khi SPF và DKIM mỗi cái xác thực một khía cạnh riêng của email, DMARC là lớp điều phối ở trên, nó đọc kết quả từ SPF và DKIM, đối chiếu với địa chỉ From thực sự của email, rồi quyết định phải làm gì với email không qua được xác thực.

DMARC thêm một khái niệm quan trọng là alignment (căn chỉnh): không chỉ cần SPF pass, tên miền trong Return-Path phải khớp với tên miền trong địa chỉ From. Không chỉ cần DKIM pass, tên miền trong chữ ký DKIM phải khớp với tên miền trong From. Đây chính là cơ chế vá lỗ hổng mà SPF và DKIM riêng lẻ để lại, kẻ giả mạo không thể dùng tên miền của mình để pass SPF trong khi hiển thị From của bạn nữa.

Ngoài điều phối, DMARC còn làm việc mà SPF và DKIM không làm: gửi báo cáo định kỳ về hộp thư bạn chỉ định, tổng hợp thông tin về mọi email được gửi từ tên miền của bạn trên khắp internet. Từ đó bạn biết có hệ thống nào đang gửi email nhân danh tên miền mình mà bạn chưa ủy quyền không.

Vì sao DMARC cần SPF và DKIM chạy trước

DMARC không phải một chuẩn thay thế SPF hay DKIM, nó phụ thuộc hoàn toàn vào kết quả của hai cái kia. Nếu chưa có SPF và DKIM, DMARC không có gì để điều phối, chính sách DMARC sẽ không có tác dụng gì.

Luồng hoạt động thực tế như sau: khi email đến, máy chủ nhận kiểm tra SPF trước (IP máy chủ gửi có khớp không?), kiểm tra DKIM tiếp theo (chữ ký có hợp lệ không?), rồi mới đến DMARC để hỏi “với kết quả SPF và DKIM vừa có, tôi phải làm gì với email này?”

Nếu DMARC pass (ít nhất SPF hoặc DKIM pass và alignment khớp): email được giao bình thường. Nếu DMARC fail: máy chủ nhận áp dụng chính sách mà bạn đã khai báo trong bản ghi DMARC, có thể là bỏ qua (none), chuyển vào spam (quarantine), hoặc từ chối hẳn (reject).

Đây là lý do thứ tự cài đặt luôn là: SPF trước, rồi DKIM, sau đó mới đến DMARC. Google Workspace Knowledge Base yêu cầu “bật SPF và/hoặc DKIM cho tên miền trước khi có thể dùng DMARC, và đợi ít nhất 48 giờ trước khi triển khai DMARC”.

Ba mức chính sách DMARC và nên bắt đầu từ mức nào

Phần p= trong bản ghi DMARC xác định chính sách áp dụng cho email fail xác thực. Có ba mức:

Lộ trình triển khai DMARC qua 3 giai đoạn: p=none theo dõi, p=quarantine thận trọng và p=reject bảo vệ đầy đủ
Chính sáchGiá trịHành động với email failPhù hợp khi nào
Nonep=noneKhông làm gì, chỉ ghi vào báo cáoGiai đoạn đầu theo dõi, chưa áp chính sách thật
Quarantinep=quarantineChuyển email fail vào thư mục spamSau khi đã phân tích báo cáo và xử lý nguồn gửi hợp lệ
Rejectp=rejectTừ chối hoàn toàn, email không được nhậnKhi đã chắc chắn mọi nguồn gửi hợp lệ đều qua được xác thực

Google và hầu hết chuyên gia khuyên nên bắt đầu từ p=none. Lý do thực tế: khi mới triển khai DMARC, bạn chưa biết hết mọi nguồn đang thay mặt gửi email từ tên miền của mình, có thể có hệ thống CRM, công cụ marketing automation, hay ứng dụng bên thứ ba đã tích hợp từ lâu nhưng chưa khai báo đủ trong SPF hoặc DKIM. Nếu bắt đầu thẳng bằng p=reject, những email đó sẽ bị từ chối ngay, gây gián đoạn.

Lộ trình đúng là: dùng p=none vài tuần để đọc báo cáo, xác định tất cả nguồn gửi hợp lệ, đảm bảo chúng đều pass SPF và DKIM. Sau đó chuyển lên p=quarantine một thời gian để quan sát. Cuối cùng mới chuyển lên p=reject khi đã tự tin danh sách nguồn gửi đã đầy đủ.

Cú pháp bản ghi DMARC và ý nghĩa từng thẻ

Bản ghi DMARC là một bản ghi TXT trong DNS, đặt tại địa chỉ _dmarc.[tenmien.vn]. Một ví dụ đầy đủ:

Giải mã các thẻ trong bản ghi DMARC gồm v, p, rua, ruf, pct, adkim, aspf với ý nghĩa và giá trị từng thẻ
v=DMARC1; p=none; rua=mailto:[email protected]; pct=100; adkim=r; aspf=r

Giải mã từng thẻ:

ThẻVí dụÝ nghĩaBắt buộc?
vv=DMARC1Phiên bản DMARC, phải là “DMARC1”
pp=noneChính sách áp dụng: none / quarantine / reject
ruarua=mailto:…Địa chỉ nhận báo cáo tổng hợp (aggregate report) định kỳKhông, nhưng rất nên có
rufruf=mailto:…Địa chỉ nhận báo cáo chi tiết từng email fail (forensic)Không
pctpct=100Phần trăm email áp dụng chính sách (1-100). Mặc định 100Không
adkimadkim=rMức alignment của DKIM: r=relaxed (lỏng), s=strict (chặt)Không, mặc định relaxed
aspfaspf=rMức alignment của SPF: r=relaxed, s=strictKhông, mặc định relaxed

Về thẻ rua: đây là địa chỉ nhận báo cáo tổng hợp, nên tạo một hộp thư riêng cho việc này thay vì dùng hộp thư làm việc. Báo cáo DMARC gửi dạng XML và sẽ đến rất nhiều, từ Gmail, Yahoo, Microsoft, và nhiều máy chủ email khác nhau trên toàn cầu. Có thể dùng công cụ như dmarcian.com hoặc dmarc.postmarkapp.com (có plan miễn phí) để đọc báo cáo này theo dạng giao diện thân thiện thay vì phải đọc XML thô.

Về thẻ pct: thẻ này cho phép triển khai chính sách theo phần trăm. Ví dụ đặt p=quarantine; pct=25 thì chỉ 25% email fail DMARC sẽ bị chuyển vào spam, 75% còn lại vẫn được nhận bình thường. Đây là cách thận trọng để chuyển dần từ none lên quarantine mà không ảnh hưởng toàn bộ ngay lập tức.

Câu hỏi thường gặp về DMARC

Khi đọc báo cáo DMARC thấy nhiều email fail, phải làm gì?

Không nên panic. Báo cáo p=none chỉ là theo dõi, không ảnh hưởng đến email thật. Xem nguồn của email fail: nếu từ IP lạ hoàn toàn thì có thể là người đang cố giả mạo tên miền của bạn. Nếu từ IP của một dịch vụ bạn đang dùng (CRM, email marketing…) thì cần kiểm tra lại cài đặt SPF và DKIM của dịch vụ đó.

Khoảng thời gian nào thì chuyển từ none lên quarantine?

Không có con số cứng, nhưng thông thường 4-8 tuần đủ để thu thập dữ liệu và xử lý. Dấu hiệu cho thấy bạn sẵn sàng chuyển lên quarantine: báo cáo cho thấy tỷ lệ pass DMARC từ nguồn hợp lệ ổn định ở mức cao, và email fail chủ yếu từ IP không liên quan đến hệ thống bạn đang dùng.

DMARC có ảnh hưởng đến email newsletter đang gửi không?

Có, nếu nhà cung cấp email marketing của bạn chưa được khai báo trong SPF hoặc DKIM chưa cài đúng. Trước khi chuyển lên p=quarantine hay p=reject, kiểm tra kỹ báo cáo để đảm bảo mọi chiến dịch newsletter đều qua được xác thực. Xem thêm email marketing là gì và các thứ cần cài đặt để hiểu đầy đủ hơn.

Domain dùng chia sẻ hosting có cần DMARC không?

Có, nếu bạn gửi email từ tên miền đó. Chia sẻ hosting không phải lý do để bỏ qua xác thực email. Nhà cung cấp hosting thường hỗ trợ thêm bản ghi DNS, và nhiều dịch vụ hosting có hướng dẫn cài SPF+DKIM+DMARC cụ thể cho nền tảng của họ. Xem thêm bảo mật và pháp lý tên miền để có bức tranh đầy đủ hơn về các lớp bảo vệ tên miền.

Cần đặt báo cáo DMARC ở đâu để dễ đọc?

Báo cáo XML gốc rất khó đọc thủ công. Các công cụ như dmarcian.com, Postmark DMARC (dmarc.postmarkapp.com), hay EasyDMARC đều có plan miễn phí giúp visualize dữ liệu báo cáo thành biểu đồ và bảng dễ hiểu hơn nhiều.

DMARC là lớp cuối cùng hoàn thiện bộ ba xác thực email. Khi đã có SPF xác nhận nguồn gửi, DKIM ký số nội dung, và DMARC điều phối với báo cáo đầy đủ, tên miền của bạn đã đáp ứng yêu cầu xác thực email mà các nhà cung cấp email lớn như Google và Yahoo hiện đang áp dụng cho người gửi hàng loạt.

Đọc tiếp

Bài viết
cùng chủ đề.

Tất cả bài viết