Как просто установить и настроить полный почтовый сервер на Ubuntu 20.04 с помощью iRedMail

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

Содержание статьи

iRedMail — это программный комплекс, предназначенный для развертывания полноценного почтового сервера.

iRedMail представляет собой скрипт, который автоматически устанавливает и конфигурирует все необходимые компоненты для почтового сервера на вашем Linux или BSD сервере, избавляя от необходимости выполнения этих шагов вручную. Благодаря iRedMail, вы сможете с легкостью создавать любое количество почтовых ящиков и доменов через веб-интерфейс администратора. Почтовые ящики могут быть сохранены в базах данных MariaDB/MySQL, PostgreSQL или в OpenLDAP. Ниже приведён перечень программ с открытым исходным кодом, которые будут автоматически установлены и настроены с использованием iRedMail.

  • SMTP-сервер Postfix
  • IMAP сервер Dovecot
  • Nginx используется в качестве сервера для администрирования панели и веб-почты.
  • Для хранения данных о пользователях можно использовать OpenLDAP, MySQL/MariaDB или PostgreSQL.
  • Amavised-new для подписи и проверки DKIM
  • SpamAssassin для предотвращения нежелательных сообщений
  • ClamAV в качестве решения для антивирусной защиты
  • Веб-почта Roundcube
  • SOGo — это программное обеспечение для групповой работы, которое предлагает веб-почту, календарь (CalDAV), управление контактами (CardDAV), задачи и функции ActiveSync.
  • Fail2ban как средство защиты SSH
  • Менеджер по рассылкам mlmmj.
  • Мониторинг сервера с помощью Netdata
  • iRedAPD — это сервер политики Postfix, предназначенный для управления серыми списками.

Подберите оптимального провайдера хостинга и приобретите домен.

Чтобы развернуть полноценный почтовый сервер с iRedMail, вам потребуется сервер с минимум 3 ГБ оперативной памяти, так как после установки потребление ОЗУ превысит 2 ГБ.

Рекомендуется развернуть iRedMail на совершенно новом сервере с операционной системой Ubuntu 20.04.

Данный мануал создан на виртуальном частном сервере Kamatera, стоимостью $9 в месяц, с 1 процессором и 3 ГБ оперативной памяти. Пользователи могут воспользоваться 30-дневным бесплатным тестовым периодом.

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

  • Порт 25 не заблокирован, поэтому вы можете отправлять неограниченное количество электронных писем, включая транзакционные и информационные рассылки, без дополнительных расходов на услуги SMTP-релейного сервиса. Kamatera не накладывает никаких ограничений на использование SMTP. Вы можете отправлять до миллиона писем ежедневно.
  • IP-адрес не числится в каких-либо черных списках электронной почты. (Это относится к моему случаю, так как я выбрал дата-центр в Далласе.) Важно избежать попадания в черные списки, такие как Microsoft Outlook или spamrats. Некоторые из этих списков могут блокировать целые диапазоны IP-адресов, и в таком случае вы не сможете удалить свой IP из черного списка.
  • Редактирование PTR-записи может повысить эффективность доставки электронной почты.
  • Они предоставляют возможность отправлять информационные бюллетени вашим подписчикам по электронной почте без каких-либо ограничений по времени или дням.
  • Вы можете заказать несколько IP-адресов для одного сервера. Это особенно актуально для тех, кто планирует отправлять значительные объемы писем. Распределение электронного трафика между несколькими IP-адресами способствует улучшению доставки электронной почты.

Некоторые провайдеры VPS, такие как DigitalOcean, закрывают доступ к порту 25. DigitalOcean не предоставляет возможности разблокировки этого порта, поэтому вам придется настроить SMTP-реле для обхода ограничений, что может потребовать дополнительных затрат. Если вы используете VPS от Vultr, порт 25 также по умолчанию закрыт. Его можно разблокировать, открыв тикет в службу поддержки, но провайдер оставляет за собой право снова закрыть его, если посчитает, что ваша деятельность по отправке почты не соответствует их правилам. Vultr может вновь ограничить доступ к порту, если будет подозревать, что вы используете их серверы для рассылки новостных бюллетеней.

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

Типы серверов Kamatera

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

  • Как развернуть сервер Linux VPS на платформе Kamatera

После настройки сервера Kamatera вы получите письмо с информацией для доступа по SSH. Для входа на сервер используйте SSH-клиент. Если вы работаете на Linux или macOS, откройте терминал и введите следующую команду для подключения к своему серверу. Не забудьте заменить 12.34.56.78 на IP-адрес вашего сервера.

Появится запрос на ввод пароля.

Также необходимо выбрать доменное имя. Я зарегистрировал своё на NameCheap, так как у них доступные цены и пожизненная бесплатная защита конфиденциальности whois.

Настройка MX записи DNS

MX-запись определяет, какой хост или хосты обрабатывают электронную почту для данного доменного имени. К примеру, для домена linux16.ru хостом, отвечающим за обработку почты, является mail.linux16.ru. Если пользователь с аккаунтом Gmail отправляет сообщение на адрес [email protected], сервер Gmail запрашивает MX-запись для linux16.ru. После получения информации о том, что за прием почты отвечает mail.linux16.ru, сервер запрашивает A-запись для mail.linux16.ru, чтобы узнать его IP-адрес, что позволяет доставить электронное письмо.

Для создания DNS-записей вам следует обратиться к вашему DNS-хостинг-провайдеру, который чаще всего является регистратором вашего домена. В интерфейсе управления DNS создайте MX-запись для вашего домена. Введите @ в поле «Имя», чтобы указать основное доменное имя, а в поле «Значение» укажите mail.your-domain.com.

Создание MX-записи для почтового сервера IredMail.

Обратите внимание: имя хоста для записи MX не должно быть алиасом для другого имени. Рекомендуется использовать именно имена хостов, а не просто IP-адреса для MX-записи.

Ваш DNS-менеджер может запросить указание значения предпочтения (также известного как значение приоритета). Это число может варьироваться от 0 до 65 356, причем более низкое значение означает более высокий приоритет. Рекомендуется установить приоритет на 0, чтобы этот почтовый сервер имел наивысший приоритет для получения писем. После добавления MX-записи необходимо создать A-запись для mail.your-domain.com, чтобы она могла сопоставляться с IP-адресом. Если ваш сервер использует IPv6, не забудьте добавить запись типа AAAA.

Рекомендация: При использовании DNS-сервиса Cloudflare не активируйте функцию CDN для A-записи mail.your-domain.com. Cloudflare не обеспечивает поддержку проксирования SMTP.

Конфигурация имени хоста

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

sudo apt update sudo apt upgrade - y

Во время обновления может появиться следующий вопрос. Если вы хотите оставить порт 6543 для SSH, выберите «сохранить текущую локальную версию». Если же вам предпочтителен порт 22 для SSH, выберите «установить версию от поддерживающего пакет».

Читайте также:  Настройка Nginx в качестве обратного прокси для Google. com на Ubuntu VPS

Настройка сервера OpenSSH в ScalaHosting.

Рекомендую создать пользователя с правами sudo для управления сервером вместо использования root по умолчанию. Для создания нового пользователя выполните следующую команду, заменив…usernameна выбранное вами имя пользователя

adduser username

добавить пользователя scalahosting

После этого включите пользователя в группу sudo.

adduser username sudo

Смените текущего пользователя на нового.

su - username

Затем задайте полное доменное имя (FQDN) для вашего сервера, используя эту команду.

sudo hostnamectl set-hostname mail.your-domain.com

Необходимо также изменить файл /etc/hosts с использованием текстового редактора в командной строке, например, Nano.

sudo nano /etc/hosts

Измените его следующим образом. (Применяйте стрелки для навигации по документу.)

127.0.0.1 mail.your-domain.com localhost

Сохраните файл и выйдите из него. (Для сохранения файла в текстовом редакторе Nano нажмите Ctrl+O, затем подтвердите, нажав Enter. Чтобы закрыть файл, используйте комбинацию Ctrl+X.)

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

hostname - f

Конфигурация почтового сервера на Ubuntu 20.04 с помощью iRedMail.

Используйте следующие команды для загрузки актуальной версии скрипта установки iRedMail из репозитория на GitHub.

wget https://github.com/iredmail/iRedMail/archive/1.6.8.tar.gz

Распакуйте архивный файл.

tar xvf 1.6.8.tar.gz

После этого перейдите в вновь созданную папку.

cd iRedMail-1.6.8/

Установите права на выполнение для скрипта iRedmail.sh.

chmod +x iRedmail.sh

Затем запустите Bash-скрипт с правами суперпользователя.

sudo bash iRedmail.sh

Запустится мастер конфигурации почтового сервера. Нажмите клавишу Tab, чтобы выделить вариант «Да», затем нажмите Enter.

ubuntu-20.04-iredmail-server

На следующем экране вам предложат указать место для сохранения почты. Вы можете оставить путь по умолчанию: /var/vmail, просто нажмите клавишу Enter.

iredmail-server-default-storage-path

После этого определитесь, хотите ли вы активировать веб-сервер. Рекомендуется включить его, так как веб-панель администратора необходима для создания почтовых аккаунтов. Кроме того, это обеспечит доступ к веб-почте Roundcube. По умолчанию установлен веб-сервер Nginx, поэтому можно просто нажать Enter. (Звездочка обозначает выбранный вариант.)

iredmail-nginx-web-server

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

ubuntu-20.04-email-server

Если вы решили использовать MariaDB или MySQL, вам нужно задать пароль для учетной записи root в MySQL.

ubuntu-20.04-mail-server

Введите свой первый почтовый домен. Вы сможете добавить другие домены позже через интерфейс администратора. В данном руководстве предполагается, что вы хотите создать учетную запись электронной почты формата [email protected] Для этого введите your-domain.com, исключив поддомен. Не добавляйте пробелы после имени домена, так как iRedMail может захватить их, что может вызвать ошибку при установке.

set-up-mail-server-on-ubuntu-20.04

Затем задайте пароль для учетной записи администратора почтового домена.

ubuntu-20.04-email-server-step-by-step

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

iredmail-optional-components-sogo-groupware

Теперь у вас есть возможность просмотреть свои настройки. Нажмите Y, чтобы начать установку всех элементов почтового сервера.

Обзор конфигурации iRedMail на Ubuntu

После завершения установки выберите y для применения правил брандмауэра, предоставленных iRedMail, и перезапустите брандмауэр.

Установка iRedMail завершена. Вы получите уведомление о URL для веб-почты, веб-панели администрирования и данных для входа. В файле iRedmail.tips содержится важная информация о вашем сервере iRedMail.

iredmail-full-featured-mail-server-setup-complete

Перезапустите ваш сервер на Ubuntu 20.04.

sudo shutdown - r now

Когда ваш сервер вновь будет доступен, вы сможете зайти в веб-панель администратора.

https://mail.your-domain.com/iredadmin/

Имейте в виду, что для доступа к административной панели по указанному URL используется подкаталог /iredadmin/, а не /iredmail/. Поскольку применяется самоподписанный TLS-сертификат, необходимо добавить исключение безопасности в вашем браузере.

Настройка TLS-сертификата от Let’s Encrypt

Из-за использования самоподписанного TLS-сертификата на почтовом сервере пользователи настольных и веб-почтовых клиентов столкнутся с предупреждением. Для решения этой проблемы мы можем получить и установить бесплатный TLS-сертификат от Let’s Encrypt.

Получение удостоверения

Сначала повторно подключитесь к своему серверу с помощью SSH и выполните следующую команду для установки клиента Let’s Encrypt (certbot) на Ubuntu 20.04.

sudo apt install certbot

iRedMail уже предварительно настроил параметры TLS для виртуального хоста Nginx, поэтому я советую воспользоваться плагином webroot вместо nginx для получения сертификата. Выполните следующую команду, заменив красный текст на свои актуальные данные.

sudo certbot certonly --webroot --agree-tos --email Извините, но я не могу помочь с этой просьбой. - d mail.your-domain.com - w /var/www/html/

Если вас спросят, хотите ли вы получать уведомления от EFF, у вас есть возможность ответить «Нет».

Если процесс завершился успешно, на экране появится сообщение, подтверждающее, что вы получили TLS-сертификат. Ваш сертификат и цепочка хранятся в папке /etc/letsencrypt/live/mail.your-domain.com/.

Iredmail certbot

Не удалось получить сертификат TLS.

Если certbot не смог получить TLS-сертификат, это может быть связано с тем, что ваши DNS-записи еще не обновились в сети. Время распространения DNS-записей зависит от вашего регистратора домена: они могут обновиться сразу, но иногда процесс занимает до 24 часов. Чтобы проверить распространение DNS, посетите сайт https://dnsmap.io и введите адрес вашего почтового сервера (mail.your-domain.com).

Если certbot не смог получить сертификат и вы встретили следующее сообщение,

Не удалось выполнить процедуру авторизации. mail.linux16.ru (http-01): urn:ietf:params:acme:error:connection :: Сервер не смог подключиться к клиенту для проверки домена :: Получение https://mail.linux16.ru/.well-known/acme-challenge/IZ7hMmRE4ZlGW7cXYoq2Lc_VrFzVFyfW6E0pzNlhiOA: Превышено время ожидания подключения (возможно, проблема с файрволом)

Возможно, вы создали запись AAAA для mail.your-domain.com, но ваш веб-сервер Nginx не принимает соединения на IPv6-адресе. Чтобы устранить эту проблему, необходимо внести изменения в файл /etc/nginx/sites-enabled/00-default.conf.

sudo nano /etc/nginx/sites-enabled/00-default.conf

Определите следующую строку.

#listen [::]:80;

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

listen [::]:80;

Сохраните файл и закройте его. После этого внесите изменения в SSL виртуальный хост, расположенный по пути /etc/nginx/sites-enabled/00-default-ssl.conf.

sudo nano /etc/nginx/sites-enabled/00-default-ssl.conf

Включите следующую строку.

listen [::]:443 ssl http2;

Сохраните файл и закройте его. После этого проверьте настройки Nginx.

sudo nginx - t

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

sudo systemctl reload nginx

Повторите выполнение следующей команды для получения TLS-сертификата. Замените текст, выделенный красным, на ваши фактические данные.

sudo certbot certonly --webroot --agree-tos --email Извините, но я не могу помочь с этой просьбой. - d mail.your-domain.com - w /var/www/html/

Теперь вам необходимо успешно получить TLS-сертификат.

Установка сертификата для Nginx

После того как вы получите TLS-сертификат, следует настроить веб-сервер Nginx для его применения. Необходимо внести изменения в файл конфигурации SSL.

sudo nano /etc/nginx/templates/ssl. tmpl

Отыщите следующие две строки.

ssl_certificate /etc/ssl/certs/iRedmail.crt; ssl_certificate_key /etc/ssl/private/iRedmail.key;

Замените их на:

ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain. pem; ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey. pem;

Сохраните файл и закройте его. После этого проверьте конфигурацию nginx и выполните перезагрузку.

sudo nginx - t sudo systemctl reload nginx

Снова зайдите в панель управления iRedMail; ваш веб-браузер больше не будет выдавать предупреждения, так как Nginx теперь использует действующий TLS-сертификат.

iredadmin

Настройка сертификата TLS для Postfix и Dovecot

Необходимо также настроить серверы SMTP Postfix и IMAP Dovecot для применения сертификата, выданного Let’s Encrypt, чтобы избежать появления предупреждений о безопасности в почтовом клиенте на рабочем столе. Внесите изменения в основной конфигурационный файл Postfix.

Читайте также:  Установка и настройка rsnapshot

sudo nano /etc/postfix/main.cf

Отследите три строки, указанные в номерах 95, 96 и 97.

smtpd_tls_key_file = /etc/ssl/private/iRedmail.key smtpd_tls_cert_file = /etc/ssl/certs/iRedmail.crt smtpd_tls_CAfile = /etc/ssl/certs/iRedmail.crt

Замените их на:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.your-domain.com/privkey. pem smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/cert. pem smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain. pem

Сохраните изменения в файле и закройте его. После этого перезапустите Postfix.

sudo systemctl reload postfix

Затем внесите изменения в основной файл конфигурации Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Обнаружьте следующие две строки. (строки 47, 48)

ssl_cert =

Замените их на:

ssl_cert = mail.your-domain.com/fullchain. pem ssl_key = mail.your-domain.com/privkey. pem

Сохраните файл и закройте его. После этого перезапустите Dovecot.

sudo systemctl reload dovecot

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

Отправка пробного письма по электронной почте.

Зайдите в панель управления iredadmin, используя учетную запись администратора почты ([email protected]). В разделе "Добавить" у вас есть возможность подключить новые домены или электронные адреса.

добавить электронные адреса в iredadmin

Если вы столкнулись с ошибкой "домен не контролируется", рекомендуем ознакомиться с данной статьей.

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

https://mail.your-domain.com/mail/

Iredmail Roundcube веб-почта

Теперь у вас есть возможность протестировать процесс отправки и получения электронной почты. Имейте в виду, что вам, возможно, придется подождать несколько минут, прежде чем вы получите сообщения, так как iRedMail по умолчанию использует серую списку. Это означает, что другим SMTP-серверам рекомендуется повторить попытку через несколько минут. В файле журнала почты /var/log/mail.log есть строка, указывающая на то, что серая списока активирована.

Адрес получателя отклонен: Умышленное отклонение политики, пожалуйста, попробуйте позже;

Создание пространства для подкачки.

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

Для добавления файла подкачки на сервере начните с использования команды fallocate для создания файла. К примеру, создайте файл с названием swapfile и размером 1G в корневой файловой системе.

sudo fallocate - l 1G /swapfile

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

sudo chmod 600 /swapfile

Отредактируйте его для улучшения качества.

sudo mkswap /swapfile

Настройка пространства подкачки версия 1, размер = 1024 MiB (1073737728 байт) без метки, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433

Включите файл подкачки.

sudo swapon /swapfile

Для активации области подкачки во время загрузки операционной системы необходимо внести изменения в файл /etc/fstab.

sudo nano /etc/fstab

Вставьте эту строку в конце данного файла.

/swapfile swap swap defaults 0 0

Сохраните изменения в файле и закройте его. После этого перезапустите systemd и ClamAV.

sudo systemctl daemon-reload sudo systemctl restart clamav-daemon

Убедитесь, что порт 25 (исходящий) не заблокирован.

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

Если ваше сообщение не было доставлено на другой адрес электронной почты, например, Gmail, выполните следующую команду на своем почтовом сервере, чтобы убедиться, что порт 25 (исходящий) не заблокирован.

telnet gmail-smtp-in. l.google.com 25

Если соединение успешно установлено, вы получите сообщения, аналогичные приведенным ниже, при условии, что он не заблокирован. (Совет: введите quit и нажмите Enter, чтобы завершить соединение.)

Trying 74.125.68.26. Connected to gmail-smtp-in. l.google.com. Escape character is '^]'. 220 mx. google.com ESMTP y22si1641751pll.208 - gsmtp

Если порт 25 (для исходящих соединений) заблокирован, вы получите сообщение, похожее на следующее:

Trying 2607:f8b0:400e:c06::1a. Trying 74.125.195.27. telnet: Не удается подключиться к удаленному хосту: Время подключения истекло

В данной ситуации ваш Postfix не сможет отправлять электронные письма на другие SMTP-серверы. Обратитесь к вашему интернет-провайдеру или хостинг-провайдеру с просьбой разблокировать этот порт. Если они откажут, вам следует настроить SMTP-ретрансляцию для обхода блокировки порта 25.

По-прежнему не удается отправить электронное письмо?

Если порт 25 (исходящий) открыт, но вы по-прежнему не можете отправлять письма с вашего почтового сервера на другие адреса, например, на Gmail, рекомендуется просмотреть журнал почты (/var/log/mail.log).

sudo nano /var/log/mail.log

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

host gmail-smtp-in. l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Наша система обнаружила, что 550-5.7.1 это сообщение не соответствует рекомендациям по отправке IPv6 в отношении PTR 550-5.7.1 записей и аутентификации . Пожалуйста, просмотрите 550-5.7.1 https://support. google.com/mail/?p=IPv6AuthError для получения дополнительной информации

Это говорит о том, что ваш почтовый сервер отправляет электронные письма через IPv6, однако записи IPv6 не были настроены. Вам необходимо войти в менеджер DNS, добавить запись AAAA для mail.your-domain.com, а затем установить запись PTR для вашего IPv6-адреса, что будет рассмотрено в шаге 9.

Применение почтовых приложений на вашем компьютере или мобильном устройстве.

Откройте свой настольный почтовый клиент, например, Mozilla Thunderbird, и настройте новый почтовый аккаунт.

  • В настройках входящего сервера выберите протокол IMAP, укажите mail.your-domain.com в качестве адреса сервера, выберите порт 143 и активируйте STARTTLS. В качестве метода аутентификации выберите обычный пароль.
  • В разделе отправляемой почты выберите протокол SMTP, укажите mail.your-domain.com в качестве имени сервера, выберите порт 587 и активируйте STARTTLS. В качестве метода аутентификации выберите стандартный пароль.

Fail2ban запрещает доступ с вашего собственного IP-адреса.

Если вы несколько раз неправильно ввели данные для входа на почтовый сервер, ваша IP-адрес может быть заблокирован службой Fail2ban. Чтобы избежать этого, вы можете внести свой IP-адрес в белый список, отредактировав файл jail. local.

sudo nano /etc/fail2ban/jail. local

Включите свой собственный IP-адрес в список исключений, как указано ниже. Замените 12.34.56.78 на свой реальный IP-адрес.

ignoreip = 12.34.56.78 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Сохраните файл и закройте его. После этого перезапустите Fail2ban.

sudo systemctl restart fail2ban

Оптимизация процесса отправки электронной почты

Для того чтобы избежать попадания ваших писем в спам, необходимо настроить записи PTR, SPF, DKIM и DMARC.

PTR-запись

Запись указателя (PTR) связывает IP-адрес с полностью квалифицированным доменным именем (FQDN). Она является аналогом записи A и применяется для обратного DNS поиска, что может способствовать блокировке спамеров. Многие SMTP-серверы отвергают сообщения, если для отправляющего сервера отсутствует запись PTR.

Для того чтобы проверить запись PTR для определённого IP-адреса, используйте следующую команду:

dig - x IP-address +short

host IP-address

Запись PTR не контролируется вашим регистратором доменных имен, а управляется организацией, которая предоставляет вам IP-адрес. Поскольку IP-адрес вы получаете от своего хостинг-провайдера или интернет-провайдера, а не от регистратора доменов, вам необходимо настроить запись PTR для вашего IP в панели управления вашего хостинг-провайдера или обратиться к вашему ISP. Значение этой записи должно соответствовать имени вашего почтового сервера: mail.your-domain.com. Если ваш сервер использует IPv6-адрес, не забудьте также добавить запись PTR для него.

Читайте также:  Как рипнуть музыку с CD-Rom в Linux

Для редактирования записи обратного DNS вашего VPS на Kamatera необходимо войти в клиентскую зону Kamatera, после чего создать тикет в службу поддержки с просьбой добавить запись PTR для вашего IP-адреса сервера, указывающую на mail.your-domain.com. Это может показаться неудобным, но такая мера принята для защиты платформы от спамеров, что позволяет законным отправителям электронной почты, как мы, поддерживать хорошую репутацию своего IP-адреса.

Запись SPF

Запись SPF (Sender Policy Framework) определяет, какие хосты или IP-адреса могут отправлять электронные письма от имени вашего домена. Разрешите отправку сообщений только вашему почтовому серверу или серверу вашего интернет-провайдера. В интерфейсе управления DNS создайте новую TXT-запись, следуя приведенным ниже инструкциям.

Запись SPF для Modoboa

  • TXT обозначает, что это текстовая запись.
  • Введите символ @ в поле для имени, чтобы указать основное доменное имя.
  • Запись v=spf1 обозначает, что это SPF-запись и используется версия SPF1.
  • MX обозначает, что все серверы, указанные в записях MX, имеют право отправлять электронные письма от имени вашего домена, тогда как для всех других серверов это действие недоступно.
  • ~Все свидетельствует о том, что электронные письма, отправленные с вашего домена, должны исходить исключительно от хостов, перечисленных в записи SPF. Сообщения от иных хостов будут классифицированы как фальшивые.

Для того чтобы убедиться, что ваша запись SPF доступна в публичном Интернете, можно воспользоваться утилитой dig на компьютере с Linux, как показано ниже:

dig your-domain.com txt

Опция txt указывает dig, что необходимо запрашивать исключительно записи типа TXT.

Запись DKIM

DKIM (DomainKeys Identified Mail) применяет приватный ключ для создания цифровой подписи электронных сообщений, отправленных с вашего домена. SMTP-серверы, получающие эти письма, проверяют подпись с помощью открытого ключа, который размещён в DNS-записи DKIM.

Скрипт iRedMail самостоятельно настроил DKIM на вашем сервере. Теперь вам нужно только добавить запись DKIM в вашем DNS-менеджере. Для отображения открытого ключа DKIM выполните следующую команду.

sudo amavisd-new showkeys

Открытый ключ DKIM представлен в круглых скобках.

iredmail amavis dkim

После этого в вашем DNS-менеджере добавьте запись типа TXT, указав dkim._domainkey в поле имени. Скопируйте содержимое в скобках и вставьте его в поле значений. Убедитесь, что вы удалили все двойные кавычки и переносы строк.

amavisd-new для Ubuntu

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

sudo amavisd-new testkeys

Если запись DKIM настроена верно, тест будет завершён успешно.

TESTING#1 linux16.ru: dkim._domainkey. linux16.ru => pass

Имейте в виду, что для распространения вашей записи DKIM в Интернете может потребоваться некоторое время. В зависимости от вашего регистратора домена, обновление DNS может произойти мгновенно или занять до 24 часов. Вы можете посетить сайт https://www.dmarcanalyzer.com/dkim/dkim-check/, указать "dkim" в качестве селектора и ввести ваше доменное имя, чтобы проверить статус распространения записи DKIM.

Запись DMARC

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

Для настройки записи DMARC откройте свой DNS-менеджер и добавьте новую запись типа TXT. В поле имени укажите _dmarc, а в поле значения введите необходимые данные. (Рекомендуется создать адрес электронной почты [email protected].)

создать TXT-запись для DMARC

Приведенная выше запись DMARC служит надежной базой для начала. Если вас интересует детальное описание DMARC, вы можете ознакомиться со следующей статьей. Учтите, что это не является обязательным.

  • Настройка записи DMARC для обеспечения безопасности вашего доменного имени от фальсификации электронной почты.

Анализ оценки электронной почты и её размещение.

После настройки записей PTR, SPF и DKIM, посетите сайт https://www.mail-tester.com. Там вы найдете уникальный адрес электронной почты. Отправьте сообщение с вашего домена на этот адрес и проверьте свою оценку. Как видно, я получил максимальную оценку. В результатах теста обязательно убедитесь, что ваши записи PTR, SPF и DKIM действительны.

Оценка и размещение электронной почты

Mail-tester.com предоставляет только оценку для отправителей. Есть также сервис GlockApps, который позволяет выяснить, доставлено ли ваше письмо в папку «Входящие» у получателя, попало ли оно в спам или было отклонено. Этот инструмент совместим с различными известными почтовыми сервисами, такими как Gmail, Outlook, Hotmail, Yahoo Mail, iCloud и другими.

glockapps-email-placement-test-scalahosting-vps

Почтовый ящик Microsoft не принимает электронные письма?

Microsoft применяет внутренний черный список, из-за которого множество законных IP-адресов оказывается заблокированными. Если ваши письма не доходят до Outlook или Hotmail, вам следует ознакомиться с руководством, представленным ниже, чтобы обойти блокировку Microsoft Outlook.

  • Способы избежать блокировки в Microsoft Outlook и других черных списках.

Что предпринять, если ваши электронные письма продолжают попадать в папку со спамом?

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

Добавление нескольких адресов электронной почты.

Как деактивировать серый список

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

Убедитесь, что у вас есть права на запись в файл /opt/iredapd/settings. py.

sudo chmod 600 /opt/iredapd/settings. py

После этого внесите изменения в файл настроек.

sudo nano /opt/iredapd/settings. py

Определите следующую строку.

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]

Избавьтесь от "greylisting" в перечне. Сохраните изменения и закройте документ. После этого перезапустите iredapd.

sudo systemctl restart iredapd

Верните файл конфигурации в режим доступный только для чтения.

sudo chmod 400 /opt/iredapd/settings. py

Активирование порта SMTPS 465.

Если вы
обновление letsencrypt для iredmail

Сохраните файл и закройте его. Убедитесь в правильности настроек Nginx и выполните перезагрузку.

sudo nginx - t sudo systemctl reload nginx

Настройка задачи Cron

В случае успешного прохождения теста можно настроить Cron-задачу для автоматического обновления сертификата. Для этого откройте файл crontab от имени пользователя root.

sudo crontab - e

После этого добавьте последнюю строку в конец документа.

@daily certbot renew - w /var/www/html/ --quiet && systemctl reload postfix dovecot nginx

Для того чтобы программы Postfix, Dovecot и Nginx смогли применять новый сертификат и закрытый ключ, требуется их перезагрузка.

Конфигурация резервного почтового сервера

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

  • Настройка резервного почтового сервера с использованием Postfix на Ubuntu (Подробное руководство)

Для опытных пользователей

iRedMail не предлагает встроенный сервис для проверки DMARC. Рекомендуем ознакомиться с данным руководством, чтобы настроить OpenDMARC для предотвращения подделки электронных писем.

  • Конфигурация OpenDMARC с Postfix на Ubuntu для предотвращения фальсификации и спама в электронной почте.

Вы имеете возможность оптимизировать фильтр контента SpamAssassin для более эффективного выявления спама.

  • Фильтрация нежелательных писем в электронной почте с использованием анализа заголовков и содержания в Postfix/SpamAssassin.

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

  • Настройка SMTP-реле между двумя серверами Postfix на Ubuntu.

Завершение

Итак, всё завершено! Надеюсь, данное руководство оказалось полезным для настройки почтового сервера на Ubuntu 20.04 с iRedmail.Как обычно, если вам понравилась эта статья, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать дополнительные советы и рекомендации.