LINUX-BG Адрес : http://www.linux-bg.org |
Greylisting с Postgrey |
От: Пейо Попов Публикувана на: 13-08-2005 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=programs&key=374645249 |
Същност на метода Greylisting е името на още един начин за борба с нежеланата поща. Предложението за имплементация на метода се основава на наблюдението, че повечето спамъри използват нарочно създаден за целта софутер, който не опитва да изпрати едно съобщение повторно, ако то не бъде прието от първия път. Пощенските сървъри, които са създадени според спецификациите, опитват да доставят отново такова съобщение след определен период от време. Тази разлика служи за отсяване на двата типа изпращачи и в крайна сметка — за намаляване на количеството нежелана поща, което вашите потребители получават. Метода се състои в създаване на връзки или т.нар. „триплети“, които се състоят от:
Всеки такъв триплет се счита за надежден (от гледна точка на Greylisting метода) за определен период от време, ако хоста изпращач повтори опита за изпращане на съобщението след определен период от време и всеки повторен опит ще бъде разрешен (броят на нужните успешни повторни опити може да бъде променен). Имплементация с Postgrey От страницата на проекта може да се сдобиете с кода му или с препакетирана версия за вашата OS. Postgrey е perl скрипт и е завсисим от още няколко модула на perl, за които вероятно имате също готови пакети или със сигурност може да се сдобиете от CPAN. Postgrey се стартира като услуга с -d опцията и комуникацията с него може да се осъществява през unix или inet сокет. При стартиране може да се укажат и броя на нужните успешни опити за доставка на съобщение, за да се счита триплета за надежден. Това става чрез –auto-whitelist-clients опицията, която по подразбиране изисква пет доставени съобщения, а аз съм решил, че и едно е достатъчно. Друго важно решение е и мястото на greylisting проверката в реда на ограниченията, което е свързано с кода на грешката, която трябва да върне сървъра на изпращача. Поведението на postgrey по подразбиране е да бъдат проверени всички ограничения и временната грешка да бъде върната само ако съобщението е щяло да бъде прието. С опцията –greylist-action може да се укаже и твърд код за грешка 451, който ще прекрати проверката на последващите ограничения и точно в този случай мястото на директивата има значение. Нещо, което също е добре да бъде променено е и отговорът на пощенския сървър, когато връща кода за грешка. Това може да стане с За да предпазите потребителите си от процеса си на обучение, докато ползвате предимствата на реалните условия създадени от работещ пощенски сървър е добра идея да се ползват т.нар. whitelists списъци. В postgrey те са три на брой:
С малко познания по perl е възможно и да обърнем логиката на списъците и да ги направим да служат като списък на тези, за които искаме тази проверка да се прилага, което може да е още по-добра идея, когато става въпрос за такава техника и имаме ситуация, в която нови потребители и хостове за поща се добавят често. Освен това с прилагането на метода само за определени адреси или хостове може по-лесно да видим резултата от метода. Мисля, че е подходящо напомняне да оставите адреси като вашият личен, postmaster, webmaster, abuse и подобни, за които пощата трябва да се получава извън обхвата на тези защити, ако, разбира се, вече не сте го направили с access списъка. За активиране на проверката е нужно да включим check_policy_service unix:postgrey/socket на подходящо място сред smtpd_recipient_restrictions в main.cf:
Презареждаме конфигурацията и можем да видим как се държи пощенския сървър. Първо за хост с активиран greylisting:
И после проверка на нормалното поведение:
Postgrey включва и инструмента postgreyreport с който може да гледаме какво става в базата, да си вадим доклади и други полезни функции. Към самата база също е добре да се отнасяме с внимание, за да не загубим доверените триплети, а и защото прочетох на няколко пъти за проблеми с postgrey, при които решението включва ново инициализиране на базата. Връзки
<< Postfix с TLS подръжка | Как да "сваляме" Debian с Jigdo от българските огледала. >> |
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|