[Zimbra] Cải thiện Zimbra anti-spam system
Spam mail từ lâu đã là 1 vấn đề đau đầu đối với tất cả các máy chủ email trên toàn thế giới. Việc bị nhận quá nhiều mail spam có thể ảnh hưởng xấu đến cả công việc và độ ổn định của máy chủ email, do đó tất cả các dịch vụ email đều có những phương thức chống spam riêng. Với các email server rất phổ biến ngày nay là Kerio, việc cấu hình anti-spam được thể hiện ở ngay trên giao diện quản trị và rất dễ dàng cho người dùng, trong khi đó với Zimbra việc cấu hình này lại cần 1 chút hiểu biết về kỹ thuật.
Vậy trong bài viết này, hãy để Nhân Hòa giới thiệu với các bạn 1 vài phương thức đơn giản để cải thiện hệ thống anti-spam của Zimbra.
I. Chặn email gửi đến máy chủ Zimbra
Tạo danh sách tên miền block:
cd /opt/zimbra/conf/
vi postfix_reject_sender
Thêm tên miền hoặc tài khoản email muốn block vào trong tệp tin:
admin@abc.xyz REJECT
gmail.com REJECT
Truy cập vào user Zimbra và thực hiện lệnh
su zimbra
zmprov ms mail.domain.com +zimbraMtaSmtpdSenderRestrictions "check_sender_access lmdb:/opt/zimbra/conf/postfix_reject_sender"
Giờ sử dụng postmap để tạo tệp CSDL
/opt/zimbra/common/sbin/postmap /opt/zimbra/conf/postfix_reject_sender
Postmap với file đã tạo và khởi động lại zmmtactl
/opt/zimbra/common/sbin/postmap /opt/zimbra/conf/postfix_reject_sender
zmmtactl restart
II. Những điều nên làm để phòng chống spam
1. Đối với end user
- Điều quan trọng nhất: Không để cho máy tính bị nhiễm malware/virus (đặc biệt là nếu sử dụng phần mềm thứ 3 như outlook) bằng việc cài đặt và cập nhật antivirus thường xuyên
- Không đăng nhập Zimbra ở máy tính công cộng vì hầu hết chúng đều không an toàn và việc bị đánh cắp mật khẩu là rất dễ xảy ra
- Thay đổi mật khẩu có độ khó cao, bao gồm cả chữ số, ký tự thường, ký tự hoa, ký tự đặc biệt
- Thay đổi mật khẩu thường xuyên
- Thường xuyên cập nhật hệ điều hành và outlook
- Không chia sẻ password cho ai cả
- Sử dụng bảo mật 2 lớp (2-factor authentication)
- Không mở email nặc danh hay tệp đính kèm mà không được gửi từ nguồn đáng tin cậy
- Và chắc chắn là không bao giờ được mở tệp tin thực thi (như .exe, .bat,…)
2. Đối với người quản trị admin
- Đặt chính sách mật khẩu với độ bảo mật cao để người dùng không thể thay đổi những mật khẩu đơn giản
- Đặt thời gian hết hạn password
- Cập nhật OS thường xuyên
- Bảo mật mạng nội bộ (nên nhờ sự giúp đỡ của kỹ sư mạng)
Dưới đây là 1 vài cách thức cơ bản để hạn chế spam:
a. Thiết lập từ chối nhận những email có trường sasl_username khác với FROM
Đây là 1 cách thức giả mạo thư rất thường xuyên được hacker sử dụng, bằng việc mạo danh đối tác của bạn, tin tặc có thể qua đó đánh lừa bạn cung cấp thông tin quan trọng cho chúng.
Để thiết lập từ chối những email như này, hãy sử dụng các câu lệnh sau: (ZCS 8.6, 8.7.x, 8.8.x)
zmprov mcf zimbraMtaSmtpdRejectUnlistedRecipient yes
zmprov mcf zimbraMtaSmtpdRejectUnlistedSender yes
zmmtactl restart
zmconfigdctl restart
zmprov mcf zimbraMtaSmtpdSenderLoginMaps proxy:ldap:/opt/zimbra/conf/ldap-slm.cf +zimbraMtaSmtpdSenderRestrictions reject_authenticated_sender_login_mismatch
Sau đó sửa file smtpd_sender_restrictions.cf thành như sau đây:
vi /opt/zimbra/conf/zmconfigd/smtpd_sender_restrictions.cf
permit_mynetworks, reject_sender_login_mismatch
zmconfigd sẽ tự động cập nhật sau vài phút để áp dụng những rule mới này.
b. Bật tự động cập nhật Antispam rules, giúp bộ luật anti-spam của Zimbra hoạt động hiệu quả hơn
Thiết lập 2 cấu hình sau:
zmlocalconfig -e antispam_enable_rule_updates=true
zmlocalconfig -e antispam_enable_restarts=true
c. Từ chối nhận những tệp tin có thể thực thi (executable file)
Sử dụng zmprov:
zmprov mcf +zimbraMtaBlockedExtension exe
zmprov mcf +zimbraMtaBlockedExtension bat
d. Thay đổi tỉ lệ tag spam và kill spam
Dùng lệnh sau:
zmprov mcf zimbraSpamKillPercent 75
zmprov mcf zimbraSpamTagPercent 25 {default is 33, it means 33% of 20 = 6.6}
e. Cùng với việc cập nhật spam rule, việc kiểm tra xem email được gửi từ server nào cũng rất quan trọng
Một email server sẽ thực hiện đầy đủ các bước để khiến cho server của mình là chính chủ, các thông số sau nên được kiểm tra và nếu 1 trong số chúng không chính xác, email đó sẽ bị đánh dấu là spam:
zmprov mcf \
zimbraMtaRestriction reject_invalid_hostname \
zimbraMtaRestriction reject_non_fqdn_hostname \
zimbraMtaRestriction reject_non_fqdn_sender \
zimbraMtaRestriction reject_invalid_helo_hostname \
zimbraMtaRestriction reject_unknown_client_hostname \
zimbraMtaRestriction reject_unknown_helo_hostname \
zimbraMtaRestriction reject_unknown_sender_domain \
f. Luôn luôn thiết lập SPF, DKIM, DMARC đầy đủ
Tìm hiểu chi tiết về các bản ghi SPF, DKIM, DMARC ở:
Các bản ghi cho tên miền khi sử dụng Email cho Doanh nghiệp – Nhan Hoa Knowledgebase
g. Thiết lập sử dụng các blacklist từ các tổ chức uy tín trên thế giới (tùy theo nhu cầu)
RBL hay Real-time Blackhole List là 1 tập hợp những danh sách được duy trì để lưu thông tin về IP, tên miền đã hoặc đang có xu hướng spam mail trên toàn thế giới. Nhờ vào đó, các thư này khi đến máy chủ email sẽ bị loại bỏ ngay lập tức chứ chưa cần sử dụng tập luật AS/AV cục bộ
Dưới đây là các RBL thường được sử dụng, bạn nên bật chúng lên tùy theo nhu cầu sử dụng của mình:
zmprov mcf zimbraMtaRestriction "reject_rbl_client dnsbl.njabl.org" \
zimbraMtaRestriction "reject_rbl_client cbl.abuseat.org" \
zimbraMtaRestriction "reject_rbl_client bl.spamcop.net" \
zimbraMtaRestriction "reject_rbl_client dnsbl.sorbs.net" \
zimbraMtaRestriction "reject_rbl_client sbl.spamhaus.org" \
zimbraMtaRestriction "reject_rbl_client zen.spamhaus.org" \
zimbraMtaRestriction "reject_rbl_client psbl.surriel.com" \
zimbraMtaRestriction "reject_rbl_client b.barracudacentral.org" \
zimbraMtaRestriction "reject_rhsbl_client dbl.spamhaus.org" \
zimbraMtaRestriction "reject_rhsbl_client multi.uribl.com" \
zimbraMtaRestriction "reject_rhsbl_client multi.surbl.org" \
zimbraMtaRestriction "reject_rhsbl_sender rhsbl.sorbs.net"
III. Tổng kết
Qua bài viết này, Nhân Hòa đã chỉ ra những cách cơ bản nhất để cải thiện hệ thống anti-spam trên máy chủ email Zimbra. Không như nhiều hệ thống email khác khi bạn có thể làm mọi thứ trên giao diện, Zimbra yêu cầu người dùng phải biết 1 ít về command-line để có thể tận dụng được tối đa khả năng của nó.
Chúc các bạn thành công và may mắn trong công việc!