Bạn Tìm Gì Hôm Nay ...?
Tất cả đều có chỉ trong 1 nốt nhạc !
Nếu cần hỗ trợ chi tiết gọi 1900 9477
SpamAssassin là một công cụ chặn email spam miễn phí, mã nguồn mở, linh hoạt và mạnh mẽ. Bài viết này sẽ hướng dẫn cách kiểm tra tiêu đề và nội dung email bằng Postfix và SpamAssassin (SA) để phát hiện thư rác.
Postfix cung cấp 4 tham số kiểm tra nội dung đơn giản:
Postfix sẽ kiểm tra tất cả các email đến khi sử dụng bất kỳ trong số các tham số trên. Mỗi tham số trỏ đến một bảng tra cứu chứa các mẫu biểu thức chính quy (regular expression) và hành động. Các mẫu được so sánh với chuỗi trong các thông điệp email (tiêu đề và nội dung). Nếu Postfix tìm thấy sự khớp, hành động cụ thể được thực hiện. Kiểm tra tiêu đề và nội dung được thực hiện bởi máy chủ dọn dẹp (cleanup) của Postfix.
Có chủ yếu hai loại biểu thức chính quy có thể được sử dụng bởi Postfix.:
Để cài đặt package postfix-pcre bạn có thể
#apt install postfix-pcre
Sau đó chạy lại câu lệnh sau để kiểm tra pcre
#postconf -m
Mở file /etc/postfix/main.cf để thêm dòng sau:
header_checks = pcre:/etc/postfix/header_checks
Sau đó lưu lại và tạo file /etc/postfix/header_checks và thêm kiểm tra biểu thức chính quy như sau:
/free mortgage quote/ REJECT
/repair your credit/ REJECT
Phần bên trái của biểu thức là một biểu thức chính quy được đặt trong hai dấu gạch chéo xuống. Nếu bất kỳ chuỗi nào ở phần bên trái xuất hiện trong bất kỳ phần tiêu đề nào của một email (những phần này thường xuất hiện trong tiêu đề Chủ đề:), thì email đó sẽ bị từ chối trong quá trình trò chuyện SMTP. Theo mặc định, việc kiểm tra biểu thức chính quy không phân biệt chữ hoa chữ thường.
Bạn cũng có thể sử dụng DISCARD thay vì REJECT. Ví dụ:
/free mortgage quote/ DISCARD
/repair your credit/ DISCARD
Điều này sẽ làm cho Postfix thông báo về việc chuyển giao thành công và lặng lẽ loại chặn email spam. DISCARD khiến cho nó trông như email đã được giao mặc dù thực tế nó chỉ bị loại bỏ. Thông thường bạn nên sử dụng DISCARD khi bạn không muốn người gửi thư rác biết rằng bạn đã chặn một cụm từ cụ thể cho email đến. DISCARD cũng có thể hữu ích để giảm thiểu vấn đề “backscatter” (tạo ra email bounce không mong muốn). Nếu địa chỉ email của một người dùng vô tội được sử dụng làm địa chỉ người gửi, bạn có thể cho rằng việc chuyển giao mail thành công, để người dùng vô tội không nhận được các tin nhắn bounce.
Một số spammer sử dụng nhiều địa chỉ email trong phần To: của email thay vì sử dụng “Bí mật” (BCC). Nếu bạn chắc chắn rằng một địa chỉ email sẽ không chấp nhận email với nhiều người nhận trong phần To: của email, bạn có thể thêm các dòng sau để loại bỏ email có đặc điểm đó.
/To:.*(gmail.com|yahoo.com|outlook|hotmail.com).*you@yourdomain.com/ DISCARD
/To:.*you@yourdomain.com.*(gmail.com|yahoo.com|outlook|hotmail.com)/ DISCARD
Các dòng trên sẽ kiểm tra xem một địa chỉ Gmail/Yahoo/Outlook/Hotmail và địa chỉ email của tên miền của bạn có xuất hiện cùng lúc trong tiêu đề To: không. Nếu điều này đúng, thì email sẽ bị loại bỏ. Hai ký tự .* đại diện cho một thẻ máy chủ trong biểu thức chính quy có thể khớp với bất kỳ ký tự nào.
Nếu bạn chắc chắn rằng một địa chỉ email sẽ không chấp nhận email với nhiều người nhận trong tiêu đề CC: (carbon copy), bạn cũng có thể thực hiện tương tự với tiêu đề CC:.
/Cc:.*(gmail.com|yahoo.com|outlook|hotmail.com).*you@yourdomain.com/ DISCARD
/Cc:.*you@yourdomain.com.*(gmail.com|yahoo.com|outlook|hotmail.com)/ DISCARD
Một số thư rác sử dụng địa chỉ email trống trong tiêu đề From: hoặc To:, bạn có thể thêm các kiểm tra sau:
/To:.*<>/ DISCARD
/From:.*<>/ DISCARD
Sau khi chỉnh sửa xong file tra cứu header_checks, bạn cần build file chỉ mục theo lệnh sau:
#postmap /etc/postfix/header_checks
Sau đó reload hoặc restart lại máy chủ postfix để hoàn tất.
Bạn có thể sử dụng smtp_header_checks để xóa tiêu đề email có thể hiển thị thông tin nhạy cảm. smtp_header_checks chỉ được áp dụng khi Postfix hoạt động như một SMTP client, vì vậy nó sẽ không ảnh hưởng đến các email đến.
Ví dụ: bạn có thể không muốn người nhận biết rằng bạn đang sử dụng SpamAssassin trên máy chủ thư của mình, khi đó bạn có thể tạo tệp /etc/postfix/smtp_header_checks
Và thêm các dòng sau vào tập tin. Điều này yêu cầu Postfix xóa tiêu đề X-Spam-Status và X-Spam-Checker-Version khỏi email khi gửi email.
/^X-Spam-Status:/ IGNORE
/^X-Spam-Checker-Version:/ IGNORE
Lưu lại và thêm dòng sau vào /etc/postfix/main.cf
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
Và chạy build lại file và reload/restart postfix
#postmap /etc/postfix/smtp_header_checks
Cảm ơn bạn đã xem qua bài viết chặn email spam. Bạn có thể tham khảo thêm 1 số bài viết khác liên quan email spam tại đây
P.A Việt Nam – Nhà cung cấp giải pháp Email Server dành cho Doanh Nghiệp hàng đầu Việt Nam
Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/
Tham khảo các bài viết về Email Server khác tại https://kb.pavietnam.vn/category/email-server