Установка и настройка zimbra на linux

Введение

Сразу же сообщаю, чтобы потом не было лишних обвинений и придирок. Данная статья заказная, находится в соответствующем разделе. Ее написание заказано и оплачено компанией svzcloud. Всех, кому интересны современные инфраструктурные решения в области почтовых серверов и коммуникаций, приглашаю к прочтению.

Немного поясню, о чем дальше пойдет речь.

  1. Почтовый сервер Zimbra. Думаю, он не нуждается в отдельном представлении. Старый и известный продукт, про который много информации в интернете. В том числе о внедрении и эксплуатации. Скажу честно, что сам никогда не обслуживал этот сервер, но много о нем слышал и наводил справки. У меня были на собеседованиях люди, которые администрировали в том числе кластеры из этих серверов. Расспрашивал их о зимбре, так как сам достаточно много настраивал и поддерживал почтовых серверов. И сейчас это делаю. В целом, я слышал в основном положительную информацию об этом сервере. Из разряда быстро установил, настроил и забыл. Есть opensource и коммерческая редакция zimbra.
  2. Пакет расширений Zextras — отдельное коммерческое решение, которое работает на базе Zimbra OSE (open source edition). С его помощью расширяется интерфейс zimbra. Появляется новый функционал, где помимо почты есть совместное редактирование и обмен документами, видеочат, виртуальный диск и некоторые другие возможности, которые мы рассмотрим далее.

Я давно собирался написать обзор на Зимбру и вот представилась возможность. Далее немного подробнее разберем функционал представленных продуктов.

О, Zimbra почта

Вход в почту может быть осуществлен как с мобильного устройства так и с компьютера стационарного типа. Для того чтобы воспользоваться преимуществами корпоративной почты, а именно для таких целей и создана Zimbra, нужно всего лишь одно: получить логин и пароль доступа к корпоративному почтовому серверу и установить на используемое вами устройство соответствующее ПО (например, для Windows ОС можно скачать вот эту программу клиент — Zimbra Desktop). Или же воспользоваться традиционным способом:

Введите в поисковой строке своего браузера адрес: https://mail.iks.ru/

Прописываем соответствующие секретные коды доступа и вуа-ля — вы там, где комфорт и эффективность правят балом, а если быть точнее…разница будет лицеприятна и понятна в плане управления.

Что такое Zimbra

Для начала расскажу, из чего состоит Zimbra. Это известные open source продукты.

  1. Почтовый сервер — Postfix.
  2. Сервер баз данных — MariaDB.
  3. Ldap сервер — OpenLDAP.
  4. Сервер приложений — Jetty.
  5. Web сервер apache и nginx в качестве прокси к нему.
  6. Поисковой движок — Lucene.
  7. Антивирус и антиспам — ClamAV и SpamAssassin и Amavisd в виде интерфейса для взаимодействия этих инструментов с MTA.
  8. Предпросмотр документов на базе LibreOffice.

В общих чертах появляется понимание о том, что из себя представляет Zimbra. Открытый вопрос с imap сервером. Ожидаешь увидеть здесь dovecot, но на самом деле у зимбры свой imap сервер. Все перечисленные компоненты связаны через web приложения, написанные на Java, в том числе интерфейс пользователя. Это накладывает свои особенности в эксплуатации, которые характерны для всех java приложений. Ожидать небольшого потребления системных ресурсов не приходится.

Системные требования

Минимальные системные требования для Zimbra следующие:

Система Centos 7 и прочие клоны RHEL либо Ubuntu 16
Процессор Intel/AMD 2.0 GHZ+ 64-bit, 2-4 CPU
Память 8 Gb Ram
Диск 5 GB для компонентов сиcтемы + место под почту

Я в своем примере буду использовать операционную систему Centos 7.

Функционал

Рассмотрим теперь, какой функционал предоставляет бесплатная версия Zimbra из коробки.

  1. Непосредственно почтовый сервер с web интерфейсом. Доступен следующий функционал — почта, задачи, календарь, адресная книга, автоответы, алиасы и др.
  2. Простой чат через web клиент.
  3. Хороший функциональный поиск по почтовой базе.
  4. Шифрование почтовых сообщений.
  5. Предпросмотр документов в web интерфейсе.
  6. Антиспам и антивирус.
  7. Web консоль управления сервером для администратора.
  8. Приложение для компьютера Zimbra Desktop. К сожалению, больше не поддерживается.

