Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Postfix + Spamassassin  (Přečteno 4811 krát)

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Postfix + Spamassassin
« kdy: 15 Května 2013, 08:59:07 »
Ahoj,

nedaří se mi nějak propojit postfix se spamassassin.
Návodů je mraky, třeba tenhle: http://townx.org/blog/elliot/simple_spamassassin_setup_with_postfix_and_dovecot_on_ubuntu_breezy nebo http://james-scott.cz/postfix-spamassassin/,
ale pointa je vesměs u všech stejná..jestli jsem správně pochopil, tak propojení se dělá v /etc/postfix/master.cf ..

můj výpis konfiguračního soubor /etc/postfix/master.cf:

Kód: [Vybrat]
smtp      inet  n       -       -       -       -       smtpd
        -o content_filter=spamassassin


pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       -       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp

# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
        -o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}


uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe

  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}


spamassassin unix -     n       n       -       -       pipe
        user=spamd argv=/usr/bin/spamc -f -e
        /usr/sbin/sendmail -oi -f ${sender} ${recipient}
                                                       



Jenže výpis v logu /var/log/mail.info by měl vypadat jinak. Měla by tam být zmínka o tom uživateli "spamd", zatím se ale nic nezměnilo:

Citace
May 15 08:44:49 hostname postfix/pickup[26182]: 613735F813: uid=9999 from=<mail@mail.cz>
May 15 08:44:49 hostname postfix/cleanup[29039]: 613735F813: message-id=<ce58ecde2aa76a8779607d838799c4c6@domena.cz>
May 15 08:44:49 hostname postfix/qmgr[26183]: 613735F813: from=<mail@domena.cz>, size=711, nrcpt=1 (queue active)
May 15 08:44:49 hostname postfix/pickup[26182]: 977BB5F814: uid=9999 from=<mail@domena.cz>
May 15 08:44:49 hostname postfix/cleanup[29039]: 977BB5F814: message-id=<688a862255e494cb790e7778e827b3f4@domena.cz>
May 15 08:44:49 hostname postfix/qmgr[26183]: 977BB5F814: from=<mail@domena.cz>, size=665, nrcpt=1 (queue active)
May 15 08:44:49 hostname postfix/smtp[29041]: 613735F813: to=<mail@domena.cz>, relay=smtp.provider.cz[212.111.0.12]:25, delay=0.43, delays=0.08/0.01/0.02/0.32, dsn=2.0.0, status=sent (250 Ok: queued as 9DD4C81A066)
May 15 08:44:49 hostname postfix/qmgr[26183]: 613735F813: removed



Podle návodů by měl v logu figurovat právě uživatel "spamd", pač před odesláním by to měl zkontrolovat právě spamassassin...

Konfigurák /etc/spamassassin/local.cf:

Kód: [Vybrat]
# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
# Only a small subset of options are listed below
#
###########################################################################

#   Add *****SPAM***** to the Subject header of spam e-mails
#
 rewrite_header Subject *****SPAM*****


#   Save spam messages as a message/rfc822 MIME attachment instead of
#   modifying the original message (0: off, 2: use text/plain instead)
#
 report_safe 1


#   Set which networks or hosts are considered 'trusted' by your mail
#   server (i.e. not spammers)
#
# trusted_networks 212.17.35.


#   Set file-locking method (flock is not safe over NFS, but is faster)
#
# lock_method flock


#   Set the threshold at which a message is considered spam (default: 5.0)
#
 required_score 5.0


#   Use Bayesian classifier (default: 1)
#
 use_bayes 1


#   Bayesian classifier auto-learning (default: 1)
#
 bayes_auto_learn 1


#   Set headers which may provide inappropriate cues to the Bayesian
#   classifier
#
# bayes_ignore_header X-Bogosity
# bayes_ignore_header X-Spam-Flag
# bayes_ignore_header X-Spam-Status

#   Some shortcircuiting, if the plugin is enabled
#
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
#
#   default: strongly-whitelisted mails are *really* whitelisted now, if the
#   shortcircuiting plugin is active, causing early exit to save CPU load.
#   Uncomment to turn this on
#
# shortcircuit USER_IN_WHITELIST       on
# shortcircuit USER_IN_DEF_WHITELIST   on
# shortcircuit USER_IN_ALL_SPAM_TO     on
# shortcircuit SUBJECT_IN_WHITELIST    on

#   the opposite; blacklisted mails can also save CPU
#
# shortcircuit USER_IN_BLACKLIST       on
# shortcircuit USER_IN_BLACKLIST_TO    on
# shortcircuit SUBJECT_IN_BLACKLIST    on

#### blacklist_from arealbatov.cz
#### blacklist_from vinarskyinstitut.cz

#   if you have taken the time to correctly specify your "trusted_networks",
#   this is another good way to save CPU
#
# shortcircuit ALL_TRUSTED             on

#   and a well-trained bayes DB can save running rules, too
#
# shortcircuit BAYES_99                spam
# shortcircuit BAYES_00                ham

endif # Mail::SpamAssassin::Plugin::Shortcircuit



Výpis logu po nastartování spamassassin:

Kód: [Vybrat]
Wed May 15 08:21:27 2013 [4511] info: spamd: server killed by SIGTERM, shutting down
Wed May 15 08:22:50 2013 [26083] info: logger: removing stderr method
Wed May 15 08:22:51 2013 [26085] info: spamd: server started on port 783/tcp (running version 3.3.2)
Wed May 15 08:22:51 2013 [26085] info: spamd: server pid: 26085
Wed May 15 08:22:51 2013 [26085] info: spamd: server successfully spawned child process, pid 26086
Wed May 15 08:22:51 2013 [26085] info: spamd: server successfully spawned child process, pid 26087
Wed May 15 08:22:51 2013 [26085] info: prefork: child states: IS
Wed May 15 08:22:51 2013 [26085] info: prefork: child states: II



díky za nakopnutí...

« Poslední změna: 15 Května 2013, 09:01:04 od On »
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

ETNyx

  • Aktivní člen
  • *
  • Příspěvků: 425
