Cấu Hình iRedMail Server Toàn Tập – Phần 4

CÁCH GIẢI QUYẾT VẤN ĐỀ SPAM CHO HỆ THỐNG EMAIL

I. Nguyên nhân dẫn đến việc email gửi ra từ iRedMail bị rơi vào spam:

– iRedMail server của bạn quên trỏ PTR ( Pointer Record) về máy chủ chạy mail server.

– Bạn không cấu hình DKIM (DomainKeys Identified Mail) cho hệ thống iRedmail server của mình. ITFORVN sẽ chia sẽ về DKIM đếm bạn ở 1 bài viết khác. Trong bài viết nầy mình có thể giải thích cho bạn một cách nôm ná dễ hiểu là đây là thư dùng để đánh dấu hệ thống email của bạn đang dùng là chính chủ.

– Mail server của bạn đang chạy bằng IP bị liệu vào danh sách spam, thông thường ở Việt Nam đa số các IP Public đều bị rơi vào bảng vàng IP Black list của thế giới, nguyên nhân do khả năng spam của Việt Nam mình quá giỏi. Nên có một lời khuyên dành cho anh em có nhu cầu public iRedmail Server ra ngoài internet là nên sử dụng các VPS ở nước ngoài để tránh việc IP của mình bị rơi vào IP rác.

– Việc iRedMail server của bạn không có hệ thống phòng chống spam dẫn đến việc bị dính mailware làm phát tán email hàng loạt ra bên ngoài. Và việc nầy dẫn đến việc các hệ thống email bên ngoài liệt bạn vào danh sách spam. Đặc biệt là các hệ thống email public như gmail, yahoo, zoho, outloook.com, live.com,…

II.Những việc cần thiết để có 1 hệ thống mail server tốt:

1. IP Sạch:

– Việc đầu tiên là chọn được IP sạch, không bị rơi vào danh sách đen, để biết được IP của mình có nằm trong danh sách SPAM hay không bạn có thể check tại một số trang web như: MXTOOLBOX  Spamhaus  DNSBL  whatismyip.

2. Xây dựng hệ thống spam filter

– Sau khi chắc chắn rằng IP sạch, việc tiếp theo bạn cần làm là trang bị hệ thống lọc spam mail, nếu công ty bạn có điều kiện bạn có thể mua mail gateway đặt trước hệ thống mail server của bạn. Trường hợp bạn không có điều kiện bạn có thể sử dụng một số open source như Assassin.

3. Trỏ PTR về địa chỉ mail server của bạn:

– Công đoạn tiếp theo cần làm trong việc public mail server ra internet là bạn cần đi đăng ký trỏ PTR về mail server của bạn. Ví dụ như địa chỉ mail server của bạn là 1.1.1.1 và mail server của bạn là mail.itforvn.edu thì bạn cần nhờ nhà mạng trỏ địa chỉ 1.1.1.1 về mail.itforvn.edu.vn.

4. Cấu hình DKIM và tắt Open Relay

– DKIM (DomainKeys Identified Mail)  một phương pháp xác thực e-mail bằng chữ ký số của tên miền gửi email, trong đó khóa công khai thường được công bố trên DNS dưới dạng một TXT record.

– Vì vậy bạn cần tạo một DKIM để các mail server biết bạn là mail server chính chủ, không phải là mail server giả mạo.

– Một việc cần thiết nữa bạn cần làm là tắt chế độ Open Relay trong mail server của mình đi, để tránh bị spam.

5. Cấu hình SPF 

– SPF (Sender Policy Framework) là record cho host hoặc những IP nào được phép gửi email on behalf domain của bạn. Bạn phải allow chỉ mail server hoặc server của bạn được gửi email từ domain của bạn. Điều nầy đảm bảo rằng email được gửi ra từ server bạn chỉ định mới đúng là mail chính chủ :).

III. Triển khai SSL, PTR,  SPF, DKIM cho iredmail server

1.Cấu hình TLS Certificate

1.1Cài đặt Let’s Encrypt TLS Certificate

Khi vừa được cài xong mặc định mail server sẽ dùng self-signed TLS certificate, đó là lý do khi người dùng check mail bằng web cũng như trình đọc mail ( outlook, thunderbird,…) bị cảnh báo certificate không an toàn.

Để giải quyết tình trạng trên ta tiến hành cài đặt certificate cho hệ thống mail server của mình. Trong trong bài lab nầy tôi sẽ sử dụng Let’s Encrypt TLS cer, vì đây là certificate free hiện tại được rất nhiều công ty sử dụng.

1.2 Lấy Certificate cho iRedmail server

Đầu tiên chúng ta cần cài Let’s Encrypt (certbot) client trên Ubuntu 16.04.

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot

Thay đoạn:

you-email-address : bằng địa chỉ email của bạn

mail.your-domain.com: bằng domain của bạn.

text màu đỏ bằng thông tin thật của bạn.

sudo certbot certonly --webroot --agree-tos --email your-email-address -d mail.your-domain.com -w /var/www/html/

Bạn se thấy đoạn text thông báo rằng bạn đã load TSL certificate về thành công. Certificate của bạn được lưu trữ tại thư mục /etc/letsencrypt/live/mail.your-domain.com/

Public Cấu Hình iRedMail Server Toàn Tập – Phần 4

Hình 1: Giải quyết vấn đề spam cho mail server

1.3 Cài đặt Certificate cho Nginx

Sau khi load được certificate về ta tiến hành cài  đặt lên web server (ở đây tôi đặt chung web server với mail server luôn).

Trong bài lab nầy mình sài Nginx,  vì vậy mình làm theo template SSL của Nginx

sudo nano /etc/nginx/templates/ssl.tmpl

Tìm tới 2 dòng nầy:

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

Thay nó bằng:

ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey.pem;

Sau đó đóng file ssl.tmpl lại và reload lại nginx

sudo nginx -t

sudo systemctl reload nginx

Giờ check lại webmail của bạn xem đã hết bị lỗi màu đỏ ngòm chưa.

1.4 Cấu hình certificate cho  Postfix và Dovecot

Xong phần SSL cho web, ta tiến hành cấp certificate cho postfix và devecot luôn để người dùng mail client như outlook, thunderbird không bị cảnh báo certificate không an toàn.

Bạn tiến hành edit file:

sudo nano /etc/postfix/main.cf

Tìm tới 3 dòng. (dòng 95, 96, 97).

smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt

Thay nó bằng:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.your-domain.com/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain.pem

Save file và đóng nó lại, sau đó reload lại postfix.

sudo postfix reload

Tiếp theo ta làm cho devecot.

sudo nano /etc/dovecot/dovecot.conf

Tìm đến 2 dòng . (dòng 47, 48)

ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key

Thay thế nào bằng:

ssl_cert = </etc/letsencrypt/live/mail.your-domain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.your-domain.com/privkey.pem

Save lại sau đó đóng file và reload lại devecot

sudo dovecot reload

Bây giờ trình duyệt mail client đã hoạt động tốt, không bị cảnh báo nữa.

1.5 Auto Renew Certificate

Để auto renew certificate bạn đăng nhập bằng user root và vào crontab file set lịch để nó tự động renew.

sudo crontab -e

Và add dòng lệnh nầy vào.

@daily letsencrypt renew --quiet && /usr/sbin/postfix reload && /usr/sbin/dovecot reload && systemctl reload nginx

Do tôi sử dụng Nginx nên gõ lệnh systemctl reload nginx. để reload lại nginx. Trường hợp bạn sài apache thì trong đoạn code crontab bạn dùng systemctl reload apache2

2. Tạo PTR, SPF, DKIM Records

Để chống email của bạn bị đánh vào cờ spam bạn phải tạo PTR, SPF và DKIM record.

2.1 PTR record

Như trong bài lab trước tôi có đề cập, việc tạo PTR bạn phải nhờ nhà mạng tạo giúp bạn. Yêu cầu bạn trỏ địa chỉ IP mail server về địa chỉ domain email của bạn. Ví dụ như tôi trỏ IP của tôi là 

103.37.33.248 -> mail.itforvn.edu.vn

2.2 SPF Record

Tại DNS management  của bạn, bạn tạo TXT record giống như bên dưới.

Trong  DNS management interface, tạo một TXT record như bên dưới

TXT  @   v=spf1 mx mx:mail.itforvn.edu.vn ~all

Cau Hinh iRedMail Server Config DNS Cấu Hình iRedMail Server Toàn Tập – Phần 4Hình 2: Giải quyết vấn đề spam cho mail server

Giải thích:

  • TXT để chỉ định đây là  TXT recod
  • Enter @ trong field name.
  • v=spf1cho biết đây là bản ghi SPF và phiên bản bản ghi SPF là SPF1.
  • mx nghĩa là tất cả các host listed MX records được cho phép gửi email từ domain của bạn và host khác thì không được.
  • ~allcho thấy rằng email từ domain của bạn chỉ nên đến từ các máy chủ được chỉ định trong bản ghi SPF. Email từ các máy khác sẽ bị gắn cờ là giả mạo.

Chú ý rằng một vài DNS managers yêu cầu bạn phải điền SPF như bên dưới

TXT  @   "v=spf1 mx mx:mail.itforvn.edu.vn ~all"

Để check lại SPF record CỦA BẠN có được quảng bá trên internet hay không bạn sử dụng công cụ dig trong linux như bên dưới

dig mail.itforvn.edu.vn txt

2.3 DKIM Record

iRedMail đã có script để tự động cấu hình DKIM cho serer của bạn. Và nó đã được tạo bạn chỉ việc tạo DKIN trên DNS management been ngoài là xong. mở iRedMail.tips file dưới  thư mụciRedMail-0.9.7

sudo nano iRedMail.tips

Kéo tới DNS record cho DKIM và copy nó

Cau Hinh iRedMail Server Config DKIM Cấu Hình iRedMail Server Toàn Tập – Phần 4Hình 3: Giải quyết vấn đề spam cho mail server

Sau đó mở DNS của bạn lên tạo record dkim

Gõ dkim._domainkey trong name field. Paste đoạn vừa copy ở trên ra value, nhớ khúc đầu đuôi không có khoảng trắng.

iRedMail DKIM Record Cấu Hình iRedMail Server Toàn Tập – Phần 4Hình 4: Giải quyết vấn đề spam cho mail server

IV. Kiểm tra, trouble shoot hệ thống email của bị khi bị rơi vào spam, từ đó đưa ra cách giải quyết vấn đề spam cho mail server

Sau khi tạo xong PTR, SPF, DKIM record, bạn vào  https://www.mail-tester.com. để kiểm tra email bạn được chấm mấy điểm, DKIM , PTR, SPF có hoạt động hay chưa.

Cau Hinh iRedMail Server Test Spam Cấu Hình iRedMail Server Toàn Tập – Phần 4Hình 5: Giải quyết vấn đề spam cho mail server

Tác giả:  NGUYỄN VĂN TÀI – ITFORVN.COM

Bạn có thể tương tác và cập nhật thông tin mới nhất của Nhóm Facebook ITFORVN, Các khóa học mới do group tổ chức tại «Portal»

Đánh giá post

Author

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x