DKIM là gì ?
DKIM (Domain Keys Identified Mail) là một phương thức ký email sử dụng hai khóa: một khóa riêng tư và một khóa công khai.
DKIM được áp dụng bởi máy chủ thư của người nhận email để xác minh tính xác thực của người gửi và do đó để giảm thư rác.
Cách hoạt động của DKIM khá đơn giản:
Khi thiết lập tại máy chủ thư, chúng tôi tạo một khóa riêng và một khóa chung. Sau đó, khóa chung được sao chép vào DNS dưới dạng bản ghi TXT.
Khóa riêng - như tên ngụ ý - nằm ở máy chủ thư trong một thư mục riêng.
Khi người dùng gửi email, thư này được ký bởi đại lý thư (tức là Postfix) theo khóa riêng. Chữ ký điện tử này được gắn vào tiêu đề của email. Cuối cùng, máy chủ của người nhận đọc chữ ký đó và so sánh nó với khóa chung (được tìm thấy DNS của tên miền). Nếu khóa và chữ ký khớp nhau, thư được coi là hợp lệ và được chuyển đến hộp thư đến của người nhận.
Trong hướng dẫn sau là 7 bước đơn giản về cách triển khai chữ ký DKIM trong máy chủ thư của bạn.
Để đơn giản hóa, giả sử rằng bạn đang chạy máy chủ thư RedHat CentOS 7, Postfix đã sẵn sàng và đang chạy, và tên miền của chúng ta là "domain.com".
Bước 1: Cài đặt OpenDKIM
yum install opendkim
Bước 2: Tạo keys
# mkdir -p /etc/opendkim/keys/domain.com
# cd /etc/opendkim/keys/domain.com
# opendkim-genkey -r -d domain.com
Bước 3: Cấp quyền cho chữ ký
# chown -R opendkim:opendkim /etc/opendkim
# chmod go-rw /etc/opendkim/keys
Bước 3: Cấu hình OpenDKIM
# vi /etc/opendkim.conf
Thay đổi các giá trị tương ứng như bên dưới
Mode sv
Socket inet:8891@localhost
Domain domain.com
#KeyFile /etc/opendkim/keys/default.private ### comment this line
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
Cấu hình Keytable
# vi /etc/opendkim/KeyTable
Thêm vào dòng
default._domainkey.domain.com domain.com:default:/etc/opendkim/keys/domain.com/default.private
Tiếp tục với SigningTable
# vi /etc/opendkim/SigningTable
Thêm dòng
*@domain.com default._domainkey.domain.com
Cuối cùng là TrustedHosts
vi /etc/opendkim/TrustedHosts
thêm vào
.domain.com
Bước 5: Cấu hình Postfix
# vi /etc/postfix/main.cf
thêm vào
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
Bước 6: Khởi động các service
# service opendkim start
# chkconfig opendkim on
# service postfix restart
Bước 7: Cấu hình DNS
Lấy giá trị public keys
# cat /etc/opendkim/keys/domain.com/default.txt'
default._domainkey IN TXT ( "v=DKIM1; k=rsa; s=email; "
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdTtEqM8FqndiFYOderzljMMMqBdEp+wJKP+VUbhc9GigmK34ZjrSqqdKjIEWr2q9DvSVp1H1bZs4t050m0HZxJqknDz2yoDJ6W4mCaSCHesRde5V44V/L65Gqm/rvBz1d6CCp8A2515eveWrIAocOD6pKJ4tnXHz3uwV2ZtgQiQIDAQAB" ) ; ----- DKIM key default for domain.com
Vào trong config DNS tạo một TXT record
Tên:
default._domainkey
Value :
"v=DKIM1; k=rsa; s=email; "
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdTtEqM8FqndiFYOderzljMMMqBdEp+wJKP+VUbhc9GigmK34ZjrSqqdKjIEWr2q9DvSVp1H1bZs4t050m0HZxJqknDz2yoDJ6W4mCaSCHesRde5V44V/L65Gqm/rvBz1d6CCp8A2515eveWrIAocOD6pKJ4tnXHz3uwV2ZtgQiQIDAQAB"
Cần một chút thời gian cho DNS cập nhập
Tương tự nếu cấu hình thêm nhiều domain chỉ cần lặp lại từ bước 2 đến 7
Sau khi thực hiện xong để kiểm tra đã cập nhập DNS chưa thì dùng tool MX Toolbox
Kiễm tra email đã có chữ ký bằng cách gửi vào xem trong header
Nguồn: ilusweb.com