Почему не стоит запускать собственный почтовый сервер

Запуская сайт или веб-приложение, пользователи, как правило, настраивают и почтовый сервер для обработки входящей и исходящей почты. Однако зачастую наличие собственного почтового сервера является серьезной уязвимостью для проекта согласно целому ряду причин. В целом, настройка и поддержка почтового сервера – сложная и трудоёмкая задача, отнимающая много времени.

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

Сложности почтовых серверов

Обычный почтовый сервер состоит из множества программных компонентов, каждый из которых выполняет определенную функцию. Каждый компонент должен не только иметь тонкую настройку, но и взаимодействовать с остальными компонентами, чтобы обеспечить полную функциональность почтового сервера. Из-за большого количества «подвижных» компонентов почтовые серверы достаточно сложно установить.

Компоненты, необходимые каждому веб-серверу:

  • Агент пересылки сообщений (mail transfer agent, MTA);
  • Агент доставки сообщений (mail delivery agent, MDA);
  • Сервер IMAP и/или POP3.

Кроме основных компонентов рекомендуется также использовать:

  • Спам-фильтры;
  • Антивирусы;
  • Веб-почту (webmail).

Некоторые пакеты программного обеспечения включают в себя функциональные возможности нескольких компонентов сразу. Кроме программных компонентов, почтовым серверам необходимы доменное имя, соответствующие записи DNS и сертификат SSL.

Рассмотрим необходимые компоненты более подробно.

Агент пересылки сообщений

Агент пересылки сообщений (или MTA), обрабатывающий трафик протокола SMTP (Simple Mail Transfer Protocol), отвечает за:

  • отправку сообщений пользователей на внешний MTA (то есть на другой почтовый сервер);
  • получение сообщений от внешнего MTA.

Примеры программ MTA: Postfix, Exim, Sendmail.

Агент доставки сообщений

Агент доставки сообщений (или MDA), который иногда называют локальным агентом доставки (Local Delivery Agent, или LDA), извлекает сообщения из MTA и помещает их в почтовый ящик соответствующего пользователя.

Существует огромное множество форматов почтового ящика (например, mbox и Maildir). Каждый MDA поддерживает определенный формат почтового ящика. Формат почтового ящика определяет способ хранения сообщений на почтовом сервере, что, в свою очередь, влияет на использование диска и скорость доступа к  почтовому ящику.

Примеры программ MDA: Postfix и Dovecot.

Серверы IMAP и/или POP3

IMAP и POP3 – это протоколы, используемые почтовыми клиентами, то есть, любое программное обеспечение для чтения и извлечения сообщений. Каждый протокол имеет свои сложности; в данной статье рассмотрены некоторые их ключевые различия.

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

Более простой протокол POP3 перемещает сообщения электронной почты на компьютер почтового клиента (как правило, по умолчанию это локальный компьютер пользователя).

Примеры серверов IMAP и POP3: Courier, Dovecot, Zimbra.

Спам-фильтры

Цель спам-фильтра – уменьшить количество входящего спама или нежелательной почты, попадающей в почтовые ящики пользователей. Для достижения этой цели спам-фильтры применяют правила обнаружения спама, которые учитывают различные факторы (отправителя сообщения, содержание и многое другое), что позволяет оценить сообщение. Если эта оценка превышает так называемый spam level, сообщение распознается как спам.

Спам-фильтры можно применить и для исходящей почты. Эта функция может быть полезна в случае, если почтовый аккаунт пользователя был взломан: таким образом можно уменьшить количество спама, передаваемого с помощью данного почтового сервера.

Популярным фильтром с открытым исходным кодом является SpamAssassin.

Антивирусы

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

Веб-почта (или Webmail)

Многие пользователи нуждаются в веб-почте. Веб-почта (в контексте работы с почтовым сервером) – это почтовый клиент, доступный пользователям через веб-браузер (Gmail, вероятно, самый известный пример). Этот компонент нуждается в веб-сервере (например, Nginx, Apache) и может запускаться непосредственно на почтовом сервере.

Примеры: Roundcube and Citadel.

Поддержка почтового сервера

Ознакомившись с серверными компонентами электронной почты, которые нужно установить и настроить, рассмотрим следующий вопрос: почему поддержка почтового сервера может стать слишком трудоёмкой и требовать больших затрат времени? Есть рутинные задачи технического обслуживания: обновление правил антивируса и спам-фильтра, поддержка всех компонентов в актуальном состоянии и т.п.; но помимо этого есть множество других моментов.

Черные списки

Одной из распространенных проблем, относящихся к поддержке почтового сервера, является необходимость удерживать его вне черных списков (которые также называются DNSBL, blacklists, или blackhole lists). Такие списки содержат IP-адреса почтовых серверов, которые распространяют спам или «макулатурную» почту, а также серверов с неверно настроенными DNS-записями. Многие почтовые серверы подписываются на один или даже несколько таких черных списков, после чего фильтруют входящие сообщения в зависимости от того, внесен ли почтовый сервер, отправивший сообщение, в список (или списки). Если почтовый сервер попадает в ЧС, его исходящие сообщения будут отфильтрованы (а некоторые  заблокированы) перед отправкой получателю.

Как правило, попавший в ЧС почтовый сервер можно из этого списка исключить. Для этого нужно выяснить причину занесения сервера в черный список и устранить ее. Затем нужно проследить за процессом удаления сервера из списков и подписаться хотя бы на один из них.

Устранение неполадок

Хотя большинство людей пользуется электронной почтой каждый день, далеко не каждый из них сможет устранить неполадки в этой сложной системе. Например, что делать, если отправленные сообщения не были приняты получателем? Проблема может возникнуть из-за неправильной настройки одного из многих компонентов почтового сервера (например, из-за плохо настроенного спам фильтра исходящих сообщений, или внешних факторов, как черные списки).

Почтовый сервис – простая альтернатива

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

Конечно, это далеко не полный список почтовых сервисов. Каждый такой сервис (включая не внесенные в список) имеет определенные преимущества.

Заключение

Если вы все же предпочтете создать собственный почтовый сервер, одно из нижеперечисленных руководств может стать полезным:

Tags: , , , , , , , , ,

1 комментарий

  • mypostexclusive says:

    Соглашусь с автором)) Я около 2х месяцев пытался собрать свой смтп сервер, но потом пришлось арендовать у компании smtp.bz уже готовый проф сервер для рассылок

Добавить комментарий