Manapság az e-mailekkel kapcsolatos legnagyobb problémák egyike a nemkívánatos tömeges levélszemét. Ezek a spam néven is ismert üzenetek vírusokat és egyéb rosszindulatú programokat tartalmazhatnak. Egyes jelentések szerint ezek az üzenetek teszik ki az internet e-mail forgalmának zömét.
This section will cover integrating Amavisd-new, Spamassassin, and ClamAV with the Postfix Mail Transport Agent (MTA). Postfix can also check email validity by passing it through external content filters. These filters can sometimes determine if a message is spam without needing to process it with more resource intensive applications. Two common filters are dkim-filter and python-policyd-spf.
-
Az Amavisd-new egy átalakítóprogram, amely képes tetszőleges számú tartalomszűrő programot meghívni levélszemét-felismerési, víruskeresési stb. céllal.
-
A Spamassassin számos mechanizmust használ az e-mailek szűrésére az üzenet tartalma alapján.
-
A ClamAV egy nyílt forrású víruskereső alkalmazás.
-
dkim-filter implements a Sendmail Mail Filter (Milter) for the DomainKeys Identified Mail (DKIM) standard.
-
A python-policyd-spf engedélyezi a SPF-ellenőrzéseket a Postfix-szel.
A részek így illeszkednek:
-
A Postfix fogadja az e-mailt.
-
The message is passed through any external filters dkim-filter and python-policyd-spf in this case.
-
Ezután az Amavisd-new feldolgozza az üzenetet.
-
A ClamAV megvizsgálja az üzenetet. Ha az üzenet vírust tartalmaz, akkor a Postfix visszautasítja az üzenetet.
-
A tiszta üzeneteket a Spamassassin elemzi, és eldönti hogy az levélszemét-e. A Spamassassin X-Header sorokat ad az üzenethez, lehetővé téve az Amavisd-new számára azok további manipulálását.
Ha például egy üzenet levélszemét-pontszáma ötven felett van, akkor az üzenet automatikusan kidobható a sorból, a címzett tudta nélkül. Másik lehetőség a megjelölt üzenetek kezelésére azok átadása a levelezőkliensnek, lehetővé téve a felhasználónak az üzenet ízlésének megfelelő kezelését.
A Postfix telepítésével és beállításával kapcsolatos utasításokért lásd: „Postfix”.
A további alkalmazások telepítéséhez adja ki a következő parancsokat:
sudo apt-get install amavisd-new spamassassin clamav-daemon sudo apt-get install dkim-filter python-policyd-spf
A jobb levélszemét-felismerés érdekében telepíthető néhány, a Spamassassinba integrálódó csomag:
sudo apt-get install pyzor razor
A fő szűrőalkalmazások mellett tömörítő segédprogramok is szükségesek egyes e-mail mellékletek feldolgozásához.
sudo apt-get install arj cabextract cpio lha nomarch pax rar unrar unzip zip
Ha néhány csomag nem található, akkor az Ha módosította a fájlt, a telepítés újrapróbálása előtt futtassa a sudo apt-get update parancsot. |
Most beállíthatja a csomagokat az együttműködésre és az e-mailek szűrésére.
A ClamAV alapértelmezett viselkedése megfelel igényeinknek. A ClamAV további beállítási lehetőségeivel kapcsolatban nézze meg az /etc/clamav
alatti konfigurációs fájlokat.
Vegye fel a clamav felhasználót az amavis csoportba ahhoz, hogy az Amavisd-new megfelelő hozzáféréssel rendelkezzen a fájlok vizsgálatához:
sudo adduser clamav amavis
A Spamassassin automatikusan felismeri az elhagyható összetevőket, és használatba veszi a jelenlévőket. Ez azt jelenti, hogy nincs szükség a pyzor és razor konfigurálására.
A Spamassassin démon aktiválásához szerkessze az /etc/default/spamassassin
fájlt. Módosítsa az ENABLED=0 értéket:
ENABLED=1
Most indítsa el a démont:
sudo /etc/init.d/spamassassin start
Első lépésként engedélyezze a levélszemét- és víruskeresést az Amavisd-new programban az /etc/amavis/conf.d/15-content_filter_mode
szerkesztésével:
use strict; # You can modify this file to re-enable SPAM checking through spamassassin # and to re-enable antivirus checking. # # Default antivirus checking mode # Uncomment the two lines below to enable it # @bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); # # Default SPAM checking mode # Uncomment the two lines below to enable it # @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re); 1; # insure a defined return
A levélszemét visszaküldése rossz ötlet, mivel a visszatérési cím gyakran hamis. Szerkessze az /etc/amavis/conf.d/20-debian_defaults
fájlt, és állítsa a $final_spam_destiny változót D_BOUNCE helyett D_DISCARD értékűre a következőképpen:
$final_spam_destiny = D_DISCARD;
Ezen kívül szüksége lehet az alábbi beállítások módosítására több üzenet megjelöléséhez levélszemétként:
$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level $sa_tag2_level_deflt = 6.0; # add 'spam detected' headers at that level $sa_kill_level_deflt = 21.0; # triggers spam evasive actions $sa_dsn_cutoff_level = 4; # spam level beyond which a DSN is not sent
Ha a kiszolgáló gépneve eltér a tartomány MX rekordjától, akkor szükség lehet a $myhostname beállítás módosítására. Ha a kiszolgáló több tartomány leveleit is fogadja, akkor a @local_domains_acl beállítást kell módosítani. Szerkessze az /etc/amavis/conf.d/50-user
fájlt:
$myhostname = 'mail.példa.hu'; @local_domains_acl = ( "példa.hu", "példa.org" );
A beállítások módosítása után az Amavisd-new démont újra kell indítani:
sudo /etc/init.d/amavis restart
Az Amavisd-new beállítható azon címek automatikus fehérlistázására, amelyek érvényes tartománykulcsú tartományokból jönnek. Ezek az előre beállított tartományok az /etc/amavis/conf.d/40-policy_banks
fájlban találhatók.
Egy tartomány fehérlistája több módon is beállítható:
-
'példa.hu' => 'WHITELIST',: minden címet fehérlistára tesz a „példa.hu” tartományból.
-
'.példa.hu' => 'WHITELIST',: minden címet fehérlistára tesz a „példa.hu” altartományaiból, amelyek aláírása érvényes.
-
'.példa.hu/@példa.hu' => 'WHITELIST',: fehérlistára teszi a „példa.hu” altartományait, amelyek a példa.hu szülőtartomány aláírását használják.
-
'./@példa.hu' => 'WHITELIST',: a „példa.hu” tartományból érvényes aláírással rendelkező címeket fehérlistázza. Ezt általában az üzeneteiket aláíró tagokkal rendelkező listákhoz használják.
Egy tartománynak több fehérlista-beállítása is lehet. A fájl szerkesztése után indítsa újra az amaisd-new démont:
sudo /etc/init.d/amavis restart
Ebben a kontextusban a fehérlistához adott tartományok üzenetein nem lesz vírus- vagy levélszemétszűrés végrehajtva. Ez lehet egyes tartományok esetén a kívánatos vagy a nem kívánatos viselkedés. |
A Postfix integrációhoz adja ki a következő parancsot:
sudo postconf -e 'content_filter = smtp-amavis:[127.0.0.1]:10024'
Ezután szerkessze az /etc/postfix/master.cf
fájlt, és adja a következőket a fájl végéhez:
smtp-amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
A következő két sort is vegye fel közvetlenül a "pickup" átviteli szolgáltatás alá:
-o content_filter= -o receive_override_options=no_header_body_checks
Ez megakadályozza a levélszemétről küldött értesítő üzenetek levélszemétté nyilvánítását.
Most indítsa újra a Postfix démont:
sudo /etc/init.d/postfix restart
A levélszemét- és vírusfelismeréses tartalomszűrés ezzel engedélyezve lett.
Első lépésként ellenőrizze, hogy az Amavisd-new SMTP figyel-e:
telnet localhost 10024 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 [127.0.0.1] ESMTP amavisd-new service ready ^]
A tartalomszűrőn átmenő üzenetek fejlécében a következőt kell látnia:
X-Spam-Level: X-Virus-Scanned: Debian amavisd-new at példa.hu X-Spam-Status: No, hits=-2.3 tagged_above=-1000.0 required=5.0 tests=AWL, BAYES_00 X-Spam-Level:
A kimenet változhat, de a fontos részt az X-Virus-Scanned és X-Spam-Status sorok képezik. |
A hibák okainak meghatározásához a legjobb módszer a naplók ellenőrzése.
-
A Postfix naplózásával kapcsolatos információkért lásd a „Hibaelhárítás” szakaszt.
-
Az Amavisd-new a Syslogot használja az üzenetek
/var/log/mail.log
fájlba küldésére. A részletesség szintje növelhető a $log_level beállítás/etc/amavis/conf.d/50-user
fájlhoz adásával, és az érték 1 és 5 közé állításával.$log_level = 2;
A Spamassassin naplókimenetének részletessége az Amavisd-new naplókimenetének részletességével együtt nő.
-
A ClamAV naplókimenetének részletessége az
/etc/clamav/clamd.conf
szerkesztésével, és a következő beállítás megadásával növelhető:LogVerbose true
Alapértelmezésben a ClamAV a
/var/log/clamav/clamav.log
fájlba küldi a naplóüzeneteit.
Az alkalmazások naplózási beállításainak módosítása után ne felejtse el újraindítani a szolgáltatást az új beállítások életbe léptetéséhez. Ha a hiba elhárítása sikerült, állítsa vissza a naplózási szintet az eredetire. |
A levélszűréssel kapcsolatos további információért lásd:
A freenode #ubuntu-server IRC-csatornáján is nyugodtan felteheti kérdéseit.