Spamassassin đã gắn cờ một cái gì đó là thư rác không phải là thư rác. Làm thế nào để tôi nói với nó như vậy?


14

Đây là một loại câu hỏi chung về đào tạo spamassassin. Tôi có một mailserver mới được thiết lập để lọc thư đến thông qua spamassassin. Gần đây tôi đã có một đặt chỗ chuyến bay được gắn cờ là thư rác (điểm 5) và muốn nói với spamassassin đó không phải là thư rác. (Có lẽ làm điều này cũng sẽ gửi lại thư mà không có tiêu đề spamassassin đã sửa đổi?)

Tôi đã thử tìm kiếm xung quanh và chỉ tìm thấy những thứ về việc lấy spamassassin để gắn cờ thư là thư rác (chứ không phải sửa lỗi tích cực sai) hoặc cho những người viết email - làm thế nào để không bị gắn cờ là thư rác.

Vì vậy, liên quan đến việc đưa ra phản hồi spamassassin về các cuộc gọi sai:

  1. Có cách nào để thực hiện việc này từ bên trong một ứng dụng email (ví dụ: Thunderbird)

  2. Có cách nào để làm điều này thông qua dòng lệnh trên máy chủ thư không?

Tôi muốn làm cho quá trình trôi chảy nhất có thể, nhưng bất cứ điều gì hoàn thành công việc.

Chi tiết từ SpamAssassin liên quan đến email:

 0.0 FSL_HELO_NON_FQDN_1    No description available.
 0.6 HK_RANDOM_ENVFROM      Envelope sender username looks random
-0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at http://www.dnswl.org/, no trust [82.150.225.129 listed in list.dnswl.org]
-0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3) [82.150.225.129 listed in wl.mailspike.net]
 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 1.6 SUBJ_ALL_CAPS          Subject is all capitals
 1.1 MIME_HTML_ONLY         BODY: Message only has text/html MIME parts
 0.7 HTML_IMAGE_ONLY_20     BODY: HTML: images with 1600-2000 bytes of words
 0.0 HTML_MESSAGE           BODY: HTML included in message
-0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay lines
 0.0 T_REMOTE_IMAGE         Message contains an external image

Rõ ràng thủ phạm chính là dòng chủ đề toàn mũ SUBJ_ALL_CAPS và MIMETube_ONLY (tôi đoán, không có văn bản thay thế).

Email này là để xác nhận đặt vé máy bay và chủ đề trông như thế này:

 Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS

Tiêu đề:

X-Envelope-From: <tdsfndprd@amadeus.com>
X-Envelope-To: <nick@xxx.xxx>
Received: from mail1.amadeus.net (unknown)
    by 147-49-15-51.rev.cloud.scaleway.com(Postfix 3.1.0/8.13.0) with SMTP id unknown
    Fri, 20 Jan 2017 07:55:10 +0000
    (envelope-from <tdsfndprd@amadeus.com>
Received: from obeap115 (nat-dns-mnp.amadeus.net [82.150.225.129])
    by mail1.amadeus.net (Postfix) with ESMTP id 3F7A9200042
    for <nick@xxx.xxx>; Fri, 20 Jan 2017 07:55:10 +0000 (GMT)
From: eticket@garuda-indonesia.com
TO: NICK@XXX.XXXX
Message-ID: <CTS/GA/C50D54421A07/1@tds.amadeus.com>
FND-Request-ID: <CTS/GA/C50D54421A07/1@tds.amadeus.com>
Job-ID: 1
Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS
Date: Fri, 20 Jan 2017 07:55:09 +0000
Content-Type: multipart/mixed; 
    boundary="----=_Part_191904_1900935199.1484898909762"
MIME-Version: 1.0

Bước đầu tiên phải hỏi tại sao nó bị gắn cờ là thư rác. Nếu không có điều đó, chúng tôi có thể đưa ra các đề xuất chung, chỉ cho bạn cách điều chỉnh công cụ Bayes cho ham, nhưng chúng tôi không thể giúp giải quyết cụ thể (các) quy tắc mà không thỏa mãn. Vui lòng thêm vào câu hỏi của bạn một vài dòng đầu tiên của nội dung email và tất cả các tiêu đề .
MadHatter

@MadHatter cảm ơn các gợi ý, cập nhật câu hỏi cho phù hợp.
Nick Jennings

Bạn không nói những gì Bayesian đạt được. Bạn đang sử dụng động cơ Bayesian?
MadHatter

Điểm số là 5.0 .. được chèn vào chủ đề: ***** SPAM 5.0 *****
Nick Jennings

1
Đó là tổng điểm SA, không phải là điểm Bayes đóng góp. Nhưng đừng lo lắng, từ phần còn lại của những gì bạn đã viết, có vẻ như động cơ Bayes của bạn không bắn vì bạn chưa bao giờ đào tạo nó và bạn có ý định giải quyết điều đó!
MadHatter

Câu trả lời:


22

Có cả lời khuyên cụ thể và chung chung có thể hữu ích trong trường hợp này.

Riêng

Vấn đề tiềm ẩn ở đây là Garuda Airlines, ban phước cho đôi tất cotton nhỏ của họ, đang gửi email xác nhận mang nhiều dấu hiệu của thư rác. Dòng tiêu đề là RẤT NÊN, họ gửi các email chỉ có HTML chứa khá nhiều hình ảnh và rất ít văn bản, người gửi phong bì ( tdsfndprd@amadeus.com) rõ ràng là một người không phải do máy tạo và nhà cung cấp email cho hệ thống xác nhận (thuê ngoài) của họ (amadeus.com) có một bản ghi SPF vô dụng (bất chấp mọi lời khuyên của chúng tôi ngược lại , một số người lầm tưởng có giá trị trong một bản ghi liệt kê một số hệ thống gửi và kết thúc của họ ~all).

Không có nhiều thứ bạn có thể làm về hầu hết điều này. Nếu bạn muốn chắc chắn về những điều này thông qua, một dòng trong ~/.spamassassin/user_prefsđó có nội dung whitelist_from *@amadeus.comsẽ gửi những thông điệp này đến bạn. Đi xa hơn và can thiệp vào các trọng số của các quy tắc được kích hoạt có lẽ là một ý tưởng tồi. Bộ quy tắc SpamAssassin (SA) được tạo bằng cách lọc một lượng lớn thư rác và tìm ra những đặc điểm nào áp dụng cho hầu hết các quy tắc đó; bạn có thể mở INBOX của bạn nhiều hơn là chỉ các email xác nhận Garuda bằng cách tắt các quy tắc đó.

Chung

Đây chính xác là loại tình huống động cơ Bayes xử lý tốt. Nó được thiết kế để lọc ra các email mà không kích hoạt các quy tắc khác nhưng có chứa những thứ bạn không muốn đọc, trong khi giúp đỡ thông qua email mà không kích hoạt những quy tắc nhưng chứa những thứ bạn làm muốn đọc.

IIRC, động cơ sẽ không làm gì nếu bạn không đào tạo nó. Cách dễ nhất để huấn luyện nó là duy trì hai thư mục, được gọi là (nói) spamham. Into spambạn đặt các bản sao của email mà làm cho nó vào INBOX của bạn, nhưng bạn không muốn; vào hambạn đặt các bản sao email bị lỗi SA nhưng bạn muốn, chẳng hạn như email xác nhận này.

Sau đó hàng đêm (hoặc hơn) bạn có một công việc định kỳ nói rằng

sa-learn --spam --mbox mail/spam
sa-learn --ham  --mbox mail/ham

Sửa đổi các đường dẫn cho phù hợp. Theo thời gian, điều này sẽ dạy cho động cơ những gì bạn làm và không muốn đọc. Vì điểm số Bayes cao có thể thêm +4.0 điểm vào điểm SA của email, trong khi điểm thấp có thể trừ 1.9, một công cụ được đào tạo tốt thực sự có thể giúp SA phân biệt những gì bạn muốn đọc với những gì bạn không đọc - nhưng bạn phải đặt những nỗ lực trong giảng dạy nó .


1
Nghe có vẻ hợp lý. Tôi sẽ thử luồng thư rác / ham đó. Cảm ơn!
Nick Jennings

1
"ban phước cho đôi tất cotton nhỏ của họ"
Alex Reinking

@MadHatter theo dõi về điều này. Tôi đã thử kéo email SPAM mà Spamassassin đã thay đổi vào thư mục Ham và khi tôi chạy sa-learn --ham ...lệnh, nó nói rằng nó tìm thấy 0 email để tìm hiểu: Learned tokens from 0 message(s) (0 message(s) examined)... Tôi đã thử gửi .emltệp đính kèm mà SpamAsssasin đưa email gốc vào thư mục Ham trực tiếp trên máy chủ, nhưng vẫn nói rằng nó tìm thấy 0 tin nhắn để xử lý ...
Nick Jennings

Tôi nên thêm Tôi đang xử lý email gốc dưới dạng tệp đính kèm theo report_safe 1cài đặt.
Nick Jennings

@NickJennings thì có lẽ bạn sẽ phải sử dụng ứng dụng khách có khả năng MIME để loại bỏ email gốc, để cung cấp cho sa-learn. Nếu quá đau, hãy tắt đi report_safe. Đó là một ý tưởng tốt để đào tạo người học ham với những thứ khác ngoài những thứ được xác định nhầm là thư rác, vì các giả định của bộ lọc Bayes tách biệt với toàn bộ SA. Tôi cho tôi tất cả thư cá nhân tôi nhận được, vì đó là thứ tôi muốn đọc nhất.
MadHatter

7

Bạn dường như đang sử dụng dovecot. Tôi đã dành vài tuần để cố gắng tìm ra một sự tích hợp mượt mà, cho phép người dùng dễ dàng huấn luyện các bộ lọc thư rác phía máy chủ mà không phải sao chép thư.

Phần quan trọng là plugin Antispam Dovecot. Các antispam cắm trigger trên di chuyển hoạt động giữa ba nhóm thư mục: trash, unsurespam. Cụ thể, khi phát hiện chuyển đổi từ bất kỳ thứ gì (nhưng spam) sang spam, hành động học spam được kích hoạt và khi phát hiện chuyển đổi từ spamsang unsure, một hành động học ham được kích hoạt.

Nó hỗ trợ các phụ trợ đào tạo khác nhau. Một cách đơn giản là mailtrain, chỉ cần thực thi một lệnh và đặt thư vào đầu vào tiêu chuẩn. Một cấu hình có thể trông như thế này:

plugin {
   antispam_backend = mailtrain
   antispam_mail_sendmail = /usr/local/bin/sa-learn-stdin.sh
   antispam_mail_spam = spam
   antispam_mail_notspam = ham
   antispam_mail_sendmail_args = -L
   antispam_spam = Junk;INBOX.Junk
   antispam_trash = Trash;INBOX.Trash
   antispam_allow_append_to_spam = no
}

Cùng với /usr/local/bin/sa-learn-stdin.sh:

#!/bin/bash
/usr/bin/spamc "$@" >> /tmp/sa-learn-log
exit 0

Cấu hình cho biết "Để học như thư rác, hãy chạy /usr/local/bin/sa-learn-stdin.sh -L spamvà học như ham, chạy /usr/local/bin/sa-learn-stdin.sh -L ham." Các đối số được cấu hình bởi antispam_mail_spam, antispam_mail_notspamantispam_mail_sendmail_args.

Điều này đã khá tốt đẹp. Nếu bạn có thể định cấu hình ứng dụng khách của mình để di chuyển thư bạn đánh dấu là thư rác vào thư mục thư rác, thì đây đã là một sự tích hợp khá tự động giữa máy khách và máy chủ. Tương tự, nếu bạn định cấu hình máy chủ để lưu trữ thư được phân loại là thư rác trong thư rác khi gửi (ví dụ: sử dụng Sàng), tin nhắn sẽ được học là ham khi người dùng di chuyển nó ra khỏi thư mục Spam.


Để cải thiện sự tích hợp với Thunderbird và KMail, tôi đã viết một bản vá cho antispam , rất tiếc là không nhận được bất kỳ phản hồi nào từ thượng nguồn; sử dụng có nguy cơ của riêng bạn .

Nó thêm một tùy chọn cấu hình cho antispam, có thể chỉ cần thêm vào pluginphần trong cấu hình dovecot:

   antispam_spam_flags = "Junk;$JUNK"

(Các trích dẫn rất quan trọng để ngăn chặn việc $làm bất cứ điều gì buồn cười.)

Với bản vá, antispam cũng sẽ kích hoạt hành động học nếu tin nhắn có cờ spam hoặc mất tất cả các cờ spam. Cờ là một tính năng IMAP và được khách hàng sử dụng để lưu trữ các bit của phía máy chủ thông tin. Hóa ra, Thunderbird và KMail sử dụng các cờ này để lưu trữ trạng thái Rác / Spam của thư.

Các Junkcờ được thiết lập bởi Thunderbird khi bạn đánh dấu thư là rác. Tương tự như vậy đối với $JUNKcờ một KMail. Do đó, với cấu hình này, bạn có thể kích hoạt học tập phía máy chủ bằng cách gắn cờ thư là Junk / NonJunk trong Thunderbird trong KMail.

Các ứng dụng khách khác, chẳng hạn như K9-Mail, vẫn chơi tốt, bởi vì mặc định là để di chuyển rác trong thư mục Spam, mà antispam cũng sẽ kích hoạt.


Bạn nghĩ rằng bạn có thể thực hiện các chức năng tương tự, trong IMAPSieve . Đây là trên TODO của tôi, nhưng thật không may, hiện tại tôi không có môi trường sẵn sàng thử nghiệm với một dovecot đủ gần đây.


Điều này có vẻ thú vị, chắc chắn sẽ nhìn vào nó.
Nick Jennings
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.