Các bản ghi cho tên miền khi sử dụng Email cho Doanh nghiệp
Email vào spam? Cùng tìm hiểu nguyên nhân từ các bản ghi tên miền
Ở bài trước chúng ta đã cùng nhau tìm hiểu về các bản ghi cho tên miền. Trong bài này chúng ta sẽ đi sâu vào tìm hiểu các bản ghi cho một số dịch vụ cơ bản, trong đó email là dịch vụ quan trọng cho mỗi cá nhân hay doanh nghiệp. Chúng ta vẫn thường thắc mắc vì sao đã trỏ đủ MX hay đủ PTR rồi nhưng khi gửi mail vẫn vào spam (nhất là khi gửi email vào dịch vụ mail của google như gmail hay google workspace). Hãy cùng Nhân Hòa tìm hiểu xem các bản ghi quan trọng và bắt buộc phải có khi triển khai hệ thống email cho tên miền riêng.
1. Bản ghi MX
Bản ghi MX(Mail Exchange) là một phần của DNS dùng để xác định máy chủ mail cho một tên miền. Nó có ảnh hưởng đến các email phản hồi lại khi chúng ta sử dụng email theo tên miền riêng. Vì máy chủ thư khác muốn liên lạc lại với Email Server của chúng ta thì nó cần tìm bản ghi MX.
Một tên miền có thể gán nhiều bản ghi MX khác nhau tức chúng ta có thể dùng nhiều email server khác nhau để chạy email.
Cấu trúc cơ bản của bản ghi MX: [domain_name] IN MX [priority] [mail-server]
Ví dụ: umailsolution.net IN MX 5 mail.umailsolution.net
+ Priority: trường này xác định địa chỉ nào được dùng để nhận email trước nếu bạn có nhiều hơn 1 MX record. Giá trị thấp nhất sẽ có độ ưu tiên cao nhất.
+ Domain Name (Host): Tên domain sử dụng email
+ Mail Server (Value): Địa chỉ email server
2. Bản ghi PTR
PTR là gì? PTR hay Point Record được dịch ra tiếng việt với nghĩa là bản ghi ngược, hay còn được gọi là Reverse DNS. Chúng ta đọc thêm về PTR tại đây. Hiểu nhanh và đơn giản, PTR record giống như một phiên bản ngược của A record: A record trỏ tên miền vào một địa chỉ IP thì PTR Record trỏ một địa chỉ vào một hostname.
Cấu trúc của bản ghi PTR: ddd.ccc.bbb.aaa.in-addr.arpa
Trong đó: aaa, bbb, ccc, ddd là các số viết trong hệ thập phân biểu diễn giá trị của 4 byte cấu thành địa chỉ IP.
+ .arpa là mức cao nhất trong mọi không gian tên miền ngược (áp dụng với cả IPv4 và IPv6).
+ in-addr.arpa là mức cao nhất trong không gian tên miền ngược áp dụng với thế hệ địa chỉ IPv4.
+ ip6.arpa là mức cao nhất trong không gian tên miền ngược áp dụng với thế hệ địa chỉ IPv6.
Ví dụ bản ghi ngược cho địa chỉ IP 103.176.179.6 là mta.umailsolution.net. FQDN của nó là 6.179.176.103.in-addr.arpa.
Vai trò của PTR rất quan trọng trong việc giúp cho 1 địa chỉ email trust bởi các địa chỉ mail server khác:
+ Tăng độ tin cậy của mail server (outgoing mail server)
PTR Record sẽ cho phép điểm nhận cuối cùng đối chiếu IP của email domain gửi tới. Đây là một cách hữu hiệu để chống lại hầu hết các hacker sử dụng tên miền giả để spam mail.
+ Đáp ứng yêu cầu reverse DNS lookup trước khi nhận email
Nhiều trường hợp với một số dịch vụ Internet đòi hỏi hệ thống máy chủ DNS phải có chức năng chuyển đổi ngược từ địa chỉ IP sang tên miền. PTR Record(tên miền ngược) ra đời nhằm phục vụ mục đích này.
3. Bản ghi SPF
Bản ghi SPF (Sender Policy Framework) là bản ghi tên miền được dùng để xác định Mail Server có quyền gửi mail đại diện cho tên miền của bạn, giúp ngăn chặn các email mạo danh từ địa chỉ tên miền nào đó gửi tới.
Cấu trúc của SPF record nhìn ra sao: TXT @ “v=spf1 A include:spf.nhanhoa.com ~all”
Trong đó:
+ TXT: SPF lưu trên DNS dưới dạng bản ghi TXT (bản ghi văn bản)
+ @: Đại diện cho domain hiện tại
+ v=spf1: Thể hiện phiên bản của spf là phiên bản 1
+ A: Biểu thị bản ghi A của tên miền đại diện để gửi mail đi. Thông thường có thể thêm các options mở rộng chỉ định địa chỉ IP như ip4:103.176.179.6
+ include: Khi bạn muốn ủy quyền cho bên thứ 3 đại diện cho tên miền của bạn để gửi mail đi (thường dùng trong các trường hợp bạn dùng mail relay), trong trường hợp này là ủy quyền cho spf.nhanhoa.com
+ ~all: Cho phép các email sẽ được đi qua. Tuy nhiên những email nghi ngờ sẽ bị gắn cờ
SPF record có vai trò lớn trong việc:
- Hạn chế các mail spam từ các nguồn hacker, phishing
- Hạn chế email mạo danh, phishing
4. Bản ghi DKIM
DKIM (Domain Keys Identified Mail) một bản ghi dùng để xác thực email bằng chữ ký số của miền gửi thư, trong đó khóa công khai thường được công bố trên DNS dưới dạng một TXT record.
Cấu trúc của DKIM record:
1a51ed90-f1e0-11ec-a4d6-7f8d8dc35310._domainkey.umailsolution.net TXT v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC…………………….
Trong đó:
+ 1a51ed90-f1e0-11ec-a4d6-7f8d8dc35310._domainkey.umailsolution.net: 1a51ed90-f1e0-11ec-a4d6-7f8d8dc35310 gọi là DKIM selector. DKIM selector được chỉ định trong tiêu đề DKIM-Signature và cho biết nơi phần khóa công khai của cặp khóa DKIM tồn tại trong DNS. Máy chủ nhận email sử dụng DKIM selector để định vị và truy xuất khóa công khai để xác minh rằng email là xác thực và không bị thay đổi. Chuổi selector không cố định theo từng domain và thiết bị, thông thường nó hay nhận giá trị default
+ TXT: DKIM lưu trên DNS dưới dạng bản ghi TXT (bản ghi văn bản)
+ v=DKIM1: Xác định phiên bản của DKIM là phiên bản 1
+ k=rsa: k(key) thuật toán RSA (RSA là một thuật toán mật mã hóa khóa công khai)
+ p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArYfBWshIW…….: thẻ “p =” chỉ định khóa công khai được lưu trữ trong DNS
DKIM không ngăn được giả mạo tên miền. Có thể ký thư bằng khóa DKIM được liên kết với miền khác với miền được chỉ định trong header “From”. Tuy nhiên, nếu chúng ta đặt chính sách DMARC(xem phần DMARC phía dưới) cho tên miền, máy chủ nhận thư sẽ kiểm tra xem khóa DKIM được sử dụng để ký thư có khớp với tên miền có trong “From” của header email hay không khi xác định tuân thủ các chính sách có trong DMARC.
5. Bản ghi DMARC
DMARC(Domain-based Message Authentication & Conformance) là một tiêu chuẩn để chặn những kẻ spam khỏi việc sử dụng domain của người khác 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.
Cấu trúc bản ghi DMARC như sau: _dmarc.domain.com TXT v=DMARC1; p=none; pct=100; rua=mailto:dmarc–reports@domain.com
Trong đó:
+ _dmarc: Định danh bản ghi DMARC của mỗi tên miền
+ TXT: DMARC lưu trên DNS dưới dạng bản ghi TXT (bản ghi văn bản)
+ v=DMARC1: Xác định phiên bản của DMARC là phiên bản 1
+ p=none: p(policy) dùng để thể hiện hành động/chính sách khi phát hiện các dấu hiệu không hợp lệ (ví dụ domain không có SPF, DKIM). Policy thực hiện có thể là p=none (không làm gì), có thể p=quarantine (đưa vào chế độ giám sát, hầu hết các email kiểu này sẽ được đưa vào thư mục spam) hoặc p=reject (từ chối nhận email)
+ pct=100: pct(percentage) thể hiện cho máy chủ nhận biết phần trăm email áp dụng chính sách DMARC đã nêu (chính sách p)
+ rua=mailto:dmarc–reports@domain.com: khi bị từ chối (p=reject) 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.
DMARC là một sự nâng cấp vượt trội khi kết hợp hai chính sách bảo mật DKIM và SPF với nhau. Điều này cho phép người dùng thiết lập một chính sách(policy) để loại bỏ(reject) hoặc cách ly (quarantine) một email từ nguồn không có độ tin cậy dựa trên hai phương pháp DKIM và SPF.
> Một số website check bản ghi
+ Check DMARC, SPF, DKIM https://dmarcian.com/dmarc-tools/
+ Check all: https://mxtoolbox.com/
Chúc các bạn thành công!