Mail P5: Tạo bản ghi DMARC để bảo vệ tên miền của bạn khỏi việc giả mạo email

DMARC là gì?

DMARC là viết tắt của xác thực, báo cáo và tuân thủ thông báo dựa trên miền. DMARC không phải là một sản phẩm. Đây là thông số kỹ thuật có sẵn miễn phí và được hỗ trợ rộng rãi trên Internet. Bất kỳ ai sở hữu tên miền đều có thể tận dụng DMARC.

Chính sách DMARC cho phép chủ sở hữu miền chỉ ra rằng email từ miền của họ được bảo vệ bởi SPF và DKIM. Bạn có thể sử dụng DMARC để khám phá tất cả các nguồn email hợp pháp. DMARC được xây dựng dựa trên hai công nghệ hiện có: SPF và DKIM.

Lợi ích DMARC

Tại sao DMARC tốt cho bạn?Lợi ích của việc triển khai DMARC là:

  • Phát hiện gian lận: Những kẻ lừa đảo thường giả mạo địa chỉ tiêu đề From: để mạo danh các thương hiệu lớn. DMARC là một công cụ mạnh mẽ để chống lại lừa đảo qua email và do đó bảo vệ thương hiệu của bạn.
  • Gửi email đơn giản hóa: Việc gửi email tuân thủ DMARC cho phép máy chủ email nhận đơn giản hóa các quy tắc lọc.
  • Danh tiếng tên miền email của bạn có thể được cải thiện sau khi bạn tạo bản ghi DMARC một cách chính xác.
  • Cung cấp cho người gửi thông tin chi tiết về cách máy chủ nhận email xử lý email của họ. Bạn có thể nhận được báo cáo về số lượng email hợp pháp được gửi từ miền của mình, số lượng email không thể được xác thực bao gồm cả email hợp pháp và email lừa đảo.

Đây là một vấn đề khá lớn đối với bất kỳ tổ chức nào dựa vào email cho hoạt động kinh doanh hàng ngày của mình. Nếu bạn đang thực hiện tiếp thị qua email thì DMARC là một công cụ bắt buộc phải có để giúp email dễ dàng gửi và tiếp cận khách hàng. Các nhà cung cấp hộp thư lớn hướng tới người tiêu dùng như Gmail, Yahoo và Microsoft yêu cầu gửi email tuân thủ DMARC để giúp công việc lọc email của họ dễ dàng hơn.

Cách tạo bản ghi DMARC

Chính sách DMARC được xuất bản dưới dạng bản ghi TXT trong DNS.

Bước 1: tạo bản ghi SPF và DKIM

Trước khi tạo bản ghi DMARC, trước tiên bạn phải tạo bản ghi SPF và DKIM.

Bước 2: Căn chỉnh định danh

Gửi email thử từ miền của bạn, sau đó kiểm tra tiêu đề email thô trong hộp thư của người nhận. Bạn muốn đảm bảo rằng các miền trong Return Path, From: headerd=domain trong chữ ký DKIM đều giống nhau. Nếu 3 miền đó là giống hệt nhau thì chúng được căn chỉnh.

Nếu Return-Path hoặc DKIM d= sử dụng tên miền phụ thay vì tên miền chính thì điều này được gọi là căn chỉnh thoải mái. Nếu không sử dụng tên miền phụ và tên miền chính giống nhau, nó được gọi là căn chỉnh nghiêm ngặt.

Bước 3: Thiết lập bản ghi DMARC

Đi tới trình quản lý DNS của bạn và thêm bản ghi TXT. Trong trường tên, nhập _dmarc. Trong trường giá trị, nhập thông tin sau:

v=DMARC1; p=none; pct=100; rua=mailto:dmarc-reports@z-log.net

