LINUX-BG Адрес : http://www.linux-bg.org |
Антивирусна проверка и SPF поддръжка в Postfix |
От: Н. Антонов Публикувана на: 9-09-2005 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=375334023 |
Тази статия е продължение на статията на Пейо Попов "Postfix с TLS поддръжка" и описва конфигурацията на новия сървър на Linux-BG.org, който много скоро ще поеме върху плещите си нашия сайт. Ако искате да разберете как е организирана цялата ни пощенска система, можете да прочетете статията "Инсталация на Postfix Admin с поддръжка на PostgreSQL". Моля, имайте предвид, че статията е изцяло практически насочена и не претендира за теоретична изчерпателност и прецизност. НЕОБХОДИМИТЕ ПАКЕТИ Както вече знаете от новината за новата ни машина, използваната дистрибуция е Debian GNU/Linux 3.1. Добавянето на антивирусна проверка в пощенския сървър Postfix започва с инсталирането на необходимите пакети. Тъй като се придържаме към изискването да ползваме изцяло свободен софтуер, се спряхме на изключително надеждната антивирусна система ClamAV. Възползвайки се от усъвършенстваната система за проверка на зависимости в Debian, достатъчно е само да изпълним командата:
С тази команда пакетният мениджър apt ще инсталира и останалите пакети, които са необходими за нашата цел. НАСТРОЙКА НА POSTFIX За да "научите" Postfix как да третира писмата, които пристигат и се изпращат чрез него, така че да минават и на "преглед" за вируси, трябва да редактирате двата основни файла на сървъра, като добавите следните директиви и опции:
НАСТРОЙКА НА CLAMSMTP Пакетът clamsmtp осигурява интерфейса между пощенския сървър и самия антивирусен скенер, т.е. изпълнява работата на специализиран прокси сървър. Конфигурационният файл, от който се управлява, е /etc/clamsmtpd.conf. В него редактираме само два реда така, че да са съобразени с настройките, които вече сме задали в Postfix.
Какво се случва на практика? Когато Postfix получи писмо, търси на зададения в main.cf файл адрес 127.0.0.1 и порт 10025 филтър за проверка на съобщенията, където приветливо го посреща clamsmtp. След като писмото бъде прегледано, се връща обратно и clamsmtp го "засилва" към порт 10026, където отново трябва да го посрещне Postfix (посред настройките в master.cf), за да продължи пътя си нататък. SENDER POLICY FRAMEWORK (SPF) В епохата на спама е добре да се използват всички възможни средства за защита от всевъзможни злоупотреби. Често пъти получаваме оплаквания, а и самите ние сме жертви на това, че хората получават спам от името на домейна linux-bg.org, от които по всичко личи, че не са изпратени от нас. Самите ние постоянно получаваме писма от самите себе си, като една голяма част от пощенския боклук, на който ставаме потърпевши, се оказва изпратен именно чрез злоупотреба с чужди домейни. Ето защо решихме да включим SPF запис в домейна linux-bg.org, след като го пренесем на новия ни сървър. Това обаче е само едната страна на медала. Другата предполага да включим в нашия пощенски сървър проверка съгласно SPF. Концепцията е следната. Когато сървърът ни получи писмо от домейна domain.com, проверява дали този домейн има SPF запис в зоната си, който е от типа TXT и изглежда примерно така:
Горният запис се отнася до домейна mail.bg и се вижда чрез командата:
В този запис се намират указания (най-често списък с IP-та), от които пощенският ни сървър разбира кои хостове имат право да изпращат писма от името на този домейн. Ако хостът, от който пристига текущото писмо не попада в този списък, писмото се отхвърля. Как решаваме практически нещата? Преди всичко трябва да инсталираме пакета libmail-spf-query-perl. Още преди време включих този тип проверка в настоящия пощенски сървър на linux-bg.org с помощта на указания от сайта http://spf.pobox.com (може би един от най-полезните източници на информация за SPF). От въпросния сайт се сдобих със скрипта smtpd-policy.pl, който трябва да се "вгради" в конфигурацията на Postfix. "Вграждането" става с добавянето на следната информация във файла master.cf:
За да включим самата проверка, трябва да отворим файла main.cf и да добавим в smtpd_recipient_restrictions допълнението check_policy_service unix:private/policy. Ето как изглежда в момента настройката на този параметър в нашия Postfix:
Ако искаме да се уверим, че нещата работят, можем да следим какво се случва във файла /var/log/mail.log. Ето как протича цялата проверка. Postfix получава писмо от името на домейна access-one.com. Този домейн има SPF запис, който гласи:
Хостът обаче, от който пристига писмото, е с IP 65.31.120.31 и не попада в разрешените съгласно SPF записа хостове. В резултат - писмото е отхвърлено с любезно съобщение от нашия филтър:
<< Инсталиране и конфигуриране на VPN сървър и клиент | Как да форматираме Windows дялове >> |
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|