Recent Post

Hướng dẫn cấu hình SPF và DKIM cho mail server để xác thực hợp lệ tránh vào spam

 

1. Yêu cầu nền tảng:

  • Mail server đã cài đặt Postfix, Dovecot, ViMbAdmin, RoundCube thành công và hoạt động.
  • Domain có thể cập nhật DNS.

2. Các bước cài đặt SPF Record và DKIM

1. Thêm SPF Record vào DNS:

  • Bước 1: Vào phần quản lý DNS của Domain
  • Bước 2: Thêm bản ghi mới:
    • Kiểu( Record Type): TXT
    • Địa chỉ( Address): v=spf1 a mx ip4:123.123.123.123 mx:example.com ?all
spf

2. Cài đặt DKIM và thêm DNS cho DKIM

Mình đang sử dụng Centos 7 nếu sử dụng phiên bản khác thì có thể câu lệnh start hoặc restart có thể khác đôi chút nhé.

1. Đầu tiên nên cập nhật Centos mới nhất nhé

yum update

Copy

2. Do openDKIM lưu thông tin cài đặt trên gói EPEL cho nên chúng ta cần cập nhật lại gói này.

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

3. Cài đặt Opendkim.

yum install -y opendkim 

4. Cấu hình cho opendkim

Lưu ý là bản cài đặt DKIM mình áp dụng cho multi domain nhé nếu sử dụng 1 domain thì bỏ đi cấu hình domain thứ 2 là OK!

Cấu hình Dkim: /etc/opendkim.conf

# Lưu ý chỉ cần chỉnh sửa các dòng sau còn lại thì comment
PidFile	/var/run/opendkim/opendkim.pid
Mode	sv
Syslog	yes
SyslogSuccess	yes
LogWhy	yes
UserID	opendkim:opendkim
Socket	inet:8891@127.0.0.1
Umask	002
SendReports	yes
SoftwareHeader	yes
Canonicalization	relaxed/simple
Domain	lcdung.top
Selector	default
MinimumKeyBits	1024
KeyTable	/etc/opendkim/KeyTable
SigningTable	refile:/etc/opendkim/SigningTable
ExternalIgnoreList	refile:/etc/opendkim/TrustedHosts
InternalHosts	refile:/etc/opendkim/TrustedHosts
OversignHeaders	From

Cấu hình KeyTable: /etc/opendkim/KeyTable

# Cấu hình cho domain mặc định sử dụng DKIM
default._domainkey.lcdung.top lcdung.top:default:/etc/opendkim/keys/default.private
# Cấu hình cho domain thứ 2 sử dụng DKIM
mail._domainkey.luxor.vn luxor.vn:mail:/etc/opendkim/keys/mail.private

Cấu hình SigningTable: /etc/opendkim/SigningTable

# Cấu hình cho domain mặc định
*@lcdung.top default._domainkey.lcdung.top
# Cấu hình cho domain thứ 2
*@luxor.vn mail._domainkey.luxor.vn

Cấu hình TrustedHosts: /etc/opendkim/TrustedHosts

127.0.0.1
::1
#host.example.com
#192.168.1.0/24
# Danh sách domain
*.lcdung.top
*.luxor.vn

Tạo khoá công khai và khoá bí mật.

# Tạo khóa mặc định dành cho domain mặc định là default.private và default.txt
opendkim-default-keygen

# Tạo khóa cho doamin thứ 2 với tên là mail.private và mail.txt
opendkim-genkey -s mail -d luxor.vn

# hoặc dùng lệnh này
opendkim-genkey -D /etc/opendkim/keys/ -d luxor.vn -s mail

Tạo quyền cho khóa để Postfix có thể truy cập đọc được

chown opendkim:opendkim mail.private

Lúc này bạn sẽ có 1 file .private và 1 file .txt. Mở file .txt để lấy thông tin khóa cấu hình trên DNS:

mail._domainkey	IN	TXT	( "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGXwAE5jkB63eFI4VqkmODluyTTgRe/PdnqJoD9h9kLDwY081bxATuu78NAJm8R+fJ15gMWKgkpVVXcvV5I9rosSK6wwDonStfQIgiq4nEmbSxbuGYNnbmG3R2/1q9klQ7Lih/Kpaokv+53Wv82y3qBMWbqjQIDAQAB" )  ; 

Và bạn cấu hình DNS như sau:

spf

Tiếp theo cấu hình Postfix nhận openDKIM.

File: /etc/postfix/main.cf

Thêm đoạn mã sau ở cuối file cấu hình

smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
milter_protocol = 2

Cuối cùng khởi động lại service Postfix và Opendkim

systemctl start opendkim; 
systemctl enable opendkim; 
systemctl restart postfix;

3. Kiểm tra lại SPF và DKIM:

Kiểm tra port 25 sau khi setup thành công: (Bạn có thể xem cách kiểm khác tại đây)

  • Link kiểm tra: https://www.port25.com/authentication-checker/
  • Tạo email gửi tới: check-auth@verifier.port25.com
  • Sau đó bạn sẽ nhận 1 mail phẩn hồi thông tin port 25 cần nâng cấp thêm những gì.Trước khi cài SPF và DKIM

Chúc các bạn thành công nhé!

0 Nhận xét