• Greylisting, czyli recepta na mniej spamu

    dodany przez Przemysław Sikora

    Greylisting jest jedną z najnowszych i najbardziej kontrowersyjnych metod walki ze spamem. Osobiście jestem nastawiony do niej dosyć sceptycznie. Polega ona na odrzucaniu przez nasz serwer wiadomości pochodzącej z serwera od którego dostajemy ją po raz pierwszy (w danym okresie czasu). Serwer nadawcy powinien ponowić próbę dostarczenia wiadomości, a wtedy zostanie ona przyjęta przez odbiorcę. Niestety wiele maszyn, nawet tych “dobrych” miewa problemy z dostarczeniem takowych wiadomości. Wszystko zależy oczywiście od poprawności konfiguracji. Trzeba mieć jednak na względzie opóżnienie w dostarczeniu wiadomości, nawet do kilkudziesięciu minut, co nie jest przyjemne. Opiszę instalację tego narzędzia antyspamowego na podstawie serwera Postfix i Sendmail, pracujących pod kontrolą systemu CentOS. W pierwszym z nich pakiet nosi nazwę postgrey i jest dostępny w repozytorium RPMforge.

    yum install postgrey
    vim /etc/postfix/main.cf

    dodajemy następujący wpis:

    “smtpd_recipient_restrictions = check_policy_service unix:postgrey/socket”

    a następnie wykonujemy następujące polecenia w konsoli:

    /etc/init.d/postgrey start
    /etc/init.d/postfix restart

    Tyle wystarczy,aby greylisting zaczął działać. Standardowo będzie on odrzucał daną wiadomość przez 300 sekund. Można to oczywiście zmienić. Aby to zrobić należy uruchomić postgrey-a z parametrem “–delay=n” , gdzie n=liczbie sekund. Osobiście polecam modyfikację skryptu startowego znajdującego się standardowo w katalogu “/etc/rc.d/init.d/”. Zmodyfikowana część kodu powinna wyglądać następująco:

    start() {
    echo -n $”Starting $prog: “
    daemon $postgrey -d –delay=60 $OPTIONS
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
    }

    Oczywiście zamiast “60” możemy dać dowolną liczbę sekund. Pamiętajmy jednak, żeby nie była ona zbyt długa, bo może spowodować duże opóźnienia, albo wręcz niedostarczenie wiadomości. Innym bardzo popularnym serwerem pocztowym jest Sendmail. Aby zastosować w nim opisywaną metodę walki ze spamem musimy zainstalowąć pakiet “milter-greylist”

    yum install milter-greylist

    Następnie edytujemy plik “/etc/mail/sendmail.mc”

    vim /etc/mail/sendmail.mc

    dopisujemy:

    INPUT_MAIL_FILTER(`greylist’,`S=local:/var/milter-greylist/milter-greylist.sock’)dnl
    define(`confMILTER_MACROS_CONNECT’, `j, {if_addr}’)dnl
    define(`confMILTER_MACROS_HELO’, `{verify}, {cert_subject}’)dnl
    define(`confMILTER_MACROS_ENVFROM’, `i, {auth_authen}’)dnl
    define(`confMILTER_MACROS_ENVRCPT’, `{greylist}’)dnl

    następnie:

    make /etc/mail
    /etc/init.d/sendmail restart

    Standardowo wszystkie wiadomości są dostarczane bez żadnych opóźnień. Musimy wyedytować plik “/etc/mail/greylist.conf”

    vim /etc/mail/greylist.conf

    zakomentowujemy linijkę z “acl whitelist default” i dopisujemy własną “acl greylist default delay 1m”, gdzie 1m oznacza opóźnienie 1 minutę. Przydatną opcją jest ukrywanie przed serwerem pocztowym nadawcy czasu opóźnienia. Standrdowo jest ona włączona i żeby ją wyłączyć należy zakomentować linijkę mającą w swojej treści słowo “quiet”. Następnie restartujemy milter-greylist-a poleceniem:

    /etc/init.d/milter-greylist restart

    Mam nadzieję, ·że mój krótki tutorial przybliży Wam działanie greylisting-u. Miłej zabawy i powodzenia 🙂

Komentarze do “Greylisting, czyli recepta na mniej spamu”

  1. Netbe pisze:

    Dobry patent, też to zastosowałem i od razu widać spadek ilości spamu.

Dodaj komentarz

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