Re:Postfix + Spamassassin
« Odpověď #1 kdy: 17 Května 2013, 16:59:13 »
Tak co podařilo se ti to vyřešit?
jabber: etnyx@jabbim.cz

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Re:Postfix + Spamassassin
« Odpověď #2 kdy: 17 Května 2013, 19:22:30 »
Ještě pořád ne :( Zapojil jsem do toho ještě poslední článek a sice amavis. To už mám pro kontrolu odeslané pošty snad všechno. Velmi pěkný návod je zde:
https://help.ubuntu.com/community/PostfixAmavisNew

Přesně dle toho jsem jel, ale nemám dojem, že by to dělalo co mělo. Zkusil jsem napsat mail s nesmyslným textem nebo nesmyslnou adresou, např "gsr2555fad@ejgks.xyz"
Ale mail vesele odešel...amavis mám za to, že by měl právě tohle stopnout.

Jaký je vlastně cíl snažení...?
Jde mi pouze o odesílanou poštu. Potřebuji, aby před odesláním ji "něco" zkontrolovalo, vyhodnotilo, zda se jedná/nejedná o spam a na základě toho pak mail propustil/nepustil.

A já mám prostě dojem, že postfix propustí vše..neprojde to žádným sítem. Ale šel jsem krok po kroku dle návodů a zatím se mi nedaří ten filtr nějak propojit.
« Poslední změna: 17 Května 2013, 19:24:28 od On »
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

jmp

  • Host
Re:Postfix + Spamassassin
« Odpověď #3 kdy: 17 Května 2013, 20:06:09 »
a jak poznáte, že to "odešlo"?
z toho, že to máte v odeslané poště na klientu?

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Re:Postfix + Spamassassin
« Odpověď #4 kdy: 17 Května 2013, 21:10:49 »
Ano, v podstatě jen podle serverového logu. Tohle považuji za odeslané, pač pokud dodám můj mail, tak to přijde..

Citace
May 15 14:01:15 hostname postfix/pickup[31494]: D7E1F5F813: uid=9999 from=<jenkins>
May 15 14:01:15 hostname postfix/cleanup[12517]: D7E1F5F813: message-id=<20130515120115.D7E1F5F813@hostname>
May 15 14:01:16 hostname postfix/qmgr[26183]: D7E1F5F813: from=<jenkins@hostname.cz>, size=1929, nrcpt=1 (queue active)
May 15 14:01:16 hostname postfix/smtp[12519]: D7E1F5F813: to=<don.memphis@yahoo.com>, relay=smtp.provider.cz[212.111.0.12]:25, delay=0.8, delays=0.4/0.06/0.02/0.33, dsn=2.0.0, status=sent (250 Ok: queued as C3F5F81A066)
May 15 14:01:16 hostname postfix/qmgr[26183]: D7E1F5F813: removed

A v logu spamassassin nic...čili přes něj to vůbec nešlo. Když do /etc/postfix/main.cf dodám:

content_filter = spamassassin:[127.0.0.1]:783

, tak se sice něco děje, ale při odeslání pokusného mailu se odesílá pořád dokola, tzn dochází ke spamu cca tří mailů za vteřinu:

Citace
May 15 20:30:45 hostname postfix/pickup[1810]: AEC9F5F81C: uid=10000 from=<ladik@hostname.cz>
May 15 20:30:45 hostname postfix/cleanup[2244]: AEC9F5F81C: message-id=<20130515183044.CE7BE5F814@hostname>
May 15 20:30:45 hostname postfix/qmgr[1811]: AEC9F5F81C: from=<ladik@hostname.cz>, size=960, nrcpt=1 (queue active)
May 15 20:30:45 hostname postfix/pipe[2246]: AEC9F5F81C: to=<muj@mail.cz>, relay=spamassassin, delay=0.15, delays=0.07/0/0/0.08, dsn=2.0.0, status=sent (delivered via spamassassin service)
May 15 20:30:45 hostname postfix/qmgr[1811]: AEC9F5F81C: removed

...musím ale provést /etc/init.d/postfix stop ..jinak by to pravděpodobně nepřestalo. Ale ve /var/log/spamassassin zase nacházím:

Citace
Thu May 16 17:34:37 2013 [26085] info: prefork: child states: II
Thu May 16 17:34:37 2013 [26086] info: spamd: connection from localhost [127.0.0.1] at port 60789
Thu May 16 17:34:37 2013 [26086] info: spamd: setuid to spamd succeeded
Thu May 16 17:34:37 2013 [26086] info: spamd: processing message <20130516153432.AEC9F5F81C@hostname> for spamd:10000
Thu May 16 17:34:37 2013 [26086] info: spamd: clean message (0.0/5.0) for spamd:10000 in 0.0 seconds, 5792 bytes.
Thu May 16 17:34:37 2013 [26086] info: spamd: result: . 0 - FREEMAIL_FROM,NO_RELAYS,T_TO_NO_BRKTS_FREEMAIL scantime=0.0,size=5792,user=spamd,uid=10000,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=60789,mid=<20130516153432.AEC9F5F81C@hostname>,autolearn=unavailable
Thu May 16 17:34:37 2013 [26085] info: prefork: child states: II

..čili konečně nějaká odezva. Nicméně ten řádek do main.cf jsem zadal jen intuitivně, pač amavis to takhle má. V žádném návodu to ale pro spamassassin není.
Předpokládám, že spamassassin tu vazbu provádí v master.cf po doplnění "-o content_filter=spamassassin". Ale tu teda asi nebere...tady žádnou spolupráci nevidím.
No a nehledě na to, že to stejně nefunguje...jen se mi tím podařilo vyvolat konečně nějakou odezvu.
« Poslední změna: 17 Května 2013, 21:14:53 od On »
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

ETNyx

  • Aktivní člen
  • *
  • Příspěvků: 425
Re:Postfix + Spamassassin
« Odpověď #5 kdy: 19 Května 2013, 10:49:55 »
, tak se sice něco děje, ale při odeslání pokusného mailu se odesílá pořád dokola, tzn dochází ke spamu cca tří mailů za vteřinu:
jsi asi zachycený ve smyčce smtp -> sa -> smpt -> sa a furt dokola musis při zpětném získání zprávy od sa vynulovat ten nastavený filtr
Kód: [Vybrat]
-o content_filter=
« Poslední změna: 19 Května 2013, 11:07:35 od ETNyx »
jabber: etnyx@jabbim.cz

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Re:Postfix + Spamassassin
« Odpověď #6 kdy: 20 Května 2013, 09:32:39 »
Takže, do /etc/postfix/master.cf jsem změnil tento řádek:

smtp      inet  n       -       -       -       -       smtpd -o content_filter=spamassassin

na

smtp      inet  n       -       -       -       -       smtpd -o content_filter=


..a v /etc/postfix/main.cf jsem nechal:

content_filter = spamassassin:[127.0.0.1]:783


...ale výsledek bohužel stejný. Opět začne dokola posílat maily..nebo posílat..ono je to asi neposílá, ale dělá něco cyklicky.
Nejspíš to, co popisuje ETNyx..
Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

 

Provoz zaštiťuje spolek OpenAlt.