Как установить почтовый сервер в Ubuntu или Debian. Выбираем почтовый сервер для организации

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое.


Этот урок расскажет как настроить работающий почтовый сервер в Ubuntu или Debian. Как мы знаем, два главных протокола используются в почтовом сервере — это SMTP и POP/IMAP. В этом уроке postfix будет использован для SMTP, в то время как dovecot будет использоваться для POP/IMAP. Они оба с открытым исходным кодом, стабильные и имеют множество настроек.

Пожалуйста, обратите внимание, что вопросы безопасности почтового сервера за сферой данного урока, и они освещены в статье " ".

Предварительные требования

Каждый домен должен иметь запись на DNS сервере. Рекомендуется НЕ использовать живые домены для целей тестирования. В этом уроке тестовый домен example.tst будет использован в лабораторных условиях. DNS сервер для этого гипотетического домена имел бы, по крайней мере, следующие записи.

  • Прямая зона для example.tst:
IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1
  • Обратная зона для example.tst:
192.168.10.1 IN PTR mail.example.tst.

Когда настраивается живой почтовый сервер, эти записи могут быть изменены, в соответствии с системными требованиями.

Настройка имени хоста (hostname)

Во-первых, hostname почтового сервера должно быть определено в /etc/hostname и /etc/hosts. Причём в первом файле следует размещать только имя хоста.

Root@mail:~# vim /etc/hostname mail root@mail:~# vim /etc/hosts ## IP Полностью определённое доменное имя Имя хоста ## 192.168.10.1 mail.example.tst mail

Добавление пользователей

Каждый пользователь Linux, по умолчанию, имеет автоматически созданный почтовый ящик. Эти пользователи и почтовые ящики будут использоваться как почтовые учётные записи и соответствующие им адреса почтовых ящиков. Создание пользователя очень простое.

Root@mail:~# adduser alex

Установка и настройка SMTP

SMTP: Установка postfix

root@mail:/etc/postfix# vim main.cf ## имя сервера ## myhostname = mail.example.tst ## определение псевдонимов ## alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases ## определение transport ## transport_maps = hash:/etc/postfix/transport ## myorigin задаёт доменное имя для писем, берущих начало с этого сервера. В нашем случае, все исходящие письма должны иметь "@example.tst" в качестве домена отправителя ## myorigin = example.tst ## mydestination параметр определяет, какие домены эта машина будет доставлять локально вместо того, чтобы переправлять на другую машину. ## mydestination = mail.example.tst, localhost.example.tst, localhost, hash:/etc/postfix/transport ## адрес smarthost. В этом уроке не используется, о нём будет расказанов в будущей инструкции ## relayhost = ## доверенные сети отправителя. postfix не будет пересылать письма, приходящие из других сетей ## mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.10.0/24 ## размер почтового ящика в байтах. 0 означает без ограничений ## mailbox_size_limit = 0 ## postfix будет прослушивать все доступные интерфейсы, например, eth0, eth1, eth2 и так далее ## inet_interfaces = all
  • transport

Письмам, предназначенным для домена example.tst, определено быть доставлено локально без каких-либо DNS запросов.

root@mail:/etc/postfix# vim transport example.tst local: .example.tst local: root@mail:/etc/postfix# postmap transport
  • aliases

Предполагаем, что все письма, отправленные пользователю userA, должны быть доставлены также пользователю userB, для этого файл aliases изменён как показано ниже:

Root@mail:/etc/postfix# vim aliases userA: userA, userB root@mail:/etc/postfix# postalias aliases

Обратите внимание: Синтекс "userA: userB" определяет, что почта должна быть направлена только пользователю userB. Пользователь userA не будет получать копию письма.

SMTP: Запуск и обслуживание

postfix может быть запущен командой.

Root@mail:~# service postfix restart

Лог-файл в /var/log/mail.log должен предоставить полезную информацию, если что-то пойдёт не так. Прослушивает ли почтовый сервер TCP порт 25 можно также проверить используя netstat.

Root@mail:~# netstat -nat tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN

Как видно из вывода, сервер прослушивает TCP порт 25 для входящих запросов соединений.

Установка и настройка POP/IMAP

POP/IMAP: Установка dovecot

POP/IMAP: Подготовка конфигурационных файлов

Следующие параметры изменяются как нужно.

Root@mail:~# vim /etc/dovecot/conf.d/10-mail.conf ## расположение почтовых ящиков, заданных в формате "mbox" ## mail_location = mbox:~/mail:INBOX=/var/mail/%u ## dovecot даны необходимые разрешения на чтение/запись пользовательских почтовых ящиков ## mail_privileged_group = mail

Этого должно быть достаточно для запуска службы POP/IMAP в почтовом сервере.

POP/IMAP: Установка службы

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

Root@mail:~# service dovecot restart

Вновь лог-файл (/var/log/mail.log) может предоставить важные зацепки, если что-то пойдёт не так. Узнать, запущен ли dovecot, можно при использовании netstat следующим образом.

Root@mail:/etc/dovecot/conf.d# netstat -nat tcp 0 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:143 0.0.0.0:* LISTEN

Использование почтового сервера с пользовательской почтовой программой

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

Решение проблем с почтовым сервером

  • Лучший ваш друг – это лог-файл /var/log/mail.log. Любые зацепки, почему почта не работает, могут быть найдены здесь.
  • Убедитесь, что файервол должным образом настроен.
  • Убедитесь, что DNS сервер имеет должные записи.

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

Валидные DNS записи необходимы для живых почтовых серверов. Можно сделать тюнинг настроек postfix и dovecot в соответствии с потребностями.

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

Надеюсь это поможет.

Эти программы нельзя установить на виртуальный хостинг . Полностью автономный почтовый сервер можно сделать только на виртуальном частном (выделенном) сервере, т. е. На VDS (VPS). — эта статья, как следует из заголовка, расскажет вам о качественном и при этом самом дешёвом варианте виртуального частного сервера, которые при этом ещё и используют облачные технологии.

Вообще, тема почты очень близка авторам , мы уже рассматривали в разное время вопросы создания почты на своих собственных доменах (это позволяет выбрать короткие и красивые имена для почтовых ящиков), как «прикрутить» свой домен к mail.ru да и вообще к любому популярному почтовому ящику, как создать свою автономную почту на хостинге и т. д. Всё это и многое другое вы сможете найти по тегу своя почта.

Гарант является доверенным посредником между Участниками при проведении сделки.


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

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

Для большинства пользователей и начинающих администраторов почтовый сервер представляет собой некий "черный ящик", который получив письмо "неведомыми" путями доставляет его адресату и наоборот. Все взаимодействие с таким сервером заключается в обращении почтового клиента к определенным портам, а то и вообще через веб-интерфейс. Однако внутри скрыт целый механизм, понимание работы которого имеет ключевое значение для успешной настройки и обслуживания системы электронной почты. Это особенно важно для администрирования серверов на платформе Linux. В отличии от Windows, где почтовый сервер представляет собой законченное программное решение и о внутреннем взаимодействии уже позаботились разработчики, в Linux компоненты почтового сервера представляют собой отдельные программы и настраивать их взаимодействие нужно самостоятельно.

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

Важнейшей часть почтового сервера является MTA (Mail Transfer Agent -- агент пересылки почты) в задачи которого входит прием и передача почты. Очень часто (в Linux / UNIX) МТА называют также почтовым сервером. MTA работает по протоколу SMTP, и его одного, в принципе, уже достаточно для создания системы электронной почты. Когда-то давно именно так и было и для доступа к своему почтовому ящику требовалось обладать определенными техническими знаниями.

Однако прогресс не стоит на месте, MTA, получая письмо, помещает его в почтовый ящик пользователя на сервере, к которому последний должен получить доступ, желательно наиболее простым и понятным способом. Вот здесь на сцену выходит MDA (Mail Delivery Agent -- агент доставки почты), его задача по запросу почтового клиента передать ему почту из почтового ящика на сервере. MDA может работать по протоколам POP3 или IMAP, в ряде случаев для "общения" почтового клиента и агента доставки могут применяться собственные протоколы, обладающие расширенной функциональностью, например MAPI (Exchange Server).

Вопреки распространенному заблуждению, MDA не имеет никакого отношения к процессу передачи почты. Это прерогатива MTA. Если провести аналогию, MTA можно представить как почтовое отделение, которое занимается приемом и отправкой почты, а MDA с почтальоном, который приносит пришедшую корреспонденцию к вам домой. Если почтальон заболел, то это никак не скажется на работе почты, просто вы не получите письма на дом. Также и MDA, его отказ не приводит к неработоспособности почтового сервера, становится недоступно только получение почты почтовым клиентом, в то же время к ней можно спокойно получить доступ другими путями, например, через веб интерфейс.

Посмотрим, что происходит при отправке почты. В нашем примере пользователь Иванов, находящийся в домене example.org ([email protected]), пишет письмо Козлову в домен example.com ([email protected]). Для Иванова процесс отправки почты состоит из создания сообщения и нажатия кнопки "Отправить" в почтовом клиенте. Почтовый клиент соединяется с МТА по протоколу SMTP и первым делом сообщает свои учетные данные. Авторизовав пользователя, MTA принимает сообщение и пытается доставить его дальше.

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

Для авторизации MTA может использовать собственный список пользователей, системный список, списки пользователей LDAP или AD. Также существует способ: авторизация POP прежде SMTP, когда пользователь перед отправкой почты авторизуется на MDA, который, в свою очередь подтверждает аутентификацию пользователя для MTA.

Следующим шагом MTA анализирует служебную информацию письма, определяя домен получателя, если он относится к доменам обслуживаем данным МТА, производится поиск получателя и письмо помещается в его ящик. Так произошло, если бы Иванов написал письмо Петрову или Сидорову.

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

Мы не будем рассматривать работу принимающего сервера, будем считать что все прошло нормально, Козлов получил письмо от Иванова и написал ему ответ. Сервер, обслуживающий домен example.com, проводит точно такие же действия и пробует передать почту нашему серверу. Получив входящее сообщение MTA, как и в случае с локальным отправителем, проверяет домен получателя, если он входит в число обслуживаемых MТА, обработка сообщения продолжается, иначе сервер отказывается принимать почту. После проверки домена проверяется получатель, если он присутствует в списке пользователей, сообщение доставляется в его ящик, в противном случае возможны два варианта: отказ от приема сообщения или прием сообщения в общий почтовый ящик (ящик администратора). С одной стороны такая настройка увеличивает число принимаемого спама, с другой позволяет не потерять письма с ошибками в написании адреса.

Еще одной мерой защиты от спама является запрос PTR-записи. PTR-запись (запись указателя) связывает IP-адрес с именем домена. Запрашивая PTR, MTA принимает почту только в том случае если домен отправителя совпадает с доменом отправляющего сервера.

Рассмотрим пример более подробно. Некий спамерский сервер spam.com пытается рассылать письма с поддельным отправителем, якобы от известного нам сервера example.com. В случае фильтрации по белым / черным спискам такое письмо будет доставлено, так как отправителем числится пользователь из доверенного домена (на что и рассчитывали спамеры). В целях борьбы со спамом MTA формирует запрос PTR записи для IP-адреса отправляющего сервера, который он сообщает в процессе SMTP сессии. Для адреса y.y.y.y PTR-запрос вернет имя домена spam.com, которое не совпадает с доменом отправителя, что будет причиной отказа в приеме данного сообщения. В то-же время сообщения от сервера x.x.x.x будут получены, так как домен из PTR-записи для x.x.x.x (example.com) совпадает с доменом отправителя.

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

Для получения почты клиент устанавливает соединение с MDA по протоколу POP3 или IMAP, обязательно передавая данные для авторизации. MDA проверяет наличие пользователя в списках и, при успешной проверке, передает клиенту все новые сообщения находящиеся в его почтовом ящике. Пользователь Иванов получает свою корреспонденцию и может работать с ней удобным ему способом.

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

Электронная почта - это не просто веб-сайт, на котором вы можете обмениваться сообщениями, такой как вконтакте или фейсбук. Это более сложный механизм, который работает с помощью собственного протокола. В сети почтовые клиенты отправляют письма на почтовый сервер, затем они уже направляются к адресату. Именно потому мы можем отправлять почту всем адресатам, независимо от их домена, mail, gmail, yandex и т д. На низком уровне эти сервисы работают по одному протоколу.

Чтобы отправить сообщение почтовый сервер использует программу MTA (Mail Transfer Agent).

MTA - это приложение, которое определяет маршруты и передает электронную почту от одного узла в сети к другому. Для этого используется протокол SMTP - Simple Mail Transfer Protocol или простой протокол передачи почты.

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

MTA работают на сервере, а на компьютерах используются почтовые клиенты, такие как Mozilla Thunderbird, Evolution, Outlook и т д. В этой статье мы рассмотрим лучшие почтовые серверы Linux.

1. Sendmail

Почтовый сервер Sendmail теперь известный как Proofpoint, после того как Proofpoint Inc приобрела Sendmail Inc. На сегодняшний день - это самый популярный и самый старый MTA для операционной системы Linux. Если сравнивать Sendmail и более современные почтовые серверы, то здесь есть много ограничений.

Настройка сервера очень сложная, а система безопасности слабая, поэтому были разработаны альтернативные почтовые серверы. Но все же он достаточно хорошо справляется со своей задачей. Продолжим наш обзор почтовых серверов linux более современными вариантами.

2. Postfix

Postfix - это еще один кроссплатформенный, популярный почтовый сервер, который был разработан Wietse Zweitze Venema для собственного почтового сервера, когда он работал в научно-исследовательском отделе IBM.

Он составляет сильную конкуренцию для очень популярного Sendmail и может работать на Linux, MacOS, Solaris и других Unix подобных системах.

Здесь позаимствовано много свойств Sendmail, но есть и множество отличий и улучшений. Postfix быстрый, безопасный и легкий в настройке. Основные функции:

  • Контроль пропускаемой почты;
  • Поддержка нескольких протоколов;
  • Поддержка баз данных;
  • Поддержка почтовых ящиков;
  • Поддержка изменений адресов;

3. Exim

Exim - это свободный почтовый сервер для Linux, разработанный также для Mac OS, Solaris и других Unix подобных систем. Здесь есть огромные возможности по маршрутизации почты, а также механизмы слежения за входящим потоком.

Основные возможности:

  • Нет поддержки протоколов POP3 и IMAP;
  • Поддерживает протоколы RFC 2821 SMTP и RFC 2033 LMTP для передачи сообщений электронной почты;
  • Настройка списков доступа, сканирования содержимого, шифрования, контроля маршрутизации и многое другое;
  • Отличная документация;
  • Поддерживаются плагины, например Lemonade, который добавляет поддержку протоколов POP3 и IMAP.

4. Qmail

Qmail - еще один свободный и современный сервер отправки электронной почты с открытым исходным кодом. Он простой, надежный и эффективный, предлагает широкие возможности безопасности.

Можно сказать, что это небольшой, но функциональный MTA. Вот его основные функции:

  • Работает не только на linux, но и на нескольких Unix подобных операционных системах, например: FreeBSD, Solaris, Mac OSX;
  • Простая и быстрая установка;
  • Автоматическая настройка хоста;
  • Четкое разделение между адресами, файлами и программами;
  • Полная поддержка адресных групп;
  • Позволяет каждому пользователю управлять своими рассылками;
  • Поддерживает VERP;
  • Поддерживает автоматическое предотвращение зацикливание рассылки;
  • Поддерживает менеджер списков рассылки ezmlm.

5. Mutt

Mutt - это небольшой, но мощный консольный клиент для Unix подобных систем. У него есть несколько интересных функций, несмотря на то что это всего лишь терминальный клиент:

  • Разделение сообщения на потоки;
  • поддержка IMAP и POP3;
  • Поддержка нескольких форматов почтовых ящиков: MBox, MH, Maildir, MMDF;
  • Поддержка статуса доставки;
  • Поддержка PGP / MIME (RFC2015);
  • Поддержка рассылок с помощью списков;
  • Полный контроль над заголовком сообщения;
  • Прост в установке и настройке;
  • Активное сообщество разработчиков и пользователей;

6. Alpine

Alpine - представляет из себя простой в использовании и быстрый клиент электронной почты. Он основан на системе обмена сообщениями Pine и отлично подходит как для опытных, так и для начинающих пользователей. Для получения справки можно воспользоваться встроенным инструментов подсказок.

Выводы

В этой статье мы рассмотрели как передается электронная почта по сети, а также лучшие почтовые серверы Linux (MTA). Еще мы затронули тему консольных почтовых клиентов. Для обработки почты на Losst используется Postfix. А какой почтовый сервер используете вы? Какой считаете лучшим? Почему? Напишите в комментариях!

Начнем с того, что я подразумеваю под средним бизнесом. Я не знаю точную классификацию и нигде не смотрел, не проверял. Мне интуитивно кажется, что это от 10-15 пользователей до 200-300. Я же буду рассматривать сегмент до 100 пользователей , так как почти все время работаю исключительно в этой нише. Проблемы и потребности более крупных компаний мне достоверно неизвестны. Хотя не уверен, что что-то будет принципиально отличаться от 100 человек, думаю подходы будут те же самые, только железо мощнее. Проблемы распределение нагрузок и кластеризации тут скорее всего еще не будут стоять.

Есть у нас небольшая компания на несколько десятков человек. Нам нужен почтовый сервер. Несмотря на то, что технологии давно шагнули вперед, предоставив массу всевозможных средств коммуникации, электронная почта все равно плотно стоит на своих позициях и не собирается их пока уступать. При этом в таком небольшом коллективе, больших требований к почтовому серверу не предъявляют. Чаще всего достаточно, чтобы почта просто работала, без особых функциональных изысков. Будет достаточно либо почтового клиента и протокола imap, либо web интерфейса. Хорошо, если будет возможность настроить автоответ, делать общие папки, единую адресную книгу, но и без этого можно прожить.

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

  1. Сервисы на основе бесплатных почтовых служб гугла, яндекса или мейл.
  2. Свой почтовый сервер на основе бесплатного ПО.
  3. Exchange сервер от Microsoft.

Разберем каждый из них поподробнее.

Бесплатная почта от google, yandex и mail.ru

Сразу сделаю пару замечаний. Я не уверен, что у гугла сейчас можно зарегистрировать бесплатно корпоративную почту. Все, кто зарегистрировались раньше, пользуются бесплатно, а для новых пользователей теперь доступны только платные подписки. Но это не принципиально и не относится напрямую к теме статьи. Если гугл и стал полностью платным для бизнеса, то просто исключим его из нашего списка. Yandex и Mail.ru пока еще точно бесплатные. Сам я администрировал почтовые домены в google apps и в Яндексе. С biz.mail.ru не работал, только знаю, что там реализовано что-то похожее. Мне как-то сама компания не нравится еще со старых времен. Хотя сейчас они вроде как повернулись лицом к пользователям, но Амиго до сих пор жив здоров, так что повернулись еще не совсем.

Рассмотрим плюсы данных почтовых сервисов.

  1. Самое главное преимущество — полноценная почта готова сразу после регистрации. Затрат на покупку железа и настройку нет никаких . Достаточно более ли менее продвинутого пользователя, который по инструкциям на сайте сможет подключить домен и создать почтовые ящики. И почтой уже можно пользоваться.
  2. Легко администрировать и управлять пользователями, веб сервис предоставляет все необходимые оснастки для этого. Они удобны и интуитивно (хотя и не всегда) понятны.
  3. Удобный и привычный web интерфейс . Все работает быстро, из любого места, где есть интернет и браузер. Есть хорошее мобильное приложение.
  4. Широкий функционал , готовый сразу после создания ящика. Различные фильтры, сборщики почты, неплохой антиспам (у гугла) и многое другое.

Вроде все, ничего не пропустил. Казалось бы, плюсы очевидны и существенны. Но прежде чем делать выводы, рассмотрим минусы.

  1. Вы не управляете этой почтой. Она принадлежит не вам , находится не на ваших серверах. Вы не знаете, что с ней происходит. Если у вас есть очень деликатная и приватная переписка, то возникают подозрения и сомнения насчет использования популярных почтовых служб. Это может показаться паранойей, но этот вопрос реально заботит пользователей и владельцев бизнеса, и его не стоит сбрасывать со счетов.
  2. Вы не застрахованы от сбоев в системе и никак не можете их предотвратить. А сбои хоть и не часто, но бывают. Так как сервисы бесплатные, никто ничего вам гарантировать не будет . И если случится какой-то форс мажор и данные пропадут, вам просто скажут извините. Если у вас самих не очень надежная ИТ структура, вероятность технических проблем на вашем личном сервере возможно будет выше. Но вы этим можете управлять и теоретически сможете построить систему с удовлетворяющим вас уровнем надежности.
  3. Неочевидны способы бэкапа и восстановления почтовых ящиков в таких сервисах. Бывают ситуации, когда из почтового ящика удаляют все письма. Допустим, сохранить их можно различными способами, просто скачав, а как потом обратно в ящик вернуть, сохранив все даты оригинальными?
  4. Нет возможности анализировать непонятные ситуации. Например, вы отправляете письмо, а оно не приходит к адресату. Что делать? В случае с облачной почтой вы ничего не сделаете, так как у вас нет никаких инструментов для разбора ситуации. Попробуете просто отправить письмо из другого ящика. Бывает к вам не приходит письмо, и вы никак не можете понять, почему его нет. А дело может быть банально в неправильно настроенном фильтре. Это обычная ситуация, когда фильтров много, плюс если еще какие-то пересылки настроены. Без доступа к логам сервера бывает трудно разобраться в ситуации . А если есть лог почтового сервера, то сразу становится понятно, почему письмо не отправляется, или что с ним стало после получения. Можно наверняка узнать, получил ли удаленный сервер ваше письмо или нет.
  5. Нет простых способов ограничить доступ к почтовым ящикам , например, только из локальной сети офиса. Почтовые ящики публичных сервисов доступны всегда через интернет. Есть возможность решить эту проблему в google apps через авторизацию в сторонних сервисах. В яндексе и мейле я не встречал возможности реализовать такой функционал.
  6. Нужно еще понимать, что бесплатный сыр известно где бывает . До конца не ясно, как почтовые сервисы используют полученную от пользователей информацию. Хорошо, если только для показа им релевантной рекламы. Думаю, что не только для этого.

Когда я только начинал работать примерно 10 лет назад, вопроса какую почту использовать в организации, не стояло. Все ставили свои почтовые серверы и админили их. Бесплатные почтовые сервисы не предоставляли на тот момент для бизнеса никаких инструментов для управления почтой. Когда такие инструменты стали появляться, я думал, что скоро свои почтовые серверы никому не будут нужны, так как в них отпадет смысл. А все мои мучения (не люблю с ними работать) с почтовыми серверами станут бессмысленными.

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

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

Почтовый сервер на базе бесплатного ПО

Рассмотрим преимущества и недостатки собственного почтового сервера на базе бесплатного программного обеспечения. В принципе, сюда можно отнести и некоторые платные, например Kerio Mail Server, который тоже частенько используют. Думаю, его можно сюда же отнести, так как функционал он обеспечивает схожий. Я рассматриваю все почтовые сервера в совокупности, не выделяя отдельных представителей. Хотя в линуксе, кроме postfix и exim, лично я не встречал ничего в продакшене. Сам всегда использую postfix, так как привык к нему и знаю его неплохо. Рассмотрим внимательно плюсы таких серверов.

  1. Вы полностью контролируете всю информацию , которая приходит по почте и хранится на вашем сервере. Вы можете ограничивать по своему усмотрению доступ к почте различными техническими средствами. Можете централизованно настраивать правила удаления, к примеру, приватной информации в письмах, по различным признакам, которые сами можете установить.
  2. Уровень доступности почтового сервиса зависит только от вас. При должном подходе, вы можете обеспечить устраивающую вас надежность работы системы.
  3. Гибкая система бэкапа. Средств для ее организации масса, в том числе бесплатных. Все зависит только от ваших потребностей, навыка и возможностей. Вы можете хранить различные срезы по датам, по ящикам, доменам, организовать любую подходящую схему.
  4. Практически ничем не ограниченный функционал . В разумных пределах, конечно:) Вы можете создавать почтовые ящики с возможностью только локальной переписки, можете централизованно управлять приемом и отправкой почты, вести свои белые и черные списки. Можете настраивать различные ограничения по ящикам и доменам. Можете без проблем централизованно управлять дублированием почты нужных ящиков, делать всевозможные пересылки и много другое.
  5. Все средства мониторинга работы сервера в ваших руках. Вы сможете разобраться с любой непонятной ситуацией , имея на руках логи почтового сервера. Эта служба хорошо логируется. У меня практически никогда не возникало проблем, когда не было понятно, куда пропало письмо. Чаще всего находятся следы и можно однозначно сказать, что стало с письмом.
  1. Необходимо покупать или арендовать оборудование для организации своего почтового сервера. В случае с сервером на линукс, требования к производительности будут не большие. Мне обычно хватает виртуалки на 4 ядра и 4 гб оперативной памяти. Гораздо важнее дисковая подсистема. Тут чем быстрее диски, тем лучше. Не стоит забывать про бэкап. Для него тоже нужны ресурсы железа.
  2. Настройка полноценного, многофункционального почтового сервера требует как минимум средних знаний в системном администрировании linux. То есть просто админ-эникей тут не подойдет. Нужен специалист с опытом . У него должна быть приличная зарплата. Если такого админа нет в штате, я рекомендую нанять кого-нибудь на разовую работу по настройке. Чаще всего после настройки, особой работы по поддержке сервера не требуется, если не будете менять функционал. Достаточно просто следить за свободным местом на дисках и управлять ящиками через web панель.
  3. Удобство работы через web интерфейс будет ниже, чем в бесплатных почтовых службах. Как ни крути, но тот же gmail реализован очень удобно. Быстрый поиск, фильтры, сортировки, метки и т.д. Это реально удобно. Я очень привык и не могу пользоваться чем-то другим.

Такие минусы своего почтового сервиса видятся мне. Самый существенный для меня это последний. Сам привык работать с почтой через web. Почтовыми клиентами не люблю пользоваться, хотя приходится. Web интерфейсы к бесплатным почтовым серверам по удобству и быстродействию сильно не дотягивают до gmail или яндекс, сравнивать бессмысленно. И тем не менее, считаю, что для среднестатистической организации это наиболее оптимальный вариант.

Плюсы и минусы Microsoft Exchange Server

У меня нет большого опыта администрирования exchange. Я его когда-то давно тестировал, когда решал, с какими почтовыми серверами буду работать. Устанавливал, изучал функционал. Потом один раз настроил почтовый сервер для организации. Они хотели именно exchange. Проблем не возникло, быстро настроил по многочисленным гайдам в интернете. Порог входа в настройщики почтового сервера exchange очень низкий. С базовым функционалом может справиться даже эникей.

Для средних организаций реально полезным и трудно заменимым функционалом считаю общие календари. И конечно же удобство интеграции с AD, если она есть. А чаще всего AD есть, так как я не представляю себе администрирование сети больше чем на 20-30 человек без Active Directory. Считаю, что тут бессмысленно экономить и надо покупать Microsoft Server.

Рассмотрим теперь плюсы и минусы Microsoft Exchange Server. Предупреждаю на всякий случай еще раз. Рассказываю только свое видение, опыта работы с сервером мало, поэтому хотел бы сам в комментариях получить замечания по нему, чтобы иметь более адекватную оценку этой системы. Плюсы Exchange:

  1. Большой функционал при относительной простоте настройки. Развернуть сервер с базовым функционалом по силе любому админу. Причем этот базовый функционал может быть больше, чем у какой-нибудь сборке под линуксом.
  2. Интеграция с Active Directory . Вы создаете новую учетную запись пользователя и почтовый ящик ему сразу же готов. Не нужно никаких специальных настроек, если у пользователя Microsoft Outlook. Подключение к серверу настраивается в несколько кликов мышкой.
  3. Удобные средства администрирования в виде готовых оснасток Windows Server. Тут все традиционно для решений от Microsoft.

Минусы Exchange Server такие же характерные, как и плюсы, для большинства продуктов от Microsoft:

  1. Цена, цена и еще раз цена . Microsoft Exchange Server стоит дорого. Нужно считать и прикидывать, будет ли оправдано его приобретать. Для использования всего заложенного функционала, необходимо будет на каждое рабочее место купить редакцию Microsoft Office c аутлуком в комплекте. Это еще дополнительные расходы.
  2. Для хорошей производительности требуется значительно более мощное железо , по сравнению с серверами на линуксе. А для поддержки больших почтовых ящиков, например на 50 гигабайт, понадобится очень мощное железо. Хотя такие ящики для того же dovecot не представляют особых проблем. В exchange вы скорее всего будете использовать квоты для ограничения максимального размера почтового ящика.
  3. Для бэкапа скорее всего придется так же приобретать приличной мощности железо и платный софт . Тут я только предполагаю, реально я не знаю, что нужно для удобного бэкапа exchange. Знаю платный софт от популярных вендоров. Возможно есть что-то бесплатное.

Вывод по Exchange Server у меня таков — он почти во всем хорошо, кроме цены. Если бы он был бесплатен, я скорее всего пользовался бы именно им. По вполне объективным причинам, это невозможно. Хороший и удобный софт сам по себе не появляется. Его нужно создать, а на это потратить средства, которые захочется вернуть с прибылью.

На сегодняшний день, с учетом стоимости Microsoft Exchange Server и Microsoft Office, я не использую эти продукты Microsoft. Мало кто согласен выложить необходимую сумму для почтового сервера. Мне бы хотелось посмотреть на Exchange поближе в реальных условиях хотя бы человек на 60-80, чтобы оценить более объективно этот сервер. Но пока такой возможности не представилось.

Заключение

Подведу итог своим рассуждениям о почтовом сервере для небольшой среднестатистической организации. Хотя вывод, думаю, уже и так понятен. Сам я предпочитаю второй описанный мной вариант — почтовый сервер на базе бесплатного ПО на linux. Но другие два варианта я бы не стал сбрасывать со счетов. Бесплатная почта от публичных сервисов будет однозначна удобна для совсем небольшого коллектива — на 10-15 человек. Городить свой сервер для такой численности нет никакого смысла.

Exchange Server я бы порекомендовал использовать, если есть и не жалко потратить средства на его приобретение. Продукт однозначно удобный, функциональный и простой в настройке и администрировании. Говоря простой, нужно понимать, что это условно. Конфигурации могут быть и очень сложными, но в данном случае я рассматриваю начальный уровень.

Онлайн курс "Администратор Linux"

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Проверьте себя на вступительном тесте и смотрите программу детальнее по.

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

Обзор решений для создания систем отправки и получения сообщений

С помощью почтового сервера на Linux можно быстро и удобно развернуть свой собственный механизм получения и отправки сообщений. В Сети имеется масса готовых решений, которые остается только установить и немного «допилить». Среди них, конечно, присутствуют и более сложные в настройке системы, конфигурирование которых будет показано далее на примере Postfix.

SendMail — популярный и быстрый

SendMail можно назвать первопроходцем среди почтовых серверов на Linux. Первая версия была выпущена в далеком 1983 году. С тех пор SendMail освоил множество станций и узлов. Активно используется и по сей день. Быстрый и оптимизированный сервер, однако не отвечает современным требованиям безопасности и довольно тяжел в настройке.

Postfix — гибкий, мощный и надёжный

Изначально разрабатывался для внутренних нужд исследовательского центра IBM. Многие функции и возможности позаимствованы с SendMail. Однако он гораздо быстрей, безопасней, и настройка занимает меньше времени и сил. Может использоваться как почтовый сервер на Linux, MacOS, Solaris.

IredMail

Данный сервер по сути является набольшим комплектом скриптов и конфигурационных файлов. С их помощью можно быстро поднять почтовый сервер на Linux с Web-интерфейсом и без. Обладает поддержкой протоколов SMTP, POP3 и IMAP. Процедура установки в общем не займёт более 10 минут, в зависимости от мастерства админа.

В процессе iRedMail будут автоматически установлены средства борьбы с вирусами и спамом. Помимо них могут быть добавлены механизмы защиты от перебора паролей, различные анализаторы и прочее. Отличный вариант готового почтового Linux-сервера.

IndiMail

Совмещает в себе несколько известных протоколов и технологий для реализации передачи почтовых сообщений. В систему интегрирована возможность создания каналов между узлами одной сети, например, для организации общего почтового ресурса для разных филиалов компании. В системе имеется очень гибкий механизм настроек. Он реализован через переопределение переменных, коих в сервере около 200. При этом можно создать параллельно несколько потоков работы IndiMail.

Rumble

Почтовый Linux web-сервер, написанный на C++. Имеется встроенный API для управления и создания сценариев. Обладает большим количеством функций и возможностей «из коробки». Поддерживаются несколько известных версий СУБД. При желании или реконфигурации можно быстро перейти с одной на другую. Интерфейсы сервера разделены правами на свои определённые зоны — пользователи, администраторы домена и сервера.

Zentyal

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

Axigen

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

Для конфигурирования и администрирования имеется свой собственный веб-интерфейс. Для любителей классической модели управления — доступно задание команд через консоль.

Сервер поддерживает большое количество операционных систем, в том числе из линейки Windows. Процесс взаимодействия очень хорошо документирован и разъяснён многочисленными примерами на сайте разработчика.

CommuniGate Pro

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

Настройка на примере одной системы

После обзора почтовых серверов на Linux стоит рассмотреть настройку одного из них более подробно.

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

Первое, что нужно сделать — это скачать сам сервер. Он доступен в репозиториях Ubuntu, поэтому в терминале нужно набрать:

В процессе установки система попросит указать новый пароль для пользователя базы данных под учётной записью root. Затем его нужно повторить для подтверждения. Потом может спросить, какой именно тип установки интересует. Затем системное почтовое имя, в котором можно указать — some.server.ru.

Теперь нужно создать базу данных для сервера. Сделать это можно с помощью команды:

mysqladmin -u root -p create mail.

Именно здесь и понадобится указанный ранее пароль для базы данных.

Теперь можно зайти в саму оболочку MySQL с помощью команды:

mysql -u root. Система опять попросит пароль, который надо ввести.

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

Теперь консоль mysql больше не нужна и можно выйти из нее.

Конфигурация Postfix

Для начала нужно показать серверу, каким образом обращаться к базе данных, как искать там необходимые значения. Для этого будет создано несколько файлов. Располагаться они могут в каталоге /etc/postfix. Вот их названия:

В них должно находиться следующее содержимое, среди которого строка query для каждого файла будет уникальной:

user = имя админа, указанное при создании таблицы;

password = <пароль админа>;

dbname = имя созданной базы;

query = запрос, свой для каждого файла;

hosts = 127.0.01.

Переменная query для файлов:

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

Теперь осталось добавить еще немного настроек к Postfix. Стоит обратить внимание, что в строках, приведённых ниже, нужно заменить some.server.ru на реальный домен.

Сертификаты безопасности

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

Создаётся хранилище для файлов:

И файл конфигурации. В нем располагается следующий код:

Небольшое пояснение к нему:

  • переменная C — здесь нужно указать страну в двухбуквенном формате, например, для России — RU;
  • ST — означает конкретный регион или область;
  • L — город;
  • O — наименование предприятия;
  • CN — здесь нужно указать домен, которому предназначается ключ;
  • адрес электронной почты.

Затем создаётся и сам ключ:

sudo openssl genrsa -des3 -out ca.key 4096

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

Теперь нужна открытая версия ключа:

openssl req -new -x509 -nodes -sha1 -days 3650 -key ca.key -out ca.crt -config ca.conf

Здесь нужно будет ввести ранее созданный пароль для частного ключа.

Теперь сертификат:

openssl pkcs12 -export -in ca.cer -inkey ca.key -out ca.pfx

mkdir SERV/some.domen.ru

И создается своя собственная конфигурация:

nano SERV/some.domen.ru/openssl.conf

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

Для генерации ключей используется команда:

sudo openssl genrsa -passout pass:1234 -des3 -out SERV/some.server.ru/server.key.1 2048

В данной строке используется пароль 1234. Он нужен на некоторое время.

Теперь пароль из команды убирается:

openssl rsa -passin pass:1234 -in SERV/some.server.ru/server.key.1 -out SERV/ some.server.ru/server.key

Теперь надо подписать ключ:

openssl req -config SERV/some.server.ru/ openssl.conf -new -key SERV/some.server.ru/ server.key -out SERV/some.server.ru/ server.csr

И удалить временный: rm -f SERV/ some.server.ru/server.key.1

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

Дополнительные функции

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

  • Horde. Очень удобный веб-интерфейс для почты. Помимо своей главной задачи обладает встроенными календарем, планировщиком и контактами. Имеет удобную схему конфигурирования и настройки.
  • Amavisd-new. Выполняет роль шлюза и используется в основном для стыковки различных технологий. Amavisd-new получает сообщение, фильтрует его, выясняет, может ли оно представлять опасность, и подключает дополнительные функции других модулей для проверки.
  • SpamAssassin. Как следует из названия, модуль фильтрует письма по определённым правилам, вычисляя спам. Может использоваться как отдельно, так и в составе различных демонов.
  • ClamAV. Популярный в Linux-среде антивирус. Является свободным программным обеспечением. Умеет работать со множеством различных почтовых серверов, сканировать файлы и сообщения «на лету».
  • Razor. Данный модуль хранит контрольные суммы спам-писем и напрямую взаимодействует с P ostfix.
  • Pyzor — еще один инструмент для определения сообщений, содержащих вредоносный или бесполезный для пользователя код.
  • Fail2ban. Инструмент, защищающий учетные записи пользователей от взлома паролей перебором. После определенного количества попыток конкретный IP-адрес блокируется на какое-то время.
  • Mailman. Удобное средство для создания рассылок через веб-интерфейс.
  • Munin. Инструмент для мониторинга работы сервера. Имеет большое количество готовых плагинов, расширяющих его возможности. Работу сетевых протоколов можно отследить на удобных графиках.

Заключение

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

Однако в случае поломки сервера придётся долго вникать и понимать устройство системы. Статья на примере почтового сервера Postfix показала базовые способы и методы настройки для первичной работы. Вкупе с большим количеством модулей, плагинов и надстроек это позволит создать мощный и надежный инструмент для отправки и получения сообщений.