Am un server dedicat fara cPanel ce trimite newsletter-e saptamanale. Daca mi-a fost infectat si trimite mii de mesaje de SPAM, cum pot sa le filtrez sa dea drop la tot ce e SPAM, dar sa le trimita pe cele legitime in continuare?
Am un server dedicat fara cPanel ce trimite newsletter-e saptamanale. Daca mi-a fost infectat si trimite mii de mesaje de SPAM, cum pot sa le filtrez sa dea drop la tot ce e SPAM, dar sa le trimita pe cele legitime in continuare?
pentru identificarea spamului care se trimite prin serverul dedicat vom folosi urmatoarele 2 situatii:
in exim conf poti adauga urmatoatele linii in sectiunea ACL configuration(chiar inainte de DNS blacklist)
accept local_parts = myaccount
domains = example.com
exim – serviciu de transport email(MTA)
spamassassin – pentru filtrarea spamului
din versiunea exim 4.50, exim are o interfata pentru spamassasin builtin insa trebuie instalat exim4 heavy(initial se instaleaza light)
dupa instalarea spamassassin pe server, va fi nevoie sa activezi din fisierul acestuia de configurare (ENABLE = 1) si poti actualiza regulile dupa care se face filtrarea prin setarea valorii CRON la 1 din acelasi fisier de configurare
dupa aceste operatiuni se porneste spamassassin cu /etc/init.d/spamassassin start
pentru a accesa interfata spamassassin, va fi nevoie sa accesezi http://ip_address:783 care este portul default al spamassassin
daca spamassassin este configurat pe alt port, va fi nevoie sa specifici acest lucru in exim4-config_options
dupa aceste operatiuni, va fi nevoie sa ii “spui” exim-ului cum si cand sa se foloseasca de spamasassin
vei folosi ACL(access control lists) si va fi nevoie sa editezi exim4-config_check_data:
warn
spam = Debian-exim
condition = ${if <{$message_size}{100k}{1}{0}}
message = X-Spam_score: $spam_scoren
X-Spam_score_int: $spam_score_intn
X-Spam_bar: $spam_barn
X-Spam_report: $spam_report
ACL-ul va incepe sa treaca fiecare mail cu marimea de mai putin de 100kb prin spamassassin
configuratia de mai sus doar va avertiza in privinta spamului dar va face relay in continuare deoarece exista posibilitatea ca acesta sa produca fals-pozitiv in cazul in care codul HTML al newsletterului este scris prost si, desi este tentant sa blochezi astfel de mesaje, in cazul tau nu reprezinta o optiune.
de aceea, cred ca este mai bine sa setezi un filtru de sistem pentru Exim in exim_config_options care arata cam asa:
system_filter = “/etc/exim4/system.filter”
system_filter_user = Debian-exim
system_filter_group = Debian-exim
system_filter_pipe_transport = address_pipe
system_filter_file_transport = address_file
system_filter_reply_transport = address_reply
Filtrul in sine reprezinta o serie de conditii si actiuni care rezulta din indeplinirea conditiilor. Un exemplu de condiftie mai jos:
if $h_X-Spam_score_int is above 99
and foranyaddress $recipients ($thisaddress contains “@mydomain.com”)
save /var/mail/suspect_spam
mail to $thisaddress
subject “[ SPAM Witheld ] $h_subject:”
from “Company Mail Server <no-reply@mydomain.com>”
text “This Message is sent automatically by e-mail software, please do not
reply to itnnThe server suspects that a message sent to you by $h_From:
is spam. It scored : $h_X-Spam_score: .n The spam report is:n
$h_X-Spam-report: n.nThe original message has not been sent to you, but
stored on the server.n If you were expecting it, please contact your system
administrator with the referencen $message_id
finish endif
Cea de-a 2a linie va trece prin toti recipientii(To, CC, BCC) si va cauta dupa adresele care au @mydomain.com pentru a rescrie headerul in cazul in care mesajul este de tip spam si va adauga in linia subiectului cuvantul SPAM, lucru care va fi identificat de catre clientul de mail care va trimite mesajul direct in folderul Junk.