Используемые термины: Zimbra, Linux, SMTP, POP3, IMAP.
Почтовый сервер Zimbra устанавливается с помощью скрипта, который можно скачать с сайта разработчика. После установки мы получим полноценный почтовый сервер:
Принцип установки аналогичный для любого дистрибутива Linux. Важно, чтобы данный дистрибутив официально поддерживался Zimbra.
Список дистрибутивов Linux, которые поддерживаются разработчиком Zimbra, описан на официальном сайте страницах загрузки. В данной инструкции мы рассмотрим процесс установки для Ubuntu 18.04 и CentOS 7, однако, процесс настройки для других систем, во многом, аналогичен.
Zimbra имеет две основные версии — платную Network Edition и бесплатную Open Source Edition (OSE). Сравнение данных версий можно найти на официальном сайте. В центре загрузки Zimbra мы также можем выбрать и скачать дистрибутив для платной или бесплатной версий. В данной инструкции мы скачем и установим платную demo-версию и лицензируем ее временным ключом, дающим право использовать программный продукт в течение 60 дней. По прошествии данного периода, программный продукт необходимо купить или прекратить использовать.
Независимо от выбранного дистрибутива Linux или редакции Zimbra выполняем следующие действия для подготовки сервера к корректной работы почтового сервера.
Устанавливаем корректный часовой пояс:
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
Если на сервере используется SELinux (по умолчанию, на системах RPM), рекомендуется ее отключить. Для этого вводим 2 команды:
setenforce 0
sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
* подробнее в статье Как отключить SELinux.
Для нормальной работы Zimbra нужно открыть много портов:
В зависимости от утилиты управления фаерволом, команды будут следующие.
а) Если используем firewalld (Red Hat, CentOS):
firewall-cmd –permanent –add-port={25,80,110,143,443,465,587,993,995,5222,5223,9071,7071,8443,7143,7993,7110,7995}/tcp
firewall-cmd –reload
б) Если используем 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
netfilter-persistent save
в) Если используем ufw (Ubuntu):
ufw allow 25,80,110,143,443,465,587,993,995,5222,5223,9071,7071,8443,7143,7993,7110,7995/tcp
Для корректной работы почтового сервера необходимо создать mx-записи для домена (подробнее о записях в DNS).
Но для установки Zimbra важнее, чтобы в локальном файле hosts была запись о нашем сервере, в противном случае, установка прервется с ошибкой. И так, задаем FQDN-имя для сервера:
hostnamectl set-hostname zimbra.admins24.com
Теперь открываем на редактирование файл:
vi /etc/hosts
… и добавляем:
192.168.1.15 zimbra.admins24.com zimbra
* где 192.168.1.15 — IP-адрес нашего сервера; zimbra — имя сервера; admins24.com — наш домен.
Не совсем очевидная проблема, но если в системе не будет пакета hostname, при попытке запустить установку зимбры, мы будем получать ошибку определения IP-адреса по имени. Устанавливаем пакет.
а) для CentOS (Red Hat):
yum install hostname
б) если Ubuntu (Debian):
apt-get install hostname
Чтобы нам было удобнее вводить команды, где требуется указать имя сервера, создадим системную переменную:
myhostname=zimbra.admins24.com
Теперь мы можем в команде использовать переменную $myhostname.
Переходим по одной из ссылок выше для загрузки платной или бесплатной версии.
Если мы планируем установить платную версию, сначала кликаем по START FREE TRIAL:
Проходим процедуру регистрации. На указанный адрес электронной почты мы получим файл с лицензией (на 60 дней). Переносим данный файл на сервер Zimbra, например, при помощи программы WinSCP.
Возвращаемся на страницу загрузки zimbra и копируем ссылку на дистрибутив:
Используя скопированную ссылку, загружаем дистрибутив Zimbra:
wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-NETWORK-8.8.15_GA_3869.UBUNTU18_64.20190918004220.tgz
Распаковываем скачанный архив:
tar -xzvf zcs-*.tgz
Переходим в распакованный каталог:
Запускаем установку почтового сервера:
./install.sh
На экране отобразится лицензионное соглашение — принимаем его:
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. Ждем окончания процесса.
Если для нашего домена еще нет записи MX, мы увидим сообщение:
It is suggested that the domain name have an MX record configured in DNS
Установщик предложит поменять домен — отвечаем отрицательно:
Change domain name? [Yes] No
… установщик покажет меню с настройкой Zimbra:
Main menu
1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-logger: Enabled 4) zimbra-mta: Enabled 5) zimbra-dnscache: Enabled 6) zimbra-snmp: Enabled 7) zimbra-store: Enabled +Create Admin User: yes +Admin user to create: [email protected] ******* +Admin Password UNSET +Anti-virus quarantine user: [email protected] +Enable automated spam training: yes +Spam training user: [email protected] +Non-spam(Ham) training user: [email protected] +SMTP host: zimbra.admins24.com +Web server HTTP port: 8080 +Web server HTTPS port: 8443 +Web server mode: https +IMAP server port: 7143 +IMAP server SSL port: 7993 +POP server port: 7110 +POP server SSL port: 7995 +Use spell check server: yes +Spell server URL: http://zimbra.admins24.com:7780/aspell.php +Enable version update checks: TRUE +Enable version update notifications: TRUE +Version update notification email: [email protected] +Version update source email: [email protected] +Install mailstore (service webapp): yes +Install UI (zimbra,zimbraAdmin webapps): yes ******* +License filename: UNSET
8) zimbra-spell: Enabled 9) zimbra-convertd: Enabled 10) zimbra-proxy: Enabled 11) Default Class of Service Configuration: 12) Enable default backup schedule: yes s) Save config to file x) Expand menu q) Quit
В данном случае мы можем поменять любую из настроек. Настройки, которые необходимо сделать для продолжения установки показаны звездочками — в данном примере необходимо задать пароль администратора (Admin Password) и указать путь до файла с лицензией (License filename). И так, кликаем 7:
Address unconfigured (**) items (? – help) 7
Переходим к установке пароля:
Select, or ‘r’ for previous menu [r] 4
… и задаем пароль.
Если мы устанавливаем платную версию, указываем путь до файла с лицензией:
Select, or ‘r’ for previous menu [r] 25
… и указываем путь до файла с лицензией, например:
Enter the name of the file that contains the license: /opt/zimbra/ZCSLicense.xml
Теперь выходим из меню:
Select, or ‘r’ for previous menu [r] r
Применяем настройки:
Select from menu, or press ‘a’ to apply config (? – help) a
Сохраняем конфигурационный файл:
Save configuration data to a file? [Yes] Y
Соглашаемся с путем сохранения файла:
Save config in file: [/opt/zimbra/config.20863]
Продолжаем конфигурирование:
The system will be modified – continue? [No] Y
Дожидаемся окончания установки, на запрос отправки уведомления можно ответить отказом:
Notify Zimbra of your installation? [Yes] n
В конечном итоге, нажимаем Enter:
Configuration complete – press return to exit
Сервер установлен. Однако, установщик меняет пароль пользователя root. Меняем его обратно:
passwd root
Вместе с зимброй мы установили службу dnscache, которая позволяет увеличить производительность почтового сервера. Однако, принцип работы сети немного меняется, а именно, в файле /etc/resolv.conf появляется запись:
nameserver 127.0.0.1
… а разрешение DNS имени в IP-адреса перестает работать. Удаление или смена записи в файле resolv.conf ни к чему не приводит, так как, по прошествии некоторого времени, настройка принимает исходный вид.
Для корректной настройки службы dnscache необходимо сначала посмотреть Master DNS в настройках Zimbra:
su – zimbra -c “zmprov getServer ‘$myhostname’ | grep DNSMasterIP”
* где $myhostname — имя сервера, на котором установлена Zimbra (в данной конфигурации, zimbra.admins24.com).
В моем случае было:
zimbraDNSMasterIP: 127.0.0.53
Удалить данную запись:
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 — имя нашего почтового сервера.
После перезапускаем службы зимбры:
su – zimbra -c “zmmtactl restart”
Чтобы начать пользоваться сервером, внесем основные настройки. Для этого открываем браузер и вводим адрес https://<IP-адрес сервера>:7071 — должна открыться страница с ошибкой, разрешаем открытие страницы и мы увидим форму для входа в панель администрирования Zimbra. Вводим логин admin и пароль, который задавали при установке.
Если мы не меняли рабочий домен в настройках во время установки сервера, то основной домен будет таким же, как имя сервера. Как правило, это не то, что нам нужно. И так, заходим в Настройка – Домены. В правой части окна кликаем по значку шестеренки и Создать:
Задаем название для нового домена:
… и кликаем Далее.
В следующем окне выбираем сервер:
… можно нажать Готово.
Теперь поменяем домен по умолчанию. Переходим в Настройка – Глобальные настройки. Меняем значение для поля «Домен по умолчанию»:
… и нажимаем Сохранить.
Переходим с главного меню панели администрирования в Управление – Учетные записи. Справа кликаем по шестеренке – Создать:
Задаем имя учетной записи, а также фамилию пользователя:
Задаем пароль пользователя и, по желанию, ставим галочку Требуется сменить пароль:
При необходимости создания административной учетной записи ставим галочку Глобальный администратор:
Нажимаем Готово.
Для корректной работы почты необходимо настроить DNS для нашего домена.
1. Запись MX.
Позволяет определить почтовый сервер для домена. Подробнее о том, что это и как ее правильно прописать в статье Что такое MX-запись.
2. Запись A.
Для нашего сервера, который определен как MX запись нужна запись А, которая указывает на его IP-адрес. В моем примере это сервер zimbra.admins24.com, который из сети Интернет должен разрешаться во внешний IP-адрес.
3. PTR.
Данная запись представляет из себя обратное разрешение IP-адреса в домен. С ее помощью подтверждается легитимность отправителя. Подробнее в статье Что такое PTR-запись.
4. SPF.
Это запись TXT, которая определяет список серверов для домена, с которых разрешена отправка почты. Подробнее — Что такое SPF.
5. DKIM.
Подтверждение владельца домена. Письмо отправляется с зашифрованным заголовком и расшифровать его можно с помощью последовательности, хранящейся в TXT-записи на DNS. Соответственно, если владелец домена разместил такую последовательность, то он и является его владельцем. Подробнее — Что такое DKIM. Также в данной инструкции ниже мы разберем настройку DKIM на Zimbra.
6. DMARC.
Определяет для домена политику проверки писем. Подробнее — Что такое DMARC.
Отдельно рассмотрим процесс настройки подписи DKIM на почтовом сервере Zimbra. Формирование ключей выполняется для каждого из доменов из командной строки. Подключаемся к серверу по SSH и вводим команду:
su – zimbra -c “/opt/zimbra/libexec/zmdkimkeyutil -a -d admins24.com”
* данная команда создаст последовательности ключей для домена admins24.com.
Мы должны получить ответ на подобие:
Public signature to enter into DNS:5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey IN TXT ( “v=DKIM1; k=rsa; “ “p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5iLy58AJ1fdB15BZgh/VtGfZsi+TrDyvqqZaL5pJ+MQaQrpqHW8AF5kyxW2QzAMjyKzySMZX0PoHUuV93Yxf2t52IFihvb7ivqmRwlqFV3gU7j8zqbAGWHfZo4Ydw0kUmU6pm+Z85aWt4k7rQ7vWXludQGf8yIaSMMmodxze9E5VUOtUA18dIEEPcbwSgOO6YhQLuC78T4FiF5” “8epQnsX0voSfg9tMW+r+P1b5fTy5Guyqh1plWYseKxPzHKHbc4Lokcgo1AZzKG5Mvo5OCXsKUE1fSoc366AFSoUnWr23P7oUbf+NjXzPMS8ESGA9TfpDA6eRJT4QEpi72AdIy4rQIDAQAB” ) ; —– DKIM key 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 for admins24.com
В данном ответе нас интересуют записи 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey — это имя для TXT в домене admins24.com; “v=DKIM1; k=rsa; ” “p=M…AB” — содержимое записи.
В настройках домена необходимо добавить данную запись, после чего подождать, минут 15. После выполняем проверку:
opendkim-testkey -d admins24.com -s 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 -x /opt/zimbra/conf/opendkim.conf
* где admins24.com — наш домен; 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 — селектор, который мы видели в записи 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey.* если при вводе команды мы получим ошибку «Command ‘opendkim-testkey’ not found», необходимо установить opendkim-tools командой apt-get install opendkim-tools (deb) или yum install opendkim-tools (RPM).
Для просмотра имеющихся записей DKIM можно воспользоваться командой:
su – zimbra -c “/opt/zimbra/libexec/zmdkimkeyutil -q -d admins24.com”
Открываем браузер и переходим по ссылке https://<IP-адрес сервера>:8443/ — откроется веб-клиент для чтения и отправки почты. В качестве логина используем созданный email и его пароль.
Теперь заходим на сайт https://www.mail-tester.com/ и копируем email-адрес для отправки тестового сообщения:
Создаем новое сообщение и отправляем его на тестовый адрес. Возвращаемся на сайт для проверки и кликаем по Затем проверьте оценку:
Если наше письмо не получило 10 баллов, анализируем проблемы и исправляем их.
При заходе на веб-интерфейс мы будем получать ошибку, так как по умолчанию, создается самоподписный сертификат. Рассмотрим процесс установки бесплатного сертификата от Let;s Encrypt.
Переходим в каталог /opt:
Загружаем утилиту для получения сертификата:
git clone https://github.com/letsencrypt/letsencrypt
Запускаем настройку небольшого веб-сервера для проверки подлинности домена:
/opt/letsencrypt/letsencrypt-auto certonly –standalone
Будет установлено несколько пакетов, после необходимо ввести адрес почты, принять лицензионное соглашение и, в принципе, можно подписаться на рассылки от Let’s Encrypt:
Enter email address (used for urgent renewal and security notices) (Enter ‘c’ tocancel): [email protected]
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –Please read the Terms of Service athttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You mustagree in order to register with the ACME server athttps://acme-v02.api.letsencrypt.org/directory– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –(A)gree/(C)ancel: A
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –Would you be willing to share your email address with the Electronic FrontierFoundation, a founding partner of the Let’s Encrypt project and the non-profitorganization that develops Certbot? We’d like to send you email about our workencrypting the web, EFF news, campaigns, and ways to support digital freedom.– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –(Y)es/(N)o: Y
После утилита предложит ввести адрес, для которого необходимо получить сертификат — вводим адрес нашего сервера, например:
Please enter in your domain name(s) (comma and/or space separated) (Enter ‘c’to cancel): zimbra.admins24.com
Мы должны получить что-то на подобие:
… – Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/zimbra.admins24.com/fullchain.pem Your key file has been saved at: …
Сертификат получен и все его файлы находятся в каталоге /etc/letsencrypt/live/zimbra.admins24.com/.
Процесс установки сертификата для зимбры, несколько, отличается от многих других сервисов — он требует дополнительных телодвижений.
И так, сначала скопируем полученные сертификаты в каталог зимбры — в моем случае, команды такие:
cp /etc/letsencrypt/live/zimbra.admins24.com/* /opt/zimbra/ssl/zimbra/commercial/
* где zimbra.admins24.com — домен, для которого мы получали сертификат.
Меняем владельца для скопированных файлов:
chown zimbra /opt/zimbra/ssl/zimbra/commercial/*
Теперь нюанс — zimbra не примет цепочку сертификатов, если в ней не будет корневого от Let’s Encrypt. Получить его можно командой:
wget http://apps.identrust.com/roots/dstrootcax3.p7c
После выполняем конвертирование читаемый вид:
openssl pkcs7 -inform der -in dstrootcax3.p7c -print_certs -out /opt/zimbra/ssl/zimbra/commercial/dstrootcax3.pem
Смотрим:
cat /opt/zimbra/ssl/zimbra/commercial/dstrootcax3.pem
Полученную последовательность добавляем к файлу chain.pem:
vi /opt/zimbra/ssl/zimbra/commercial/chain.pem
—–BEGIN CERTIFICATE—–<не меняем>—–END CERTIFICATE—–—–BEGIN CERTIFICATE—–MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ—–END CERTIFICATE—–
* где мы добавили к файлу последовательность MIIDSjC…p2CNTUQ.
Теперь зайдем в систему под пользователем zimbra:
su – zimbra
… и перейдем в каталог:
$ cd /opt/zimbra/ssl/zimbra/commercial
Проверяем, правильно ли сформированы сертификаты для Zimbra:
$ zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem
Мы должны получить ответ:
** Verifying ‘cert.pem’ against ‘privkey.key’Certificate ‘cert.pem’ and private key ‘privkey.key’ match.** Verifying ‘cert.pem’ against ‘chain.pem’Valid certificate chain: cert.pem: OK
Переименовываем закрытый ключ:
$ mv privkey.pem commercial.key
Можно устанавливать сертификаты:
$ zmcertmgr deploycrt comm cert.pem chain.pem
Чтобы настройка применилась, перезапускаем zimbra:
$ zmcontrol restart
Можно выйти из окружения пользователя zimbra:
Обновление сертификата не потребует больших усилий. Для начала, обновляем сертификат Let’s Encrypt:
/opt/letsencrypt/letsencrypt-auto renew
Скопируем обновленные сертификаты в каталог зимбры:
Меняем владельца для файлов:
Переходим в каталог с сертификатами:
cd /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”
su – zimbra -c “zmcontrol restart”
Готово.
Приведем пример настройки почтового клиента. Подключимся к нашему серверу по IMAP и отправим почту по SMTP. В качестве почтового клиента я буду использовать Mozilla Thunderbird — принцип настройки других клиентов аналогичен.
Для настройки используем следующие параметры:
Пример настройки:
Для улучшения защиты от СПАМ-сообщений мы включим автоматическое обновление правил для 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 ‘zmprov mcf zimbraMtaRestriction “reject_rbl_client zen.spamhaus.org”‘
* в данном примере мы подключаем rbl-список от zen.spamhaus.org.
После установки Zimbra в опции postfix mynetworks может оказаться подсеть, в которой находится наш сервер. На практике, это приводит к возможности отправки сообщений без пароля, что в свою очередь, позволяет любому вирусу в нашей сети делать нелегальную рассылку.
Задаем для mynetworks только один адрес:
su – zimbra -c ‘zmprov ms zimbra.admins24.com zimbraMtaMyNetworks “127.0.0.1/8″‘
Перезапускаем postfix:
su – zimbra -c ‘postfix reload’
Проверить текущую настройку можно командой:
su – zimbra -c ‘postconf mynetworks’
Может возникнуть ситуация, при которой нам нужно изменить назначение СПАМ-балов для некоторых отправителей. Для этого открываем файл:
vi /opt/zimbra/conf/amavisd.conf.in
Находим строку:
{ # a hash-type lookup table (associative array) … }
… и внутри фигурных скобок {} добавим нужный нам домен или конкретного отправителя:
… ‘admins24.com’ => -10.0, ‘[email protected]’ => -10.0,}
* таким образом мы сказали, что для писем с домена admins24.com и отправителя [email protected] отнимать 10 баллов за СПАМ. Такие письма начнут приходить без блокировки (при условии, что не будет отправлен явный СПАМ, который наберет очень много баллов).
После настройки перезапускаем amavis:
su – zimbra -c “zmamavisdctl stop && zmamavisdctl start”
Задать максимальный размер сообщений можно командой:
su – zimbra -c ‘zmprov modifyConfig zimbraMtaMaxMessageSize 31457280’
* в данном примере мы задаем максимальный размер сообщения 30 мб.
После перезапускаем postfix:
su – zimbra -c “postfix reload”
Рассмотрим некоторые проблемы, с которыми мы можем столкнуться при работе с Zimbra.
В консоли управления почтовым сервером мы можем увидеть ошибку запуска службы zmconfigd. При попытке запустить ее:
$ zmconfigdctl start
… мы получаем ошибку:
Starting zmconfigd…failed
Решение:
Устанавливаем пакет с nc-командами.
а) если на систему RPM (Red Hat / CentOS):
yum -y install nmap-ncat
б) если на систему deb (Debian / Ubuntu):
apt-get install netcat-openbsd
После пробуем запустить сервис (от пользователя zimbra):
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies