Bộ lọc spam Postfix

Spam Scanner lọc thư cho một máy chủ Postfix sau khoảng năm phút thiết lập. Nó chạy dưới dạng milterMail filter: một giao thức của Sendmail, cũng được Postfix sử dụng, cho phép một chương trình riêng kiểm tra từng thư trong phiên SMTP., nên Postfix hỏi nó về từng thư trong phiên SMTP và có thể từ chối spam trước khi chấp nhận.

Cài đặt và chạy#

Shell
npm install --global spamscanner
spamscanner milter --port 7831 --auth --subject-tag "[SPAM]"

--auth kiểm tra SPFSender Policy Framework: một bản ghi DNS liệt kê các máy chủ được phép gửi thư cho một tên miền., DKIMDomainKeys Identified Mail: một chữ ký trên thư, được kiểm tra bằng khóa công khai công bố trong DNS của người gửi., DMARCMột chính sách DNS cho bên nhận biết phải làm gì khi thư tự nhận thuộc về một tên miền không khớp (alignment) SPF và DKIM. và ARCAuthenticated Received Chain: các chữ ký mang kết quả xác thực qua các máy chủ chuyển tiếp.; --subject-tag đánh dấu spam trong tiêu đề thư. Mỗi thư đều nhận các header X-Spam-Flag, X-Spam-Score, X-Spam-Status và X-Spam-Action, và mọi header X-Spam-* do người gửi chèn vào sẽ bị xóa trước.

Kết nối Postfix#

INI
# /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:7831
milter_protocol = 6
milter_default_action = accept
Shell
sudo postfix reload

milter_default_action = accept cho thư đi qua mà không lọc nếu milter ngừng hoạt động; tempfail thì yêu cầu người gửi thử lại.

Từ chối spam trong phiên SMTP#

Shell
spamscanner milter --port 7831 --auth --reject

Thư đạt ngưỡng từ chối (15 điểm) bị từ chối với 451 4.7.1 Message rejected as spam. Mã 451 là tạm thời: người gửi giữ lại thư và thử lại, nên một quyết định sai chỉ gây chậm trễ chứ không làm mất thư. Khi kết quả đã ổn, --reject-code 550 biến việc từ chối thành vĩnh viễn.

Không dùng milter#

Content filter chạy sau khi Postfix chấp nhận thư: Postfix chuyển thư qua spamscanner filter, công cụ này thêm header rồi trả thư lại. Không có gì bị từ chối trong phiên, và khi có lỗi thì việc chuyển thư luôn được hoãn lại chứ không bị trả về. Thiết lập content filter

Đưa spam vào Junk#

Với Dovecot, một quy tắc Sieve chuyển thư đã gắn nhãn vào thư mục:

Text
require ["fileinto"];
if header :is "X-Spam-Flag" "YES" { fileinto "Junk"; stop; }

Được kiểm thử với Postfix thật#

Các bài kiểm thử đầu cuối của dự án chạy Postfix với milter và content filter: thư hợp lệ được chuyển đến kèm header và X-Spam-Flag giả mạo bị xóa, spam được gắn nhãn, và GTUBEGeneric Test for Unsolicited Bulk Email: một chuỗi cố định mà mọi bộ lọc spam coi là spam, dùng để kiểm thử. bị từ chối bằng mã 550 trong phiên SMTP.

Tiếp theo: hướng dẫn đầy đủ cho Postfix và Sendmail, với một unit systemd và INPUT_MAIL_FILTER của Sendmail.

Sửa trang này trên GitHub · Markdown ·