-
RelayCountryPlugin- odetnij się od zagranicznego spamu
Walka ze spamem to ciągły proces, który jest nieodłącznym elementem życia zawodowego każdego admina serwerów pocztowych. Pewnie większość osób z branży wie, że nigdy nie powinno się odpuścić i pozostawić serwera pocztowego „samemu sobie”. Po pewnym czasie takie zachowanie może się na nas zemścić w postaci niezadowolonych klientów oraz zalegających na spamlistach adresach IP. Nie będę nawet próbował zapewniać, że istnieją niezawodne i proste środki zaradcze. Takich po prostu nie ma. Przydatnym dodatkiem wspomagającym walkę za niechcianymi wiadomości jest plugin „RelayCountry” wchodzący w skład Spamassassina.
Rozpoznaje on „kraj pochodzenie wiadomości”, a konkretnie wszystkich serwerów przez które przechodzi. Powinien być on domyślnie zainstalowany, lecz nie włączony. Czas go wykorzystać. Edytujemy plik „/etc/mail/spamassassin/init.pre”.
vim /etc/mail/spamassassin/init.pre
Znajdujemy linię zawierającą „loadplugin Mail::SpamAssassin::Plugin::RelayCountry” i odkomentowujemy.
Mail::SpamAssassin::Plugin::RelayCountry
Następnie edytujemy plik „/etc/mail/spamassassin/local.cf” i dodajemy następujący wpis: „add_header all Relay-Country _RELAYCOUNTRY_”. Następnie restartujemy SpamAssassina.vim /etc/mail/spamassassin/local.cf
add_header all Relay-Country _RELAYCOUNTRY_
service spamassassin restart
Do prawidłowego działania powyższego pluginu niezbędny jest pakiet „perl-IP-Country”. Dostępny jest on np. w repozytorium rpmforge. Instalacja repozytorium jest prosta. Wystarczy wydać poniższą komendę:
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
dla CentOS 7
rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
dla CentOS 6 32bit
rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
dla CentOS 6 64bit
rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
dla CentOS 5 32bit
rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
dla CentOS 5 64bit
Niestety powyższa instrukcja instalacji wspomnianego pakietu, nie przyda się użytkownikom/adminom CnetOS-a 7.
rpm -ivh http://repo.openfusion.net/centos7-x86_64/perl-IP-Country-2.28-1.of.el7.noarch.rpm
efekt poniżej:
Pobieranie http://repo.openfusion.net/centos7-x86_64/perl-IP-Country-2.28-1.of.el7.noarch.rpm
ostrzeżenie: /var/tmp/rpm-tmp.uRTdor: Nagłówek V4 DSA/SHA1 Signature, identyfikator klucza 2a6b914a: NOKEY
błąd: Niespełnione zależności:
perl(Geography::Countries) jest wymagane przez perl-IP-Country-2.28-1.of.el7.noarch
Jak żyć?rpm -ivh http://repo.openfusion.net/centos7-x86_64/perl-Geography-Countries-2009041301-1.of.el7.noarch.rpm
Pobieranie http://repo.openfusion.net/centos7-x86_64/perl-Geography-Countries-2009041301-1.of.el7.noarch.rpm
ostrzeżenie: /var/tmp/rpm-tmp.4EsOt8: Nagłówek V4 DSA/SHA1 Signature, identyfikator klucza 2a6b914a: NOKEY
Przygotowywanie... ################################# [100%]
Aktualizowanie/instalowanie...
1:perl-Geography-Countries-20090413################################# [100%]
Ponawiamy próbę instalacji pakietu „perl-IP-Country”.rpm -ivh http://repo.openfusion.net/centos7-x86_64/perl-IP-Country-2.28-1.of.el7.noarch.rpm
Pobieranie http://repo.openfusion.net/centos7-x86_64/perl-IP-Country-2.28-1.of.el7.noarch.rpm
ostrzeżenie: /var/tmp/rpm-tmp.AA9tF6: Nagłówek V4 DSA/SHA1 Signature, identyfikator klucza 2a6b914a: NOKEY
Przygotowywanie... ################################# [100%]
Aktualizowanie/instalowanie...
1:perl-IP-Country-2.28-1.of.el7 ################################# [100%]
Po instalacji powyższych pakietów, należy uruchomić ponownie SpamAssassina.service spamassassin restart
W nagłówkach wiadomości powinien zacząć pojawiać się dodatkowy header np. taki: „X-Spam-Relay-Country: PL”.
Jeśli odpalamy SpamAssassina np. przez procmaila, to nic więcej nie musimy konfigurować. W przypadku np. Mimedefang-a musimy dopisać trochę własnego kodu. W przypadku Amavisa, musimy dodać do pliku „/etc/amavisd/amavisd.conf” poniższą linię:$allowed_added_header_fields{lc('X-Spam-Relay-Country')} = 1,
oraz oczywiście go zrestartować. Jeśli nie dodalibyśmy powyższego wpisu, Amavis nie pozwoliłby na dodanie wspomnianego headera. Poniżej przykładowe regułki Spamassassina, przydatne w walce ze spamem, a wykorzystujące opisany powyżej plugin:header RELAYCOUNTRY_BAD X-Relay-Countries =~ /CH/
describe RELAYCOUNTRY_BAD Wiadomosci z Chin czyli pewnie spam
score RELAYCOUNTRY_BAD 1.0header RELAYCOUNTRY_GOOD X-Relay-Countries =~ /^(PL|SE)/
describe RELAYCOUNTRY_GOOD Wiadomosci z Polski i Szwecji :-)
score RELAYCOUNTRY_GOOD -0.2Jeśli używacie powyższego pluginu, podzielcie się opinią/wrażeniami z jego działania.