Debian levelezés2 amavis, clamav, spamassasin és ami kimaradt

A mailq az átmeneti tároló ahol vannak a várakozó levelek, amik vagy postázásra fognak kerülni vagy csak pár darab próbálkozás után sikertelen lesz az elküldésük. Megnézni, hogy mennyi levél ragadt be, a mailq paranccsal lehet. Kiüríteni: postsuper -d ALL újra küldeni: postqueue -f parancsal lehet.

A leveleket mi a /home mappában tároljuk és azon belül egy Maildir nevezetű mappában. A maildirmake parancsot kiadva a mappában létrejön a könyvtár szerkezet, de a levelező kliensek általában létrehozzák maguknak.
Ami viszont a legfontosabb, hogy mindig is legyen megfelelő jogosultsága a felhasználóknak a saját mappájukra, lehetőleg legyen a saját tulajdonukban. Különben a nemfognak a leveleik se beérkezni és látni se fogják őket.

Ha nem muszáj ne indítsuk újra a konfigurálás során a postfix-et, elég lehet csak a beállításokat újra tölteni:

/etc/init.d/postfix reload

Hirdetés

A levélforgalmat elég nehéz sokszor követni, mert a mail.log fájlok eléggé nagyra hízhatnak. Erre van egy egyszerű program ami szép táblázatot rajzol a levélforgalmunkról.
Telepítsük fel a pflogsumm programot.

apt-get install pflogsumm

A következő parancsot kiadva csinál nekünk egy szép összegzést a leveleinkről:

pflogsumm.pl /var/log/mail.log > /akármilyenelérésiút/fajlnév.txt

Előfordulhat, hogy az courier-imap nem hajlandó jól működni, mert hiányol egy összetevőt. Akkor tegyük fel a következőt még neki: apt-get install fam

Telepítsünk vírus és spam szűrést. A clamav egy egyszerű víruskereső, nincs is nagyon mit hozzáfűzni. A spamassassin spam szűrőről annyit érdemes tudni, hogy pontozza a leveleket, a tartalmuk és fejlécük alapján. A pontszámokból kalkulálja majd az amavis, hogy mi legyen a levél további sorsa.

apt-get install amavisd-new spamassassin clamav clamav-daemon

Kezdjük a clamav-al. Két fájlja van ami érdekes, a freshclam.conf és a clamd.conf.
A freshclam.conf a vírusadatbázis frissítéséért felelős. Az alapértelmezett beállítások jók, amiket érdemes ellenőrizni azért az az adatbázis frissítési helye és frissítés gyakorisága:

Checks 24
DatabaseMirror db.local.clamav.net
DatabaseMirror database.clamav.net
DatabaseMirror db.hu.clamav.net

A vírusadatbázist manuálisan is frissíthetjük, ha szükséges freshclam paranccsal. A clamd.conf -hoz se igazán muszáj hozzányúlni.

Az amavisd.conf -ban találjuk az amavis konfigurációját. Töltsük ki a domain-ünket:

$mydomain = 'ceg.hu'; # (no useful default)
$myhostname = 'mail.ceg.hu'; # fqdn of this host, default by uname(3)

A conf.d mappán belül érdekes még, hogy a 20-debian_defaults fájlban lehet állítgatni a pontozási értékeit a spameknek. Egy részletet azért beszúrok ide a config fájlból:

[...]
$QUARANTINEDIR = "$MYHOME/virusmails";
$quarantine_subdir_levels = 1; # enable quarantine dir hashing

$log_recip_templ = undef; # disable by-recipient level-0 log entries
$DO_SYSLOG = 1; # log via syslogd (preferred)
$syslog_ident = 'amavis'; # syslog ident tag, prepended to all messages
$syslog_facility = 'mail';
$syslog_priority = 'debug'; # switch to info to drop debug output, etc

$enable_db = 1; # enable use of BerkeleyDB/libdb (SNMP and nanny)
$enable_global_cache = 1; # enable use of libdb-based cache if $enable_db=1

$inet_socket_port = 10024; # default listening socket

$sa_spam_subject_tag = '***SPAM*** ';
$sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 6.31; # triggers spam evasive actions
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent
[...]
$final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine)
$final_banned_destiny = D_BOUNCE; # D_REJECT when front-end MTA
$final_spam_destiny = D_BOUNCE;
$final_bad_header_destiny = D_PASS; # False-positive prone (for spam)
[...]

A 15-content_filter_mode fájlban ez a két bejegyzés szükséges:
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

A többi fájl alapértelmezetten is megfelelő.

Ha nincs akkor hozzuk létre a /var/log/amavis.log fájlt. Adjunk neki jogot: amavis:amavis
A /etc/clamav/freshclam.conf - re clamav:adm jogosultságot adjunk.

Adjuk ki a következő parancsot: adduser clamav amavis különben nem fog működni a rendszerünk.

A spamassassin konfigurálása nem túl nehéz. Az /etc/spamassassin/local.cf fájlban állítsuk be a következőket:

use_bayes 1
use_bayes_rules 1
#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor

#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf

A razor és a pyzor kiegészítés a spamassasinhoz, hogy hatékonyabb legyen a levél szemét felismerése és szűrése. Telepítsük fel őket:
apt-get install pyzor razor

A levelek mellékletébe, hogy beletudjon nézni a clamav és a spamassassin ezért szükséges feltelepíteni a tömörítőket is:
apt-get install arj cabextract cpio lha nomarch pax rar unrar unzip zip

A spamassassint meglehet tanítani a spam-os levelek felismerésére vagyis javítani a hatékonyságán. Ehhez csak annyit kell tennünk, hogy gyűjtünk pár száz / vagy ezer spamos és nem spam-os levelet, majd megtanítjuk neki, hogy melyikkel mit kezdjen:

sa-learn --spam ~/Maildir/.Junk
sa-learn --ham ~/Maildir/.Ham
sa-learn --forget ~/Maildir/.Forget

Ha a levelezéshez szükséges valamelyik folyamatot/okat szeretnénk újra indítani, a következőkből lehet válogatni:

/etc/init.d/amavis clamav-daemon clamav-freshclam
courier-authdaemon courier-imap courier-imap-ssl courier-ldap
courier-pop courier-pop-ssl postfix spamassassin restart

A karantén a /var/lib/amavis/virusmails mappában található, bár én onnan semmit se szednék vissza :)

A levelezés tesztelése nagyon egyszerű, küldj a belső hálón levelet, majd küldj valami külső levelező szerverre és küldj külső levelező szerverről befelé levelet, ha minden megérkezik akkor lehet örülni :)

Ha szeretnénk a spambotokat kiszűrni egy kicsit, hogy ne fárasszák magukat feleslegesen, az olyan levelek küldözgetésével amiket úgy se kapunk meg, akkor a legjobb dolog tiltani őket legalább egy napra vagy többre. Erre jó a fail2ban. Ami elemzi a mail.log-unkat és ha látja, hogy egy ip címről több eldobott levél jön, akkor szépen az iptablesbe felvesz automatikusan egy szabályt, amivel blokkolja a nem kedves emberek ipjét, majd feloldja őket, amikor lejárt a ban. Miközben nekünk semmi dolgunk :) Telepítsük fel:

apt-get install fail2ban python-gamin

Az /etc/fail2ban/jail.conf fájlban állítsuk be a következőket:
[postfix]
enabled = true
port = smtp,ssmtp
filter = postfix
logpath = /var/log/mail.log
bantime = 600
maxretry = 2

A /etc/fail2ban/filter.d/postfix.conf fájlba pedig ezt a sort véssük be:
failregex = reject: RCPT from (.*)\[<HOST>\]: 554

Adjuk ki /etc/init.d/fail2ban restart ha szükség van rá.

Nálunk jelenleg nincs beállítva a postgrey, de ha nagyon elszaporodnának a spam-ok akkor érdemes lehet még bevetni. postgrey, spam postgrey, postgrey debiantutorials

levélszűrés ubuntu
postfix clamav dspam couier hogyan
Spamassassin
spamassassin
fail2ban exim
fail2ban courier
Levélszűrés ellenőrzés

Légy az első hozzászóló!

Még nem szólt hozzá senki sem.

Hozzászólok