Trước khi thực hiện cấu hình DKIM và DMARC bạn cần cấu hình PTR và SPF. Đây là 2 record không thể thiếu để mail không bị vào spam folder. Lưu ý cần cấu hình trước khi gửi mail test cho gmail/yahoo nếu không thì gmail/yahoo sẽ cho vào spam folder.

PTR record (rDNS): yêu cầu bên quản lý IP (nếu thuê tại data center) hoặc bên quản lý đường truyền (nếu thuê leased-line, ftth có IP tĩnh) trỏ PTR từ IP, ví dụ 11.22.33.44 về tên server, ví dụ mail.zimilab.com.

SPF: thiết lập 1 TXT record có dạng

@ TXT v=spf1 ip4:11.22.33.44 mx ~all

Sử dụng mxtoolbox để kiểm tra hoặc sử dụng http://dkimvalidator.com để kiểm tra bằng cách gửi email test đến 1 email mà dkimvalidator chỉ định.

Tất nhiên bạn đã cấu hình 2 record cơ bản là A record và MX record có dạng sau:

mail    A    11.22.33.44

@      MX   mail.zimilb.com    10

Để kiểm tra có thể dùng mxtoolbox hoặc nslookup/dig.

$dig –x 11.22.33.44

;; ANSWER SECTION:

30.90.109.112.in-addr.arpa. 3599 IN     PTR     mail.zimilab.com.

Để có sự tương đồng hoàn hảo giữa rDNS và SMTP Banner của server, bạn cần  thay đổi/kiểm tra thông số zimbraMtaSmtpdBanner trên zimbra như sau:

$zmprov mcf zimbraMtaMyHostname mail.zimilab.com

$zmcontrol restart

Dùng mxtoolbox để kiểm tra.

Đến đây bạn đã có thể gửi và nhận mail tốt. Để nang cao độ “uy tín” của hệ thống mail server, bạn thực hiện thiết lập DKIM và DMARC.

Thiết lập DKIM và DMARC cho Zimbra 8.8.

1. Tạo DKIM key. Dưới quyền zimbra

[zimbra@mail ~]$ /opt/zimbra/libexec/zmdkimkeyutil -a -d zimilab.com

DKIM Data added to LDAP for domain zimilab.com with selector CCDFD326-EB8E-11E7-AB71-7163CFAF4D72

Public signature to enter into DNS:

CCDFD326-EB8E-11E7-AB71-7163CFAF4D72._domainkey IN      TXT     ( “v=DKIM1; k=rsa; “

          “p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA64SLEadVgZrNUPhuG/diN8xlrK6Vdq7M8r2sRYB zheYEQk3rtB+XsuNH8Zyb2z                                  vKIliLwHTQdfgxJFVwkGB3gGH+lyd/aF+/80pwFlgljnMOfAsnxkcYtf/EBOJsOEGzlQ6bHMTfMapuci9eXid+S7Aeh dAxItGsxTRmRSM8pL+R5OGlEI4yo                                                 qODOl6M/G1D3Z6xXtJBBbJx5r” 

          “uA2SgBcU862HYk78WxUbadVwziEvSuD5TwUeelVZQyM9q1fqOPHR1669CKJmHVpUft063i7u8C4O/i6lFR0F6zc IR16WKVM9oaPG/WcEKEhC                                                 rI6Tzlpp7fj0dsVTP3vSO12w8l6QIDAQAB” )  ; -----  DKIM key CCDFD326-EB8E-11E7-AB71-7163CFAF4D72 for zimilab.com

Nếu đã có DKIM rồi thì lấy key bằng lệnh

[zimbra@mail ~]$ /opt/zimbra/libexec/zmdkimkeyutil -q -d zimilab.com

Tiến hành tạo record TXT trên DNS server.

2. Tạo 1 TXT record trên DNS với thông số sau:

CCDFD326-EB8E-11E7-AB71-7163CFAF4D72._domainkey.zimilab.com. TXT v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA64SLEadVgZrNUPhuG/diN8xlrK6Vdq7M8r2sRYBz heYEQk3rtB+XsuNH8Zyb2zvKIliLwHTQdfgxJFVwkGB3gGH+lyd/aF+/80pwFlgljnMOfAsnxkcYtf/EBOJsOEGzlQ6 bHMTfMapuci9eXid+S7AehdAxItGsxTRmRSM8pL+R5OGlEI4yoqODOl6M/G1D3Z6xXtJBBbJx5ruA2SgBcU862H Yk78WxUbadVwziEvSuD5TwUeelVZQyM9q1fqOPHR1669CKJmHVpUft063i7u8C4O/i6lFR0F6zcIR16WKVM9oaP G/WcEKEhCrI6Tzlpp7fj0dsVTP3vSO12w8l6QIDAQAB

Lưu ý có dấu chấm (.) phía sau CCDFD326-EB8E-11E7-AB71-7163CFAF4D72._domainkey.zimilab.com.

(Tùy vào nhà cung cấp dịch vụ tên miền cho bạn quy định, vui lòng liên hệ với họ để được hướng dẫn).

Khóa public p sẽ có giá trị bằng tất cả các phần output từ lệnh zmdkimkeyutil ở trên. Bạn nối 2 phần output lại, bỏ dấu nháy đôi ( “) đi.

Kiểm tra bằng trang http://dkimvalidator.com

3. Kiểm tra xem DNS có được update chưa:

[zimbra@mail ~]$ dig -t txt CCDFD326-EB8E-11E7-AB71-7163CFAF4D72._domainkey.zimilab.com.

;; ANSWER SECTION:

CCDFD326-EB8E-11E7-AB71-7163CFAF4D72._domainkey.zimilab.com. 3599 IN TXT “v=DKIM1\; k=rsa\; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA64SLEadVgZrNUPhuG/diN8xlrK6Vdq7M8r2sRYBz heYEQk3rtB+XsuNH8Zyb2zvKIliLwHTQdfgxJFVwkGB3gGH”  “+lyd/aF+/80pwFlgljnMOfAsnxkcYtf/EBOJsOEGzlQ6bHMTfMapuci9eXid+S7AehdAxItGsxTRmRSM8pL+R5OGl EI4yoqODOl6M/G1D3Z6xXtJBBbJx5ruA2SgBcU862HYk78WxUbadVwziEvSu”  “D5TwUeelVZQyM9q1fqOPHR1669CKJmHVpUft063i7u8C4O/i6lFR0F6zcIR16WKVM9oaPG/WcEKEhCrI6Tzlpp7f j0dsVTP3vSO12w8l6QIDAQAB” 

Có thể thấy rằng DNS server đã tự tách khóa p thành 3 phần vì giới hạn hiển thị trong trường TXT có giới hạn.

4. Kiểm tra xem khóa public có phù hợp với khóa private hay không bằng lệnh:

[zimbra@mail ~]$ /opt/zimbra/common/sbin/opendkim-testkey -d zimilab.com -s CCDFD326-EB8E-11E7-AB71-7163CFAF4D72 -x /opt/zimbra/conf/opendkim.conf

Lưu ý, trong phiên bản 8.7 trở lên, các thành phần ứng dụng của đối tác thứ 3 được đặt trong /opt/zimbra/common/sbin/

Nếu không thấy báo lỗi là thành công.

5. Thiết lập DMARC.

Để thiết lập DMARC thì bạn cần SPF record và DKIM record sẵn sàng. Sử dụng trang http://www.kitterman.com/dmarc/assistant.html để tạo DMARC record mẫu. Ví dụ một record DMARC sẽ có dạng sau:

_dmarc TXT v=DMARC1; p=reject; rua=mailto:admin@zimilab.com; ruf=mailto:admin@zimilab.com

DMARC này có policy là reject. Tất cả các email không thỏa mãn điều kiện kiểm tra DKIM, SPF sẽ bị reject và gửi báo cáo về cho admin@zimilab.com.

Lưu ý chỉ sử dụng _dmarc (không có dấu chấm (.) phía sau) trong DNS record. (Việc này tùy vào nhà cung cấp dịch vụ tên miền cho bạn quy định, vui lòng liên hệ với họ để được hướng dẫn).

Sau khi đã thiết lập xong có thể gửi mail đến gmail để kiểm tra. Xem trong phần show original sẽ báo PASS cho SPF, DKIM và DMARC.

Bạn cũng có thể dùng Mail Tester (www.mail-tester.com) để kiểm tra. Sau khi gửi mail test đến địa chỉ mail được chỉ định của trang web, bạn sẽ biết điểm đánh giá, thường thì hệ thống cần đạt từ 8,5-10 điểm.

Bạn có thể tham khảo thêm tại Zimbra Blog