- Установка почтового сервера Zimbra Collaboration 8.6 на Ubuntu 14.04 Trusty Tahr
- Настройка DNS зоны на домен контроллере DC1
- Предварительная настройка системы Ubuntu 14.04 Trusty Tahr
- 🐹 CentOS 7: Установка и настройка почтового сервера Zimbra.
- Содержание:
- 1. Введение.
- 2. Подготовка сервера.
- 3. Загрузка и установка дистрибутива.
- 4. Zimbra DNSCache.
- 5. Настройка Zimbra после установки.
- 6. Настройка DNS.
- 7. Отправка тестового письма.
- 8. SSL-сертификат.
- 9. Настройка почтового клиента.
- 10. Защита от СПАМа.
- 11. Дополнительны настройки Zimbra.
- 12. Возможные проблемы.
Установка почтового сервера Zimbra Collaboration 8.6 на Ubuntu 14.04 Trusty Tahr
Разберем как развернуть мощный и в тоже время бесплатный почтовый сервер Zimbra Collaboration 8.6. Zimbra может соперничать с Microsoft Exchange своим функционалом, в который входит необходимый набор инструментов для работы в корпоративной среде. Zimbra имеет удобный и понятный Web интерфейс, поддерживающий работу мобильных устройств, что не мало важно для сотрудников находящихся вне офиса.
Исходные данные для развертывания Zimbra:
- Домен jakondo.ru (на этом доменном имени будет ходить почта)
- Локальная сеть 10.5.5.0/24
- Домен контроллер на базе Windows Server 2012R2 (AD DS, DNS) DC1, jakonda.local, 10.5.5.5 (Установленный по данной статье)
- Установленная система Ubuntu 14.04 Trusty Tahr (10.5.5.10, Hostname — mail)
- Настроить DNS на домен контроллере DC1, для работы почтового сервера Zimbra.
- Выполнить предварительную настройку системы Ubuntu 14.04 Trusty Tahr перед установкой Zimbra.
- Установить почтовый сервер Zimbra Collaboration 8.6.
- Добавление почтового домена jakondo.ru в развернутый почтовый сервер.
- Проверить работу почты.
Настройка DNS зоны на домен контроллере DC1
Zimbra зависит от правильно настроенного DNS сервера. Запускаем оснастку DNS Manager и в Forward Lookup Zones добавляем новую зону New Zone…
Указываем тип зоны — Primary zone, нажимаем Next.
Выбираем пункт To all DNS servers running on domain controller in this domain: jakonda.local. Нажимаем Next.
В поле Zone name — указываем как будет называться создаваемая зона. В моем случае это jakondo.ru. Нажимаем Next.
Отмечаем пункт Allow both nonsecure and secure dynamic updates. Нажимаем Next.
Нажимаем Finish.
В созданной зоне jakondo.ru добавляем необходимые для работы почтового сервера A-записи:
- mail — 10.5.5.10 Create associated pointer (PTR) record
- imap — 10.5.5.10 Create associated pointer (PTR) record
- pop3 — 10.5.5.10 Create associated pointer (PTR) record
- smtp — 10.5.5.10 Create associated pointer (PTR) record
Добавляем MX-запись:
- в поле Host or child domain — указываем имя хоста почтового сервера (в моем случае mail).
- в поле Fully qualied domain name (FQDN) of mail server — нажимаем Browse… и выбираем A-запись mail из зоны jakondo.ru (получится FQDN mail.jakondo.ru).
- в поле Mail server priority — приоритет оставляю по-умолчанию 10.
В итоге должно получится вот так:
Предварительная настройка системы Ubuntu 14.04 Trusty Tahr
Перед тем как начать установку почтового сервера Zimbra на Ubuntu 14.04 Trusty Tahr, систему необходимо настроить и установить необходимые для установки зависимости.
🐹 CentOS 7: Установка и настройка почтового сервера Zimbra.
Опубликовано 2020-11-06 · Обновлено 2021-01-16
Содержание:
На чем было собрано:
- VM on Proxmox Virtual Environment 6.2.1.
- CentOS 7 Linux x86_64 release 7.8.2003.
- Zimbra 9.0.0.
- Почтовый сервер находится за NAT.
- Аренда доменного имени beget.com.
- Доменное имя hamsterden.ru
- Доменное имя почтового сервера mail.hamsterden.ru.
- Host-name имя почтового сервера mail.hamsterden.ru.
1. Введение.
Zimbra Server — это бесплатный почтовый сервер с открытым кодом. Применяется более чем в 5000 компаниях и провайдерах, таких как NTT Communications, Comcast, Dell, Cadbury, Rackspace, Red Hat, VMware, H&R Block и Vodafone, 100 миллионами пользователями в 140 странах мира.
Пользователи, развертывающие почтовый сервер и приложения для офисной работы, сталкиваются с необходимостью интеграции и поддержки многих продуктов от разных разработчиков. Это затратно и требует большой команды поддержки. Проект Zimbra интегрирует в одном продукте все, что необходимо для коммуникационной инфраструктуры любого размера: почтовый сервер, чат с видео, систему аутентификации, базы данных, антивирус и антиспам. Все это устанавливается вместе и не требует интеграции и обновления каждого компонента отдельно.
1.1. Клиент-серверная архитектура.
Серверная часть Zimbra Server написана на Java, является POP3/IMAP сервером, и интегрирует несколько Open Source продуктов:
- Почтовый сервер — Postfix.
- Серверы баз данных — MariaDB, MySQL.
- LDAP сервер — OpenLDAP.
- Сервер приложений — Jetty.
- Web-сервер Apache и Nginx в качестве прокси.
- Поисковой движок — Lucene.
- Антивирус и антиспам — ClamAV и SpamAssassin.
- Amavisd —интерфейсы между MTA и одним или более средствами проверки содержимого.
- James/Sieve фильтрация, используемая для создания фильтров для электронной почты. Он раскрывает SOAP-интерфейс программирования приложений во всей его функциональности.
1.2. Основные возможности сервера.
Сервер Zimbra имеет встроенные возможности для:
- Интеграции системы аутентификации пользователей с Active Directory.
- Управления Глобальной Адресной Книгой (GAL).
- Блокирования определенных вложений по расширению файла.
- Масштабирования серверной инфраструктуры.
- Проверки входящих сообщений на спам и вирусы.
- Поддержки протоколов POP, IMAP, SMTP, CardDAV, iCal и CalDAV.
- Фильтрации входящей почты с помощью встроенных модулей Postscreen, Amavisd, ClamAV, SpamAssassin и cbpolicyd.
1.3. Основные возможности web-клиента.
Для работы с почтовым сервером Zimbra пользователь может использоваться как встроенный web-клиент, поддерживаемый современными браузерами Chrome, Firefox, Edge Chromium, а также мобильные или десктопные IMAP-клиенты.
В web-клиенте доступны:
- Получение и отправка электронной почты.
- Добавление адресов в список контактов, а также их редактирование.
- Создание, удаление и изменение событий в календаре.
- Назначение совещаний и отправка приглашений сотрудникам.
- Создание задач в ежедневнике.
- Доступ к корзине с удаленными элементами.
- Предварительный просмотр вложений.
- Смена языка интерфейса, доступна русская локализация.
- Предоставление общего доступа к почтовым папкам.
- Предоставление права на отправку писем от имени почтового ящика.
- Настройка автоответа.
- Настройка почтовых фильтров для сортировки писем.
- Настройка получения уведомления о доставке и прочтении сообщения.
- Также сервер Zimbra поддерживает установку плагинов, которые могут добавить ряд функций как в серверную часть, так и в web-клиент Zimbra. Например, можно установить плагин, добавляющий в Zimbra шифрование писем с помощью OpenPGP.
1.4. Модули в составе.
В состав Zimbra входят:
Zimbra Core — включает библиотеки, утилиты и базовые конфигурационные файлы.
Zimbra Store (Zimbra сервер) — устанавливает компоненты для почтового сервера, включая Jetty, который является контейнером сервлетов, запускающим внутри себя программное обеспечение Zimbra. В Zimbra Collaboration Suite этот контейнер сервлетов называется mailboxd. Почтовый сервер включает в себя компоненты:
Data store — база данных MySQL, которая содержит все метаданные сообщений включая теги, переговоры, и указатели туда, где сообщения хранятся в файловой системе. Почтовые идентификаторы связываются с OpenLDAP учетными записям пользователей.
Message store — место, где находятся все электронные письма, включая тексты сообщений и любые файловые вложения. Сообщения хранятся в формате MIME.
Index store — индексные файлы для каждого почтового ящика. Индекс и поисковая технология обеспечиваются посредством Apache Lucene. Каждое сообщение автоматически индексируется, а каждый почтовый ящик имеет индексный файл, связанный с ним.
Zimbra LDAP — Службы каталогов LDAP обеспечивают централизованный репозиторий для информации о пользователях и устройствах, которые разрешены использовать в вашей сети. Центральный репозиторий, используемый для данных Zimbra LDAP, является сервером каталогов OpenLDAP. Zimbra Collaboration Suite использует OpenLDAP в качестве open source сервера каталога LDAP. Аутентификация пользователей обеспечивается посредством OpenLDAP. Каждый аккаунт на сервере Zimbra имеет уникальный идентификатор почтового ящика, который является основной точкой идентификации аккаунта.
Zimbra также поддерживает интеграцию с Сервером Microsoft Active Directory.
Zimbra MTA — Postfix-open source агент передачи почты (MTA), который получает почту по протоколу SMTP и доставляет каждое сообщение в нужный почтовый ящик Zimbra сервера с помощью протокола локальной доставки сообщений (LMTP). Zimbra MTA также включает в себя антивирусный и антиспам-компоненты.
Zimbra-SNMP —отслеживает системные журналы, использование процессора и диска, а также другую информацию, генерирует сообщение об ошибке при остановке или запуске службы
Zimbra Logger — устанавливает инструменты для syslog агрегации, создания отчетов. Если вы не установите Logger, раздел статистики сервера консоли администрирования не будет отображаться.
Zimbra Spell — Aspell — программа проверки правописания с открытым исходным кодом, используемая web-клиентом Zimbra.
Zimbra Proxy и Zimbra Memcached — пакеты zimbra-прокси.
Zimbra System Directory Tree — основные каталоги, создаваемые пакетами установки Zimbra.
1.5. Архитектура почтового сервера.
1.6. Комплектация и способ установки.
Почтовый сервер Zimbra устанавливается с помощью скрипта, который можно скачать с сайта разработчика.
После установки мы получим полноценный почтовый сервер:
- SMTP-сервер для отправки писем.
- Чтение и работа с почтой по POP3/IMAP.
- Работа с почтой по web-интерфейсу.
- Графическая панель управления почтовым сервером.
Принцип установки аналогичный для любого дистрибутива Linux. Важно, чтобы данный дистрибутив официально поддерживался Zimbra.
Zimbra имеет две основные версии: платную — Network Edition и бесплатную — Open Source Edition (OSE).
Сравнение данных версий можно найти на официальном сайте.
В центре загрузки Zimbra мы также можем выбрать и скачать дистрибутив для платной или бесплатной версий.
В данной инструкции мы скачем и установим бесплатную — Open Source Edition (OSE).
2. Подготовка сервера.
2.1. Как временно или навсегда отключить SELinux.
Когда вы устанавливаете CentOS 7, функция SELinux включена по умолчанию, из-за этого некоторые приложения в вашей системе могут фактически не поддерживать этот механизм безопасности. Чтобы такие приложения функционировали нормально, вам необходимо отключить SELinux.
Конечно в интернете имеется много способов настройки и эксплуатации этой системы, но в данной инструкции я, пока что, настраивать SELinux не буду.
2.2. Настройка часового пояса и синхронизации времени.
Очень важно иметь правильно настроенную систему учета времени на сервере, потому что сервер — существо электромеханическое и все процессы в нём ориентируются на точно время. Например, резервное копирование, мониторинг и синхронизация с другими системами в сети.
Чтобы время на сервере CentOS 7 соответствовало вашему часовому поясу, его можно изменить вручную.
Для корректной работы сервера требуется правильно настроить его синхронизацию времени по Network Time Protocol.
Внимание! В CentOS 7 данная утилита уже идет в комплекте даже при минимальной комплектации установщика. Устанавливать отдельно в CentOS 7 утилиту chrony не надо. В CentOS 8 данная утилита не идет в комплекте и потребуется её установка и настройка.
2.3. Настройка брандмауэра и проброс портов.
Для нормальной работы Zimbra нужно открыть и пробросить за NAT много портов:
- 25 — основной порт для обмена почтой по протоколу SMTP.
- 80 — web-интерфейс для чтения почты (http).
- 110 — POP3 для загрузки почты.
- 143 — IMAP для работы с почтовым ящиком с помощью клиента.
- 443 — SSL web-интерфейс для чтения почты (https).
- 465 — безопасный SMTP для отправки почты с почтового клиента.
- 587 — SMTP для отправки почты с почтового клиента (submission).
- 993 — SSLIMAP для работы с почтовым ящиком с помощью клиента.
- 995 — SSLPOP3 для загрузки почты.
- 5222 — для подключения к Zimbra по протоколу XMPP.
- 5223 — для защищенного подключения к Zimbra по протоколу XMPP.
- 7071 — для защищенного доступа к администраторской консоли.
- 7110 — POP3 для загрузки почты.
- 7143 — IMAP для работы с почтовым ящиком с помощью клиента.
- 7993 — SSLIMAP для работы с почтовым ящиком с помощью клиента.
- 7995 — SSLPOP3 для загрузки почты.
- 8443 — SSL web-интерфейс для чтения почты (https).
- 9071 — для защищенного подключения к администраторской консоли.
В зависимости от утилиты управления фаерволом, команды будут следующие.
2.3.1. Если используем firewalld:
Так же проверьте, запущен ли у вас postfix на сервере.
# systemctl status postfix
Если это так, то остановите и отключите postfix.
# systemctl stop postfix
# systemctl disable postfix
2.3.2. Если используем iptables:
Данный раздел зарезервирован для инструкции по настройке iptables.
2.4. DNS и имя сервера.
2.4.1. Для корректной работы почтового сервера необходимо создать MX-записи для домена и поддомена.
Но для установки Zimbra важнее, чтобы в локальном файле hosts была запись о нашем сервере, в противном случае, установка прервется с ошибкой.
Так же создадим DNS-записи в пограничном шлюзе имя локального почтового сервера и его локальный IP-адрес.
2.4.2. Устанавливаем пакет hostname .
# yum -y install hostname
Задаем FQDN-имя для сервера.
# hostnamectl set-hostname mail.hamsterden.ru
Теперь открываем на редактирование файл hosts :
# cp /etc/hosts /etc/hosts.original
И приводим к виду:
- 192.168.0.32 — локальный IP-адрес почтового сервера;
- mail — имя почтового сервера;
- hamsterden.ru — домен.
2.5. Системная переменная для имени сервера.
Чтобы было удобнее вводить команды, где требуется указать имя сервера, создадим системную переменную:
Теперь мы можем в команде использовать переменную $myhostname .
3. Загрузка и установка дистрибутива.
Переходим по одной из ссылке для загрузки бесплатной версии.
Используя скопированную ссылку, загружаем дистрибутив Zimbra:
Распаковываем скачанный архив:
# tar zxpvf zcs-9.0.0_OSE_RHEL7_latest-zextras.tgz
Переходим в распакованный каталог:
Запускаем установку почтового сервера:
На экране отобразится лицензионное соглашение — принимаем его:
Разрешаем использование репозитория от Zimbra:
Устанавливаем необходимые модули (или все):
В зависимости от ситуации, мы можем выбрать лишь несколько компонентов, например, для использования сервера в качестве агента передачи сообщений, мы можем оставить только zimbra-mta, но в нашем примере мы будем настраивать Zimbra со всем компонентами.
Подтверждаем ранее введенные настройки:
Начнется процесс установки и конфигурирования Zimbra. Ждем окончания процесса.
Если для нашего домена еще нет записи MX, мы увидим сообщение:
Установщик предложит поменять домен — отвечаем отрицательно:
Дальше установщик покажет меню с настройкой Zimbra:
В данном случае мы можем поменять любую из настроек. Настройки, которые необходимо сделать для продолжения установки показаны звездочками — в данном примере необходимо задать пароль администратора ( Admin Password ) и указать путь до файла с лицензией ( License filename ), если таковая имеется для платной версии.
И так, кликаем 7 :
Переходим к установке пароля:
Если мы устанавливаем платную версию, указываем путь до файла с лицензией:
Указываем путь до файла с лицензией, например:
Теперь выходим из меню:
Сохраняем конфигурационный файл:
Соглашаемся с путем сохранения файла:
Дожидаемся окончания установки, на запрос отправки уведомления можно ответить отказом:
В конечном итоге, нажимаем Enter:
Сервер установлен. Однако, установщик меняет пароль пользователя root.
Меняем его обратно:
4. Zimbra DNSCache.
Вместе с зимброй мы установили службу dnscache, которая позволяет увеличить производительность почтового сервера. Однако, принцип работы сети немного меняется, а именно, в файле /etc/resolv.conf появляется запись:
И разрешение DNS имени в IP-адреса перестает работать. Удаление или смена записи в файле resolv.conf ни к чему не приводит, так как, по прошествии некоторого времени, настройка принимает исходный вид.
Для корректной настройки службы dnscache необходимо сначала посмотреть Master DNS в настройках Zimbra:
# su — zimbra -c «zmprov getServer ‘$myhostname’ | grep DNSMasterIP»
Где $myhostname — имя сервера, на котором установлена Zimbra (в данной конфигурации, mail.hamsterden.ru ).
В этом случае было:
Удалить данную запись:
# su — zimbra -c «zmprov ms ‘$myhostname’ -zimbraDNSMasterIP 127.0.0.53»
И добавить свои рабочие серверы DNS, например:
# su — zimbra -c «zmprov ms ‘$myhostname’ +zimbraDNSMasterIP 192.168.1.1»
# su — zimbra -c «zmprov ms ‘$myhostname’ +zimbraDNSMasterIP 8.8.8.8»
# su — zimbra -c «zmprov ms ‘$myhostname’ +zimbraDNSMasterIP 77.88.8.8»
- 192.168.1.1 — DNS сервер в моей сети;
- 8.8.8.8 — DNS сервер от Google;
- 77.88.8.8 — DNS сервер от Яндекс.
Теперь DNS-запросы на сервере будут работать.
Если наш сервер находится за NAT и разрешение IP происходит не во внутренний адрес, а внешний (можно проверить командой nslookup ), после настройки наш сервер не сможет принимать почту, а в логах мы можем увидеть ошибку «delivery temporarily suspended: connect to 7025: Connection refused)». Это происходит из-за попытки Zimbra передать письмо в очереди по внутреннему порту локальной почты 7025 (LMTP) на внешний адрес, который недоступен из NAT.
Для решения проблемы можно использовать внутренний DNS с другими А-записями (split dns) или собственный поиск IP-адресов для LMTP, а не для DNS.
Рассмотрим второй вариант — вводим две команды:
# su — zimbra -c «zmprov ms $myhostname zimbraMtaLmtpHostLookup native»
# su — zimbra -c «zmprov mcf zimbraMtaLmtpHostLookup native»
Где $myhostname — имя нашего почтового сервера.
После перезапускаем службы Zimbra:
# su — zimbra -c «zmmtactl restart»
5. Настройка Zimbra после установки.
Чтобы начать пользоваться сервером, внесем основные настройки. Для этого открываем браузер и вводим адрес https:// :7071 — должна открыться страница с ошибкой подлинности сертификата, разрешаем открытие страницы и мы увидим форму для входа в панель администрирования Zimbra. Вводим логин admin и пароль, который задавали при установке.
Если мы не меняли рабочий домен mail.hamsterden.ru в настройках во время установки сервера, то основной домен будет таким же, как имя сервера: mail.hamsterden.ru .
Переходим с главного меню панели администрирования в Управление — Учетные записи. Справа кликаем по шестеренке — Создать:
Задаем имя учетной записи, а также фамилию пользователя:
Задаем пароль пользователя и, по желанию, ставим галочку Требуется сменить пароль:
При необходимости создания административной учетной записи ставим галочку Глобальный администратор:
Нажимаем Готово.
6. Настройка DNS.
Для корректной работы почты необходимо настроить DNS для нашего домена.
Обычно это делается в настройках вашего доменного имени, в личном кабинете.
6.1. Записи MX и A.
Специальная запись в DNS для регистрации почтовых серверов. С ее помощью почтовый агент (MTA) при отправке электронных писем на определенный домен «понимает» на какой сервер выполнять пересылку. Позволяет определить почтовый сервер для домена.
Для нашего сервера, который определен как MX-запись нужна запись А, которая указывает на его IP-адрес. В моем примере это домен hamsterden.ru и сервер mail.hamsterden.ru , который из сети интернет должен разрешаться во внешний IP-адрес.
6.2. Запись PTR.
Данная запись представляет из себя обратное разрешение IP-адреса в домен. С ее помощью подтверждается легитимность отправителя. То есть запись в DNS, позволяющая получить имя узла по его IP-адресу. Так как это действие противоположно стандартному запросу в DNS, его называют обратным. PTR расшифровывается как «pointer».
Добавить такую запись сложнее любой другой, так как ее должен зарегистрировать и прописать у себя Интернет-провайдер, который предоставил сам IP-адрес.
То есть, чтобы прописать PTR, необходимо написать обращение к своему поставщику Интернета. Эта особенность используется для дополнительной проверки почтовых серверов, а именно, почтовый сервер считается правильно настроенным, если для его имени узла есть соответствующая обратная запись.
Данную запись можно сделать в личном кабинете оператора связи, у которого вы арендуете белый статичный IP-адрес.
И внести записи на месте аренды доменного имени beget.com.
6.3. Запись SPF.
Это запись TXT, которая определяет список серверов для домена, с которых разрешена отправка почты.
Стоит обратить внимание на следующий момент, принципиальный для массовых рассылок — мы ставим жесткий запрет на отправку сообщений с других серверов ( -all , а не
all ), так как необходимо гарантировать, что наш домен не будет скомпрометирован другим сервером. Однако, если для отправки с вашего домена используется несколько почтовых серверов, не забудьте указать их все. В противном случае перестанет ходить почта.
В ней указано с каких почтовых серверов может быть отправлена почта для домена. С ее помощью можно снизить общее количество СПАМа, уменьшить вероятность того, что домен будет скомпрометирован и защититься от СПАМа, который использует поле обратного адреса. Расшифровывается как Sender Policy Framework или инфраструктура политики отправителя.
6.4. Запись DMARC.
DMARC — технология, которая снижает количество спама и фишинговых писем за счёт обмена информацией между отправителем и получателем.
Получатель сообщает данные об инфраструктуре проверки подлинности почты. Отправитель — о том, что делать, если сообщение не прошло проверку.
Письма, которые не аутентифицированы, будут помечаться вашим почтовым сервисом как спам или как нежелательные
6.5. Запись DKIM.
Подтверждение владельца домена. Используется для уменьшения общего объема СПАМа и почтового фишинга. Расшифровывается как DomainKeys Identified Mail. Про DKIM важно знать, что она не защищает вас от СПАМа — она делает так, что ваши письма меньше попадают в СПАМ.
Письмо отправляется с зашифрованным заголовком и расшифровать его можно с помощью последовательности, хранящейся в TXT-записи на DNS. Соответственно, если владелец домена разместил такую последовательность, то он и является его владельцем.
# yum -y install opendkim
Формирование ключей выполняется для каждого из доменов из командной строки.
Подключаемся к серверу по SSH и вводим команды:
# su — zimbra -c «/opt/zimbra/libexec/zmdkimkeyutil -a -d mail.hamsterden.ru» >> /domainkey/domainkey.txt
Данная команда создаст последовательности ключей для домена mail.hamsterden.ru .
Мы должны получить ответ на подобие:
В данном ответе нас интересуют записи A20F02D6-1E8D-11EB-BA10-94549771E51A._domainkey — это имя для TXT в поддомене mail.hamsterden.ru; «v=DKIM1; k=rsa; » «p= MIIB. z6 » » 2boV. AB » — содержимое записи, которую из-за ограничений знакоместа разорвало кавычками.
Внимание! Следует считать, что запись такая v=DKIM1; k=rsa; p= MIIB. z6 2boV. AB и вносить ее без кавычек.
В настройках домена необходимо добавить данную запись, после чего подождать, минут 15.
Пример внесения записи на месте аренды доменного имени beget.com.
- mdmail — это идентификатор A20F02D6-1E8D-11EB-BA10-94549771E51A , который нужно вставить до точки, вместо слова mdmail .
После выполняем проверку:
# opendkim-testkey -d mail.hamsterden.ru -s A20F02D6-1E8D-11EB-BA10-94549771E51A -x /opt/zimbra/conf/opendkim.conf
- mail.hamsterden.ru — наш домен;
- A20F02D6-1E8D-11EB-BA10-94549771E51A — селектор, который мы видели в записи A20F02D6-1E8D-11EB-BA10-94549771E51A._domainkey .
Для просмотра имеющихся записей DKIM можно воспользоваться командой:
# su — zimbra -c «/opt/zimbra/libexec/zmdkimkeyutil -q -d mail.hamsterden.ru»
Выйдет длинный ответ с тестом ключей и селекторов.
6.6. Записи об подтверждении владения доменным именем.
- google.com — страница для регистрации сайта в Google;
- webmaster.yandex.ru — форма для регистрации сайта в Яндексе;
- webmaster.mail.ru — страница для регистрации сайта в Mail.Ru;
- bing.com — страница для регистрации сайта в Microsoft – Bing.
Зарегистрирую права на свой домен в Google:
Далее будет сгенерирована секретная TXT-запись для DNS, её нужно будет вставить в анкету DNS, в личном кабинете, где вы арендуете доменное имя.
Подождать некоторое время и нажать клавишу Подтвердить, чтобы сервисы Google могли пройти по адресу вашего доменного имени и убедиться, что вы вставили эту секретную фразу DNS своего доменного имени. Возможно прийдется подождать минут 15 или больше, чтобы все записи DNS обновились с учетом новой, добавленной вами, информации.
Как всё будет подтверждено, то вы увидите следующий шаг:
6.7. Сервер готов.
Итоговая сводная таблица всех записей:
В целом, такой сервер полнофункционален и полностью готов к эксплуатации.
Есть все необходимое, в том числе общие папки, автоответы, подписи и так далее.
В общем, все что требуется от классического почтового сервера.
7. Отправка тестового письма.
Открываем браузер и переходим по ссылке https:// :8443/ — откроется web-клиент для чтения и отправки почты.
В качестве логина используем созданный email и его пароль.
Теперь заходим на сайт https://www.mail-tester.com/ и копируем email-адрес для отправки тестового сообщения:
Создаем новое сообщение и отправляем его на тестовый адрес. Возвращаемся на сайт для проверки и кликаем по Затем проверьте оценку:
Если устранить ошибки или сделать всё сразу хорошо, то будет добрая картинка:
Если наше письмо не получило 10 баллов, анализируем ошибки и исправляем их.
8. SSL-сертификат.
8.1. Получение SSL-сертификата.
При заходе на web-интерфейс мы будем получать ошибку, так как по умолчанию, создается самоподписанный сертификат.
Рассмотрим процесс установки бесплатного сертификата от Let’s Encrypt.
Переходим в каталог /opt :
# yum -y install git
Загружаем утилиту для получения сертификата:
# git clone https://github.com/letsencrypt/letsencrypt
Запускаем настройку небольшого web-сервера для проверки подлинности домена:
# /opt/letsencrypt/letsencrypt-auto certonly —standalone
Будет установлено несколько пакетов, после необходимо ввести адрес почты, принять лицензионное соглашение и, в принципе, можно подписаться на рассылки от Let’s Encrypt:
После утилита предложит ввести адрес, для которого необходимо получить сертификат — вводим адрес нашего сервера, например:
Мы должны получить что-то на подобие:
Сертификат получен и все его файлы находятся в каталоге /etc/letsencrypt/live/mail.hamsterden.ru/ .
8.2. Установка сертификата.
Процесс установки сертификата для Zimbra, несколько, отличается от многих других сервисов — он требует дополнительных телодвижений.
И так, сначала скопируем полученные сертификаты в каталог Zimbra — в моем случае, команды такие:
# cp /etc/letsencrypt/live/mail.hamsterden.ru/* /opt/zimbra/ssl/zimbra/commercial/
Где mail.hamsterden.ru — домен, для которого мы получали сертификат.
Меняем владельца для скопированных файлов:
# chown zimbra /opt/zimbra/ssl/zimbra/commercial/*
Внимание! Теперь нюанс — Zimbra не примет цепочку сертификатов, если в ней не будет корневого от Let’s Encrypt.
Получить его можно командой:
После выполняем конвертирование читаемый вид:
# openssl pkcs7 -inform der -in dstrootcax3.p7c -print_certs -out /opt/zimbra/ssl/zimbra/commercial/dstrootcax3.pem
Полученную последовательность добавляем к файлу chain.pem :
Где мы добавили к файлу последовательность MIIDSjC. p2CNTUQ .
Теперь зайдем в систему под пользователем zimbra:
Перейдем в каталог:
Проверяем, правильно ли сформированы сертификаты для Zimbra:
# zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem
Мы должны получить ответ:
Переименовываем закрытый ключ:
# mv privkey.pem commercial.key
Можно устанавливать сертификаты:
# zmcertmgr deploycrt comm cert.pem chain.pem
Чтобы настройка применилась, перезапускаем Zimbra:
Можно выйти из окружения пользователя Zimbra:
8.3. Продление сертификата.
Обновление сертификата не потребует больших усилий. Для начала, обновляем сертификат Let’s Encrypt:
Скопируем обновленные сертификаты в каталог зимбры:
# cp /etc/letsencrypt/live/mail.hamsterden.ru/* /opt/zimbra/ssl/zimbra/commercial/
Где mail.hamsterden.ru — домен, для которого мы получали сертификат.
Меняем владельца для файлов:
# chown zimbra /opt/zimbra/ssl/zimbra/commercial/*
Переходим в каталог с сертификатами:
Добавляем к цепочке сертификатов корневой:
# echo ‘——BEGIN CERTIFICATE——‘ >> chain.pem
# sed ‘1,/^——BEGIN CERTIFICATE——$/d’ dstrootcax3.pem >> chain.pem
Проверяем корректность сертификатов:
# su — zimbra -c «zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/privkey.pem /opt/zimbra/ssl/zimbra/commercial/cert.pem /opt/zimbra/ssl/zimbra/commercial/chain.pem»
Переименовываем закрытый ключ:
# mv privkey.pem commercial.key
Можно устанавливать сертификаты:
# su — zimbra -c «zmcertmgr deploycrt comm /opt/zimbra/ssl/zimbra/commercial/cert.pem /opt/zimbra/ssl/zimbra/commercial/chain.pem»
Чтобы настройка применилась, перезапускаем Zimbra:
# su — zimbra -c «zmcontrol restart»
9. Настройка почтового клиента.
Приведем пример настройки почтового клиента. Подключимся к нашему серверу по IMAP и отправим почту по SMTP. В качестве почтового клиента я буду использовать Mozilla Thunderbird — принцип настройки других клиентов аналогичен.
Для настройки используем следующие параметры:
Настройка | IMAP | POP3 | SMTP |
---|---|---|---|
Адрес сервера | IP-адрес сервера или его имя | ||
Порт | 143 | 110 | 587 |
SSL | STARTTLS | ||
Имя пользователя | Почтовый адрес, к которому выполняем подключение | ||
Пароль | Пароль для почтового ящика |
Еще, вполне успешно, работает автоматическая настройка почты. Просто вводим логин и пароль и программа сама ищет наш почтовый сервер в интернете и подключается к нему. Требуется только добавить сертификат сервера в доверительные исключения.
10. Защита от СПАМа.
Для улучшения защиты от СПАМ-сообщений мы включим автоматическое обновление правил для SpamAssassin.
Для этого вводим:
# su — zimbra -c «zmlocalconfig -e antispam_enable_rule_updates=true»
# su — zimbra -c «zmlocalconfig -e antispam_enable_restarts=true»
После перезапустим соответствующие службы:
# su — zimbra -c «zmamavisdctl restart»
# su — zimbra -c «zmmtactl restart»
Чтобы усилить защиту, разрешим проверку отправителя в черных списках:
# su — zimbra -c ‘zmprov mcf zimbraMtaRestriction «reject_rbl_client zen.spamhaus.org»‘
В данном примере мы подключаем rbl-список от zen.spamhaus.org.
11. Дополнительны настройки Zimbra.
11.1. Добавление отправителей в белый список.
Может возникнуть ситуация, при которой нам нужно изменить назначение СПАМ-балов для некоторых отправителей.
Для этого открываем файл:
Внутри фигурных скобок <> добавим нужный нам домен или конкретного отправителя:
Таким образом мы сказали, что для писем с домена dmosk.ru и отправителя sender@dmosk2.ru отнимать 10 баллов за СПАМ. Такие письма начнут приходить без блокировки (при условии, что не будет отправлен явный СПАМ, который наберет очень много баллов).
После настройки перезапускаем amavis:
# su — zimbra -c «zmamavisdctl stop && zmamavisdctl start»
11.2. Размер отправляемого сообщения.
Задать максимальный размер сообщений можно командой:
# su — zimbra -c ‘zmprov modifyConfig zimbraMtaMaxMessageSize 31457280’
В данном примере мы задаем максимальный размер сообщения 30 мб.
После перезапускаем postfix:
# su — zimbra -c «postfix reload»
12. Возможные проблемы.
Рассмотрим некоторые проблемы, с которыми мы можем столкнуться при работе с Zimbra.
12.1. Служба zmconfigd не стартует.
В консоли управления почтовым сервером мы можем увидеть ошибку запуска службы zmconfigd.
При попытке запустить ее:
Мы получаем ошибку:
Устанавливаем пакет с nc-командами на систему:
# yum -y install nmap-ncat
После пробуем запустить сервис (от пользователя zimbra):
12.2. Служба компонента MTA не стартует.
Я перед установкой Zimbra забыл остановить и отключить postfix, поэтому после запуска системы, компонент MTA не был запущен, о чем свидетельствовала ошибка в статусе сервера. Исправляется это легко.
Во-первых, я отключил postfix, во-вторых, перезапустил сервис.
Делается это так.
Заходим под пользователем zimbra в консоль:
Проверяем статус сервисов.
Перезапускаем все службы:
После этого служба mta заработала.
12.3. Что делать, если почта не проходит на другие почтовые адреса .
Бывает так, что вы арендуете IP-адрес, а у него оказывается богатая история в интернете.