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

Надеюсь, что у вас всё получилось.
Если же нет, то добро пожаловать в раздел КОНТАКТЫ

image



Настройка DKIM в Zimbra

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

image

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, SPF и DMARC в Zimbra Collaboration Suite

2017-10-04 в 7:41, admin , рубрики: dkim, dmarc, DNS, spf, zextras, zimbra, Администрирование доменных имен, антиспам, Блог компании Zimbra, настройка, спам

image


Настройка DKIM, SPF и DMARC в Zimbra Collaboration Suite - 2

Настройка DKIM в Zimbra

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

image

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 конверте).

Настройка DKIM, SPF и DMARC в Zimbra Collaboration Suite - 4

[версия] [механизмы] [-all |

all | redirect]
Версия всегда spf1, модификаторы сообщают, кто может посылать почту:

  • a, mx — сервера из DNS записей A или MX соответственно,
  • ip4, ip6 — адрес сервера (можно указывать подсети, например: ip4:1.2.3.4/24),
  • include — взять данные с другого адреса
    -all означает не принимать почту, если проверка механизма не прошла,

Настройка DMARC

Настройка DKIM, SPF и DMARC в Zimbra Collaboration Suite - 5

После создания записей SPF и DKIM необходимо настроить проверку DMARC, добавив в DNS запись типа TXT (аналогично SPF). Параметры могут быть следующими:

Настройка DKIM, SPF и DMARC в Zimbra Collaboration Suite - 6

Более подробно можно узнать в реестре тегов 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. Ждем окон­ча­ния процесса.

Читайте также: