fbpx

Настраиваем фильтрацию от спама в почтовом сервере

Множество почтовых ящиков забито мусорными письмами, другими словами, спамом. И сейчас не говорим о бесплатных почтовых сервисах, а о рабочей электронной почте на собственном сервере.

Многие из вас, возможно, сталкивались с ситуацией, когда сотрудники ИТ-отдела не могли справиться с этой задачей, или справлялись так, что почта вообще переставала доходить.

Мы поделимся  важными настройками почтового сервера, которые значительно уменьшат количество спама, поступающего на ваш почтовый ящик. Почему мы говорим об «уменьшении»? Ответ очевиден: нельзя защитить почтовый сервер на 100% от спама из-за постоянной активности спамеров, которые каждый день придумывают новые методы обхода нашей защиты.

Рассмотрим эти рекомендации на примере почтового сервера на базе Linux с установленным Postfix. Какой дистрибутив Linux вы используете — не имеет значения.

Каждый опытный специалист по ИТ, настраивая почтовый сервер, знаком с понятиями прямой и обратной зоны. И все же до сих пор можно встретить почтовые сервера, которые не находятся в этих зонах. Практически всегда такие сервера считаются спамерскими по умолчанию. Почему?

Потому что одним из наиболее распространенных способов рассылки спама является использование писем, отправляемых с несуществующих серверов, не занесенных в DNS записи. Для того чтобы ваш сервер не считался спамерским, вам необходимо выполнить два действия:

  1. Прописать IP-адрес вашего почтового сервера в прямой зоне DNS. Прямой зоной могут управлять вы сами, ваш хостинг-провайдер или поставщик интернет-услуг.
  2. Прописать ваш почтовый сервер в обратной зоне DNS. В этом случае вам следует запросить добавление соответствующей записи у вашего поставщика интернет-услуг (достаточно предоставить письменное обращение).

При соблюдении этих двух условий в 99% случаев ваш почтовый сервер не будет считаться спамерским. Иногда это правило может не сработать — если IP-адрес вашего сервера окажется случайно или умышленно внесенным в черные списки спама, вам придется разбираться в этом самостоятельно…

Приступим к настройке защиты. У Posfix имеется конфигурационный файл настроек, через него будем настраивать наши дополнительные проверки на спам. Файл называется main.cf. Данные настройки будем добавлять в существующие блоки.

Начинаем:

1. При включении данного параметра приходят письма только от серверов, пересылающих строку «helo».

Большинство спамеров этого не делают.
smtpd_helo_required = yes

2. В данной секции рассматриваются правила приема почты нашим сервером

smtpd_recipient_restrictions =

Параметр разрешающий аутентификацию по логину-паролю (если SSL у вас не настроен — уберите этот параметр, иначе логины и пароли ваших пользователей пойдут в «открытом виде»)
permit_sasl_authenticated,

Параметр, указывающий postfix получать почту от определенных ip адресов (как я и говорил раньше — есть сервера, которые не прописаны в прямой/обратной зонах и их не хотят прописывать или некому). Не забудьте после добавления ip-адресов выполнить команду #postmap /etc/postfix/access, иначе postfix не будет обрабатывать файл
check_client_access hash:/etc/postfix/access,

Иногда встречаются пользователи, которые хотят получать все письма, в том числе спам.
Данное правило указывает на файл, в котором содержаться адреса почтовых ящиков, на которые мы будем получать всю почту. Не забудьте про postmap.
check_recipient_access hash:/etc/postfix/recipient_access,

Не принимаем письма в следующих ситуациях:

  • Если имя сервера отправляющей стороны не правильное
    reject_invalid_hostname;
  • Если имя сервера отправляющей стороны не соответствует FQDN— запрещаем таких
    reject_non_fqdn_hostname;
  • Если имя отправителя не соответствует FQDN — запрещаем
    reject_non_fqdn_sender;
  • Если имя получателя не соответствует FQDN — запрещаем
    reject_non_fqdn_recipient;
  • Проверяем домен на записи типа A и MX в DNS — если нет, то запрещаем
    reject_unknown_sender_domain;
  • В документации postfix сказано «блокирует почту от несуществующих доменов»
    reject_unknown_recipient_domain,

Разрешаем получать письма от адресов, которые перечислены в параметре mynetworks (в данном параметре указываете адреса своих пользователей, почтовых серверов)
permit_mynetworks.

Защита от посылки smtp-команд до момента выяснения, поддерживает ли такие команды postfix
reject_unauth_pipelining.

Данный правило запрещает открытую пересылку писем через ваш Postfix, оставив только возможность принимать письма на известные адреса.
reject_unauth_destination,

Ниже перечислены правила на нахождение почтового сервера в блек-листах спамеров:
reject_rbl_client zombie.dnsbl.sorbs.net,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client multihop.dsbl.org,
reject_rbl_client work.rsbs.express.ru,
reject_rbl_client dnsbl.sorbs.net.

Финальную защиту организуем с помощью PostGrey.

Данная утилита  проверяет почтовые серверы на наличие их в своих списках. Если сервера нет в списках, то при получение первого письма новый сервер заносится в «серый» список. Практически всегда «хороший» сервер высылает второе письмо через определённое время, в этом случае PostGrey его уже пропускает. После 5 пропущенных писем сервер переходит в «белый» список.

Если повторные письма приходят слишком быстро (менее чем через 5 минут), то значит это спамер, и он переходит в черный список.

Если повторного письма нет, то остается в сером списке.

Установка достаточно простая — #yum install postgrey

Настройка также легкая:

  • postgrey_whitelist_clients— файл с указанием почтовиков, от которых принимаем почту всегда
  • postgrey_whitelist_recipients— файл с указанием получателей, для которых почту принимаем всегда.

Очищаем файл postgrey_whitelist_clients.  Изначально там записи от разработчика. Добавляем те сервера, которым доверяем.

Рекомендуем этот список к добавлению:
mail.ru
yandex.ru
rambler.ru
gmail.com
beeline.ru
post.ru
pochta.ru
hotmail.com
hotmail.ru
yahoo.com
hotbox.ru
masterhost.ru
nic.ru
list.ru
bk.ru
inbox.ru
job.ru


Остается только запустить postgrey как сервис:
# chkconfig postgrey on
# service postgrey start


Дальше, если у пользователей возникнут проблемы, можно добавлять в этот файл и другие сервера.
check_policy_service unix:postgrey/socket,

Если почтовый сервер прошел все проверки — тогда добавляем
permit

3. Этот блок для проверки секции SMTP DATA команд.

smtpd_data_restrictions =
reject_unauth_pipelining,
reject_multi_recipient_bounce,
permit

4. Этот блок для проверки исходящей почты или пересылаемой через нас почты.

smtpd_sender_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
check_client_access hash:/etc/postfix/access,
check_recipient_access hash:/etc/postfix/recipient_access,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,


Правило проверки соответствия ip и имени клиента
reject_unknown_client_hostname,

reject_unknown_sender_domain,
reject_unknown_hostname,
reject_rbl_client zombie.dnsbl.sorbs.net,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client multihop.dsbl.org,
reject_rbl_client work.rsbs.express.ru,
reject_rbl_client dnsbl.sorbs.net,
reject_rhsbl_sender dsn.rfc-ignorant.org
permit


Здесь, как видите, нет проверки с помощью Postgrey — она не нужна, так как в этом случае мы отсылаем письма, а не принимаем.

АКЦИЯ! Бесплатное обслуживание до конца месяца!
Спасибо!
Ваши данные успешно отправлены.
Другие статьи
Ключевые преимущества CRM-системы для повышения прибыли вашего бизнеса
Использование CRM уже прочно вошло в российский бизнес, но многие руководители не понимают всей пользы от неё. Если...
Как использовать ChatGPT и другие чат-боты на основе ИИ в российском бизнесе?
Чат-боты наподобие  ChatGPT активно развиваются и уже вполне применяются в бизнесе. Рассмотрим, как можно использовать...
Настраиваем защиту веб-сайта от атак ботов через Cloudflare
Данная статья предлагает подробное руководство по использованию Cloudflare для эффективного сокращения присутствия на...
Правильный способ создания надежного корпоративного VPN
Для работы с недоступными у нас социальные сетями нужен VPN. У части российского бизнеса остаются задачи, которые...
Системы контроля работы сотрудников
При удаленной работе сотрудников (а в некоторых случаях и при работе в офисе) возникает необходимость контроля их...
Облако (облачные сервисы) для бизнеса: что это и зачем нужно?
Использование облачных технологий сейчас в бизнесе - это уже фактическое обязательное условие эффективной работы. Без...
IT-безопасность, кибербезопасность бизнеса: как обеспечить?
Чаще всего задумываются об обеспечения информационной безопасности своей компании после взлома и получения...
Как найти и нанять нужных IT-специалистов: программиста, дизайнера, маркетолога?
В текущих реалиях бизнес не может эффективно работать (а чаще вообще функционировать) без IT-систем. Нужен веб-сайт,...
Преимущества и недостатки IT-Аутсорсинга: это выгодно?
Сейчас фактически любой бизнес требует использование IT-технологий для эффективной работы (в большинстве случае даже...