Giải thích:

  • v=DMARC1: Phiên bản giao thức là DMARC1.
  • p=none: Ở đây chọn không làm chính sách cho miền của mình.
  • pct=100: Phần trăm email từ miền DMARC của bạn áp dụng cho
  • rua là viết tắt của URI báo cáo cho báo cáo tổng hợp. Địa chỉ email được sử dụng để thông báo cho máy chủ email nhận nơi báo cáo sẽ được gửi. dmarc-reports@z-log.net được sử dụng để nhận báo cáo DMARC tổng hợp.

Có 3 chính sách bạn có thể lựa chọn:

  • none: yêu cầu máy chủ email nhận không làm bất cứ điều gì đặc biệt nếu việc kiểm tra DMARC không thành công.
  • quarantine: yêu cầu máy chủ email nhận đưa email vào vùng cách ly nếu quá trình kiểm tra DMARC không thành công. Nó phải được quản trị viên phê duyệt trước khi có thể đến hộp thư đến của người nhận.
  • reject: yêu cầu máy chủ email nhận từ chối email nếu kiểm tra DMARC không thành công. Lưu ý rằng không phải tất cả máy chủ nhận email đều tuân thủ chính sách từ chối. Gmail và Yahoo Mail sẽ từ chối email, nhưng Microsoft Mail (Outlook, Hotmail, Live) thì không từ chối email.

Nếu tên miền của bạn đã gửi một số email trước đó thì p=none là một khởi đầu tốt. Bạn nên phân tích dữ liệu một thời gian để xem liệu có email hợp pháp nào không tuân thủ DMARC hay không. Sau khi bạn có đủ dữ liệu và khắc phục việc gửi vấn đề, bạn có thể thay đổi chính sách từ không thành cách ly hoặc từ chối.

Nếu bạn có một tên miền mới chưa từng gửi email trước đó, bạn có thể không bỏ qua nonequarantine và đặt p=reject.

Có một thẻ khác mà bạn có thể thêm vào bản ghi DMARC: fo. : fo. Thẻ này có bốn giá trị có thể.

  • 0 (default): tạo báo cáo nếu tất cả các cơ chế xác thực cơ bản không tạo ra kết quả vượt qua DMARC.
  • 1:  tạo báo cáo nếu có bất kỳ cơ chế nào bị lỗi.
  • d:  tạo báo cáo nếu xác minh chữ ký DKIM không thành công.
  • s: tạo báo cáo nếu SPF không thành công.

Nên sử dụng fo=1 trước tiên để tạo báo cáo lỗi DMARC toàn diện hơn. Khi bạn thay đổi sang chính sách hạn chế hơn, hãy sử dụng fo=0.

v=DMARC1; p=none; pct=100; fo=1; rua=mailto:dmarck-reports@z-log.net

Bạn có thể kiểm tra bản ghi DMARC của mình từ thiết bị đầu cuối Linux bằng lệnh sau:

dig txt +short _dmarc.z-log.net

Bạn có thể thấy rằng ở đây sử dụng hai địa chỉ email để nhận báo cáo DMARC, tôi sẽ giải thích sau. Có một công cụ dòng lệnh khác (opendmarc-check) mà bạn có thể sử dụng để kiểm tra bản ghi DMARC, được cung cấp bởi gói opendmarc.

sudo apt install opendmarc

opendmarc-check truy vấn DNS để tìm bản ghi DMARC cho tên miền được đặt tên và sau đó dịch nội dung được tìm thấy sang dạng mà con người có thể đọc được.

Nếu bạn có một tên miền không gửi được email, bạn nên sử dụng p=reject policy.

v=DMARC1; p=reject; pct=100;

DMARC Test

Một dịch vụ tốt cho bài kiểm tra DMARC là https://www.mail-tester.com. Truy cập trang web, bạn sẽ thấy một địa chỉ email duy nhất. Gửi email từ miền của bạn đến địa chỉ này và sau đó kiểm tra điểm của bạn. kiểm tra tất cả các yếu tố ảnh hưởng đến khả năng gửi email, không chỉ DMARC.) Nếu DMARC vượt qua thì bạn sẽ thấy nội dung như bên dưới trong kết quả kiểm tra.

