Почтовый сервер unix. Идеальный почтовый сервер. Общие тенденции рынка почтовых серверов

Электронная почта для большинства пользователей выглядит как обычный веб-сайт с удобным интерфейсом, в котором можно комфортно набирать текст, прикреплять картинки и отправлять сообщения друзьям. Однако на самом деле все гораздо сложнее. Для передачи данных используются почтовые серверы на 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 показала базовые способы и методы настройки для первичной работы. Вкупе с большим количеством модулей, плагинов и надстроек это позволит создать мощный и надежный инструмент для отправки и получения сообщений.

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

iRedMail

Название: iRedMail

Лицензия: GNU GPL

Платформа: *nix

Почтовые серверы на *nix подкупают своей открытостью, производительностью и защищенностью, но для новичка развертывание с нуля и последующее сопровождение может превратиться в настоящий кошмар. Проект iRedMail ставит своей целью решить эту проблему. По сути, данная разработка представляет собой набор скриптов и готовых конфигов, упрощающих процесс развертывания и первоначальной настройки почтового сервера на базе Postfix/Dovecot с поддержкой протоколов SMTP, POP3 и IMAP. После запуска скрипт сам скачает и установит нужные пакеты, создаст первый виртуальный домен (задав минимум вопросов) с администратором и пользователем. Сам процесс развертывания занимает минут десять, после чего уже можно будет отправлять и получать почту. Читать документацию и копаться в настройках не придется, не потребуется и специфических знаний *nix. Учетные записи можно сохранять в OpenLDAP или MySQL, это выбирается на этапе установки. Далее можно создавать любое количество доменов, почтовых ящиков и алиасов, то есть ограничений никаких нет. Для защиты почты от вирусов и спама будут автоматически установлены SpamAssassin и ClamAV, а также инструменты, обеспечивающие поддержку технологий SPF (Sender Policy Framework), DKIM (DomainKeys Identified Mail), HPR (HELO Randomization Prevention), Spamtrap и белые, черные, серые списки. Для блокировки попыток перебора пароля ставится iptables Fail2ban. Проект предлагает свою разработку iRedAPD (Access Policy Delegation), позволяющую управлять политиками Postfix, делегируя полномочия между пользователями. Управление производится при помощи веб-интерфейса Roundcube WebMail, параллельно будут установлены средства управления сервисами phpLDAPadmin, PostfixAdmin, phpMyAdmin и анализатор логов AWStats для просмотра статистики. Доступен также локализованный интерфейс администратора собственной разработки - iRedAdmin, в двух версиях: бесплатной Open Source и коммерческой iRedAdmin-Pro. Первая позволяет управлять только учетными записями и доменами, вторая решает все вопросы по администрированию почтовой системы. Все компоненты ставятся на один «чистый» сервер; если уже есть работающий MySQL, к нему можно подключиться, только если выполнить необходимые настройки вручную (требует некоторого опыта).

Поддерживается установка на i386/x86_64 версии Red Hat Enterprise Linux, CentOS, Gentoo Linux, Debian, Ubuntu, openSUSE и Open/FreeBSD. На сайте проекта доступно несколько руководств, помогающих быстро сориентироваться.

IndiMail

Название: IndiMail

Лицензия: GNU GPL

Платформа: *nix

Платформа обмена сообщениями по протоколам SMTP, IMAP, POP3, поддерживающая QMQP, QMTP, DKIM и BATV (Bounce Address Tag Validation) и проверку почты на спам и вирусы. Базируется на нескольких Open Source решениях: Qmail, Courier IMAP/POP3, serialmail (доставка почты через коммутируемые соединения), qmailanalog (списки рассылки), dotforward, fastforward, mess822, daemontools, ucspi-tcp, Bogofilter, Fetchmail и других. Предоставляет набор инструментов для управления виртуальными доменами и учетными записями пользователей собственной разработки. Обеспечивает маршрутизацию для SMTP, IMAP и POP3, что позволяет разместить почтовый домен на нескольких серверах с обменом данными между ними или как прокси. Это очень удобно, если организация состоит из нескольких удаленных офисов. Используя утилиту hostcntrl, можно добавить на обслуживание отдельные адреса из других доменов. Это позволяет использовать IndiMail в гетерогенной среде без необходимости поднятия нескольких доменов или при переходе от проприетарного решения. Несколько серверов с синхронизацией данных позволяют легко наращивать структуру. Чтобы обеспечить лучшую масштабируемость и производительность, некоторые компоненты были изменены (в частности, Qmail). В IndiMail используется несколько так называемых коллекций (queue collection), каждая из которых выполняет свой процесс qmail-send/qmail-todo и может хранить данные на отдельном харде. Такая архитектура позволяет обрабатывать запросы быстрее, чем оригинальный Qmail.

Разработчики дают полную свободу в настройках, практически все параметры можно переопределить через переменные (а их всего около 200). Например, переменная CONTROLDIR указывает на каталог с конфигурационными файлами, QUEUEDIR - каталог с очередями. То есть можно запустить несколько копий IndiMail на одном сервере со своими настройками для каждой очереди, отправителя, получателя и узла. Но разбираться во всех переменных необязательно: чтобы запустить IndiMail, понадобится всего несколько правок. Новички могут управлять установками при помощи меню FLASH (построено на Ncurses). Для хранения данных о виртуальных пользователях используется MySQL, адресные книги могут храниться в OpenLDAP. Последние релизы полностью совместимы с systemd. Много внимания разработчики уделяют безопасности как самого сервера, так и сервисов - минимальное использование SETUID, четкое разделение между программами/адресами/файлами, пятиуровневый trust partitioning, автоматическое распознавание локальных IP, access-list, tcprules, фильтр контента, TLS/SSL и многое другое.

Установить IndiMail можно на любой 32/64 *nix платформе. Для загрузки доступны исходные тексты, пакеты и репозитории для некоторых популярных дистрибутивов Linux (RHEL/CentOS 5/6, Fedora, openSUSE/SLE, Mandriva, Debian и Ubuntu). Для управления сервером предлагается около 45 программ различного назначения (большинство расположено в /var/indimail/bin), учетные записи можно также настраивать при помощи веб-интерфейса iWebAdmin (построен на QmailAdmin), который необходимо устанавливать отдельно.

Rumble

Название: Rumble

Лицензия: GNU GPL

Платформа: *nix, Win


Почтовый сервер, поддерживающий SMTP (ESMTPSA), POP3 и IMAP. Очень прост в управлении, для администрирования используется веб-интерфейс. Вполне подходит для небольших организаций с несколькими доменами. Написан на C/C++, для сценариев предлагается свой API (Lua и C/C++). Архитектура позволяет наращивать производительность сервера за счет кластеризации серверов для одного или всех доменов. Поддерживает SSL/TLS, SQLite и MySQL, аутентификацию (MD5/PLAIN/STARTTLS), для защиты от спама включены модули white/grey/blacklist, SpamAssassin, технологии BATV и VERP (Variable Envelope Return Path). В настройках предусмотрена возможность ограничить максимальный размер сообщения.

На сайте доступны исходные коды и x86/x64-бинарники для установки на Linux (Generic, Ubuntu, Debian). Чтобы запустить сервер, нужно распаковать архив и выполнить скрипт, все остальное программа сделает сама. Для удобства исходные тексты и конфигурационные файлы можно распределить по соответствующим каталогам и обеспечить автозагрузку при старте ОС. Параметры сервера и модули подключаются в файле rumble.conf. Для возможности регистрации через веб-интерфейс (порт 2580) следует удалить автоматически созданный файл modules/rumblelua/auth.cfg (в нем содержится пароль админа), после этого открываем веб-браузер и указываем новый пароль. Теперь можно управлять доменами, учетными записями и почтовыми ящиками, настройками сервера, просматривать логи и статистику.

По умолчанию в качестве базы данных используется SQLite, если его возможностей не хватает или в организации уже есть работающий MySQL, то можно легко переключить сервер для работы с этой СУБД.

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

Zentyal - почтовик из коробки

Новичкам, которых пугает само слово Linux и необходимость ввода команд в терминале, нужно простое решение, позволяющее быстро и без чтения документации развернуть почтовый сервис. Как вариант здесь можно посоветовать Zentyal - специализированный дистрибутив, построенный на базе Ubuntu Server (последний релиз основан на Ubuntu 12.04 LTS) и позволяющий выполнить все необходимые установки и настройки при помощи графического интерфейса. Zentyal - дистрибутив широкого назначения, который может использоваться и как роутер с функциями UTM, офисный сервер или сервер сообщений. Все необходимые функции реализуются при помощи устанавливаемых модулей/пакетов. В настоящее время доступно более тридцати модулей из пяти категорий, которые добавляются одним щелчком. Zentyal может устанавливаться в качестве самостоятельного сервера, используя свою базу пользователей, или работать в связке master/slave с возможностью репликации между несколькими серверами и синхронизации учетных данных с LDAP/AD.

Axigen

Название: Axigen

Лицензия: GNU GPL

Платформа: Linux, FreeBSD, Solaris, Windows


Многофункциональный, быстрый, защищенный почтовый сервер (SMTP/POP3/IMAP) с функциями совместной работы, календарем, списком задач и заметками, разрабатываемый румынской компанией Gecad Technologies. Работать с сообщениями пользователи могут через почтовый клиент или при помощи локализованного (и очень даже симпатичного) веб-интерфейса, построенного с применением технологии Ajax, - его можно полностью подогнать под себя. Поддерживаются горячие клавиши, что еще больше усиливает ощущение работы с обычным настольным приложением. В настройках доступны: сбор почты с внешних ящиков, автоответчик, фильтр почты, установка псевдонимов и другое. Пользователь также может экспортировать/импортировать контакты в файл формата CSV для переноса в другие приложения. Кроме стандартного, предлагается и упрощенный для мобильных устройств интерфейс, поддержка ActiveSync для синхронизации сообщений, контактов и календаря. В качестве дополнения устанавливается расширение для работы с общими папками.

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

Возможна интеграция с LDAP-сервером (в документации описан OpenLDAP и eDirectory) или Active Directory, для этого следует установить специальные схемы расширения. Реализованы модули резервирования и восстановления информации, списки рассылки, поддержка кластера и балансировки нагрузки, MAPI-интерфейс, РOP3- и IMAP-прокси. Сервер может обслуживать несколько доменов с различными настройками. В документации описано, как интегрировать IM-сервис, построенный на основе Jabber/XMPP. Кроме этого, Axigen имеет развитую систему отчетов с выводом всевозможных графиков, всего подготовлено около ста шаблонов. Для защиты информации может использоваться TLS/SSL, поддерживаются все популярные механизмы аутентификации: plain, login, cram-md5, digest-md5 и так далее. Возможна интеграция с пятнадцатью решениями для борьбы с вирусами (Kaspersky, DrWeb, Symantec, ClamAV и другие) и спамом (включая SpamAssassin). Поддерживаются технологии SPF, DKIM, черный/серый/белый списки и фильтрация по IP / стране отправителя. Все это подключается буквально одним щелчком мышки из интерфейса администратора. Возможен обмен данными между Axigen и MS Outlook, для этого необходимо установить коннектор.

Большим плюсом Axigen является возможность работы сервера на нескольких ОС. На странице закачки доступны пакеты для Debian, Red Hat Enterprise Linux и CentOS 5/6, SUSE Linux Enterprise 10/11, Fedora 12 и 13, OpenSUSE 11.2 и 11.3, FreeBSD 7.x/8.x, Solaris 10 x86/SPARC и Win2k3/2k8 (x86/x64). Также подготовлены Virtuozzo - контейнеры для быстрого развертывания в виртуальных средах. Установка очень проста и производится при помощи GUI-интерфейса, в котором предстоит выбрать сервисы, задать порты и указать сетевые интерфейсы для подключений пользователей и админов. При должной сноровке весь процесс займет не более 10–15 минут. На сайте проекта можно найти подробную документацию и несколько видеороликов, в которых показан процесс установки и администрирования. Кроме этого, доступны демоинтерфейсы пользователя и администратора. Версия Axigen Free Mail Server (Office Edition) предоставляется бесплатно и позволяет обслуживать до ста учетных записей e-mail и пять календарей.

CommuniGate Pro

Название: CommuniGate Pro

Лицензия: Free/платная

Платформа: *nix, Windows, Mac OS X


Популярная платформа для обмена электронной почтой, IM, VoIP, с функциями календаря и автоматизацией совместной работы. Например, VoIP обеспечивает передачу голоса/видео и обеспечивает такие возможности, как конференции, автосекретарь (IVR), автоматическое распределение звонков, управление очередями вызовов, голосовая почта. При этом CommuniGate поддерживает установку на большое количество ОС и архитектур (всего около тридцати), IPv4 и IPv6, стандартные протоколы SMTP, SIP, IMAP, XMPP, LDAP, RADIUS, XIMSS, CalDAV, WebDAV, MAPI и другие. Пограничный контроллер сессий (Session Border Controller) обеспечивает корректную работу через NAT-устройства. Входящий в состав CGP LDAP-сервер может использоваться и другими приложениями. Возможна синхронизация данных с BlackBerry при помощи AirSync (лицензия на каждое устройство приобретается отдельно). Менеджер рассылок позволяет автоматизировать рассылку новостей с возможностью самостоятельной подписки пользователем. Рассылка создается администратором, в дальнейшем управляется одним из пользователей сервера.

Пользователи могут подключиться через любую программу-клиент, поддерживающую эти протоколы, или локализованный веб-интерфейс. Причем веб-интерфейс очень просто настроить таким образом, что он принимает вид обычного почтового клиента (чтобы юзвери меньше путались). Также возможно использование упрощенного интерфейса для экономии трафика при работе с PDA и доступ по протоколу WAP с мобильных телефонов. Вызвать пользователя для разговора через VoIP можно одним щелчком из веб-клиента или адресной книги. Администратор в настройках устанавливает доступные пользователю функции - сортировку и пересылку почты, автоответчик, загрузку писем с внешних POP3-ящиков, список контактов, задач и календарь.

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

Один сервер может обслуживать несколько доменов. Узлы кластера способны обрабатывать только определенный вид трафика (например, по региону), для распределения запросов используется технология SIP Farm. Решение легко масштабируется до любых размеров. К слову, на CommuniGate Pro построена сеть IP-телефонии оператора SIPNET.

Возможна аутентификация пользователя при помощи внутренней БД, Active Directory или внешней программы, в том числе поддерживаются сертификаты клиента. В настройках можно указать IP-адреса, с которых разрешено или запрещено подключение клиентов. Вся информация, хранящаяся на сервере и передаваемая между клиентом и сервером, может быть зашифрована с помощью технологий SSL, TLS, S/MIME и других.

Открытые API упрощают интеграцию с системами биллинга и управления. Поддержка плагинов позволяет подключать решения сторонних производителей для фильтрации спама и вирусов. В настоящее время поддерживается интеграция с решениями от Касперского, Sophos, McAfee, MailShell, Cloudmark.

Реализованы и стандартные средства защиты - проверка обратного адреса отправителя, поддержка DNSBL (RBL), запрет приема почты с определенных IP-адресов и сетей, проверка определенной строки в заголовке или теле письма. Установка в любой ОС несложна, по сути, нужно лишь распаковать архив и запустить сервер. Все настройки сервера, доменов и учетных записей производятся при помощи веб-интерфейса (работает на 8010-м порту, после запуска нужно подключиться к нему в течение десяти минут и задать пароль администратора). Система прав позволяет делегировать администрирование домена другим пользователям, указав только те функции, которые им действительно необходимы.

В настоящее время доступно несколько версий сервера, отличающихся лицензиями. Бесплатно предлагается Community Edition, в которой активно пять аккаунтов, за плату предлагаются Corporate Edition и Service Provider с дополнительными функциями.

WARNING

После первого запуска CommuniGate Pro необходимо в течение десяти минут подключиться к порту 8010 и задать пароль администратора.

Заключение

Развернуть почтовый сервер при помощи описанных решений не так уж и сложно, в зависимости от опыта админа и количества настроек на запуск уйдет от силы полчаса. На каком конкретно решении остановиться, выбирать тебе. Для организации среднего размера отлично подойдут iRedMail, Axigen и Rumble; в том случае, когда компания состоит из нескольких территориально удаленных офисов, следует присмотреться к Axigen, IndiMail и CommuniGate Pro. Последний к тому же обеспечивает VoIP.

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

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

Для большинства пользователей и начинающих администраторов почтовый сервер представляет собой некий "черный ящик", который получив письмо "неведомыми" путями доставляет его адресату и наоборот. Все взаимодействие с таким сервером заключается в обращении почтового клиента к определенным портам, а то и вообще через веб-интерфейс. Однако внутри скрыт целый механизм, понимание работы которого имеет ключевое значение для успешной настройки и обслуживания системы электронной почты. Это особенно важно для администрирования серверов на платформе 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. А какой почтовый сервер используете вы? Какой считаете лучшим? Почему? Напишите в комментариях!

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

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

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

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



Что такое протокол почтового сервера

Оказывается, для бесперебойного и синхронного функционирования, все почтовые сервера в мире подчиняются трем основным протоколам работы,

Отправка почты SMTP Simple Mail Transfer Protocol

За отправку почты всегда отвечает протокол под название SMTP, первая версия которого была описана ещё в стандартах 1982 года. В 2008 был обновлен до версии ESMTP с расширенным функционалом. Классический порт доступа протокола: 25 TCP, в случае использования SSL оболочки порт меняется на 465 TCP.

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

  • Ваш почтовый клиент на компьютере устанавливает связь с SMTP-сервером, к которому настроена привязка
  • Сервер интересуется только одним параметром, полученным от вас - получателя. Он делает запрос в DNS службу для получения IP-адреса доставки
  • После того, как SMTP-сервер выяснил местоположение получателя в адресном пространстве, происходит попытка прямого соединения с сервером получателя на порт 25
    SMTP-сервер получателя проверяет наличие клиента в базе данных, в случае совпадения, передаёт данные на свой внутренний POP3 сервер для помещения в ящик пользователя.
  • Если возникли проблемы при соединении с SMTP-узлом получателя, пыпытка отправки будет повторяться ещё несколько раз через определенные промежутки времени. В случае отказа, вам придёт обратно письмо-ошибка

Получение и хранение почты POP3 Post Office Protocol 3

Самый первый, классический и простой протокол удалённого доступа к почтовому ящику. Ни для кого не секрет, что электронная почта хранится на серверах, а то, что вы видите на экране - только её локальная копия. В 1988 году была создана третья, финальная версия протокола, по которому клиенты могут осуществлять забор корреспонденции с серверов. По умолчанию, после копирования писем на локальное хранилище по протоколу POP3, с сервера они безвозвратно удаляются. Стандартный порт доступа: 110 TCP

Рассмотрим шаблонный сеанс работы с POP3-сервером:

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

Расширенная работа с почтой IMAP Internet Message Access Protocol

Более сложный, комплексный и современный протокол работы с удалённым сервером почты. Появился в 1986 году, и существенно увеличился в объемах последнего издания 2003 года. Главное отличие от POP3 связи в том, что работа ведётся без пересылок всего содержания, вы находитесь прямо на сервере и редактируете информацию непосредственно там. Минусом протокола является невозможность работы с почтой при потере соединения с интернетом. Некоторые специалисты считают, что IMAP стал бы монополистом почтовых протоколов, если бы не его посредственная реализация функции отправки писем. Основной порт подключения: 143 TCP или 993 TCP при подключении через шифрованный SSL канал.

Сервер IMAP может находиться в четырёх состояниях

  • Без аутентификации. Сервер ожидает передачи логина и пароля от пользователя
  • Аутентифицирован. Происходит выбор почтового ящика для дальнейшей работы
  • Состояние выбора. После выбора почтового ящика начинается работа с письмами в нём.
  • Выход. Закрытие соединения по ошибке или запросу клиента

Собственный почтовый сервер

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

Готовые решения

Яндекс и MAIL.ru предоставляют бесплатно услуги почтового провайдера для вашего домена. Это значит, что вы получаете почту по адресу [email protected], точно так же было, если бы вы вручную создавали собственный почтовый сервер. Но заботы по обработке корреспонденции компания берёт на себя, предоставляя удобный веб-интерфейс и отдельные адреса для сотрудников.

Ещё одним плюсом является то, что адреса серверов корпоративных почтовых серверов всегда в доверии клиентов, а значит гораздо меньше шансов попасть в спам.

Самостоятельная настройка вручную

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

Для Windows Server классическим считается Microsoft Exchange Server. Полностью интегрируется в среду Windows, совместим по всем протоколам, быстродействующий и легкий в настройке

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

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то