Spis treści

Otwarcie portów 587 oraz 465 w Postfix

RFC zaleca przekierowanie ruchu użytkowików na porty 587 tls oraz 465 ssl natomiast port 25 wykorzystać wyłącznie do komunikacji między serwerami. tpsa poszła o krok dalej i zablokowała port 25.

w Postfixie porty odblokowujemy odhaszowując linie w master.cf

submission inet n       -       -       -       -       smtpd # port 587
smtps     inet  n       -       -       -       -       smtpd # port 465

Filtr bayes i preferencje użytkowników spamassassin w bazie postgres

Na początku tworzymy użytkownika i bazę danych w postgresie :

CREATE USER sauser PASSWORD 'password';
CREATE DATABASE spamassassin OWNER = sauser; 

Następnie logujemy sie jako sauser do bazy spamassassin i tworzymy schemat bazy.

Schemat zależy od wersji spamassassin Możemy go ściągnąć ze strony http://svn.apache.org/repos/asf/spamassassin/tags/spamassassin_release_3_3_2/sql/

Następnie edytujemy plik local.cf :

vi /etc/spamassassin/local.cf
loadplugin     Mail::SpamAssassin::Plugin::TextCat

user_scores_dsn DBI:Pg:database=spamassassin
user_scores_sql_username sauser
user_scores_sql_password password
# Store bayesian data in PostgreSQL

bayes_store_module Mail::SpamAssassin::BayesStore::PgSQL
bayes_sql_dsn      DBI:Pg:database=spamassassin

bayes_sql_username sauser
bayes_sql_password password

# bayes_sql_override_username vmail # nadpisuje użytkownika jeśli chcemy mieć wspólną bazę 

Edytujemy plik /etc/defaults/spamassassin

OPTIONS="-x -u vmail -q --max-children 5"

Opcje: -x pozwala na użytkowników których nie ma w systemie -q wskazuje na korzystanie z bazy danych -u vmail z tymi uprawnieniami zostanie uruchomiony spamd

Upewniamy sie że użytkownik jest prawisłowo przekazywany do spamd sprawdzając

/etc/postfix/master.cf

flags=DRhu user=vmail:vmail argv=/usr/bin/spamc -u ${recipient} -e /usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}

-u musi być ustawiony ${recipient} a nie np ${user} o ile użytkownicy przyjmują postać pełnego adresu mail

Na koniec sprawdzamy czy całość działa:

sa-learn -D --spam -u vmail /usr/share/doc/spamassassin/examples/sample-spam.txt

Filtr uczący się w roundcube

Uruchamiamy wtyczkę markasjunk2 Do pracy wymaga sa-learn

i ustawiamy w pliku konfiguracyjnym

$rcmail_config['markasjunk2_learning_driver'] = cmd_learn;
$rcmail_config['markasjunk2_spam_cmd'] = 'sa-learn --spam --username=%u %f';
$rcmail_config['markasjunk2_ham_cmd'] = 'sa-learn --ham --username=%u %f';