Trước khi thực hiện tạo và cấu hình DKIM trên Zimbra mail, mình sẽ sơ bộ qua DKIM là gì nhé!
DKIM là gì ?
DKIM ( DomainKeys Identified Mail) là một phương pháp xác thực e-mail 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.
Khi gửi thư, bộ ký thư sẽ chèn lên đầu thư một trường DKIM-Signature có nội dung đặc biệt.
Đây là một phương pháp xác thực chứ không phải là một phương pháp chống spam. Nhưng vì có tính năng đảm bảo thư là thật (địa chỉ người gửi, hay ít nhất tên miền gửi thư là thật) trong khi thực tế đa số spam đều là thư giả mạo (mạo tên người khác, tên miền khác) nên nó hỗ trợ việc chống spam.
DKIM cung cấp cho hai hoạt động riêng biệt: chữ ký và xác minh. Một trong số chúng có thể được xử lý bởi một mô-đun của một tác nhân chuyển thư (MTA).
Tùy theo hệ thống Mail server khác nhau sẽ có hướng dẫn khác nhau về cấu hình DKIM ở phía server, nhưng hầu hết đều phải thực hiện các bước:
Bước 1: Sinh ra cặp khóa private/public, có nhiều phần mềm hỗ trợ việc này (ví dụ: OpenSSL)
Bước 2: Đưa khóa Public lên khai báo bản ghi TXT trên DNS theo đúng domain gửi email.
Bước 3: Cấu hình Mail server sử dụng khóa private để ký vào email trước khi gửi email. Khóa này chỉ lưu trên Mail server nên không thể giả mạo.
Với nội dung trên chắc hẵn bạn đã biết được tầm quan trọng của khoá DKIM rồi chứ, vậy cùng mình bắt tay vào thực hiện nào.
Tạo Dkim, thực hiện dưới quyền zimbra
Nhờ thay đổi kblinux.com bằng tên miền của bạn nhé
[root@mail ~]# su zimbra
[zimbra@mail ~]$ /opt/zimbra/libexec/zmdkimkeyutil -a -d kblinux.com
Bên dưới là mẫu ví dụ của mình và bạn cần để ý các thông số sau, chổ mình tô đỏ bạn sẽ cấu hình trên DNS domain với các chổ đó
- Selector: 6224903C-6B82-11EA-AA92-4862553CD2
- Public signature to enter into DNS: 6224903C-6B82-11EA-AA92-4862553CD22F._domainkey
- TXT: Bạn thực hiện xoá bỏ các dấu ” đi và để mã này trên 1 đường thẳng hàng (pasts vào notepad ++ cho dể)
DKIM Data added to LDAP for domain kblinux.com with selector 6224903C-6B82-11EA-AA92-4862553CD22F Public signature to enter into DNS: 6224903C-6B82-11EA-AA92-4862553CD22F._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2wxximHRJIMfK3tE5m83zCfQY7+M70zafdd+1Q7La8TTkKBitJtnH6K5PE9O+5xj4jMcdydByBlCxSL3PUNJXmjroFaDjQ1llqmuqGVDiP8KjPPbzs4lum13gD6PJL04roAFAnp952e5DWHbGjYfU9xSMEr1+Nin2mpwTQUWzcUkc/s0JiOvpEDWUYLQxBFTwbBUEM0bhbCigd" "AqZna3dUUrOhcm1iYb/uI7rVrxbtevfNSF2s0Pnd1AjDm9f7XtD3zoL/KnyLKVVQrlU+i8Jw6jzOtQCgUrtnFCU8THlSRt9GPl3whbfp+GJqBIkXWrADrU55XMbPhG+uP1OV11eQIDAQAB" ) ; ----- DKIM key 6224903C-6B82-11EA-AA92-4862553CD22F for kblinux.com
Sau khi đã có DKIM bạn thực hiện tạo Record trên DNS domain của bạn.
Sau khi đã thêm DKIM vào, để chắc chắn đã thành công và hợp lệ bạn có thể check trực tiếp tại tools sau Check DKIM Online. Tại đây bạn nhập vào Selector và Domain name, nếu hợp lệ sẽ nhận được thông báo là This is a valid DKIM key record
Thực hiện gửi thư và kiểm tra. Sau khi đã cấu hình DKIM hoàn tất bạn thử gửi 1 email vào Gmail và mở Thư Gốc để xem các thông tin và header nhé. Thông báo DKIM PASS là đã thành công.