poniedziałek, 17 grudnia 2012

Postfix + SpamAssassin + ClamAV + Procmail cz.2

Ciąg dalszy dostrajania Postfix'a do najlepszego działania.

Do obecnej konfiguracji dodamy:

- SpamAssassin - skanowanie naszej poczty pod kontem niebezpiecznych zawartości,
- ClamAV - program antywirsusowy,
- Procmail - sortowanie przychodzącej poczty oraz umieszczanie w konkretnych katalogach



1) Instalacja SpamAssassin'a:

apt-get install spamassassin

Domyślnie działa on z prawami root'a, należy zmienić prawa, co poprawi bezpieczeństwo. Tworzymy nową grupę spamd z GID'em 5001.

 groupadd -g 5001 spamd

Następnie dodajemy nowego usera z tym samym UID'em do grupy spamd:, łącznie z katalogiem domowym, jednocześnie zabraniamy dostępu do konsoli przez SSH:

useradd -u 5001 -g spamd -s /usr/sbin/nologin -d /var/lib/spamassassin spamd

mkdir /var/lib/spamassassin

Uruchamiamy demona oraz konfigurujemy go:

nano /etc/default/spamassassin

ENABLED=1


SAHOME="/var/lib/spamassassin/"
OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${SAHOME} -s /var/log/spamd.log"
PIDFILE="${SAHOME}spamd.pid"

Następnie edytujemy:

nano /etc/spamassassin/local.cf


rewrite_header Subject ***** SPAM _SCORE_ *****
report_safe 1

use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1

Wpis ten będzie filtrował wiadomości oraz dodawał do nich informacje, że jest to spam. Ostatnie 3 linijki to klasyfikator Bayes'a, więcej można przeczytać na: http://pl.wikipedia.org/wiki/Naiwny_klasyfikator_bayesowski .

SpamAssassin już działa poprawnie, tyle że Postfix o tym jeszcze nie wiem:).




2) Instalacja ClamAV:

apt-get install clamsmtp clamav-freshclam

nano /etc/clamsmatpd.conf

Dodajemy/zmieniamy:

OutAddress: 10026

Listen: 127.0.0.1:10025







3) Instalacja Procmail:


apt-get install procmail

Tworzymy oraz dodajemy konfiguracje do pliku procmailrc:

nano /etc/procmailrc

DROPPRIVS=YES
ORGMAIL=$HOME/Maildir
MAILDIR=$ORGMAIL
DEFAULT=$ORGMAIL


Ta konfiguracja powoduje poprawne dostarczenie maila do naszej skrzynki.






4) Połączenie wszystkich elementów w konfiguracji Postfix'a:


nano /etc/postfix/main.cf

Dodajemy do niego:


content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings

Teraz już Postfix będzie wiedział co i gdzie skanować.

Musimy jeszcze mu powiedzieć gdzie i czym dostarczyć wiadomości:

mailbox_command = procmail -a "$EXTENSION"

Dalej edytujemy:

nano /etc/postfix/master.cf 

zamieniamy:

smtp inet n - - - - smtpd

na

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

Na koniec pliku dodajemy:


scan unix - - n - 16 smtp

-o smtp_send_xforward_command=yes

127.0.0.1:10026 inet n - n - 16 smtpd

-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-o smtpd_authorized_xforward_hosts=127.0.0.0/8

spamassassin unix - n n - - pipe

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

5) Uruchamiamy wszystko:



/etc/init.d/spamassassin restart

/etc/init.d/clamsmtp restart

/etc/init.d/postfix restart

Brak komentarzy:

Prześlij komentarz