Một cách khác để kiểm tra DMARC là gửi email từ miền của bạn tới tài khoản Gmail của bạn. Nếu DMARC được định cấu hình đúng thì bạn sẽ thấy dmarc=pass trong tiêu đề kết quả xác thực. (Để xem tiêu đề email trong Gmail, hãy nhấp vào nút Hiển thị bản gốc, có thể tìm thấy trong menu thả xuống ở bên phải của email đã mở.).

Để vượt qua quá trình kiểm tra DMARC, email của bạn cần đáp ứng một trong các yêu cầu sau.

  • SPF pass và the Return-Path: tên miền giống với From: header domain.
  • DKIM pass and the d= domain trong DKIM signature giống với From: header domain.

Theo mặc định, DMARC sử dụng căn chỉnh thoải mái. Vì vậy, miền Return-Path hoặc miền d= trong chữ ký DKIM có thể là miền phụ.

Cách diễn giải báo cáo DMARC

Có hai loại báo cáo DMARC.

  • Báo cáo tổng hợp dựa trên XML hàng ngày được tạo bởi Gmail, Yahoo, Hotmail, v.v.
  • Báo cáo điều tra theo thời gian thực (bản sao của từng đoạn email không vượt qua quá trình kiểm tra DMARC).

Thông thường, bạn chỉ muốn nhận báo cáo tổng hợp. Dữ liệu mà DMARC tạo ra là vô giá để hiểu điều gì đang xảy ra với bất kỳ miền email cụ thể nào. Tuy nhiên, dữ liệu báo cáo DMARC thô cực kỳ khó đọc và hiểu. May mắn thay, Postmark cung cấp dịch vụ miễn phí để xử lý các báo cáo này, sẽ cung cấp cho bạn một báo cáo dễ đọc hơn nhiều. Điểm hay của Postmark là bạn có thể yêu cầu máy chủ email nhận gửi báo cáo XML trực tiếp đến Postmark để xử lý. Vì vậy, thay vì nhập địa chỉ email của bạn vào bản ghi DMARC, bạn nhập một địa chỉ email của postmarkapp.com dành riêng cho bạn.

v=DMARC1; p=none; pct=100; fo=1; rua=mailto:unique-to-you@dmarc.postmarkapp.com;

Bạn cũng có thể chỉ định nhiều địa chỉ email, phân tách bằng dấu phẩy.

v=DMARC1; p=none; pct=100; fo=1; rua=mailto:unique-to-you@dmarc.postmarkapp.com,mailto:dmarc-report@z-log.net;

Sau khi hồ sơ DMARC của bạn được Postmark xác minh, bạn sẽ nhận được báo cáo DMARC vào thứ Hai hàng tuần trong hộp thư email của mình.Bạn không cần phải đăng ký tài khoản tại Postmark.

Dưới đây là báo cáo hàng tuần đầu tiên của tôi được gửi từ Postmark. mcsignup.com thuộc về MailChimp, đây là nơi tôi sử dụng để gửi các bản tin đến danh sách gửi thư của mình. Trong bản ghi SPF, tôi thực sự cho phép MailChimp thay mặt tôi gửi email, nhưng tôi đã không’ Tôi không biết rằng họ không sử dụng tên miền của tôi trong tiêu đề Đường dẫn trả về cho email xác nhận đăng ký và họ không ký email bằng tên miền DKIM của tôi.

Ngoài ra còn có một nguồn không xác định tự xưng là linuxbabe.com.

Đầu tiên, tôi luôn coi địa chỉ IP không có bản ghi DNS ngược là thư rác. Sau đó, để xác định các nguồn không xác định khác, tôi sẽ kiểm tra xem nó có nằm trong danh sách đen email hay không. debouncer.com cho tôi biết rằng nó nằm trong 13 danh sách đen. Vì vậy, rõ ràng là như vậy một kẻ gửi thư rác đang cố gắng mạo danh tên miền của tôi.

Để hiểu rõ hơn về nguồn không xác định và cách miền của bạn được sử dụng, bạn có thể chọn nhận báo cáo pháp lý bằng cách thêm thẻ ruf vào bản ghi DMARC như bên dưới.

v=DMARC1; p=none; pct=100; fo=1; rua=mailto:unique-to-you@dmarc.postmarkapp.com; ruf=mailto:forensic-report@your-domain.com;

Báo cáo điều tra chứa bản sao của các email không vượt qua quá trình kiểm tra DMARC. Bạn có thể xem tiêu đề email, dòng chủ đề và đôi khi là nội dung thư để xác định bản chất của các email không thành công. Nếu bạn nhận ra dòng chủ đề thì nhiều khả năng email đó đã được chuyển tiếp Lưu ý rằng một số máy chủ email có thể chọn tạo báo cáo tổng hợp chứ không phải báo cáo điều tra do lo ngại về quyền riêng tư và những máy chủ khác chỉ có thể đưa tiêu đề email vào báo cáo điều tra.

Khi nào SPF hoặc DKIM không thành công?

Một ví dụ điển hình về lỗi SPF là khi email của bạn được chuyển tiếp đến máy chủ email đích thông qua máy chủ của bên thứ ba. Và tình huống phổ biến khiến DKIM bị lỗi là khi email của bạn được gửi qua danh sách gửi thư, danh sách này thường thêm các tiêu đề hoặc câu bổ sung vào email của bạn. Trên thực tế, danh sách gửi thư cũng có thể gây ra lỗi SPF.

Có hai loại danh sách gửi thư.

  • Danh sách gửi thư thông báo. Thường được các trang web sử dụng để gửi bản tin. Chủ sở hữu danh sách gửi thư có thể gửi tin nhắn đến một số lượng lớn người đăng ký, trong khi người đăng ký chỉ có thể trả lời chủ sở hữu danh sách gửi thư.
  • Danh sách gửi thư thảo luận, nơi người đăng ký có thể gửi tin nhắn cho tất cả người đăng ký khác. Điều này phổ biến trong cộng đồng nguồn mở. GNU mailman là phần mềm phổ biến nhất để thiết lập danh sách gửi thư như vậy.

Loại đầu tiên này rất dễ giải quyết vì chủ sở hữu tên miền là khách hàng của nhà cung cấp máy chủ danh sách gửi thư. Việc thêm máy chủ danh sách gửi thư vào bản ghi SPF rất dễ dàng. Ngoài ra, máy chủ danh sách gửi thư có thể thực hiện ký DKIM cho khách hàng.

Loại danh sách gửi thư thứ hai khó giải quyết đối với chủ sở hữu tên miền có người dùng tham gia thảo luận trong nhiều danh sách gửi thư khác nhau. Chủ sở hữu tên miền không thể liệt kê tất cả các máy chủ danh sách gửi thư thảo luận có thể có trong bản ghi SPF và các danh sách gửi thư này không thể thực hiện DKIM ký tên miền khác. Một giải pháp khả thi là danh sách gửi thư sử dụng địa chỉ riêng của nó trong tiêu đề From: và thêm địa chỉ của người gửi email ban đầu vào tiêu đề Reply-To:. Bạn có thể tìm thêm chi tiết trên trang GNU mailman wiki page . Một giải pháp thực tế và hứa hẹn hơn là ARC (Authentication Received Chain), về cơ bản có nghĩa là danh sách gửi thư thực hiện kiểm tra DMARC và ký vào kết quả DMARC. Máy chủ email nhận có thể tin cậy vào chữ ký ARC và ghi đè kết quả kiểm tra DMARC cục bộ.

Khi nào bạn nên chuyển sang chính sách p=reject

Bạn nên đợi đủ thời gian để nhận được nhiều báo cáo DMARC. Đừng ngạc nhiên khi bạn thấy báo cáo DMARC của mình có kết quả dương tính giả. Hãy phân tích những kết quả dương tính giả này và thực hiện hành động để đảm bảo chúng có thể vượt qua quá trình kiểm tra DMARC. Sau đó, hãy chuyển đổi chính sách DMARC của bạn thành p=quarantine và cuối cùng là p=reject. Đừng bỏ qua quarantine và chuyển thẳng sang reject. Khi bạn chuyển sang chính sách DMARC nghiêm ngặt hơn, hãy cân nhắc việc thay đổi giá trị của thẻ pct.

Vì vậy, quá trình tổng thể diễn ra như thế này:

  1. p=none;              pct=100;
  2. p=quarantine;     pct=30;
  3. p=quarantine;     pct=70;
  4. p=quarantine;     pct=100;
  5. p=reject;             pct=30;
  6. p=reject;             pct=70;
  7. p=reject;             pct=100;

Tại sao tôi vẫn sử dụng chính sách p=none?

Thứ nhất, đó là do Microsoft. các thư được chuyển tiếp từ Hộp thư Microsoft Outlook có thể không vượt qua được quá trình kiểm tra DKIM, điều này thật tệ. Vì lý do này, tôi không thể đặt chính sách DMARC của mình thành quarantine hoặc reject.

Một lý do khác là tôi đang sử dụng MailChimp để gửi bản tin đến những người đăng ký email của mình. MailChimp sử dụng tên miền riêng của nó trong tiêu đề Return-Path header và DKIM signature của chính nó cho email xác nhận đăng ký, điều này gây ra lỗi DMARC.

Giải pháp cho vấn đề đầu tiên là triển khai ARC (Chuỗi nhận được xác thực). Cho đến khi ARC được triển khai trên các nhà cung cấp Hộp thư, tôi sẽ không thay đổi chính sách DMARC của mình.

Để giải quyết vấn đề thứ 2, tôi cần chuyển sang ứng dụng bản tin tự lưu trữ như Mailtrain, thay vì sử dụng nhà cung cấp dịch vụ email (ESP) để gửi bản tin đến người đăng ký email, bằng cách đó, tôi có thể sử dụng tên miền của chính mình trong Return-Path header và DKIM signature của riêng tôi trong mỗi email. Tuy nhiên, điều này cũng có nghĩa là tôi sẽ cần tạo dựng danh tiếng tốt cho tên miền email và địa chỉ IP máy chủ email của mình để email của tôi có thể đến hộp thư đến của người đăng ký thay vì thư mục thư rác. Việc này có thể mất chút thời gian và công sức.

Update (April 19, 2019)

Việc căn chỉnh DKIM trong các email được chuyển tiếp bởi Microsoft Outlook đã được cải thiện. Cũng trong tháng 2 năm 2019, Mailchimp bắt đầu sử dụng tên miền của khách hàng làm chữ ký DKIM cho các email xác nhận đăng ký, vì vậy tất cả các email Mailchimp hiện đều được căn chỉnh theo DKIM. Bây giờ tôi bắt đầu thử nghiệm với p=quarantine và cuối cùng sẽ chuyển sang chính sách p=reject.

Kết thúc

Có chính sách p=none tốt hơn là không có bản ghi DMARC. Mặc dù p=none không thể ngăn chặn việc giả mạo email nhưng ít nhất các email hợp pháp của tôi có cơ hội tốt hơn được đưa vào hộp thư đến.

Tôi hy vọng bài viết này đã giúp bạn hiểu và triển khai chính sách DMARC. Trong phần tiếp, tôi sẽ chia sẻ với bạn tất cả các mẹo của tôi về cách đưa email của bạn vào hộp thư đến của người nhận thay vì thư mục thư rác.

Nguồn tham khảo: linuxbabe.com

Bình luận

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *