DMARC là một tiêu chuẩn để chặn spammer khỏi việc sử dụng domain của người sở hữu mà không được sự cho phép của họ mà ta hay gọi nó là spoofing. Thực tế, khi sử dụng mail, bất kỳ ai cũng có thể giả mạo địa chỉ tại trường “From” trong mail gửi đi một cách dễ dàng. DMARC sẽ đảm bảo những mail giả mạo này sẽ bị chặn trước khi chúng đến được mailbox của người nhận và hơn thế nữa, chỉ những mail hợp lệ mới được chấp nhận vào hệ thống.
DMARC được xây dựng ở phía trên của DKIM và SPF. Vậy trước tiên, ta sẽ xem DKIM và SPF là gì?
DKIM là một phương thức để xác thực tính hợp lệ của một email. Mỗi mail khi gửi đi được gắn 1 khóa private key và sau đó được xác thực bên phía mail server nhận bằng một khóa public key được setup trong bản ghi DNS. Quá trình đảm bảo rằng mail gửi đi không bị thay đổi trong quá trình truyền dẫn. Nói cách khác, nó ngăn chặn ai đó có thể can thiệp vào email của bạn, thay đổi nó và sau đó gửi đi với nội dung mới.
DKIM còn giúp các ISP sử dụng những thông tin đó để đánh giá mực độ tin cậy của domain bằng một thông số ta vẫn thường nghe là reputation. Việc thực hiện gửi mail một cách lành mạnh với tỉ lệ SPAM và bounces ít, tỉ lệ chấp nhận cao sẽ tự nhiên làm tăng độ tin cậy và xác thực của domain đó đối với các ISP
Đây là cách setup DKIM trong DNS mà ta vẫn thường thấy với public key:
pm._domainkey.domain.com IN TXT
k=rsa\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOCTHqIIQhGNISLchxDvv2X8NfkW7MEHGmtawoUgVUb8V1vXhGikCwYNqFR5swP6UCxCutX81B3+5SCDJ3rMYcu3tC/E9hd1phV+cjftSFLeJ+xe+3xwK+V18kM46kBPYvcZ/38USzMBa0XqDYw7LuMGmYf3gA/yJhaexYXa/PYwIDAQAB
SPF là một cách thức để xác nhận một email server có được phép gửi email dưới tên một domain nào đó không. Chẳng hạn như muốn email từ domain @VCLOUD chỉ có giá trị khi gửi từ địa chỉ IP 123.345.456.789, còn các mail server có IP khác đều là giả mạo và không được phép thì SPF sẽ thực hiện điều này. Khi đó mail server phía nhận sẽ tự động loại bỏ tất cả các email gửi dưới dạng @VCLOUD từ các địa chỉ không phải IP 123.345.456.789.
DMARC tiến một bước xa hơn so với DKIM và SPF khi nó cho ta quyền thiết lập một policy để loại bỏ (reject) hay cách ly một email từ một nguồn không rõ ràng hoặc không có độ tin cậy dựa trên kết quả của DKIM và SPF.
DMARC cho phép ta nói với các Mail server phía bên nhận cách thức xử lý khi SPF hay DKIM failed hoặc không có. Dưới đây là môt mô tả cách thức SPF và DKIM cùng làm việc với DMARC.
DMARC policy được setup trong DNS và trông giống như sau:
_dmarc.domain.com TXT v=DMARC1\; p=reject\; pct=100\; rua=mailto:dmarc-reports@domain.com\;
Bản ghi trên tạo 1 policy để reject (p=reject) 100% (pct=100) các email không pass DKIM hay SPF. Bên cạnh đó, bản ghi còn cho biết lý do từ chối sẽ được gửi vào mail (rua=mailto:dmarc-reports@domain.com) để người quản trị phía domain.com được biết.
Cấu hình DMARC cho một domain là phần vô cùng nhậy cảm và sẽ mất nhiều thời gian vì sẽ có rủi ro trong quá trình thực hiện. Rủi ro đó là khi cấu hình DMARC sẽ có thể loại bỏ cả những mail hợp lệ. Để tránh điều này, ta cần thực hiện theo trình tự quan sát rồi áp dụng sau (áp dụng ngay sẽ khiến gặp rất nhiều vấn đề)
Chăng hạn ta tạo 1 bản ghi như sau:
_dmarc.domain.com TXT v=DMARC1\; p=none\; pct=100\; rua=mailto:dmarc-reports@domain.com\;
Bản ghi này giống như ví dụ trên nhưng khác ở chỗ “p=none” thay vì “p=reject”. “none” cho biết đây là chế độ test mode. Các mail server nhận sẽ check từng message gửi đến nhưng nó chi gửi về các report mà không thực hiện hành động nào cụ thể. Điều này cho phép ta thu thập được thông tin chi tiết về các địa chỉ mail server gửi đến trước khi có quyết định thực hiện một hành động cụ thể.
Lúc này ta cần một công cụ để thu thập những số liệu thống kê này và http://dmarc.postmarkapp.com là công cụ không thể bỏ qua
Ta sẽ cần một thời gian tương đối dài để dữ liệu thu thập được có giá trị thống kê như ở trên
Có 3 thống kê ta cần xem:
Processed: Số lượng message đã đc gửi report
Fully Aligned: Số lượng message đã pass cả SPF và DKIM
Failed: Số lượng message failed tại SPF hoặc DKIM
Trusted sources: Đây là những địa chi email server bao gồm cả domain và IP mà đã pass cả SPF và DKIM
Unknown/Threats: là những địa chi email server mà không pass qua được SPF hoặc DKIM. Trong nhiều trường hợp, Unknown là những source hợp lệ đang gửi email nhưng không bao gồm sử dụng DKIM hoặc SPF. Chính vì điều này sẽ dẫn tới việc thực thi DMRAC trở nên vô cùng nhậy cảm.
Sau khi đã có được những địa chỉ được coi là hợp lệ ta sẽ tạo danh sách cho nó và đối với mỗi địa chỉ mới, ta sẽ đối chiếu lại với danh sách này. Mục đích cuối cùng của DMARC vẫn là kiểm tra cho việc pass cả DKIM và SPF, trong một số trường hợp đặc biệt đó là email fowarding, ở đó Return-path bị thay đổi và SPF failed nhưng nếu có DKIM, nó vẫn được chấp nhận như một email hợp lệ.
Tóm lại, DMARC là một chuẩn cao hơn trên cơ sở kết hợp giữa DKIM và SPF. Tuy chưa phổ biến nhưng DMARC sẽ rất có giá trị trong tương lai. Ở VCLOUD, khi thuê vps để cấu hình mail server, các kỹ sư của VCLOUD sẽ giúp người dùng bằng kinh nghiệm thực tế nhất, mang lại hệ thống tốt nhất cho khách hàng. Chúng tôi cam kết dịch vụ chất lượng nhất, hoàn hảo nhất với uy tín hàng đầu thị trường.