Запуск собственного сервера электронной почты с открытым исходным кодом: администрирование iRedMail
() translation by (you can also view the original English article)



Это вторая часть учебной серии по запуску собственного сервера электронной почты с открытым исходным кодом. В этом уроке я расскажу вам о настройке административной консоли iRedMail, iRedAdmin. Вы можете использовать iRedAdmin для добавления доменов, управления пользователями и т.д. Я также расскажу, как настроить ваши записи DNS, чтобы ваш сервер хорошо сосуществовал с другими почтовыми серверами и их фильтрами спама.
Администрирование iRedMail с помощью iRedAdmin
Как мы уже кратко коснулись в первой части, iRedAdmin является бесплатной административной консолью для iRedMail. Она разработана, чтобы помочь вам только с основами управления вашим почтовым сервером. Более богатая многофункциональная версия iRedAdmin-Pro доступна из команды iRedMail.
Вам не нужно обновляться, и я не настаиваю, но вот некоторые из возможностей в выпуске Pro:
Премиум Альтернатива: iRedAdmin Pro
Вот часть сравнения функций между бесплатной и про-версией:



Здесь вы можете изучить демо-версию iRedAdmin Pro. Цена для версии Pro начинается с 399 долларов США за лицензию на один год:



Обзор нашей конфигурации
Вы можете просмотреть настройки и учетные данные для установки iRedMail, просмотрев файл iRedMail.tips:
1 |
more /home/ubuntu/iRedMail-0.9.0/iRedMail.tips |
Он предоставит вам информацию об исходной учетной записи администратора, а также URL-адрес для входа в административную консоль. Вот пример копии и часть того, как она будет выглядеть:
1 |
iRedAdmin - official web-based admin panel: |
2 |
* Version: 0.4
|
3 |
* Configuration files:
|
4 |
- /usr/share/apache2/iRedAdmin-0.4/ |
5 |
- /usr/share/apache2/iRedAdmin-0.4/settings.py*
|
6 |
* URL:
|
7 |
- https://red.lookahead.me/iredadmin/ |
8 |
* Login account:
|
9 |
- Username: postmaster@mailserver.lookahead.me, password: xxxxxxxxxx |
10 |
* SQL database account:
|
11 |
- Database name: iredadmin |
12 |
- Username: iredadmin |
13 |
- Password: XxXXXXXXXXXXXXXXXxXXXXXX |
14 |
* Settings:
|
15 |
- /usr/share/apache2/iRedAdmin-0.4/settings.py |
16 |
* See also:
|
17 |
- /etc/apache2/conf-available/iredadmin.conf |
Давайте снова войдем в систему и рассмотрим нашу панель управления для iRedMail. Посетите http://yourdomain.com/iredadmin, чтобы увидеть панель входа в систему:



Когда вы входите в систему, вы увидите панель управления iRedAdmin:



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



Нажмите Добавить домен и добавьте новое доменное имя:



Вы попадете на страницу просмотра домена:



И ваш новый домен появится в списке Доменов:



Разумеется, вам нужно будет добавить записи MX с вашим регистратором доменных имен для вашего нового домена для маршрутизации электронной почты на ваш сервер iRedMail. Вот пример:
1 |
lookahead.io. 1800 MX red.lookahead.me. 10 |
Добавление пользователей
На странице Домены и учетные записи нажмите Добавить пользователей и укажите информацию о почтовом ящике для следующего пользователя:



Когда вы их добавите, вы попадете на страницу Просмотр пользователя:



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



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



Настройка пользователя Catch-All
Я рекомендую вам настроить почтовый ящик с вашим сервером iRedMail. Когда я регистрируюсь на веб-сайтах, я использую websitename@mydomain.com в качестве адреса электронной почты. Это несколько помогает минимизировать интеллектуальный анализ данных между рекламными услугами по электронной почте. Это также может помочь вам определить источник спама, созданный от третьих лиц. Здесь я описываю еще несколько способов улучшения личной конфиденциальности.
Вы должны настроить это вручную через базу данных в бесплатной версии iRedAdmin.
Выполните следующие действия, чтобы настроить catch-all ящик для вашего домена. Войдите в свой экземпляр сервера iRedMail. Затем войдите в mysql с паролем администратора (также в файле iRedMail.tips, указанном выше):
1 |
mysql -u root -p |
Из MySQL для каждого домена укажите адрес пересылки почтового ящика для доставки:
1 |
use vmail; |
2 |
INSERT INTO alias (address, goto) VALUES ('@yourdomain.com','youremail@yourdomain.com'); |
Настройка записей сервера почтовых серверов (DNS)
Если вы прочли статью Итак вы хотите отправить какую-то электронную почту (через код), на которую я сослался в последнем уроке, вероятно, вы заметили, что на почтовых серверах требуется множество настроек DNS, чтобы помочь им отфильтровать вероятных спамеров. Чтобы обеспечить надежную доставку почты с нашего собственного сервера, есть несколько настроек DNS, которые нам нужно настроить.
Настройка обратной записи PTR
Документация iRedMail хорошо описывает, как работают записи Reverse PTR и почему они вам нужны:
Наиболее распространенное использование для поиска записи PTR осуществляется с помощью спам-фильтров. Концепция этой идеи заключается в том, что спамеры, отправляющие электронные письма с использованием поддельных доменов, обычно не имеют соответствующей обратной настройки PTR в зоне DNS ISP. Этот критерий используется фильтрами спама для обнаружения спама. Если в вашем домене нет соответствующей реверсивной записи PTR, скорее всего, это программное обеспечение для фильтрации спама электронной почты МОЖЕТ блокировать электронные письма с вашего почтового сервера.
Обратные записи PTR настраиваются владельцем используемого вами IP-адреса, поэтому это, скорее всего, ваш хостинг-провайдер. Например, в моем случае это Digital Ocean, который автоматически настраивает ваш обратный PTR на основе имени хоста вашего сервера. Проконсультируйтесь с вашим провайдером, чтобы определить лучший способ настройки вашего собственного обратного PTR.
Если вы получаете почту для нескольких доменов, настройка записи Reverse PTR с помощью хостинг-провайдера может быть более сложной.
Настройка DomainKeys Identified Mail (DKIM)
Coding Horror описывает, как ваш сервер использует DKIM, чтобы помочь другим почтовым серверам доверять вам:
С помощью DKIM вы «подписываете» каждое электронное письмо, которое вы отправляете, с помощью вашего закрытого ключа, ключ, который вы могли бы знать. И это можно проверить, пытаясь расшифровать электронную почту, используя открытый ключ, хранящийся в ваших общедоступных записях DNS.
iRedMail делает это довольно легко. Из терминала введите команду amavisd showkeys (для некоторых серверов это amavisd-new):
#amavisd-new showkeys
Эта команда отобразит ключи, которые iRedMail настроил для вашего сервера. Это настройки DNS, которые необходимо добавить для успешного конфигурирования DKIM. Добавьте эти записи в свой DNS-провайдер:
1 |
; key#1, domain mailserver.lookahead.me, /var/lib/dkim/mailserver.lookahead.me.pem
|
2 |
dkim._domainkey.mailserver.lookahead.me. 3600 TXT (
|
3 |
"v=DKIM1; p="
|
4 |
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMvBfXBpfZCnyvQAcsaTVkt+t8"
|
5 |
"G0HG1NgfgqKpuC+mRQTlKLNJwNzwVLXUrPc2jQSTJGuiV8OYRGTo6FkkO37/EDsh"
|
6 |
"HsVtPJkOE45TOf1R3jcu3+IzaTWXI6RpqZ+QvSdYGWHQYg18xfTgK+oFkGV876iu"
|
7 |
"IwxXGuhc+cJRl1NYuQIDAQAB") |
Настройка SPF / Sender Id Record
SPF - это метод спама и фишинга, который использует DNS SPF-записи для определения того, каким хостам разрешено отправлять электронные письма для домена. Сообщается, что этот параметр менее важен.
Вы можете использовать мастер Microsoft для создания DNS-записи SPF для своего домена. Вероятно, это выглядит примерно так:
1 |
mydomain.com. 3600 IN TXT "v=spf1 mx mx:mydomain.com -all"
|
Защита сервера
Я рекомендую рассмотреть мой учебник по защите вашего сервера в Tuts +. Я настоятельно рекомендую внедрить и ограничить доступ к ключам SSH и отключить вход на основе пароля.
Затем давайте дважды проверим, что ваш SMTP-сервер не открыт, то есть подвергается воздействию спамеров. Посетите такой инструмент, как SpamHelp Open Relay Test:



Введите имя или IP-адрес своего почтового ящика и нажмите Test. Мы хотим увидеть Error - could not connect to server. Это гарантирует, что наш SMTP-сервер НЕ открыт для спамеров.
Примечание по резервным копиям
Ваше электронное письмо жизненно важно для вас. Убедитесь, что вы создали резервную копию своего сервера. Есть ряд подходов к этому, в которые здесь я не буду углубляться. Например, мой провайдер Digital Ocean предлагает автоматическое резервное копирование за небольшую плату на каждый дроплет или экземпляр. Если вы используете Amazon AWS, Skeddly обеспечивает автоматическое резервное копирование как услугу. Абоненты AWS RDS предоставляют автоматическое резервное копирование самостоятельно. Вы также можете исследовать резервное копирование электронной почты через почтовые протоколы - см. службы резервного копирования GMail и IMAP.
Имейте в виду, что каждая созданная вами резервная копия вводит потенциальные уязвимости безопасности и векторы атак между хакерами и вашей электронной почтой.
Что дальше?
В следующем уроке я расскажу вам о настройках и конфигурациях, которые вы можете сделать с помощью веб-клиента электронной почты Roundcube.
Пожалуйста, размещайте любые комментарии, исправления или дополнительные идеи ниже. Вы можете найти другие мои уроки Tuts + на моей странице инструктора или подписавшись на меня в Twitter @reifman.