Thủ thuật
DMARC thực sự bảo vệ bạn khỏi điều gì và những giới hạn cần biết
(giờ Việt Nam)
Tóm tắt AI
DMARC giúp ngăn chặn giả mạo tên miền và lừa đảo, nhưng không kiểm soát nội dung email. Việc xác thực danh tính người gửi không đồng nghĩa với việc email đó an toàn tuyệt đối.
Bản dịch AI
Hãy hỏi năm người về chức năng của DMARC và bạn sẽ nhận được năm câu trả lời khác nhau: nó ngăn chặn lừa đảo (phishing), nó tiêu diệt thư rác (spam), nó chứng minh email là an toàn. Không câu nào trong số đó hoàn toàn chính xác. DMARC (thông số kỹ thuật hiện tại là RFC 9989) chỉ kiểm tra một khía cạnh hẹp: liệu chủ sở hữu của tên miền hiển thị trong dòng "From" (Người gửi) có thực sự ủy quyền cho thông điệp này hay không, thông qua việc xác thực bằng SPF hoặc DKIM?
Đây là một câu hỏi đáng để trả lời. Nó cũng nhỏ hơn nhiều so với danh tiếng mà DMARC đã tạo dựng được. Nếu bạn đạt đến mức p=reject với suy nghĩ rằng mình đã được bảo vệ khỏi lừa đảo, bạn sẽ âm thầm loại bỏ các biện pháp kiểm soát đối với mọi thứ mà DMARC vốn dĩ chưa bao giờ đụng đến.
Cách email chứng minh ai là người gửi
Có hai nền tảng nằm dưới DMARC. SPF là một danh sách do tên miền công bố về các máy chủ được phép gửi thư thay mặt cho nó; bên nhận sẽ kiểm tra xem thư có thực sự đến từ một trong các máy chủ đó hay không. DKIM thêm một chữ ký mã hóa vào thông điệp, cho phép bên nhận xác nhận rằng thư đến từ tên miền ký tên và không bị thay đổi trong quá trình truyền tải. Sau đó, DMARC liên kết cả hai yếu tố này với địa chỉ mà bạn nhìn thấy trong dòng "From".
Đây là phần khiến mọi người dễ nhầm lẫn. Một email thực tế có hai địa chỉ "from". Một là địa chỉ phong bì (envelope address), hoạt động giống như địa chỉ trên một bưu phẩm: các máy chủ thư sử dụng nó để định tuyến thông điệp rồi loại bỏ nó, vì vậy bạn không bao giờ nhìn thấy. Hai là địa chỉ "From" hiển thị mà ứng dụng thư của bạn hiển thị, ví dụ như "Ngân hàng của bạn <[email protected]>" mà bạn đọc ở đầu thông điệp. Không có gì bắt buộc hai địa chỉ này phải khớp nhau. Khoảng cách đó chính là mấu chốt của vấn đề: kẻ tấn công có thể hiển thị tên ngân hàng của bạn ở dòng "From" hiển thị, trong khi địa chỉ phong bì lại âm thầm trỏ về máy chủ của chính chúng.
SPF kiểm tra địa chỉ phong bì. Chữ ký của DKIM mang theo tên miền riêng của nó. Công việc của DMARC là lấy bất kỳ yếu tố nào trong số đó đã được xác thực thành công và đối chiếu với dòng "From" mà bạn có thể nhìn thấy, vì đó là địa chỉ mà con người tin tưởng.
Hình dáng thực tế của chúng
Cả ba đều tồn tại dưới dạng các bản ghi văn bản trong DNS của tên miền, cùng nơi cấu hình địa chỉ trang web của bạn. Bạn không cần phải ghi nhớ cú pháp; chỉ cần nhận biết được hình dáng của chúng là đủ.
Bản ghi SPF liệt kê những ai được phép gửi thư. Bản ghi này ủy quyền cho Google Workspace và một công cụ tiếp thị, đồng thời cho biết bất kỳ thứ gì khác đều nên bị coi là đáng ngờ:
Các mục include: sẽ lấy danh sách máy chủ của từng nhà cung cấp, và -all có nghĩa là "nếu không nằm trong các danh sách đó, thì đó không phải là chúng tôi".
Bản ghi DKIM công bố một nửa công khai của khóa ký, để bên nhận có thể kiểm tra chữ ký trên thư của bạn. Chuỗi ký tự dài chính là khóa:
Cuối cùng, bản ghi DMARC kết nối tất cả lại và cho bên nhận biết phải làm gì khi một thông điệp không vượt qua kiểm tra. Bản ghi này yêu cầu họ từ chối các thông điệp thất bại và gửi báo cáo cho bạn:
p=reject là thiết lập nghiêm ngặt: nếu xác thực thất bại, thư sẽ bị từ chối. rua= đơn giản là nơi gửi các báo cáo tổng hợp của bạn.
Cách quyết định một kết quả đạt (pass)
DMARC nằm trên SPF và DKIM, và nó đánh giá chúng một cách độc lập. Có hai cách riêng biệt để một thông điệp vượt qua kiểm tra: SPF vượt qua cho tên miền phong bì ẩn và tên miền đó khớp với tên miền "From" hiển thị, hoặc chữ ký DKIM được xác thực và tên miền ký tên của nó khớp với tên miền "From" hiển thị. Nếu một trong hai con đường khớp này thành công, DMARC sẽ vượt qua. Nếu không có cái nào thành công, nó sẽ thất bại. "Khớp" (aligns) đơn giản có nghĩa là hai tên miền đủ giống nhau để được coi là cùng một tổ chức.
DMARC vượt qua nếu SPF hoặc DKIM xác thực thành công và khớp với tên miền "From" hiển thị. Nó chỉ thất bại khi cả hai đều không làm được điều đó.
Một lưu ý nhỏ về ý nghĩa của từ "khớp", vì nó thường gây nhầm lẫn. DMARC có hai chế độ. Ở chế độ linh hoạt (mặc định), hai tên miền chỉ cần chia sẻ cùng một tên miền tổ chức, vì vậy chữ ký DKIM từ mail.example.com sẽ khớp với "From" là example.com. Ở chế độ nghiêm ngặt, chúng phải giống hệt nhau, và chữ ký đó sẽ thất bại. Nếu bạn từng thấy "SPF pass, DMARC fail" và tự hỏi làm sao cả hai có thể đúng cùng lúc, thì thường có nghĩa là SPF đã xác nhận thành công tên miền phong bì ẩn, nhưng tên miền đó không khớp đủ gần với địa chỉ "From" hiển thị. Chế độ nghiêm ngặt so với linh hoạt sẽ quyết định xem các tên miền có liên quan chặt chẽ có được tính là cùng một tổ chức hay không.
Hãy chú ý những gì bài kiểm tra này không bao giờ xem xét: nội dung từ ngữ trong thông điệp, các liên kết, tệp đính kèm, hay liệu người gửi có ý đồ xấu hay không. Nó chỉ hỏi thư đến từ đâu.
DMARC giúp ích ở đâu
Trường hợp mà DMARC được xây dựng để giải quyết là giả mạo tên miền chính xác (exact-domain spoofing). Nếu ai đó đặt your-bank.com vào địa chỉ "From" mà không tạo ra kết quả SPF hoặc DKIM khớp, chính sách p=reject sẽ yêu cầu các bên nhận tham gia từ chối thông điệp đó, mặc dù bên nhận vẫn giữ quyền kiểm soát cuối cùng đối với việc xử lý và có thể áp dụng chính sách hoặc ngoại lệ cục bộ. Đây là sự bảo vệ thực sự, và đối với cuộc tấn công cụ thể này, nó rất mạnh mẽ. Nó cũng cung cấp cho bạn thứ mà trước đây bạn không có: các báo cáo tổng hợp (được định nghĩa trong RFC 9990) tiết lộ nhiều hệ thống mà các bên nhận tham gia đã quan sát thấy đang gửi thư dưới danh nghĩa tên miền của bạn, đây là cách bạn tìm ra công cụ tiếp thị bị lãng quên hoặc relay bị cấu hình sai trước khi kẻ tấn công làm điều đó.
Những hạn chế của DMARC
Tên miền trông giống (Lookalike domains). Kẻ tấn công đăng ký your-bank-support.com, thiết lập SPF và DKIM hợp lệ, và vượt qua DMARC trên tên miền của chính chúng. Chính sách của bạn không có phạm vi áp dụng đối với tên miền mà bạn không sở hữu. Đối với mọi bên nhận, thư đó hoàn toàn được xác thực.
Mạo danh tên hiển thị (Display-name impersonation). Tên hiển thị là "Your Bank Security"; địa chỉ thực sự đằng sau nó là [email protected]. DMARC chỉ kiểm tra tên miền. Nó không có tác dụng gì đối với tên hiển thị thân thiện, vốn là phần mà hầu hết mọi người thực sự đọc, vì vậy kiểu lừa đảo này vẫn vượt qua kiểm tra một cách dễ dàng.
Hộp thư bị xâm nhập. Khi kẻ tấn công đăng nhập vào một tài khoản thực thông qua thông tin đăng nhập bị đánh cắp và gửi thư qua nhà cung cấp hợp pháp, thông điệp thường sẽ vượt qua SPF, DKIM và DMARC vì theo các điều khoản của giao thức, nó được gửi qua cơ sở hạ tầng được ủy quyền. Xác thực không thể phân biệt người dùng thực với kẻ tấn công đang kiểm soát tài khoản của người dùng đó.
Tên miền đã xác thực nhưng độc hại. Bất kỳ ai cũng có thể đăng ký một tên miền và cấu hình xác thực hoàn hảo; những kẻ gửi thư không mong muốn thường xuyên làm điều này. Một kết quả vượt qua trên totally-legit-invoices.com chỉ xác nhận chủ sở hữu đã ủy quyền cho thư đó. Nó không nói lên điều gì về việc chủ sở hữu có trung thực hay không.
Thư rác và vị trí hộp thư đến. DMARC không phải là bộ lọc thư rác và không quyết định liệu thư có đến được hộp thư đến hay không. Các bộ lọc có thể coi nó là một đầu vào, nhưng thư rác đã xác thực vẫn là thư rác, và vị trí hiển thị là một hệ thống riêng biệt với logic riêng của nó.
Chuyển tiếp và danh sách gửi thư. Các trung gian hợp pháp có thể làm hỏng xác thực. Việc chuyển tiếp thường làm hỏng SPF vì máy chủ chuyển tiếp không được ủy quyền bởi tên miền của người gửi gốc, trong khi các danh sách gửi thư có thể sửa đổi tiêu đề hoặc nội dung và làm mất hiệu lực của DKIM. Do đó, một thông điệp hợp pháp có thể thất bại DMARC ngay cả khi không ai mạo danh người gửi. Đây là một lý do tại sao việc thực thi nên tuân theo quá trình giám sát và khắc phục cẩn thận thay vì chuyển đổi mù quáng sang p=reject.
Xác thực không phải là tin tưởng
Vì vậy, một kết quả DMARC pass chỉ cho bạn biết một điều duy nhất: tên miền trong dòng "From" đã ủy quyền cho thư đó, và SPF hoặc DKIM chứng minh điều đó. Hữu ích. Nó ngăn chặn việc giả mạo tên miền chính xác và cho bạn biết ai đang gửi thư dưới danh nghĩa của bạn. Nhưng liệu thông điệp đó có trung thực không, có an toàn để nhấp vào không, tài khoản đằng sau nó có bị chiếm đoạt không, DMARC không có ý kiến gì về bất kỳ điều nào trong số đó. Khi một nhà cung cấp nói với bạn rằng DMARC "ngăn chặn lừa đảo", đó chính là khoảng trống mà họ đang cố che đậy.
Tại SenderLedger, chúng tôi có cách tiếp cận hẹp hơn. Chúng tôi giúp bạn đạt đến mức thực thi mà không làm gián đoạn thư hợp pháp của bạn, chỉ cho bạn biết những người gửi nào thực sự là của bạn, và khóa cửa đối với việc giả mạo tên miền chính xác. Những phần còn lại, như theo dõi các tên miền trông giống, phát hiện tài khoản bị chiếm đoạt, sử dụng khả năng phán đoán của con người, là một công việc khác. Một tên miền đạt đến p=reject với suy nghĩ rằng mình đã được bảo vệ hoàn toàn thực chất đã bị bán cho một cảm giác an toàn giả tạo.
Xem ai thực sự đang gửi thư dưới danh nghĩa tên miền của bạn.
SenderLedger lập bản đồ mọi người gửi, theo dõi quá trình khắc phục và cho bạn biết khi nào việc đạt đến p=reject thực sự an toàn.
Yêu cầu quyền truy cập
Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.