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) là 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/
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
Hì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ó
Hì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.
Hì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.
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»
Hi there,
I’m a reader of your blog post and I found it very informative. I’m currently studying for the Microsoft Certified Systems Administrator (MCSA) and Microsoft Certified Server Administrator (MCSE) exams and I found
Hi there,
I’m a reader of your blog post and I found it very informative. I’m currently studying for the Microsoft Certified Systems Administrator (MCSA) and Microsoft Certified Server Administrator (MCSE) exams and I found