Spamassassin이 스팸이 아닌 것을 스팸으로 신고했습니다. 어떻게 그렇게 말합니까?

Spamassassin이 스팸이 아닌 것을 스팸으로 신고했습니다. 어떻게 그렇게 말합니까?

이것은 spamassassin 훈련에 관한 일종의 일반적인 질문입니다. spamassassin을 통해 들어오는 메일을 필터링하는 메일 서버를 새로 설정했습니다. 최근에 스팸(점수 5)으로 표시된 항공편 예약을 받았는데 spamassassin에게 그것이 스팸이 아니라고 말하고 싶습니다. (아마도 이렇게 하면 수정된 spamassassin 헤더 없이 메일을 다시 보낼 수도 있을까요?)

나는 주변을 검색해 보았고 spamassassin이 메시지를 스팸으로 표시하도록 하는 방법(가짜 긍정을 수정하는 방법은 아님) 또는 이메일을 작성하는 사람들을 위한 방법(스팸으로 표시되지 않는 방법)에 대한 정보만 찾았습니다.

따라서 잘못된 호출에 대해 spamassassin 피드백을 제공하는 방법은 다음과 같습니다.

  1. 이메일 클라이언트(예: Thunderbird) 내에서 이 작업을 수행할 수 있는 방법이 있나요?

  2. 메일 서버의 명령줄을 통해 이를 수행할 수 있는 방법이 있습니까?

가능한 한 프로세스를 유연하게 만들고 싶지만 작업이 완료되는 것은 무엇이든 가능합니다.

이메일에 관한 SpamAssassin의 세부정보:

 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

분명히 주요 원인은 모두 대문자인 제목 줄 SUBJ_ALL_CAPS와 MIME_HTML_ONLY(제 생각에는 대체 텍스트가 없는 것 같습니다)입니다.

이메일은 항공편 예약 확인을 위한 것이었고 제목은 다음과 같았습니다.

 Subject: JENNINGS/NICHOLAS KOSSOW MR 24 JAN MOF DPS

헤더:

X-Envelope-From: <[email protected]>
X-Envelope-To: <[email protected]>
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 <[email protected]>
Received: from obeap115 (nat-dns-mnp.amadeus.net [82.150.225.129])
    by mail1.amadeus.net (Postfix) with ESMTP id 3F7A9200042
    for <[email protected]>; Fri, 20 Jan 2017 07:55:10 +0000 (GMT)
From: [email protected]
TO: [email protected]
Message-ID: <CTS/GA/C50D54421A07/[email protected]>
FND-Request-ID: <CTS/GA/C50D54421A07/[email protected]>
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

답변1

이 경우 유용할 수 있는 구체적 조언과 일반적인 조언이 모두 있습니다.

특정한

여기서 근본적인 문제는 작은 면 양말을 신은 가루다 항공이 스팸의 특징이 많은 확인 이메일을 보내고 있다는 것입니다. 제목 줄은 VERY SHOUTY이며 이미지는 많고 텍스트는 거의 포함되지 않은 HTML 전용 이메일을 보냅니다. 봉투 발신자( [email protected])는 분명히 기계로 구성된 논스이며 이메일 공급자는 (아웃소싱) 확인 시스템을 위한 것입니다. (amadeus.com)에는 쓸모없는 SPF 기록이 있습니다.우리의 모든 조언은 그 반대다, 일부 사람들은 다음과 같은 기록에 가치가 있다고 잘못 생각합니다.일부전송 시스템 및 끝 ~all).

대부분의 경우 할 수 있는 일은 많지 않습니다. 이러한 메시지가 확실히 전달되는지 확인하려면 이러한 메시지가 귀하에게 전달된다는 ~/.spamassassin/user_prefs내용 의 줄을 입력하세요. whitelist_from *@amadeus.com더 나아가 실행된 규칙의 가중치를 변조하는 것은 아마도 나쁜 생각일 것입니다. SpamAssassin(SA) 규칙 세트는 엄청난 양의 스팸을 필터링하고 대부분의 스팸에 어떤 특성이 적용되는지 알아내는 방식으로 만들어졌습니다. 해당 규칙을 끄면 가루다 확인 이메일보다 더 많은 내용을 수신함에서 열 수 있습니다.

일반적인

이것이 바로 베이지안 엔진이 잘 처리하는 일종의 상황입니다. 다른 규칙을 실행하지는 않지만 읽고 싶지 않은 내용이 포함된 이메일을 필터링하고, 해당 규칙을 실행하지만 읽고 싶지 않은 내용이 포함된 이메일을 통해 도움을 주도록 설계되었습니다.하다읽고 싶다.

IIRC, 엔진을 훈련하지 않으면 엔진은 아무 것도 하지 않습니다. 훈련하는 가장 쉬운 방법은 (가령) spam및 이라는 두 개의 폴더를 유지하는 것입니다 ham. spamINBOX에 들어 있었지만 원하지 않았던 이메일의 사본을 넣으세요 . ham이 확인 이메일과 같이 SA에 위배되지만 귀하가 원했던 이메일의 사본을 귀하에게 넣으 십시오 .

그런 다음 밤마다(또는 그 정도) 다음과 같은 크론 작업이 있습니다.

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

이에 따라 경로를 수정합니다. 시간이 지남에 따라 이것은 당신이 읽고 싶어하는 것과 좋아하지 않는 것을 엔진에 가르쳐 줄 것입니다. 높은 베이지안 점수는 이메일의 SA 점수에 +4.0점을 더할 수 있고, 낮은 점수는 1.9를 뺄 수 있으므로, 잘 훈련된 엔진은 SA가 무엇을 구별하는지 실제로 도울 수 있습니다.무엇부터 읽고 싶어?하지마 - 하지만가르치려고 노력해야 해.

답변2

비둘기장을 사용하시는 것 같습니다. 저는 사용자가 별도의 작업을 하지 않고도 서버 측 스팸 필터를 쉽게 훈련할 수 있는 원활한 통합을 찾기 위해 몇 주를 보냈습니다.복사메일.

핵심 부분은스팸방지비둘기장 플러그인. 스팸 방지 플러그인은 다음에서 트리거됩니다.이동하다세 개의 폴더 그룹 사이의 작업: trash, unsurespam. 구체적으로, 에서 spam로의 전환이 spam감지되면 스팸 학습 동작이 트리거되고, 에서 으로의 전환이 감지되면 spamunsure학습 동작이 트리거됩니다.

다양한 교육 백엔드를 지원합니다. 간단한 것은 mailtrain단순히 명령을 실행하고 메일을 표준 입력에 넣는 것입니다. 이에 대한 구성은 다음과 같습니다.

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
}

함께 /usr/local/bin/sa-learn-stdin.sh:

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

구성에는 "스팸으로 학습하려면 실행 /usr/local/bin/sa-learn-stdin.sh -L spam하고, 햄으로 학습하려면 실행하세요 /usr/local/bin/sa-learn-stdin.sh -L ham." 라고 나와 있습니다. 인수는 antispam_mail_spam, antispam_mail_notspam및 로 구성됩니다 antispam_mail_sendmail_args.

이것은 이미 꽤 좋습니다. 스팸으로 표시한 메일을 스팸 폴더로 이동하도록 클라이언트를 구성할 수 있다면 이는 이미 클라이언트와 서버 간의 자동 통합입니다. 마찬가지로, 스팸으로 분류된 메일을 배달 시 스팸 폴더에 저장하도록 서버를 구성한 경우(예: Sieve 사용), 사용자가 메시지를 스팸 폴더 밖으로 이동할 때 해당 메시지는 햄으로 학습됩니다.


Thunderbird 및 KMail과의 통합을 개선하기 위해 저는 다음과 같은 글을 썼습니다.스팸방지 패치, 불행히도 업스트림으로부터 어떠한 피드백도 얻지 못했습니다.자신의 책임하에 사용.

스팸 방지에 구성 옵션을 추가합니다. 이 옵션은 plugin비둘기장 구성 섹션에 간단히 추가할 수 있습니다.

   antispam_spam_flags = "Junk;$JUNK"

(따옴표는 $재미있는 일을 방지하는 데 중요합니다.)

패치를 사용하면 스팸 방지 기능이또한메시지에 스팸 플래그가 표시되거나 스팸 플래그가 모두 해제되면 학습 작업을 트리거합니다. 플래그는 IMAP 기능이며 클라이언트가 서버 측 정보 비트를 저장하는 데 사용됩니다. Thunderbird와 KMail은 이러한 플래그를 사용하여 메시지의 정크/스팸 상태를 저장합니다.

Junk메시지를 정크로 표시하면 Thunderbird가 플래그를 설정합니다 . $JUNKKMail 플래그 에 대해서도 마찬가지입니다 . 따라서 이 구성을 사용하면 KMail의 Thunderbird에서 메일을 정크/NonJunk로 표시하여 서버 측 학습을 시작할 수 있습니다.

K9-Mail과 같은 다른 클라이언트는 여전히 잘 작동합니다. 기본적으로 스팸 폴더에 정크를 옮기는 것이므로 안티스팸도 실행됩니다.


제 생각에는 동일한 기능을 구현할 수 있습니다.IMAP시브. 이것은 내 TODO에 있지만 불행히도 현재 충분히 최근의 비둘기장을 갖춘 테스트 준비 환경이 없습니다.

관련 정보