• RelayCountryPlugin- odetnij się od zagranicznego spamu

    dodany przez Przemysław Sikora

    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.0

    header RELAYCOUNTRY_GOOD X-Relay-Countries =~ /^(PL|SE)/
    describe RELAYCOUNTRY_GOOD Wiadomosci z Polski i Szwecji :-)
    score RELAYCOUNTRY_GOOD -0.2

    Jeśli używacie powyższego pluginu, podzielcie się opinią/wrażeniami z jego działania.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony