Nội dung bài viết
#

SPF record là gì? Đặc điểm và cách thức hoạt động

Gửi email điện tử là một trong những bước ngoặt lớn của công nghệ nói chung và dịch vụ mạng nói riêng. Để xác thực email và bảo vệ thông tin người dùng, các nhà cung cấp sẽ sử dụng một số bản ghi. Trong đó TXT và SPF là hai loại hay được dùng nhất hiện nay. TXT có lẽ là cái tên quen thuộc nhưng ít ai biết tới sự tồn tại của SPF record. Vậy nên hôm nay chúng tôi muốn mang đến những thông tin chi tiết hơn về loại bản ghi này tới người dùng.

SPF record là gì?

SPF record la gi

Một trong những tài nguyên quan trọng của DNS là bản ghi TXT. Nó không chỉ hiển thị tên miền mà còn cung cấp thông tin cho những bên khác để xác thực người dùng. Ngoài ra, còn một bản ghi khác cũng có tính năng tương tự chính là SPF record.

SPF được viết tắt bởi cụm từ Sender Policy Framework. Khác với TXT, nó chứa dữ liệu về các máy chủ đáng tin cậy được tên miền ủy quyền. Vậy nên nhà cung cấp dịch vụ internet (ISP) dễ dàng xác định được nguồn gốc email và loại bỏ email giả mạo. Có thể nói SPF chính là một trong những cách chủ yếu được sử dụng để xác thực email.

Tiêu chuẩn xác thực email là gì?

Như các bạn đã biết, giao thức SMTP chỉ truyền tải thư chứ không hỗ trợ bảo vệ bạn khỏi các email giả mạo, spam,…. Nó không thể xác định nguồn gốc của email và xác thực tên miền. Hiện nay có 3 tiêu chuẩn chính được sử dụng nhiều để xác thực email như sau:

  • SPF: kiểm tra địa chỉ IP mà email gửi đến có được ủy quyền hay không.
  • DKIM: kiểm tra xem thư có bị thay đổi trong quá trình dùng khóa và xác minh chữ ký hay không?
  • DMARC: bao gồm cả hai cách tiếp cận trên.

Cả ba có sự khác biệt về việc triển khai và mặt kỹ thuật, tuy nhiên điểm chung của chúng là dựa trên DNS. Tất nhiên bạn cũng có thể bắt gặp một số phương thức xác thực khác như iprev, ADSP, Sender ID,… Mặc dù vậy một trong số chúng thường bị phản đối hoặc không được xác nhận quyền sở hữu.

Cách mà SPF record hoạt động

SPF hoạt động chủ yếu dựa theo ba bước chính sau:

  • Đầu tiên là tạo bản ghi SPF. Điều này giúp thiết lập các chính sách xác thực, xác định máy chủ mail được phép gửi email từ một tên miền nào đó.
  • Tiếp đến là tra cứu DNS. Chúng cần được đối chiếu và xác minh trong DNS. Ở đó là danh sách tên miền và máy chủ thư đến sẽ kiểm tra địa chỉ IP mà email gửi đi có được ủy quyền trong SPF record hay không. Thư sẽ không được xác thực SPF nếu có bất kỳ kiểm tra nào không thành công.
  • Cuối cùng là kết quả xác thực. Máy chủ thư gửi sẽ cho phép hoặc từ chối dựa trên những quy tắc được chỉ định trong bản ghi SPF.

Một ví dụ cơ bản đó là bạn gửi mail từ địa chỉ IP của mình từ “@student.edu.vn”. Quá trình kiểm tra SPF sẽ diễn ra, máy chủ thư sẽ yêu cầu tên miền @student.edu.vn xác thực xem địa chỉ IP có được phép hay không. Nếu có, thư được gửi thành công, nếu không email sẽ được sắp xếp theo cơ chế chỉ định trong SPF.

Cú pháp của SPF record

Ví dụ về cú pháp bản ghi SPF đơn giản:

v=spf1 +a +mx redirect=example.com -all

Trong đó, v=spf1 là số phiên bản bản ghi hiện tại. Phần còn lại bao gồm: cơ chế, bộ định tính và bộ sửa đổi.

Các cơ chế có thể tồn tại bao gồm:

Cơ chếMục đích
+Mang nghĩa chấp nhận, máy chủ được phép gửi thư.
Mang ý nghĩa từ chối và không cho phép gửi email.
~Mặc dù là chấp nhận nhưng có đánh dấu. Máy chủ chưa được phép gửi thư và đang trong quá trình chuyển đổi.
?Mang nghĩa chấp nhận nhưng hiệu lực của máy chủ chưa được nêu rõ.

Bộ định tính trong SPF record bao gồm:

Giá trịÝ nghĩaCách thực hiện
aXác nhận một bản ghi DNS của tên miền được ủy quyền.a
a/<độ dài tiền tố>
a:<tên miền>
a:<tên miền>/<độ dài tiền tố>
allXác định chính sách cho tất cả các nguồn khác.all
existsKiểm tra tính hợp lệ của một bản ghi cho tên miền được cung cấp.exists: <tên miền>
includeInclude tên miền được chỉ định theo ủy quyền. Nếu tên miền không có bản ghi hợp lệ bạn sẽ được cho phép.include: <tên miền>
ip4Xác định phạm vi mạng là ip4. Có thể thêm tiền tố độ dài biểu thị phạm vi. Nếu không có tiền tố này nó sẽ mặc định là /32.ip4:<địa chỉ ip4>
ip4:<mạng-ip4>/<độ dài phạm vi>
ip6Xác định phạm vi mạng là ip6 và có thể thêm tiền tố độ dài. Giá trị mặc định khi không có tiền tố là /128.ip6:<địa chỉ ip6>
ip6:<mạng-ip6>/<độ dài phạm vi>
mxXác định bản ghi DNS MX của tên miền được ủy quyền. Điều này có nghĩa email phải được gửi đi từ một trong các máy chủ thư đến của tên miền.mx
mx/<độ dài tiền tố>
mx:<tên miền>
mx:<tên miền>/<độ dài tiền tố>

Bộ sửa đổi (bổ sung) bao gồm:

Giá trịÝ nghĩaCách thực hiện
expGiải thích cho người gửi vì sao thư bị từ chối.exp=<tên miền>
redirectThay thế tên miền bằng bản ghi hiện tại.redirect=<tên miền>

Một số lưu ý cần ghi nhớ

Bản ghi SPF record không quá 255 ký tự. Có thể dùng nhiều bản ghi khi cần thiết.

  • Một số nhà cung cấp DNS có thể không yêu cầu trích dẫn về dữ liệu bản ghi, vậy nên cần kiểm tra trước khi tạo.
  • Bản ghi cho các tên miền phụ nên được đặt tên tương ứng với tên miền chính.
  • Để tránh quá trình tải DNS gián đoạn, tổng số cơ chế bao gồm cả công cụ sửa đổi nên nhỏ hơn 10.

Cách tạo bản ghi SPF cho tên miền

Áp dụng cú pháp trên, chúng ta hãy thử tạo một bản ghi SPF cho tên miền theo các bước sau:

  1. Cần thu thập tất cả các máy chủ thư và địa chỉ IP sẽ được ủy quyền trong bản ghi SPF.
  2. Truy cập vào bảng điều khiển DNS của ISP và tìm bản ghi loại TXT.
  3. Tạo bản ghi SPF theo từng thành phần:
    • Bắt đầu với thẻ phiên bản bản ghi: v=spf1, v=spf2, v=spf3,…
    • Chèn các địa chỉ IP được chỉ định ủy quyền: ip4: <địa chỉ IP> ip6: <địa chỉ IP> …
    • Thêm thẻ include cho từng dịch vụ email của bên thứ ba để chỉ định nó đáng tin cậy. Ví dụ: include:student.net hoặc include:student.com
    • Tận dụng các thẻ và giá trị của cơ chế, bộ sửa đổi bổ sung để thiết lập bản ghi SPF record.
    • Thẻ all thường được sử dụng khi kết thúc bản ghi. Ví dụ như: -all, +all, ~all,…

Ví dụ một bản ghi SPF: v=spf1 a mx -all. Với bản ghi trên, tất cả các bản ghi a và MX đều được phép gửi mail, ngoài ra sẽ bị từ chối.

Dùng SPF record cho nhiều tên miền

Ví dụ bạn có tên miền chính là a.com và bản ghi SPF là v=spf1 a mx -all. Bạn muốn tạo bản ghi cho nhiều tên miền như b.com hoặc c.com? Cơ chế include cho phép người dùng chỉ định các tên miền khác độc lập với tên miền của mình. Thực hiện sẽ như sau:

v=spf1 include:a.com include:b.com -all

Người dùng cũng có thể trỏ tới tên miền chính của mình thông qua bản ghi SPF của tên miền phụ. Ví dụ:
v=spf1 include:@student.com -all

Có thể tách một SPF record lớn hay không?

Nếu bạn có một bản ghi khá phức tạp như sau:

v=spf1 a mx a:mail.a.com a:first.b.net a:second.a.org mx:third.c.net ip4:37.123.60.177 ip6:4a15:c016:e5:7c00:aa61:ace6:2b53:131e include:sample.net include:exd.com -all

Bản ghi này dưới 255 ký tự nhưng lại khá dài, vậy nên hoàn toàn có thể chia chúng thành nhiều bản ghi. Các cách thực hiện như sau:

  • Đầu tiên tách chúng thành nhiều bản ghi nhỏ và đặt tên theo tên miền chính như sau:
    • Bản ghi spf1.a.com TXT:
       v=spf1 a mx a:mail.a.com a:first.b.net a:second.a.org mx:third.c.net -all
    • Bản ghi spf2.a.com TXT:
       v=spf1 ip4:37.123.60.177 ip6:4a15:c016:e5:7c00:aa61:ace6:2b53:131e -all
    • Bản ghi spf3.a.com TXT:
       v=spf1 include:sample.net include:exd.com -all
  • Sau đó điều chỉnh bản ghi đầu theo cách dưới đây:
    • Bản ghi a.com TXT:
       v=spf1 include:spf1.a.com include:spf2.a.com include:spf3.a.com -all

Sau khi cập nhật DNS, tất cả các bản ghi SPF record này được kiểm tra là một.

Xác thực bản ghi SPF

Sau khi đã thực hiện thao tác tạo và xử lý bản ghi theo ý muốn, bạn nên tiến hành xác thực chúng. Hiện nay có rất nhiều công cụ hỗ trợ quá trình này như: SPF Record Check hoặc SPF Syntax Validator. Vậy nên người dùng hoàn toàn thao tác được dễ dàng.

Biện pháp xử lý các sự cố liên quan tới SPF

Có một số vấn đề thường xuyên xảy ra khi thao tác bản ghi SPF. Dưới đây là các sự cố có thể diễn ra và cách khắc phục:

  • Vượt quá giới hạn tra cứu DNS: như đã nói, bạn chỉ được phép có không quá 10 truy vấn. Nguyên nhân nhiều nhất gây ra việc này đó là sử dụng include quá nhiều. Giải pháp bạn nên sử dụng ở đây là tạo một tên miền phụ chuyên dùng gửi email.
  • Bản ghi SPF record loại 99 không dùng nữa: điều này đồng nghĩa bản ghi của bạn đã quá cũ. Hiện tại các bản ghi chỉ xuất dưới dạng DNS TXT (loại 16), vậy nên hãy chắc chắn bạn đã cập nhật loại mới này.
  • Nhiều luồng SPF khác nhau: đối với các nhà cung cấp dịch vụ mail lớn, vấn đề này hoàn toàn giải quyết tự động. Tuy nhiên nếu bạn đang sử dụng những nhà cung cấp email nhỏ thì không có tính năng tự động như vậy. Giải pháp là hãy đồng nhất hai mục DNS TXT của bạn về làm một.

Tổng kết về SPF record

Hy vọng những kiến thức về SPF record mà chúng tôi mang lại sẽ giúp ích cho bạn. Việc tạo hay truy vấn các bản ghi này không quá khó khăn như nhiều người tưởng. Vậy nên trang bị giải pháp xác thực email sẽ tăng cường hệ thống bảo mật hơn rất nhiều và là điều cần thiết nên làm.

Nếu còn gặp bất cứ vướng mắc gì về SPF record, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

Mua Hosting Giá Rẻ tại BKHOST

Hosting siêu tốc – Khuyến mãi cực sốc.
Giá chỉ từ 5k/tháng.

mua hosting giá rẻ

Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
Bình luận

Thanh toán linh hoạt

Chúng tôi chấp nhận thanh toán như ATM, Visa, Internet Banking, Paypal, Baokim, Ngân lượng

Gọi ĐT tư vấn ngay
Chat ngay qua Zalo
Chat ngay qua Messenger
Góp ý
Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !