[Postfixbuch-users] OT: Problem mit Spamassassin (und pyzor)

Sebastian Kösters skoesters at lowbird.net
Mi Apr 28 17:12:08 CEST 2010


Hi,

meine erste Mail wurde leider als SPAM abgewiesen, weil ich den GTUBE 
test mit reingepastet hatte (denke ich) deshalb hier ein neuer Versuch.

nachdem mir hier bei meinem dovecot Problem so gut geholfen wurde, würde 
ich mich gerne auch noch mal mit einem spamassassin Problem an euch wenden.

Folgendes ist installiert (auf CentOS 5.3):

- postfix-2.3.3-2.1.centos.mysql_pgsql
- spamassassin-3.3.1-3.el5.rf
- perl-Razor-Agent-2.85-1.el5
- pyzor-0.4.0-11.el5

Zu meinem Problem:

mit folgender Testdatei wollte ich Spamassassin prüfen:

---

der GTUBE test .. ich lass das hier mal weg, weil meine erste mail als 
SPAM deklariert wurde :)


---

ich lasse spamassassin auf der konsole laufen:

su - vmail -c "spamassassin < /var/vmail/sample-spam.txt"

Die Zusammenfassung des Reports sieht dabei sehr gut aus:

---
Zusammenfassug:

-0.0 NO_RELAYS              Informational: message was not relayed via SMTP
1000 GTUBE                  BODY: Generic Test for Unsolicited Bulk Email
  2.7 RAZOR2_CF_RANGE_51_100 Razor2 gives confidence level above 50%
                             [cf: 100]
  0.5 RAZOR2_CF_RANGE_E4_51_100 Razor2 gives engine 4 confidence level
                             above 50%
                             [cf: 100]
  1.8 RAZOR2_CHECK           Listed in Razor2 (http://razor.sf.net/)
  4.8 PYZOR_CHECK            Listed in Pyzor (http://pyzor.sf.net/)
  0.0 DIGEST_MULTIPLE        Message hits more than one network digest check
-0.0 NO_RECEIVED            Informational: message has no Received headers
---

Wenn ich mir den Inhalt der Testdatei nun per Mail schicke fällt die 
Zusammenfassung sehr viel kürzer aus:

---

Zusammenfassug:

1000 GTUBE                  BODY: Generic Test for Unsolicited Bulk Emai

---

razor, pyzor und co fehlen.


Dabei ist mir dann auch ein Problem im maillog aufgefallen (spamassassin 
läuft mit SPAMDOPTIONS="-d -c -m5 -H /var/vmail/.spamassassin -u vmail 
-D" ):


---

[...]
Apr 28 15:10:43 mail spamd[19721]: pyzor: opening pipe: /usr/bin/pyzor 
--homedir /var/vmail/.pyzor check < /tmp/.spamassassin19721QlsZUItmp
Apr 28 15:10:43 mail spamd[19760]: util: setuid: ruid=5000 euid=5000
Apr 28 15:10:43 mail spamd[19721]: pyzor: [19760] finished: exit 1
Apr 28 15:10:43 mail spamd[19721]: pyzor: got response: 
public.pyzor.org:24441 (200, 'OK') 0 0
[...]
---

er macht immer ein exit 1, was für mich nicht normal klingt. 5000 ist 
die uid und gui vom user vmail.

Wenn ich den pyzor aufruf dann mal per hand als vmail auf die 
sample-datei mache sieht die sache wieder besser aus...auch der 
returnwert ist hier 0 und nicht 1:

[root at mail vmail]# su - vmail -c "/usr/bin/pyzor --homedir 
/var/vmail/.pyzor check < /var/vmail/sample-spam.txt; echo $?"
public.pyzor.org:24441  (200, 'OK')     183     0
0

auch beim Aufruf per

su - vmail -c "spamassassin -D < /var/vmail/sample-spam.txt"

sieht pyzor besser aus als im log:

---

Apr 28 15:37:34.368 [26581] dbg: pyzor: opening pipe: /usr/bin/pyzor 
--homedir /var/vmail/.pyzor check < /tmp/.spamassassin26581NSj6S4tmp
Apr 28 15:37:34.374 [26582] dbg: util: setuid: ruid=5000 euid=5000
Apr 28 15:37:34.418 [26581] dbg: pyzor: [26582] finished successfully
Apr 28 15:37:34.418 [26581] dbg: pyzor: got response: 
public.pyzor.org:24441 (200, 'OK') 183 0

---

der Aufruf sieht komplett gleich aus, aber per hand auf der konsole 
kommt exit 0 und per postfix exit 1.


meine local.cf:

---
# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)

# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.

required_hits 5
required_score 2.0
report_safe 1
rewrite_header Subject  [***** SPAM _SCORE_ *****]
add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ 
tests=_TESTSSCORES(,)_ _PYZOR_ _RBL_ autolearn=_AUTOLEARN_ version=_VERSION_

# Enable the Bayes system
use_bayes 1
use_bayes_rules 1
bayes_path /var/vmail/.spamassassin/bayes
# Enable Bayes auto-learning
bayes_auto_learn 1

# Enable or disable network checks
skip_rbl_checks 0

use_razor2 1
razor_config /var/vmail/.razor/razor-agent.conf
razor_timeout 10

use_pyzor 1
pyzor_path /usr/bin/pyzor
pyzor_options --homedir /var/vmail/.pyzor
pyzor_max 15
pyzor_timeout 15

#bayes punkte
score BAYES_00 -6.1
score BAYES_01 -5.0
score BAYES_10 -3.5
score BAYES_20 -2.0
score BAYES_30 -1.0
score BAYES_40 -0.3
score BAYES_44 -0.01
score BAYES_50 0.01
score BAYES_56 0.3
score BAYES_60 1.0
score BAYES_70 1.6
score BAYES_80 3.1
score BAYES_90 5.2
score BAYES_99 7.2

#razor punkte
score RAZOR2_CHECK 1.8
score RAZOR2_CF_RANGE_11_50 0.32
score RAZOR2_CF_RANGE_51_100 2.7

#pyzor punkte
score PYZOR_CHECK 4.8

#sonstige punkte
score SUBJ_ILLEGAL_CHARS 2.6
score PORN_4 3.7
score RCVD_IN_RFCI 2.0
score RCVD_IN_ORBS 1.0
score RCVD_IN_DSBL 1.0
score RCVD_IN_SBL 0.5
score RCVD_IN_VISI 1.0
score RCVD_IN_RFCI 0.5
score RCVD_IN_SORBS 0.5
score X_NJABL_OPEN_PROXY 0.5
score RCVD_IN_UNCONFIRMED_DSBL 0.2
score RCVD_IN_BL_SPAMCOP_NET 1.1
score RCVD_IN_VISI 0.3
score RCVD_IN_RELAYS_ORDB_ORG 0.3
score USER_AGENT_MACOE 1.0
score NIGERIAN_TRANSACTION_1 1.5
score MICROSOFT_EXECUTABLE 3.100
score MIME_SUSPECT_NAME 3.100
score RCVD_IN_BONDEDSENDER -6.0
score HABEAS_HIL_RBL -6.0
score X_LIST_UNSUBSCRIBE 0.5
score EMAIL_ATTRIBUTION -0.5
score IN_REP_TO -0.5
score QUOTED_EMAIL_TEXT -0.5
score REPLY_WITH_QUOTES -0.5
score HTML_IMAGE_ONLY_02 1.978
score HTML_IMAGE_ONLY_04 2.087
score HTML_IMAGE_ONLY_06 1.228
score HTML_IMAGE_ONLY_08 0.984
score HTML_IMAGE_ONLY_10 0.843
score HTML_IMAGE_ONLY_12 0.487
score EMAIL_ATTRIBUTION -1
score MSGID_GOOD_EXCHANGE -1

# Reports
clear_report_template
report Diese Mail wurde vom SpamAssassin Spam-Filter als Spam erkannt.
report Sollte diese Nachricht zu Unrecht als Spam markiert worden sein,
report bitte diese Mail an spam at domain.net weiterleiten
report
report Vielen Dank!
report
report Die Originalnachricht ist dieser E-Mail als Anhang beigefuegt.
report
report Content analysis details: (_HITS_ points, _REQD_ required)
report
report
report Zusammenfassug:
report
report _SUMMARY_


clear_unsafe_report_template
unsafe_report Diese Nachricht ist nicht komplett in plain text gewesen, 
so dass es
unsafe_report evtl. gefaehrlich ist, sie zu oeffnen, da die Mail 
moeglicherweise
unsafe_report einen Virus enthalten koennte Wer sie dennoch anschauen 
moechte, sollte
unsafe_report dafuer besser einen Editor verwenden!
---


meine master.cf:

---

smtp      inet  n       -       n       -       -       smtpd
   -o content_filter=spamassassin
[....]
spamassassin unix -     n       n       -       -       pipe
         user=vmail argv=/usr/bin/spamc -f -e
         /usr/sbin/sendmail -oi -f ${sender} ${recipient}
---

Order liegen soweit auch alle da wo sie hingehören:

ls -la /var/vmail/
drwxrwxr-x  2 vmail vmail 4096 Apr 28 15:09 .pyzor
drwxr-xr-x  2 vmail vmail 4096 Apr 28 13:37 .razor
drwxr-xr-x  3 vmail vmail 4096 Apr 28 15:20 .spamassassin


Was ich nun gerne wisse würde ist...warum ist der Report (und auch der 
score) beim Mail versuch im vergleich zum Konsolen versuch anders und 
warum der exit 1 (wobei ich mir vorstellen kann, dass das Report Problem 
am exit 1 liegt)?

Gruß und danke
Sebastian



Mehr Informationen über die Mailingliste Postfixbuch-users