Почтовый сервер на Linux: обзор и настройка
Электронная почта для большинства пользователей выглядит как обычный веб-сайт с удобным интерфейсом, в котором можно комфортно набирать текст, прикреплять картинки и отправлять сообщения друзьям. Однако на самом деле все гораздо сложнее. Для передачи данных используются почтовые серверы на Linux. Именно они занимаются обработкой, доставкой и маршрутизацией сообщений. В этой статье будут рассмотрены наиболее популярные почтовые серверы на Linux, а также способы настройки некоторых из них.
Vsebina
Обзор решений для создания систем отправки и получения сообщений
С помощью почтового сервера на Linux можно быстро и удобно развернуть свой собственный механизм получения и отправки сообщений. В Сети имеется масса готовых решений, которые остается только установить и немного «допилить». Среди них, конечно, присутствуют и более сложные в настройке системы, конфигурирование которых будет показано далее на примере Postfix.
SendMail — популярный и быстрый
SendMail можно назвать первопроходцем среди почтовых серверов на Linux. Первая версия была выпущена в далеком 1983 году. С тех пор SendMail освоил множество станций и узлов. Активно используется и по сей день. Быстрый и оптимизированный сервер, однако не отвечает современным требованиям безопасности и довольно тяжел в настройке.
Postfix — гибкий, мощный и надёжный
Изначально разрабатывался для внутренних нужд исследовательского центра IBM. Многие функции и возможности позаимствованы с SendMail. Однако он гораздо быстрей, безопасней, и настройка занимает меньше времени и сил. Может использоваться как почтовый сервер на Linux, MacOS, Solaris.
IredMail
Данный сервер по сути является набольшим комплектом скриптов и конфигурационных файлов. С их помощью можно быстро поднять почтовый сервер на Linux с Web-интерфейсом и без. Обладает поддержкой протоколов SMTP, POP3 и IMAP. Процедура установки в общем не займёт более 10 минут, в зависимости от мастерства админа.
В процессе настройки почтового Linux-сервера iRedMail будут автоматически установлены средства борьбы с вирусами и спамом. Помимо них могут быть добавлены механизмы защиты от перебора паролей, различные анализаторы и прочее. Отличный вариант готового почтового Linux-сервера.
IndiMail
Совмещает в себе несколько известных протоколов и технологий для реализации передачи почтовых сообщений. В систему интегрирована возможность создания каналов между узлами одной сети, например, для организации общего почтового ресурса для разных филиалов компании. В системе имеется очень гибкий механизм настроек. Он реализован через переопределение переменных, коих в сервере около 200. При этом можно создать параллельно несколько потоков работы IndiMail.
Rumble
Почтовый Linux web-сервер, написанный на C++. Имеется встроенный API для управления и создания сценариев. Обладает большим количеством функций и возможностей «из коробки». Поддерживаются несколько известных версий СУБД. При желании или реконфигурации можно быстро перейти с одной на другую. Интерфейсы сервера разделены правами на свои определённые зоны — пользователи, администраторы домена и сервера.
Zentyal
Наверное, самый простой и удобный готовый почтовый Linux-сервер. В нем практически все инструкции и настройки исполняют в специальном графическом интерфейсе. Основан данный почтовый сервер на Linux Ubuntu. Добавление функций или возможностей производится путем установки новых модулей. С его помощью можно организовать как отдельный почтовый сервер, так и некий маршрутизатор или узел-посредник между основными магистралями.
Axigen
Бесплатный, мощный и многофункциональный почтовый сервер. Может использовать как через собственный веб-интерфейс, так и через любой почтовый клиент. Умеет собирать почту с внешних ящиков, производить автоматический ответ на сообщения, фильтровать их, а также удобно импортировать в формате CSV.
Для конфигурирования и администрирования имеется свой собственный веб-интерфейс. Для любителей классической модели управления — доступно задание команд через консоль.
Сервер поддерживает большое количество операционных систем, в том числе из линейки Windows. Процесс взаимодействия очень хорошо документирован и разъяснён многочисленными примерами на сайте разработчика.
CommuniGate Pro
Кроссплатформенный сервер, способный работать с электронной почтой и голосовыми сообщениями. Имеется возможность подключиться к нему с помощью почтовых клиентов или централизованного веб-интерфейса. Есть реализация разграничения прав доступа одной учетной записи на несколько человек. Плагины могут помочь в интеграции различных антивирусных систем и решений.
Настройка на примере одной системы
После обзора почтовых серверов на Linux стоит рассмотреть настройку одного из них более подробно.
Для примера можно показать, как установить и настроить Postfix на 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 на реальный домен.
Сертификаты безопасности
Для начала понадобится создать свой центр сертификации, который будет подтверждать достоверность всех сертификатов.
Создаётся хранилище для файлов:
mkdir ~/CA_new
И файл конфигурации. В нем располагается следующий код:
Небольшое пояснение к нему:
- переменная 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
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. Данный модуль хранит контрольные суммы спам-писем и напрямую взаимодействует с Postfix.
- Pyzor — еще один инструмент для определения сообщений, содержащих вредоносный или бесполезный для пользователя код.
- Fail2ban. Инструмент, защищающий учетные записи пользователей от взлома паролей перебором. После определенного количества попыток конкретный IP-адрес блокируется на какое-то время.
- Mailman. Удобное средство для создания рассылок через веб-интерфейс.
- Munin. Инструмент для мониторинга работы сервера. Имеет большое количество готовых плагинов, расширяющих его возможности. Работу сетевых протоколов можно отследить на удобных графиках.
Заключение
Как видно из статьи, установка и конфигурация полноценного почтового сервера вручную — долгое и сложное занятие. Однако такой подход позволит в целом понять, как работает система, и знать ее уязвимые и сильные места. В случае неполадок подготовленный администратор сможет быстро локализовать и устранить проблему. Особенно актуальным это будет для больших компаний, работа которых полностью зависит от оперативности получения и отправки сообщения клиентам или партнерам. Для мелких же сетей вполне подойдет и решение «из коробки», которое можно быстро развернуть, используя удобный интерфейс.
Однако в случае поломки сервера придётся долго вникать и понимать устройство системы. Статья на примере почтового сервера Postfix показала базовые способы и методы настройки для первичной работы. Вкупе с большим количеством модулей, плагинов и надстроек это позволит создать мощный и надежный инструмент для отправки и получения сообщений.
- Как отключить брандмауэр windows.
- Windows Server Update Services (WSUS): настройка. WSUS Offline Update
- Как добавить пользователя в группу Linux с помощью командной строки?
- Как открыть порт в Linux и чем проверить уже открытые?
- Тонкие клиенты: установка и настройка
- Хостинг - что это такое? Какой хостинг выбрать?
- Неожиданная проблема: как узнать свой емайл
- Как создать емайл бесплатно в зонах RU и COM
- Как в `МТА` создать сервер для друзей?
- Ошибка создания сеанса игры - проблемы и их решение
- Virtualbox: настройка сети, Windows XP, Windows 7. Virtualbox Ubuntu: настройка сети
- Как отправить ММС с телефона на компьютер? Как принять ММС на компьютере?
- Подробно о том, как в `Скайп` удалить СМС
- Что делать, если прокси-сервер отказывается принимать соединения
- Платежная система `Вебмани`: как перевести `Вебмани` с кошелька на…
- Как сделать сообщения? Как `В Контакте` управлять письмами
- IMAP безопасность хранения информации
- Как связаться с оператором `Лайфа`: все способы
- Как пользоваться Whatsapp: инструкция
- Как привлекать трафик? Эффективные способы привлечения целевого трафика
- Как пользоваться прокси-сервером