स्पैमसैसिन ने स्पैम के रूप में कुछ चिह्नित किया जो स्पैम नहीं है। मैं इसे कैसे बताऊं?


14

यह स्पैमसैसिन के प्रशिक्षण के बारे में एक सामान्य प्रश्न है। मेरे पास एक नया सेट अप मेलसर्वर है जो स्पैमसैट के माध्यम से आने वाले मेल को फ़िल्टर करता है। मुझे हाल ही में स्पैम के रूप में फ़्लाइट आरक्षण मिला (स्कोर 5) और स्पैमसमैन को बताना चाहूंगा कि यह स्पैम नहीं है। (शायद ऐसा करने से संशोधित स्पैमसैस हेडर के बिना भी मेल फिर से भेजा जा सकेगा?)

मैंने चारों ओर खोज करने की कोशिश की है और केवल स्पैम संदेशों को स्पैम के रूप में फ्लैगशिप प्राप्त करने के बारे में सामान ढूंढ रहा हूं (और झूठी सकारात्मक को ठीक करने के बारे में नहीं), या ईमेल लिखने वाले लोगों के लिए - कैसे स्पैम के रूप में चिह्नित नहीं किया जाए।

तो गलत कॉल पर स्पैमसैसिन प्रतिक्रिया देने के संबंध में:

  1. क्या ईमेल क्लाइंट के भीतर से ऐसा करने का कोई तरीका है (उदाहरण के लिए: थंडरबर्ड)

  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: <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

पहला कदम यह पूछना होगा कि इसे स्पैम के रूप में क्यों ध्वजांकित किया गया था। इसके बिना हम सामान्य सुझाव दे सकते हैं, आपको दिखाते हैं कि हैम के लिए बायेसियन इंजन को कैसे ट्वीक किया जाए, लेकिन हम विशेष रूप से मिसफाइड हुए नियम (एस) को संबोधित करने में मदद नहीं कर सकते। कृपया अपने प्रश्न को ईमेल बॉडी की पहली कुछ पंक्तियों और सभी शीर्ष लेखों में जोड़ें
MadHatter

@MadHatter सुझाव के लिए धन्यवाद, तदनुसार प्रश्न को अद्यतन किया।
निक जेनिंग्स

आप यह नहीं कहते कि बायेसियन स्कोर को क्या मिला। क्या आप बायेसियन इंजन का उपयोग कर रहे हैं?
मदहैटर

स्कोर 5.0 था। यह इस विषय में डाला गया है: ***** स्पैम 5.0 *****
निक जेनिंग्स

1
यह कुल एसए स्कोर है, योगदानकर्ता बायेसियन स्कोर नहीं। लेकिन चिंता मत करो, जो आपने लिखा है, उससे ऐसा लगता है कि आपका बायेसियन इंजन फायरिंग नहीं है क्योंकि आपने इसे कभी प्रशिक्षित नहीं किया है, और आप इसे संबोधित करने का इरादा रखते हैं!
मध्याह्न

जवाबों:


22

विशिष्ट और सामान्य दोनों सलाह है जो इस मामले में उपयोगी हो सकती है।

विशिष्ट

यहां अंतर्निहित समस्या यह है कि गरुड़ एयरलाइंस, अपने छोटे सूती मोजे को आशीर्वाद देती है, पुष्टि ईमेल भेज रही है जो स्पैम के कई बानगी को सहन करते हैं। विषय पंक्ति बहुत छोटा है, वे HTML- केवल ईमेल भेजते हैं जिनमें बहुत अधिक छवियां होती हैं और बहुत कम पाठ होते हैं, लिफ़ाफ़-प्रेषक ( tdsfndprd@amadeus.com) स्पष्ट रूप से एक मशीन-निर्मित गैर है, और उनके (आउटसोर्स) पुष्टिकरण प्रणाली के लिए ईमेल प्रदाता (amadeus.com) एक बेकार एसपीएफ़ रिकॉर्ड है ( इसके विपरीत हमारी सभी सलाह के बावजूद , कुछ लोग गलती से सोचते हैं कि रिकॉर्ड में मूल्य है जो उनके कुछ भेजने वाले सिस्टम और छोरों को सूचीबद्ध करता है ~all)।

इस बारे में आप बहुत कुछ नहीं कर सकते। यदि आप इन के माध्यम से सुनिश्चित होना चाहते हैं, तो आपके ~/.spamassassin/user_prefsकहने वाली एक पंक्ति आपके whitelist_from *@amadeus.comमाध्यम से इन संदेशों को प्राप्त करेगी। आगे जाकर नियमों के वज़न के साथ छेड़छाड़ जो ट्रिगर किया गया था, शायद एक बुरा विचार है। SpamAssassin (SA) का नियम स्पैम के एक विशाल भार को फ़िल्टर करके बनाया गया है, और इसमें से अधिकांश के लिए क्या विशेषताएं लागू होती हैं, इस पर काम करना; आप उन नियमों को बंद करके गरुड़ पुष्टि ईमेल की तुलना में बहुत अधिक अपने INBOX को खोलने की संभावना रखते हैं।

सामान्य

यह ठीक उसी प्रकार की स्थिति है जिस तरह से बायेसियन इंजन अच्छी तरह से संभालता है। यह ईमेल कि अन्य नियमों को गति प्रदान नहीं करता है लेकिन, सामान आप को पढ़ने के लिए नहीं करना चाहती शामिल ईमेल कि ट्रिगर उन नियमों करता है लेकिन सामान आप शामिल के माध्यम से मदद कर रहा है जबकि बाहर फिल्टर करने के लिए डिज़ाइन किया गया है है पढ़ना चाहते हैं।

IIRC, यदि आप इसे प्रशिक्षित नहीं कर रहे हैं तो इंजन कुछ भी नहीं करेगा। इसे प्रशिक्षित करने का सबसे आसान तरीका दो फ़ोल्डरों को बनाए रखना है, जिन्हें (कहते हैं) spamऔर ham। में spamआप ईमेल की प्रतियां है कि यह आपके इनबॉक्स में बना रखा है, लेकिन आप नहीं करना चाहता था; में hamआप ईमेल की प्रतियां कि बीमित राशि का बेईमानी से गिर गया डाल लेकिन आप इस तरह के इस पुष्टिकरण ईमेल के रूप में करना चाहता था।

फिर रात को (या तो) आपके पास एक क्रॉन नौकरी है जो कहती है

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

तदनुसार रास्तों को संशोधित करना। समय के साथ, यह इंजन को सिखाएगा कि आप क्या करते हैं, और पढ़ना पसंद नहीं करते। के बाद से एक उच्च बायेसियन स्कोर, एक ईमेल के एसए स्कोर करने के लिए 4.0 अंक जोड़ सकते हैं जबकि एक कम एक 1.9 घटाना कर सकते हैं, एक अच्छी तरह से प्रशिक्षित इंजन वास्तव में मदद कर सकते हैं एसए भेद क्या आप क्या से पढ़ना चाहते हैं आप नहीं करते हैं - लेकिन आप करने के लिए है इसे सिखाने के लिए प्रयास करना चाहिए


1
जो उचित लगे। मुझे लगता है कि स्पैम / हैम मेलबॉक्स एक कोशिश प्रवाह देगा। धन्यवाद!
निक जेनिंग्स

1
"उनके छोटे
सूतों को

इस पर @MadHatter निम्नलिखित है। मैंने SPAM ईमेल को खींचने की कोशिश की, जिसे Spamassassin ने Ham फ़ोल्डर में बदल दिया और जब मैंने sa-learn --ham ...कमांड चलाया , तो उसने कहा कि इसे सीखने के लिए 0 ईमेल मिले: Learned tokens from 0 message(s) (0 message(s) examined)... मैंने .emlअनुलग्नक को पूरा करने की कोशिश की कि SpamAsssasin ने मूल ईमेल को Ham फ़ोल्डर में डाल दिया। सर्वर पर सीधे, लेकिन फिर भी, यह कहता है कि इसे संसाधित करने के लिए 0 संदेश मिलते हैं ...
निक जेनिंग्स

मुझे जोड़ना चाहिए कि मैं report_safe 1सेटिंग के अनुसार मूल ईमेल के साथ काम कर रहा हूं ।
निक जेनिंग्स

@NickJennings तब आपको मूल ईमेल को बाहर करने, खिलाने के लिए MIME- सक्षम क्लाइंट का उपयोग करना होगा sa-learn। यदि यह बहुत अधिक दर्द है, तो बंद करें report_safe। हैम-शिक्षार्थी को सामान के अलावा अन्य चीजों के साथ प्रशिक्षित करना एक अच्छा विचार है जो गलती से स्पैम के रूप में पहचाना गया था, क्योंकि बेइजियन फिल्टर की धारणाएं एसए के समग्र रूप से अलग हैं। मैं अपने सभी व्यक्तिगत मेल मुझे प्राप्त करता हूं, क्योंकि वह वह सामान है जिसे मैं सबसे अधिक पढ़ना चाहता हूं।
मध्याह्न 13:17

7

आप dovecot का उपयोग करते हैं। मैंने कुछ हफ़्ते बिताए हैं एक सहज एकीकरण का पता लगाने की कोशिश कर रहा है, जो उपयोगकर्ताओं को मेल की नकल किए बिना आसानी से सर्वर-साइड स्पैम फ़िल्टर को प्रशिक्षित करने की अनुमति देता है ।

मुख्य भाग Antispam Dovecot प्लगइन है। एंटीस्पैम प्लगइन पर चलाता चाल संचालन तीन फ़ोल्डर समूहों के बीच: trash, unsureऔर spam। विशेष रूप से, जब कुछ भी से एक संक्रमण (लेकिन spam) को spamपता चला है, एक स्पैम सीखने कार्रवाई शुरू हो रहा है और जब से संक्रमण spamको unsureपता चला है, एक हैम सीखने कार्रवाई शुरू हो रहा है।

यह विभिन्न प्रशिक्षण बैकेंड का समर्थन करता है। एक सरल एक है 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

यह पहले से ही बहुत अच्छा है। यदि आप अपने क्लाइंट को स्पैम फ़ोल्डर में स्पैम के रूप में चिह्नित मेल को स्थानांतरित करने के लिए कॉन्फ़िगर कर सकते हैं, तो यह पहले से ही क्लाइंट और सर्वर के बीच एक सुंदर स्वचालित एकीकरण है। इसी तरह, यदि आप डिलीवरी (उदाहरण के लिए छलनी का उपयोग करके) में स्पैमफोलर में स्पैम के रूप में वर्गीकृत मेल को स्टोर करने के लिए सर्वर को कॉन्फ़िगर करते हैं, तो संदेश को हैम के रूप में सीखा जाएगा जब उपयोगकर्ता इसे स्पैम फ़ोल्डर से बाहर ले जाता है।


थंडरबर्ड और केमेल के साथ एकीकरण को बेहतर बनाने के लिए, मैंने एंटीस्पैम के लिए एक पैच लिखा , जो दुर्भाग्य से अपस्ट्रीम से कोई प्रतिक्रिया नहीं मिली; अपने जोखिम पर उपयोग करें

यह एंटीस्पैम के लिए एक कॉन्फ़िगरेशन विकल्प जोड़ता है, जिसे बस plugindovecot कॉन्फ़िगरेशन में अनुभाग में जोड़ा जा सकता है:

   antispam_spam_flags = "Junk;$JUNK"

( $कुछ भी मज़ेदार करने से रोकने के लिए उद्धरण महत्वपूर्ण हैं ।)

पैच के साथ, एंटीस्पैम एक सीखने की क्रिया को भी ट्रिगर करेगा यदि कोई संदेश स्पैम फ्लैग प्राप्त करता है या उसके सभी स्पैम फ्लैग को खो देता है। झंडे एक IMAP सुविधा है और क्लाइंट द्वारा सूचना सर्वर-साइड के बिट्स को स्टोर करने के लिए उपयोग किया जाता है। पता चला, थंडरबर्ड और केमेल इन झंडों का उपयोग संदेशों के रद्दी / स्पैम-स्थिति को संग्रहीत करने के लिए करते हैं।

Junkझंडा थंडरबर्ड द्वारा निर्धारित है जब आप कबाड़ के रूप में संदेश चिह्नित करें। इसी तरह $JUNKझंडे के लिए एक केमाइल। इस प्रकार, इस विन्यास के साथ, आप केमेल में थंडरबर्ड में जंक / नॉनजंक के रूप में मेल को फ्लैग करके सर्वर-साइड लर्निंग को ट्रिगर कर सकते हैं।

अन्य क्लाइंट्स, जैसे कि K9-Mail, अभी भी अच्छी तरह से खेलते हैं, क्योंकि वहां डिफ़ॉल्ट स्पैम स्पंक फ़ोल्डर में स्थानांतरित होता है, जिस पर एंटीस्पैम भी चालू होगा।


आप समान कार्यक्षमता को लागू कर सकते हैं, मुझे लगता है, IMAPSieve में । यह मेरे TODO पर है, लेकिन दुर्भाग्य से मेरे पास वर्तमान में पर्याप्त हालिया डवकोट के साथ परीक्षण के लिए तैयार वातावरण नहीं है।


यह दिलचस्प लग रहा है, निश्चित रूप से इस पर गौर करेंगे।
निक जेनिंग्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.