В целом, ничего особенного. Весь этот функционал можно настроить так или иначе самостоятельно. Но это под силу не только лишь всем 🙂 Объем работы будет очень большой. Нужно хорошее знание linux и понимание устройства и работы почтовых серверов.

Zimbra хороша тем, что дает готовое, единое, комплексное решение, которое ставится практически автоматически и не требует больших знаний linux для развертывания и управления. После установки доступен web интерфейс, через который все управляется. Лазить в консоль сервера практически не нужно. Только если траблшутить какие-то проблемы. Если у вас хороший бэкграунд на тему почтового сервера на базе postfix, но вам просто надоело все настраивать руками, то проблем быть не должно. Если его нет, то как повезет. Но в целом, продукт стабилен и надежен. При типовом использовании проблем быть не должно.

Дополнительные настройки

Добавление отправителей в белый список

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

vi /opt/zimbra/conf/amavisd.conf.in

Находим строку:

   { # a hash-type lookup table (associative array)
   …
   }

… и внутри фигурных скобок {} добавим нужный нам домен или конкретного отправителя:

   …
   ‘dmosk.ru’                           =>  -10.0,
   ‘sender@dmosk2.ru’                   =>  -10.0,
}

* таким образом мы сказали, что для писем с домена dmosk.ru и отправителя sender@dmosk2.ru отнимать 10 баллов за СПАМ. Такие письма начнут приходить без блокировки (при условии, что не будет отправлен явный СПАМ, который наберет очень много баллов).

После настройки перезапускаем amavis:

su — zimbra -c «zmamavisdctl stop && zmamavisdctl start»

Размер отправляемого сообщения

Задать максимальный размер сообщений можно командой:

su — zimbra -c ‘zmprov modifyConfig zimbraMtaMaxMessageSize 31457280’

* в данном примере мы задаем максимальный размер сообщения 30 мб.

После перезапускаем postfix:

su — zimbra -c «postfix reload»

Перенос учётных записей

Перенесём (импортируем) учётные записи из предыдущей почтовой системы. У меня использовался Postfix под управлением PostfixAdmin.

Для такого случая есть специальный скрипт.

#!/usr/bin/php

// Postfixadmin (http://postfixadmin.sourceforge.net/) to Zimbra
// (www.zimbra.com) migration script
//
// History:
// Based on work from: Jaros Baw Czarniak
// Enhanced by NERvOus (www.nervous.it) on 1-12-2009

<?php
/////////////////////////////////////////////////////////

$user="postfix";
$pass="postfixadmin";
$db="postfix";
$table_mbox="mailbox";
$table_alias="alias";
$file="import.sh";

/////////////////////////////////////////////////////////
echo "This script generates a bash script called: $file
The script contains the commands to re-create the mboxes and
aliases on zimbra server.\n\n
";

$mydb = mysql_connect('localhost',$user, $pass) or die ('Error connecting to server');
mysql_select_db($db);
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");

$query = "SELECT username,password,name,maildir,quota,domain
                FROM $table_mbox";
$dane = mysql_query($query) or die ('Error during query for '.mysql_error());

echo "Writing to $file ...\n";
$fh = fopen($file, "w");

fwrite($fh, "#!/bin/sh -x\n\n");

while ($row = mysql_fetch_array($dane, MYSQL_NUM))
{
    $data_mbox = "zmprov ca ".$row." dsfs123hsdyfgbsdgfbsd displayName '".$row."'\n";
    $data_mbox .= "zmprov ma ".$row." userPassword '{crypt}".$row."'"."\n";
    fwrite($fh, $data_mbox);
}
// skip domain aliases, aliases that forward to themselves and aliases
// for which a mbox exists
$query = "SELECT address, trim(trailing ',' from goto) AS dest
                FROM ".$table_alias."
                WHERE address NOT LIKE '@%'
                        AND address NOT IN (SELECT username FROM $table_mbox)
                HAVING address != dest";
$dane = mysql_query($query) or die ('Error during query for '.mysql_error());
while ($row = mysql_fetch_array($dane, MYSQL_NUM)) {
        // multiple dests
        unset($rawdest_r);
        unset($dest_r);
        $rawdest_r = preg_split('/,/', $row);
        foreach ($rawdest_r as $dest) {
                if ($dest != $row) {
                // don't forward to itself
                        $dest_r[] = $dest;
                }
        }
        if (count($dest_r) > 1) {
                // distribution list
                $data_list .= "zmprov cdl $row\n";
                foreach ($dest_r as $dest) {
                        $data_list .= "zmprov adlm $row $dest\n";
                }
        }
        if (count($dest_r) == 1) {
                preg_match('/@(.*)$/', $row, $matches);
                $acct_domain = $matches;
                preg_match('/@(.*)$/', $dest_r, $matches);
                $alias_domain = $matches;
                if ($acct_domain == $alias_domain) {
                        // we are adding an alias, not a forward
                        // try to create alias both for a normal
                        // account and for a distribution list. One of the
                        // commands will fail, pity.
                        $data_alias .= "zmprov aaa $dest_r $row\n";
                        $data_alias .= "zmprov adla $dest_r $row\n";
                } else {
                        // we are adding a forward
                        $data_alias .= "zmprov ca $row " . rand_str(11) . "\n";
                        $data_alias .= "zmprov ma $row zimbraprefmailforwardingaddress $dest_r\n";
                }
        }
}

// first create all distribution lists, last all aliases
// We cannot create aliases for distribution lists that do not
// exist yet
fwrite($fh, $data_list . $data_alias);
fclose($fh);


echo "Done.

Now copy $file to zimbra server and run:
# su - zimbra
$ sh ./$file
";


function rand_str($length = 32, $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890')
{
    // Length of character list
    $chars_length = (strlen($chars) - 1);

    // Start our string
    $string = $chars{rand(0, $chars_length)};

    // Generate random string
    for ($i = 1; $i < $length; $i = strlen($string))
    {
        // Grab a random character from our list
        $r = $chars{rand(0, $chars_length)};

        // Make sure the same two characters don't appear next to each
        // other
        if ($r != $string{$i - 1}) $string .=  $r;
    }

    // Return the string
    return $string;
}

Полученный с помощью этого скрипта файл import.sh выполняем на сервере Zimbra.

Zimbra Collaboration

Zimbra release notes are specific to each version of the server. Select your version from the list below to see the release notes for it.

Release Codename Patch Level Third-Party Patch Level General Availability Download the Release Notes
9.0.0 GA Release Kepler Patch 18 No released patches 04/07/2020
8.8.15 GA Release (LTS Release) Joule Patch 25 No released patches 07/22/2019
8.8.12 GA Release Isaac-Newton Patch 6 No released patches End of General Support 12/31/2019 04/01/2019
8.8.11 GA Release Homi-Bhabha Patch 5 No released patches End of Technical Guidance 12/17/2019 12/17/2018
8.8.10 GA Release Konrad-Zuse Patch 8 No released patches End of Technical Guidance 10/01/2019 10/03/2018
8.8.9 GA Release Curie Patch 10 No released patches End of Technical Guidance 07/09/2019 07/10/2018
8.8.8 GA Release Turing Patch 10 No released patches End of Technical Guidance 03/29/2019 04/02/2018
8.8.7 GA Release JudasPriest No released patches No released patches End of Technical Guidance 03/29/2019 03/08/2018
8.8.6 GA Release JudasPriest No released patches No released patches End of Technical Guidance 03/29/2019 01/15/2018
8.8 GA Release JudasPriest No released patches No released patches End of Technical Guidance 03/29/2019 12/12/2017
8.7.11 GA Release JudasPriest Patch 14 No released patches End of General Support 12/31/2019 06/08/2017
8.7.10 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 05/31/2017
8.7.9 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 05/11/2017
8.7.8 Early Developer Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 04/27/2017
8.7.7 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 04/13/2017
8.7.6 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 03/30/2017
8.7.5 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 03/16/2017
8.7.4 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 03/02/2017
8.7.3 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 02/17/2017
8.7.2 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 02/02/2017
8.7.1 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 10/27/2016
8.7.0 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 07/13/2016
8.6.0 GA Release JudasPriest Patch 14 No released patches End of Technical Guidance 9/30/2019 12/15/2014
8.5.1 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2018 11/03/2014
8.5.0 GA Release JudasPriest Patch 2 No released patches End of Technical Guidance 9/30/2018 08/28/2014
8.0.9 GA Release IronMaiden No released patches No released patches End of Technical Guidance 9/10/2017 11/03/2014
8.0.8 GA Release IronMaiden No released patches No released patches End of Technical Guidance 9/10/2017 09/25/2014
8.0.7 GA Release IronMaiden Patch 2 End of Technical Guidance 9/10/2017 04/08/2014
8.0.6 GA Release IronMaiden No released patches End of Technical Guidance 9/10/2017 12/03/2013
8.0.5 GA Release IronMaiden Patch 1 End of Technical Guidance 9/10/2017 09/10/2013
8.0.4 GA Release IronMaiden Patch 2 End of Technical Guidance 9/10/2017 05/24/2013
8.0.3 GA Release IronMaiden Patch 3 End of Technical Guidance 9/10/2017 03/05/2013
8.0.2 GA Release IronMaiden Patch 1 No released patches End of Technical Guidance 9/10/2017 12/10/2012
8.0.1 GA Release IronMaiden No released patches No released patches End of Technical Guidance 9/10/2017 11/05/2012
8.0.0 GA Release IronMaiden No released patches No released patches End of Technical Guidance 9/10/2017 09/07/2012
7.2.7 GA Release Helix No released patches No released patches End of Technical Guidance 3/31/2015 03/14/2014

Try Zimbra

Want to get involved?

Other help Resources

Looking for a Video?

Почему именно Zimbra?

Чем же хорош сервис Zimbra, если он идеально подходит для использования его в корпоративных целях? Давайте небольшими тезисами пройдемся по основным пунктам:

  • Предоставление качественной защиты персональных данных от взлома. Частично, это достигается тем, что на эту почту невозможно зайти удаленно.
  • Хорошая антипам-защита. Почта Zimbra отлично справляется со спамом и рекламными рассылками.
  • Имеется возможность настроить сбор электронных сообщений с других почтовых ящиков, что в разы может упростить работу с электронными письмами.
  • Наличие удобного интерфейса. Сервис поддерживает различные устройства (мобильные тоже), имеет удобный графический интерфейс и поддержку многих почтовых клиентов, в том числе Zimbra Desktop.

Подготовка сервера

Независимо от выбранного дистрибутива 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 команды:

setenforce 0

sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config

* подробнее в статье Как отключить SELinux.

Брандмауэр

Для нормальной работы Zimbra нужно открыть много портов:

  • 25 — основной порт для обмена почтой по протоколу SMTP.
  • 80 — веб-интерфейс для чтения почты (http).
  • 110 — POP3 для загрузки почты.
  • 143 — IMAP для работы с почтовым ящиком с помощью клиента.
  • 443 — SSL веб-интерфейс для чтения почты (https).
  • 465 — безопасный SMTP для отправки почты с почтового клиента.
  • 587 — SMTP для отправки почты с почтового клиента (submission).
  • 993 — SSL IMAP для работы с почтовым ящиком с помощью клиента.
  • 995 — SSL POP3 для загрузки почты.
  • 5222 — для подключения к Zimbra по протоколу XMPP.
  • 5223 — для защищенного подключения к Zimbra по протоколу XMPP.
  • 7071 — для защищенного доступа к администраторской консоли.
  • 8443 — SSL веб-интерфейс для чтения почты (https).
  • 7143 — IMAP для работы с почтовым ящиком с помощью клиента.
  • 7993 — SSL IMAP для работы с почтовым ящиком с помощью клиента.
  • 7110 — POP3 для загрузки почты.
  • 7995 — SSL POP3 для загрузки почты.
  • 9071 — для защищенного подключения к администраторской консоли.

В зависимости от утилиты управления фаерволом, команды будут следующие.

а) Если используем 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 -I INPUT -p tcp —match multiport —dports 80,443 -j ACCEPT

Порты для почты:

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

Порты для Zimbra:

iptables -I INPUT -p tcp —match multiport —dports 5222,5223,9071,7071,8443,7143,7993,7110,7995 -j ACCEPT 

Сохраняем правила: 

netfilter-persistent save

* если команда вернет ошибку, то установим пакет: apt-get install iptables-persistent.

в) Если используем 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-записи для домена (подробнее о ).

Но для установки Zimbra важнее, чтобы в локальном файле hosts была запись о нашем сервере, в противном случае, установка прервется с ошибкой. И так, задаем FQDN-имя для сервера:

hostnamectl set-hostname zimbra.dmosk.ru

Теперь открываем на редактирование файл:

vi /etc/hosts

… и добавляем:

192.168.1.15      zimbra.dmosk.ru zimbra

* где 192.168.1.15 — IP-адрес нашего сервера; zimbra — имя сервера; dmosk.ru — наш домен.

Не совсем очевидная проблема, но если в системе не будет пакета hostname, при попытке запустить установку зимбры, мы будем получать ошибку определения IP-адреса по имени. Устанавливаем пакет.

а) для CentOS (Red Hat):

yum install hostname

б) если Ubuntu (Debian):

apt-get install hostname

4. Системная переменная для имени сервера

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

myhostname=zimbra.dmosk.ru

Теперь мы можем в команде использовать переменную $myhostname.

Автоматизация переноса учёток

Почтовая учётная запись создаётся двумя командами:

/opt/zimbra/bin/zmprov ca user@domain.ru userpass displayName "Фамилия Имя Отчество"
/opt/zimbra/bin/zmprov ma user@domain.ru userPassword 'userpass'

где userpass — пароль пользователя

Первая команда создаёт пользователя с открытым паролем, вторая — перезаписывает открытый пароль шифрованным (поэтому первый пароль может быть любым).

Если есть список пользоватей и их пароли, то скрипт можно составить, например, в OpenOffice Calc добавить необходимые поля (команды, кавычки), и затем сохранить в формате csv с разделителем «пробел».

Можно сначала создать все учётные записи, а зетем у всех поменять пароль.

Чтобы корректно отображались кирилические буквы, скрипт лучше выполнять от имени root или можно настроить локаль. Проверить настройки локали можно командной:

# echo $LANG
ru_RU.UTF-8

а установить командами:

LANG=ru_RU.UTF-8
export $LANG

Ограничение размера ящика и письма

Zimbra в качестве MTA использует Postfix, где эти ограничения задаются переменными:

# устанавливаем ограничение на ящик в 100Мб и на письмо в 10Мб
mailbox_size_limit = 102400000
message_size_limit = 10240000

Конфигурационный файл /opt/zimbra/postfix/conf/main.cf генерируется при каждом запуске зимбры, поэтому исправлять его нет смысла. Редактируем файл /opt/zimbra/conf/zmmta.cf, но так как он доступен только для чтения, то сначала придётся сменить права:

$ chmod u+w ./zmmta.cf

Находим вышеуказанные переменные, присваиваем нужные значения, перезагружаем зимбру:

$ zmcontrol restart

Настройка DNS

Для корректной работы почты необходимо настроить DNS для нашего домена.

1. Запись MX.

Позволяет определить почтовый сервер для домена. Подробнее о том, что это и как ее правильно прописать в статье Что такое MX-запись.

2. Запись A.

Для нашего сервера, который определен как MX запись нужна запись А, которая указывает на его IP-адрес. В моем примере это сервер zimbra.dmosk.ru, который из сети Интернет должен разрешаться во внешний IP-адрес.

3. PTR.

Данная запись представляет из себя обратное разрешение IP-адреса в домен. С ее помощью подтверждается легитимность отправителя. Подробнее в статье Что такое PTR-запись.

4. SPF.

Это запись TXT, которая определяет список серверов для домена, с которых разрешена отправка почты. Подробнее — Что такое SPF.

5. DKIM.

Подтверждение владельца домена. Письмо отправляется с зашифрованным заголовком и расшифровать его можно с помощью последовательности, хранящейся в TXT-записи на DNS. Соответственно, если владелец домена разместил такую последовательность, то он и является его владельцем. Подробнее — Что такое DKIM. Также в данной инструкции ниже мы разберем настройку DKIM на Zimbra.

6. DMARC.

Определяет для домена политику проверки писем. Подробнее — Что такое DMARC.

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

В интерфейсе пользователя есть вкладка Drive. Здесь можно хранить свои файлы и делиться ими с другими пользователями системы. Есть возможность давать доступ на чтение или редактирование, а так же на редактирование и возможность так же назначать права для доступа других пользователей.

Отсюда можно запустить редактирование документа. Оно основано на онлайн версии популярного офисного пакета LibreOffice и поддерживает более 100 форматов документов, в т. ч. Microsoft Office. При работе над файлом каждое действие фиксируется, благодаря чему при желании можно будет не только вернуться к любому этапу создания документа, но и отследить порядок внесения правок в него, что помогает участвовать в процесс редактирования другим сотрудникам. Тут же можно будет быстро сохранить документ в виде pdf файла.

Я скажу честно, не протестировал этот функционал. Судя по тому, что все остальное у меня заработало, не думаю, что тут будут какие-то фатальные проблемы. Просто сервер для редактирования документов рекомендуется ставить на отдельную VPS, не на этот же сервер. В рамках тестирования у меня не было подходящей инфраструктуры под рукой, чтобы быстро связать все это дело. Судя по документации, там никаких сложностей нет. Так же качается пакет, ставится одной командой и потом связывается с основным сервером через ввод параметров для связи — адрес сервера и учетка для авторизации.

Думаю, что все это можно поставить и на один сервер, но не было времени проверить и разобраться.

Такие полезные опции: фишки Zimbra функционала

Что тут сказать, интерфейс потрясает: все плавно и подробно (необычность не только в описании — эжто нужно проверить, пощупать и принять на вооружение)

Кнопки на своем действительном и, что немаловажно, ожидаемом месте. Пальцы сами находят нужный раздел и письма открываются как по велению мыслей пользователя

Кстати, о спаме можно совсем забыть, как о явлении, не имеющем места быть в Zimbra в принципе и априори. Конечно же если сисадмин на фирме все правильно настроил и нигде не допустил «непоправимых упущений».

Главное достоинство Zimbra — это софт, который работает безупречно и по-умному. Мгновенное быстродействие — это недостаточное описание молниеносно происходящего процесса «обмен сообщениями», которые, кстати, по многим характеристикам (например, ограниченность традиционных серверов почты — письмо в 25 МБ и ни байта больше!) в разы превосходит «долгоиграющие аналоги в Сети.

Сегодня вопрос о защите персональных данных в Интернете всё больше набирает популярности. Особенно, тенденцию к улучшению уровня защиты информации можно заметить у различных фирмах и корпорациях, которые дорожат своими секретами. Если же говорить о защите переписок, то здесь уместно будет сказать о сервисе Zimbra, который имеет ряд особенностей, о чем мы далее и поговорим.

Что такое Zextras

Продукт Zextras состоит из двух компонентов — Zextras Suite и Team Pro. Рассмотрим функционал каждого из них. Начнем с Zextras Suite и его основных возможностей (не всех):

  1. Одноканальный (1:1) мессенджер с поддержкой аудио и видео звонков.
  2. Создание и редактирование документов, таблиц, презентаций в интегрированной LibreOffice с поддержкой форматов документов Microsoft Office, кроме бизнес аналитики, OLAP.
  3. Совместная работа с документами через web интерфейс. В том числе преобразование в pdf в один клик.
  4. Индивидуальный виртуальный диск Drive для хранения документов с возможностью делиться файлами.
  5. Поддержка различных Storage для хранения информации, в том числе объектные, типа S3 с приоритезацией хранения данных на хранилищах разных типов.
  6. Расширенная возможность бэкапа (компрессия, дедупликация) и восстановления данных, в том числе удаленных писем и т.д. Все это связано с поддержкой различных Storage из предыдущего пункта.
  7. Поддержка мобильных устройств, в том числе с помощью Active Sync. Есть мобильные приложения для iOS и Android.
  8. Поддержка клиента Microsoft Outlook с помощью того же Active Sync.
  9. Расширенные возможности администрирования. Делегирование нескольким администраторам ограниченных прав, логирование их действий и т.д.

Продукт Team Pro дает дополнительные возможности к перечисленным выше:

  1. Многоканальные видеозвонки для организации видеоконференций.
  2. Возможность общения с внешними пользователями, не зарегистрированными в системе.
  3. Демонстрация своего экрана для одного или нескольких зрителей, возможность делиться файлами.

Все перечисленные возможности интегрированы в стандартный интерфейс Zimbra и управляются через него. Расширения Zextras являются надстройкой, не изменяя код самого почтового сервера. Их можно без проблем удалить. Аудио и видеочаты реализованы на базе WebRTC, поэтому работают через браузер и не требуют установки дополнительного ПО.

Zextras полностью платный продукт. Open source версии нет. Можно воспользоваться 30-ти дневным триалом для тестирования функционала. Стоимость различных лицензий можно узнать у официального партнера Zextras в РФ — SVZcloud.

С теорией и описанием закончили. Переходим к установке и настройке. Начнем с установки Zimbra.

Zimbra DNSCache

Вместе с зимброй мы установили службу 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.dmosk.ru).

В моем случае было:

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-запросы на сервере будут работать.

zimbraMtaLmtpHostLookup

Если наш сервер находится за 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»

Настройка zimbra после установки

Чтобы начать пользоваться сервером, внесем основные настройки. Для этого открываем браузер и вводим адрес https://<IP-адрес сервера>:7071 — должна открыться страница с ошибкой, разрешаем открытие страницы и мы увидим форму для входа в панель администрирования Zimbra. Вводим логин admin и пароль, который задавали при установке.

Добавление домена

Если мы не меняли рабочий домен в настройках во время установки сервера, то основной домен будет таким же, как имя сервера. Как правило, это не то, что нам нужно. И так, заходим в Настройка — Домены. В правой части окна кликаем по значку шестеренки и Создать:

Задаем название для нового домена:

… и кликаем Далее.

В следующем окне выбираем сервер:

… можно нажать Готово.

Теперь поменяем домен по умолчанию. Переходим в Настройка — Глобальные настройки. Меняем значение для поля «Домен по умолчанию»:

… и нажимаем Сохранить.

Создание почтового ящика

Переходим с главного меню панели администрирования в Управление — Учетные записи. Справа кликаем по шестеренке — Создать:

Задаем имя учетной записи, а также фамилию пользователя:

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

При необходимости создания административной учетной записи ставим галочку Глобальный администратор:

Нажимаем Готово.

Заключение

Инструментов Zimbra и Zextras достаточно, чтобы организовать коллективную работу с почтой и документами практически в любой организации. Продукт нормально масштабируется, так что подойдет как для среднего, так и для большого бизнеса. Примеры реализации для государственных учреждений и сервис-провайдеров можете посмотреть по ссылкам.

Мне довелось пообщаться с одним администратором, который работал в банке и занимался только тем, что управлял кластером Zimbra, который обеспечивал почтой работу всего банка. Банк не сильно большой и известный, тем не менее я все равно был удивлен увидеть этот продукт там.

Возможность гибко управлять пользователями, делегировать полномочия администраторов являются приятной особенностью описанного решения. Не так много продуктов могут этим похвастаться. С точки зрения управления системой реализовано все не плохо. Не скажу, что удобно, но тем не менее, функционал есть и можно настраивать. В комплекте хорошие бэкапы и работа с томами. Особенно это будет актуально для больших почтовых архивов в облачной инфраструктуре, когда старую почту можно будет выгрузить на дешевые s3 хранилища.

Если у вас есть реальный опыт использования Zimbra или Zextras прошу поделиться информацией. Так же было бы любопытно узнать, кто что использует в организациях для совместной работы. Первое, что приходит на ум, это продукты Microsoft, но они дорогие. Полностью Open Source решения костыльные и неудобные. Все потребности не закрывают. Приходится искать компромиссы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector