5

Настройка iredmail на debian 10 (buster)

Серия Без названия
Настройка iredmail на debian 10 (buster)

mail server - это программа, которая передаёт сообщение от одного компьютера к другому.

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

1. Первоначальная настройка

И так, данная инструкция написана под систему Debian. Предварительно, выполним следующие действия:

Делаем все под root:

Приступим к установке, обновим пакеты:

sudo apt update && apt upgrade

Ждем обновления, если они обновлены идем дальше:

Задаем правильное имя серверу — это важный шаг, так как большинство антиспам систем выполняют проверки, обращаясь к серверу по имени в ожидании ответа:

sudo hostnamectl set-hostname mail.example.com

Гдеexample.comваш домен:

Устанавливаем пакет времени:

sudo apt install chrony

Устанавливаем время на сервере:

sudo timedatectl set-timezone Europe/Moscow

Чтобы получить список всех возможных зон, вводим timedatectl list-timezones:

sudo systemctl enable chrony

заранее открываем порты на брандмауэре с помощью iptables:

Брандмауэр — это приложение, на котором происходит фильтрация сетевого трафика на основе заданных администратором правил:

sudo iptables -I INPUT 1 -p tcp --match multiport --dports 25,110,143,465,587,993,995 -j ACCEPT

sudo iptables -I INPUT 1 -p tcp --match multiport --dports 80,443 -j ACCEPT

* где мы откроем следующие порты:

25 — стандартный SMTP через STARTTLS;

110 — стандартный POP3 через STARTTLS;

143 — стандартный IMAP через STARTTLS;

465 — защищенный SMTP через SSL/TLS;

587 — защищенный SMTP через STARTTLS;

993 — защищенный IMAP через SSL/TLS;

995 — защищенный POP3 через SSL/TLS;

80 — HTTP для порталов iredadmin и Roundcube;

443 — защищенный HTTPS для порталов iredadmin и Roundcube;

Если он не установлен то ставим:

sudo apt install iptables iptables-persistent

2. Установка iredmail

Проверяем хост который устанавливали ранее:

sudo hostname -f

В ответ вы получите ваш домен:

Устанавливаем зависимости:

sudo apt install gzip dialog

И скачиваем iredmail:

sudo wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.6.8...

Распаковываем:

sudo tar zxf iRedMail-1.6.8.tar.gz

Переходим в файл:

cd /iRedMail-1.6.8

Запускаем скрипт:

sudo bash iRedMail.sh

Скрипт напишет Welcome and thanks for your use (Добро пожаловать и спасибо за ваше использование). Нажимаем yes:

Пишем 'y'. И ждем примерно 15 минут:

И после делаем перезагрузку сервера:

sudo reboot

Примеры страниц:

http://mail.example.com/iredadmin

http://mail.example.com/webmail

http://mail.example.com/sogo

3. Установка платной версии iredmail (iRedAdmin-Pro)

Сначала выполняем 2 шаг, а после выполняем следующие действия:

sudo apt install git

sudo git clone https://github.com/finch-harold/iRedAdmin-Pro-SQL.git

cd /iRedAdmin-Pro-SQL/tools

sudo bash upgrade_iredadmin.sh

Скрипт выполнится быстро и сделает все сам. После заходим в iredadmin:

4. Webmin install

После можно установить webmin. С webmin легко управлять mail server и debian:

sudo curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup...

sudo sh setup-repos.sh

sudo apt-get install webmin --install-recommends

4. IredMail ssl

sudo cp {{Ваш сертификат}} /etc/ssl/certs/certs/iRedMail.crt

sudo cp {{Ваш приватный ключ}} /etc/ssl/private/iRedMail.key

sudo service nginx restart

5. Защищаемся от вирусов и СПАМА

Открываем конфигурационный файл amavis:

sudo mcedit /etc/amavis/conf.d/15-content_filter_mode

Снимаем комментарии для строк или добавляем:

@bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

@bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

Разрешаем запуск антивируса clamav и amavis:

sudo systemctl enable clamav-daemon clamav-freshclam amavis

sudo systemctl restart amavis clamav-daemon clamav-freshclam

Для обновления базы антиспама выполняем команду:

sudo sa-update --nogpg --verbose

Так как серверы обновление антивируса заблокированы для российских IP-адресов, вносим изменения в конфигурацию:

sudo mcedit /etc/clamav/freshclam.conf

Комментируем строки, которые начинаются на ##DatabaseMirror:

##DatabaseMirror

##DatabaseMirror

И добавляем строку:

DatabaseMirror https://pivotal-clamav-mirror.s3.amazonaws.com

Останавливаем службу clamav-freshclam:

sudo systemctl stop clamav-freshclam

Удаляем старую информацию об обновлениях:

sudo rm -f /var/lib/clamav/freshclam.dat

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

sudo freshclam

Ждем обновления, после запускаем службу clamav-freshclam и перезапускаем clamav-daemon:

sudo systemctl start clamav-freshclam

sudo systemctl restart clamav-daemon

Для проверки антивируса отправляем сообщение со следующим содержимым:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Письмо не должно дойти, а в логе (/var/log/maillog) мы увидим строку:

amavis[17688]: (17688-04) Blocked INFECTED (Eicar-Signature) {DiscardedOutbound,Quarantined}, MYNETS LOCAL

relay=127.0.0.1[127.0.0.1]:10024, delay=0.25, delays=0.19/0/0/0.06, dsn=2.7.0, status=sent (250 2.7.0 Ok, discarded, id=17688-04 - INFECTED: Eicar-Signature)

Для проверки работы контентного антиспама, отправляем письмо со следующим содержимым:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

В логе (/var/log/maillog) мы увидим:

amavis[17689]: (17689-04) Blocked SPAM {DiscardedOutbound,Quarantined}, MYNETS LOCAL status=sent (250 2.7.0 Ok, discarded, id=17689-04 - spam)

6.Отправка почты наружу

Для отправки почты на другие почтовые серверы необходимо правильно сконфигурировать сервер, чтобы письма не попадали в СПАМ. Чтобы это сделать, выполняем инструкции ниже:

Настройки DNS для сервера

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

1. DNS. Обратная зона используется для проверки соответствия имени сервера в приветствии с именем, которое возвращает NS сервер при запросе по PTR-записи:

И так, для создания записи в обратной зоне, необходимо написать письмо Интернет провайдеру, к сети которого подключен сервер, если почтовый сервер настроен на VPS. IP-адрес нашего сервера должен вести на имя, которым приветствуется наш postfix — можно посмотреть командой:

postconf -n smtpd_banner

Если мы получим пустой ответ, то вводим:

postconf -n myhostname

Если и в этот вариант не вернет ответ, вводим:

hostname

2. А-запись. Также необходимо, чтобы имя сервера, которым представляется почтовый сервер разрешалось в IP-адрес:

Для этого заходим в консоль управления зоной нашего домена и создаем запись типа А для сопоставления имени сервера с IP-адресом, на котором слушает запросы данный сервер:

Настройки DNS для домена

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

SPF.

DMARC.

DKIM.

Для проверки корректности настройки сервера, воспользуемся ресурсами:

https://www.mail-tester.com

https://spamtest.smtp.bz

7. Настройка SPF, DKIM и DMARC

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

Устанавливаем opendkim:

sudo apt install opendkim opendkim-tools

Запускаем службу и добавляем ее в автозагрузку:

sudo systemctl start opendkim

sudo systemctl enable opendkim

Создаём директорию, где будут лежать ключи:

sudo mkdir -p /etc/opendkim/keys/example.com

Генерируем ключи:

sudo opendkim-genkey --directory /etc/opendkim/keys/example.com/ --domain example.com --selector dkim

Правим права на ключи:

sudo chown -R opendkim:opendkim /etc/opendkim/keys/example.com

В конец файла /etc/opendkim.conf добавляем следующие настройки:

AutoRestart Yes

AutoRestartRate 10/1h

Umask 002

Syslog yes

SyslogSuccess Yes

LogWhy Yes

Canonicalization relaxed/simple

ExternalIgnoreList refile:/etc/opendkim/TrustedHosts

InternalHosts refile:/etc/opendkim/TrustedHosts

KeyTable refile:/etc/opendkim/KeyTable

SigningTable refile:/etc/opendkim/SigningTable

Mode sv

PidFile /var/run/opendkim/opendkim.pid

ignatureAlgorithm rsa-sha256

UserID opendkim:opendkim

Socket inet:8891@localhost

В файл /etc/opendkim/TrustedHosts вносим наш домен:

*.example.com

Файл должен выглядеть таким образом:

127.0.0.1

localhost

*.example.com

Открываем файл /etc/opendkim/KeyTable и приводим к такому виду:

dkim._domainkey.example.com example.com:dkim:/etc/opendkim/keys/example.com/dkim.private

Правим файл /etc/opendkim/SigningTable и указываем в нём следующие данные:

*@example.com dkim._domainkey.example.com

Если по каким-либо причинам этих файлов у вас нет, то их нужно создать:

Для Debian указываем порт, на котором будет работать opendkim:

sudo echo 'SOCKET="inet:8891@localhost"' >> /etc/default/opendkim

И добавляем работу с DKIM в настройку postfix.

sudo postconf -e 'milter_default_action=accept'

sudo postconf -e 'milter_protocol=2'

sudo postconf -e 'smtpd_milters=inet:127.0.0.1:8891'

sudo postconf -e 'non_smtpd_milters=inet:127.0.0.1:8891'

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

sudo systemctl restart opendkim

sudo systemctl restart postfix

Теперь нужно разместить публичный ключ на серверах имён домена, узнать его можно в файле /etc/opendkim /keys/example.com/dkim.txt:

Пример, как это выглядит в нашей панели управления записями доменов:

На серверах имён нужно разместить TXT-запись со следующим содержанием:

Имя: _dmarc.ВАШ_ДОМЕН:

Значение: v=DMARC1; p=none; aspf=r; sp=none

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

8. Возможные проблемы

1. Не подключиться к серверу по IMAP в Outlook на старых системах Windows

При попытке подключиться к серверу мы можем увидеть ошибку «Невозможно установить безопасное соединение с сервером «IMAP»:

Причина: в старых системах используется по умолчанию TLS 1.0, поддержка которого уже отсутствует:

Решение: необходимо выполнить 3 действия:

1. Устанавливаем обновление KB3140245:

2. Создаем две ветки реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1\Client

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.2\Client

Это можно выполнить вручную в утилите regedit или ввести команды:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1\Client"

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.2\Client"

В созданных ветках создаем параметр DisabledByDefault с типом DWORD (32 бита) и значением 0. Это можно выполнить командами:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.1\Client" /v DisabledByDefault /t REG_DWORD /d 0

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0

Перезагружаем компьютер:

2. Roundcube authentification failed

При попытке отправки письма программа выдает ошибку аутентификации.

Причина: ошибка при передаче пароля самой программой Roundcube.

Решение: необходимо отредактировать конфигурационный файл Roundcube.

Открываем файл:

sudo nano /var/www/html/webmail/config/config.inc.php

Находим опцию:

$config['smtp_pass'] = '%p';

И приводим к виду:

$config['smtp_pass'] = '';

И перезагрузимся:

sudo reboot

Все теперь сделано!!! И сервер работает на 5 балов!!!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества