Zimbra dkim настройка dns
Обновлено: 06.07.2024
Старая зимбра распухла до невероятных размеров и в связи с этим было принято решение поднять новый в виртуальной инфраструктуре VMware .
Накатывать зимбру буду на Ubuntu server 16.04. Настройку оси оставляю на ваше усмотрение да и мануалов в сети полно. Итак, погнали.
Немного вводных: почтовик стоит за микротом, у которого 2 IP: внешний 5.xxx.xxx.xxx и внутренний 192.168.0.217. На микроте проброшены порты 80, 25, 110, 143, 443, 465, 587, 993, 995, 3443, 5222, 5223, 7143, 7993, 7025 и настроен Hairpin NAT.
Далее SSH к серваку и погнали. Все действия будем выполнять от рута.
1. Настройка Zimbra 8.8.8
в файле прописываем
Где ens160 имя сетевого интерфейса, которое можно получить по команде:
Настраиваем hosts (вместо ***** вписываем свой домен, зону при необходимости замените, у меня ru):
Настраиваем DNSMASQ и приводим к виду:
Перед установкой Zimbra необходимо выполнить два простых теста на правильность настройки записей MX и A DNS. Правильные запросы и ответы должны выглядеть так:
Если всё ок, то загружаем последний пакет зимбры с сайта.
Ссылка действительна на момент написания статьи. В вашем случае она может отличаться.
переходим в каталог
и запускаем установку
Я ставлю все кроме dnscache и IMAPD (все еще в бете), а zimbra-drive мне не нужен.
Набираем "Yes" для модификации системы.
Меняем пароль администратора, нажав цифру 6, а затем 4 в подменю и вводим новый пароль для пользователя admin.
Затем нажимаем "r" и "a" для применения изменений.
Наливаем себе чашечку кофе и ждём окончания установки.
Configuration complete - press return to exit
Жмём Enter и ребутаем:
2. Настраиваем DKIM
Извлекаем данные для txt-записи на провайдере
TXT-запись прописываем в следующем виде:
Обновите DNS, и проверьте результат выполнения команды:
Если ключ извлекается то следующую команду дабы убедиться, что открытый ключ соответствует закрытому:
По настройке SPF и DMARC полно мануалов в сети, поэтому останавливаться на этом не буду.
3. Настраиваем Let`s Encrypt
при запросе домена вводим
Если все будет хорошо с проверкой, то сертификат (сертификат + открытый ключ + цепочка) будет выпущен в формате «/etc/letsencrypt/live/address/».
Далее в терминале:
В конец файла chain.pem добавляем промежуточный корневой сертификат Let`s Encrypt (представлен ниже):
Далее в терминале:
4. Перевыпуск сертификата Let`s Encrypt
Добавляем в конец файла
Сохраняем, закрываем и обратно в командную строку
Убеждаемся, что все запущено, радуемся ))
5. Перенос учетных записей
На старом сервере зимбры:
создаем список пользователей в файл users.txt
После выполнения получаем скрипт restore_pass.sh, в котором содержатся команды смены пароля пользователям на новом сервере.
На новом сервере:
Средства и миграция -> Перенос учетной записи. Кликаем на шестеренку в правом верхнем углу и запускаем мастер. Тип почтового сервера "Zimbra Collaboration Suite". Импортировать только учетки или вместе с почтой выбираем по необходимости. Далее. Выбираем "Импортировать из другого каталога Zimbra LDAP". Далее. На следующей снимаем галку с пункта "Требовать смены пароля при первом входе в систему". Далее. URL LDAP - Указываем IP старого сервера.
Пароль привязки мы можем получить со старого сервера командой:
Поисковая база dc=ru. Остальные настройки по вкусу.
Тащим на новый сервер restore_pass.sh, полученный ранее. Кладем куда-нибудь. При необходимости даем права на него. Далее:
Дожидаемся окончания. Теперь у нас на новом сервере созданы учетки (и содержимое почтовых ящиков если выбрали при миграции) и у всех пользователей старые пароли.
6. Быстрая настройка Fail2ban
Создаем Zimbra jail.conf
Редактируем /etc/fail2ban/action.d/sendmail.conf и заменяем в нем строку
Запускаем и добавляем в автозагрузку Fail2ban
7. Включаем zmauditswatch
Надеюсь, что у вас всё получилось.
Если же нет, то добро пожаловать в раздел КОНТАКТЫ
Настройка DKIM в Zimbra
DKIM (DomainKeys Identified Mail) — это метод e-mail аутентификации, основанный на проверке подлинности цифровой подписи. DKIM необходим для того, чтобы почтовые сервисы проверяли отправителя и защищали получателя письма от мошеннических рассылок, которые производятся с подменой адреса отправителя.
DKIM стал доступен с версии Zimbra 8.0. Настройка подписи состоит из двух этапов:
Первый этап: генерация ключей и селектора
Добавляем данные DKIM к домену, у которого еще нет существующей конфигурации DKIM:
Также можно обновить DKIM данные для домена:
Удалить DKIM данных для домена:
Извлечь сохраненные данных DKIM для домена:
Второй этап: обновление DNS-записей
Публичный ключ нужно добавить как TXT-запись в домен:
Обновите DNS, и проверьте результат выполнения команды:
Если ключ извлекается используйте /opt/zimbra/common/sbin/opendkim-testkey , чтобы убедиться, что открытый ключ соответствует закрытому.
Если получили ошибку:
opendkim-testkey: /opt/zimbra/conf/opendkim.conf: configuration error at line 0
Это означает, что файла /opt/zimbra/conf/opendkim.conf не существует, создать его можно командой:
$ zmprov ms `zmhostname` +zimbraServiceEnabled opendkim ./libexec/configrewrite opendkim
Если возникнет необходимость отозвать ключ подписи DKIM, установите пустой «р=» тег в записи TXT.
По умолчанию создается 1024-битный ключ (зависит от версии ZCS), изменить размер можно параметром -b.
Sender Policy Framework (SPF)
SPF (Sender Policy Framework) — расширение для протокола отправки электронной почты через SMTP. SPF определен в RFC 7208. SPF-запись защищает от подделки вашего домена и позволяет предотвратить попадание в спам писем, отправленных с ваших адресов. SPF настраивается для адреса, используемого в envelope-from (SMTP конверте).
[версия] [механизмы] [-all |
all | redirect]
Версия всегда spf1, модификаторы сообщают, кто может посылать почту:
- a, mx — сервера из DNS записей A или MX соответственно,
- ip4, ip6 — адрес сервера (можно указывать подсети, например: ip4:1.2.3.4/24),
- include — взять данные с другого адреса
-
-all означает не принимать почту, если проверка механизма не прошла,
Настройка DMARC
После создания записей SPF и DKIM необходимо настроить проверку DMARC, добавив в DNS запись типа TXT (аналогично SPF). Параметры могут быть следующими:
Более подробно можно узнать в реестре тегов DMARC.
Правило для домена (что делать серверу-получателю, если проверка на spf и dkim не прошла) может быть одним из трех:
Настройка DKIM в Zimbra
DKIM (DomainKeys Identified Mail) — это метод e-mail аутентификации, основанный на проверке подлинности цифровой подписи. DKIM необходим для того, чтобы почтовые сервисы проверяли отправителя и защищали получателя письма от мошеннических рассылок, которые производятся с подменой адреса отправителя.
DKIM стал доступен с версии Zimbra 8.0. Настройка подписи состоит из двух этапов:
Первый этап: генерация ключей и селектора
Добавляем данные DKIM к домену, у которого еще нет существующей конфигурации DKIM:
Также можно обновить DKIM данные для домена:
Удалить DKIM данных для домена:
Извлечь сохраненные данных DKIM для домена:
Второй этап: обновление DNS-записей
Публичный ключ нужно добавить как TXT-запись в домен:
Обновите DNS, и проверьте результат выполнения команды:
Если ключ извлекается используйте /opt/zimbra/common/sbin/opendkim-testkey , чтобы убедиться, что открытый ключ соответствует закрытому.
Если получили ошибку:
opendkim-testkey: /opt/zimbra/conf/opendkim.conf: configuration error at line 0
Это означает, что файла /opt/zimbra/conf/opendkim.conf не существует, создать его можно командой:
$ zmprov ms `zmhostname` +zimbraServiceEnabled opendkim ./libexec/configrewrite opendkim
Если возникнет необходимость отозвать ключ подписи DKIM, установите пустой «р=» тег в записи TXT.
По умолчанию создается 1024-битный ключ (зависит от версии ZCS), изменить размер можно параметром -b.
Sender Policy Framework (SPF)
SPF (Sender Policy Framework) — расширение для протокола отправки электронной почты через SMTP. SPF определен в RFC 7208. SPF-запись защищает от подделки вашего домена и позволяет предотвратить попадание в спам писем, отправленных с ваших адресов. SPF настраивается для адреса, используемого в envelope-from (SMTP конверте).
[версия] [механизмы] [-all |
all | redirect]
Версия всегда spf1, модификаторы сообщают, кто может посылать почту:
- a, mx — сервера из DNS записей A или MX соответственно,
- ip4, ip6 — адрес сервера (можно указывать подсети, например: ip4:1.2.3.4/24),
- include — взять данные с другого адреса
-
-all означает не принимать почту, если проверка механизма не прошла,
Настройка DMARC
После создания записей SPF и DKIM необходимо настроить проверку DMARC, добавив в DNS запись типа TXT (аналогично SPF). Параметры могут быть следующими:
Более подробно можно узнать в реестре тегов DMARC.
Правило для домена (что делать серверу-получателю, если проверка на spf и dkim не прошла) может быть одним из трех:
Если вы хотите получать отчеты не забудьте указать адрес электронной почты в теге rua:
Почтовый сервер Zimbra устанавливается с помощью скрипта, который можно скачать с сайта разработчика. После установки мы получим полноценный почтовый сервер:
- SMTP-сервер для отправки писем.
- Чтение и работа с почтой по POP3 / IMAP .
- Работа с почтой по веб-интерфейсу.
- Графическая панель управления почтовым сервером.
Принцип установки аналогичный для любого дистрибутива Linux. Важно, чтобы данный дистрибутив официально поддерживался Zimbra.
Выбор дистрибутива Linux и версии Zimbra
Список дистрибутивов Linux, которые поддерживаются разработчиком Zimbra, описан на официальном сайте страницах загрузки. В данной инструкции мы рассмотрим процесс установки для Ubuntu 18.04 и CentOS 7, однако, процесс настройки для других систем, во многом, аналогичен.
Zimbra имеет две основные версии — платную Network Edition и бесплатную Open Source Edition ( OSE ). Сравнение данных версий можно найти на официальном сайте. В центре загрузки Zimbra мы также можем выбрать и скачать дистрибутив для платной или бесплатной версий. В данной инструкции мы скачем и установим платную demo-версию и лицензируем ее временным ключом, дающим право использовать программный продукт в течение 60 дней. По прошествии данного периода, программный продукт необходимо купить или прекратить использовать.
Подготовка сервера
Независимо от выбранного дистрибутива Linux или редакции Zimbra выполняем следующие действия для подготовки сервера к корректной работы почтового сервера.
1. Настройка времени
Устанавливаем корректный часовой пояс:
timedatectl set-timezone Europe/Moscow
* в данном примере мы зададим московское время.
Теперь установим утилиту для синхронизации времени и запустим ее.
а) если используем систему на базе RPM (CentOS / Red Hat):
yum install chrony
systemctl enable chronyd --now
б) если используем систему на базе deb (Ubuntu):
apt-get install chrony
systemctl enable chrony --now
2. Безопасность
SELinux
Если на сервере используется SELinux (по умолчанию, на системах RPM ), рекомендуется ее отключить. Для этого вводим 2 команды:
sed -i 's/^ SELINUX =.*/ SELINUX =disabled/g' /etc/selinux/config
Брандмауэр
Для нормальной работы Zimbra нужно открыть много портов:
В зависимости от утилиты управления фаерволом, команды будут следующие.
а) Если используем firewalld (Red Hat, CentOS):
б) Если используем iptables (Ubuntu):
iptables -A INPUT -p tcp --match multiport --dports 25,80,110,143,443,465,587,993,995,5222,5223,9071,7071,8443,7143,7993,7110,7995 -j ACCEPT
в) Если используем ufw (Ubuntu):
ufw allow 25,80,110,143,443,465,587,993,995,5222,5223,9071,7071,8443,7143,7993,7110,7995/tcp
3. DNS и имя сервера
Для корректной работы почтового сервера необходимо создать mx-записи для домена (подробнее о записях в DNS ).
Но для установки Zimbra важнее, чтобы в локальном файле hosts была запись о нашем сервере, в противном случае, установка прервется с ошибкой. И так, задаем FQDN-имя для сервера:
Теперь открываем на редактирование файл:
Не совсем очевидная проблема, но если в системе не будет пакета hostname, при попытке запустить установку зимбры, мы будем получать ошибку определения IP-адреса по имени. Устанавливаем пакет.
а) для CentOS (Red Hat):
yum install hostname
б) если Ubuntu (Debian):
apt-get install hostname
4. Системная переменная для имени сервера
Чтобы нам было удобнее вводить команды, где требуется указать имя сервера, создадим системную переменную:
Теперь мы можем в команде использовать переменную $myhostname.
Загрузка дистрибутива и установка Zimbra
Переходим по одной из ссылок выше для загрузки платной или бесплатной версии.
Если мы планируем установить платную версию, сначала кликаем по START FREE TRIAL :
Проходим процедуру регистрации. На указанный адрес электронной почты мы получим файл с лицензией (на 60 дней). Переносим данный файл на сервер Zimbra, например, при помощи программы WinSCP.
Возвращаемся на страницу загрузки zimbra и копируем ссылку на дистрибутив:
Используя скопированную ссылку, загружаем дистрибутив Zimbra:
Распаковываем скачанный архив:
tar -xzvf zcs-*.tgz
Переходим в распакованный каталог:
Запускаем установку почтового сервера:
На экране отобразится лицензионное соглашение — принимаем его:
Do you agree with the terms of the software license agreement? [N] Y
* в платной версии лицензионное соглашение нужно принять дважды.
Разрешаем использование репозитория от Zimbra:
Use Zimbra's package repository [Y] Y
Устанавливаем необходимые модули (или все):
Install zimbra-ldap [Y] Y
Install zimbra-logger [Y] Y
Install zimbra-mta [Y] Y
Install zimbra-dnscache [Y] Y
Install zimbra-snmp [Y] Y
Install zimbra-store [Y] Y
Install zimbra-apache [Y] Y
Install zimbra-spell [Y] Y
Install zimbra-convertd [Y] Y
Install zimbra-memcached [Y] Y
Install zimbra-proxy [Y] Y
Install zimbra-archiving [N] Y
Install zimbra-drive [Y] Y
Install zimbra-imapd ( BETA - for evaluation only) [N] N
Install zimbra-network-modules-ng [Y] Y
Install zimbra-talk [Y] Y
* в зависимости от ситуации, мы можем выбрать лишь несколько компонентов, например, для использования сервера в качестве агента передачи сообщений, мы можем оставить только zimbra-mta. Но в нашем примере мы будем настраивать Zimbra со всем компонентами.
Подтверждаем ранее введенные настройки:
The system will be modified. Continue? [N] Y
Начнется процесс установки и конфигурирования Zimbra. Ждем окончания процесса.
Читайте также: