Почтовый сервер Zimbra + расширение Zextras
Хочу поделиться с вами информацией по настройке и внедрению современной почтовой системы и некоторых дополнений к ней. Речь пойдет об установке и настройке Zimbra + пакета расширения функционала Zextras. Последний позволяет настроить совместную работу с документами, организовать чаты с видеоконференциями и многое другое. Я как обычно подробно расскажу на конкретном примере, как все это настроить и запустить в работу.
Сразу же сообщаю, чтобы потом не было лишних обвинений и придирок. Данная статья заказная, находится в соответствующем разделе. Ее написание заказано и оплачено компанией svzcloud. Всех, кому интересны современные инфраструктурные решения в области почтовых серверов и коммуникаций, приглашаю к прочтению.
Немного поясню, о чем дальше пойдет речь.
- Почтовый сервер Zimbra. Думаю, он не нуждается в отдельном представлении. Старый и известный продукт, про который много информации в интернете. В том числе о внедрении и эксплуатации. Скажу честно, что сам никогда не обслуживал этот сервер, но много о нем слышал и наводил справки. У меня были на собеседованиях люди, которые администрировали в том числе кластеры из этих серверов. Расспрашивал их о зимбре, так как сам достаточно много настраивал и поддерживал почтовых серверов. И сейчас это делаю. В целом, я слышал в основном положительную информацию об этом сервере. Из разряда быстро установил, настроил и забыл. Есть opensource и коммерческая редакция zimbra.
- Пакет расширений Zextras — отдельное коммерческое решение, которое работает на базе Zimbra OSE (open source edition). С его помощью расширяется интерфейс zimbra. Появляется новый функционал, где помимо почты есть совместное редактирование и обмен документами, видеочат, виртуальный диск и некоторые другие возможности, которые мы рассмотрим далее.
Я давно собирался написать обзор на Зимбру и вот представилась возможность. Далее немного подробнее разберем функционал представленных продуктов.
Сервер Zimbra имеет встроенные возможности для:
- Интеграции системы аутентификации пользователей с Active Directory
- Управления Глобальной Адресной Книгой (GAL)
- Блокирования определенных вложений по расширению файла
- Масштабирования серверной инфраструктуры
- Проверки входящих сообщений на спам и вирусы
- Поддержки протоколов POP, IMAP, SMTP, CardDAV, iCal и CalDAV
- Фильтрации входящей почты с помощью встроенных модулей Postscreen, Amavisd, ClamAV, SpamAssassin и cbpolicyd
Для работы с почтовым сервером Zimbra пользователь может использоваться как встроенный веб-клиент, поддерживаемый современными браузерами Chrome, Firefox, Edge Chromium, а также мобильные или декстопные IMAP-клиенты. В веб-клиенте доступны:
- Получение и отправка электронной почты
- Добавление адресов в список контактов, а также их редактирование
- Создание, удаление и изменение событий в календаре
- Назначение совещаний и отправка приглашений сотрудникам
- Создание задач в ежедневнике
- Доступ к корзине с удаленными элементами
- Предварительный просмотр вложений
- Смена языка интерфейса, доступна русская локализация
- Предоставление общего доступа к почтовым папкам
- Предоставление права на отправку писем от имени почтового ящика
- Настройка автоответа
- Настройка почтовых фильтров для сортировки писем
- Настройка получения уведомления о доставке и прочтении сообщения
- О возможностях работы с веб-клиентом Zimbra можно узнать здесь.
Также сервер Zimbra поддерживает установку плагинов, которые могут добавить ряд функций как в серверную часть, так и в веб-клиент Zimbra. Например, можно установить плагин, добавляющий в Zimbra шифрование писем с помощью OpenPGP.
Подготовка сервера
Независимо от выбранного дистрибутива 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 нужно открыть много портов:
- 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):
б) Если используем 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
* если команда вернет ошибку, то установим пакет: 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-записи для домена (подробнее о записях в DNS).
Но для установки Zimbra важнее, чтобы в локальном файле hosts была запись о нашем сервере, в противном случае, установка прервется с ошибкой. И так, задаем FQDN-имя для сервера:
hostnamectl set-hostname zimbra.dmosk.ru
Теперь открываем на редактирование файл:
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 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»
Администрирование Zimbra
Zimbra представляет очень гибкий функционал для администрирования и развертывания. Архитектура программного продукта включает в себя open source разработки, использующие стандартные протоколы. Программное обеспечение сторонних производителей включено в Zimbra и является частью установочного процесса.
Компоненты Zimbra:
Возможности администрирования Zimbra:
Варианты развертывание Zimbra:
- Операционные системы: RHEL, CentOS, Oracle Linux и Ubuntu.
- Облачные сервисы: Oracle Cloud, VMware vCloud, Amazon EWS.
- Виртуальные машины: VMWare, Xen, KVM.
Минимальные системные требования: Intel/AMD 2.0 GHZ + 8 ГБ Ram, дисковое пространство 10 ГБ.
С перепроектированным основанным на браузере интерфейсом Zimbra предлагает самый инновационный способ обмена сообщениями, соединяя конечных пользователей с информацией и действием в их персональных облаках. Почтовый сервис Zimbra Collaboration Suite позволит вам полностью отказаться от бумажной документации и навсегда решить проблему хранения важных документов. Сервис предусматривает удобную архивацию данных и регулирование доступа для определенного круга сотрудников.
Zimbra способна составить конкуренцию самым популярным почтовым программам и веб-сервисам, потому что она предлагает целый комплекс решений для бизнес-клиентов.
Почему именно Zimbra?
Чем же хорош сервис Zimbra, если он идеально подходит для использования его в корпоративных целях? Давайте небольшими тезисами пройдемся по основным пунктам:
- Предоставление качественной защиты персональных данных от взлома. Частично, это достигается тем, что на эту почту невозможно зайти удаленно.
- Хорошая антипам-защита. Почта Zimbra отлично справляется со спамом и рекламными рассылками.
- Имеется возможность настроить сбор электронных сообщений с других почтовых ящиков, что в разы может упростить работу с электронными письмами.
- Наличие удобного интерфейса. Сервис поддерживает различные устройства (мобильные тоже), имеет удобный графический интерфейс и поддержку многих почтовых клиентов, в том числе Zimbra Desktop.
Mailbird
Почтовый клиент «Mailbird»
Еще один интересный почтовый клиент, который хочется представить вашему вниманию, имеет название Mailbird.
Пользователи операционной системы Mac OS могут найти схожие черты с браузером Sparrow.
Данная программа уже второй год подряд получает известную премию «IT World» как лучший почтовый клиент для операционной системы Виндовс.
Разработчики данного приложения прекрасно понимают, что многие их пользователи желают иметь на своем персональном компьютере почтовый клиент не такой как у всех.
Именно по данной причине команда Mailbird совсем недавно представила следующие решения, которые помогут подчеркнуть индивидуальность:
- Выбор цветового оформления;
- Сочетание горячих кнопок;
- Настройка панелей пользовательского интерфейса.
Стоит заметить, что данный почтовый клиент доступен в двух версиях:
Версию Pro есть возможность приобрести на один календарный год, либо пожизненно.
Стоить это будет 12 или 45 долларов.
Платная версия предлагает пользователям быстрый предпросмотр длинных сообщений и snooze-сообщения.
Почтовый клиент «Inky»
Почтовый клиент Inky является одной из самых красивых и современных программ. Стоит заметить, что данное приложение абсолютно бесплатно, что не может не радовать.
С помощью данной программы есть возможность работать сразу с несколькими электронными почтовыми ящиками, а также здесь присутствует функция облачной синхронизации и комфортной визуализации, которая обладает выбором цвета темы.
Производители данного почтового клиента обеспечили программу автоматической сортировкой входящих и исходящих писем по релевантности.
Сообщения от постоянных контактов отмечаются голубой каплей. Такой знак означает наивысшую важность послания.
Постоянный спам программа автоматически будет помечать яркими каплями и опускать вниз списка.
Zimbra Collaboration Product Edition Comparison
Архитектура Zimbra достаточно обширна и включает в себя множество модулей, и обладает следующим основным функционалом:
- Доставка, хранение и отправление электронной почты.
- Индексация почты.
- Логирование почтового сервера.
- Поддержка протоколов IMAP, POP, CalDAV и CarDAV.
- Служба каталогов.
- Антиспам защита (Spam Assassin).
- Антивирусная защита (ClamAV).
- Синхронизация с мобильными платформами: Android, iOS, Windows.
В качестве стенда используем сервер Ubunty 18.04. В качестве инсталляционного диска я использовал образ mini с сайта сообщества Ubuntu (Ubuntu 18.04 «Bionic Beaver» 64MB,64-bit PC (amd64, x86_64)). Во время установки отметил базовые пакеты и ssh сервер.
Прежде чем приступить к установке почтового сервера необходимо указать статичный IP адрес для вашей машины. В Ubuntu 18.04 и новее настройка сети производится через yaml файл. Для начала нужно выяснить имена сетевых интерфейсов: