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

Наиболее простым способом управления доменами является Консоль администратора, которая доступна по адресу https://mail.example.ru:7071 в случае односерверной установки и https://mail.example.ru:9071 в случае мультисерверной установки. Для того, чтобы получить доступ к списку доменов, выберите в левой панели раздел "Настройка" и в открывшемся меню кликните на раздел "Домены". На экране отобразится список созданных в системе доменов. Именно здесь можно создавать новые почтовые домены и удалять неиспользуемые.

При установке Zimbra OSE автоматический создается почтовый домен, название которого соответствует доменному имени сервера. К примеру, если доменное имя сервера mail.example.ru, то при установке Zimbra OSE автоматически будет создан почтовый домен mail.example.ru. Его пользователи при входе в веб-клиент Zimbra OSE смогут вводить только первую часть имени учетной записи. К примеру, пользователь admin@mail.example.ru может указать только admin и пароль своей учетной записи, чтобы войти в нее. Пользователь же другого домена должен будет указывать имя своей учетной записи полностью. К примеру, пользователю user@example.ru для входа нужно будет ввести имя своей учетной записи полностью и указать пароль.

Домен по умолчанию можно настроить при помощи команды zmprov modifyConfig zimbraDefaultDomainName example.ru. После ввода этой команды домен по умолчанию изменится и пользователю admin@mail.example.ru при входе в веб-клиент придется указывать полное имя учетной записи, а пользователю user@example.ru достаточно будет указать просто user.Также в домене по умолчанию автоматически создается несколько технических почтовых ящиков. Среди них:

  • ham@mail.example.ru - тренировочный ящик для spamassassin. В него попадают все письма, которые пользователи переносят из папки "Спам" в любую другую почтовую папку.

  • spam@mail.example.ru - тренировочный ящик для spamassassin. В него попадают все письма, которые пользователи переносят из папки "Спам" в любую другую почтовую папку.

  • virus-quarantine@mail.example.ru - карантинный ящик для писем, которые могут оказаться зараженными.

  • galsync@mail.example.ru - учетная запись синхронизации глобальной книги адресов

Имена данных учетных записей в домене изначальном домене в целях безопасности всегда обфусцированы набором из 8 или 10 символов. В создаваемых на том же почтовом сервере доменах появляется всего один технический ящик - galsync@example.ru. Его название не обфусцируется. При создании новых доменах на других почтовых серверах в мультисерверной инфраструктуре создаются также технические почтовые ящики ham, spam и virus-quarantine - по одному на каждый почтовый сервер.

Создание домена

Создать домен можно как в консоли администратора, так и в командной строке Zimbra OSE. В консоли администратора необходимо выбрать в левой панели раздел "Настройка" и в открывшемся меню кликнуть на раздел "Домены". В открывшемся списке доменов нажмите на кнопку "Настроить" в правом верхнем углу и в выпадающем списке нажмите на раздел "Новый".

В открывшемся диалоговом окне следует указать:

Имя домена (Обязательный параметр)
Имя узла общего пользования - FQDN почтового сервера
Протокол общего пользования - http или https
Порт общего пользования - номер порта, по которому будет осуществляться вход в веб-клиент
Имя узла входящих сообщений SMTP - Имя хоста почтового релея для данного домена
Описание
Класс обслуживания по умолчанию - Класс обслуживания, который будет присваиваться пользователям домена по умолчанию
Статус - Позволяет при создании назначить домену один из статусов: Активно, Закрыто, Заблокировано, Приостановлено, Техническое обслуживание
Заметки
URL-адрес справки администратора - ссылка на справку для администратора домена 
URL-адрес справки делегированного администратора - ссылка на справку для делегированного администратора домена

После этого нажмите на кнопку "Далее". В открывшемся окне настройте глобальную адресную книгу:

Режим GAL - можно выбрать из вариантов Внутренний, Внешний и Оба
Число результатов поиска по GAL - количество результатов поиска, которое будет выводиться у пользователя при поиске по глобальной адресной книге
Создать учетную запись синхронизации GAL (рекомендуется) - оставьте галочку отмеченной, чтобы создать в домене техническую учетную запись galsync. Убрав галочку, вы откажетесь от создания учетной записи galsync, и пользователи не смогут пользоваться глобальным списком адресов. Учетную запись galsync можно будет создать и после создания домена
Имя учетной записи синхронизации GAL - укажите имя учетной записи galsync
Почтовый сервер (обязательный параметр) - укажите почтовый сервер, на котором будут располагаться учетные записи создаваемого домена
Имя источника данных для GAL (обязательный параметр) - название источника данных для формирования адресной книги в учетной записи galsync на основании GAL
Интервал опроса GAL - периодичность обращения к GAL для внесения изменений в адресную книгу учетной записи galsync

В случае, если GAL формируется из внешнего источника или сразу из обоих источников, то также потребуется указать адрес внешних LDAP или AD, а также задать фильтр LDAP, который будет использоваться для поиска учетных записей в GAL.

Для создания домена достаточно указать Имя домена и, если будет создаваться учетная запись galsync, то почтовый сервер, а также имя источника GAL, однако при желании можно продолжить настройку домена на этапе создания. В мастере создания домена можно также настроить:

Single Sign-On - использование Kerberos5 и SPNEGO для возможности единого входа с использованием GSSAPI

Режим проверки подлинности - Внутренний или внешний LDAP, внешняя Active Directory, либо смешанная проверка подлинности при входе пользователей в веб-клиент

Виртуальный узел для входа пользователей - Настройка специального виртуального доменного имени, при заходе в который пользователи данного домена будут считаться пользователями по умолчанию и смогут вводить только первую часть своего имени. Виртуальный узел требует корректной настройки DNS с указанием A-записи

Лимиты домена - Настройка квот домена и политик их применения.

Впоследствии все то же самое можно будет сделать вручную.

Делегирование администраторских полномочий

В случае, когда доменов на сервере Zimbra OSE слишком много, администратору может понадобиться помощь в управлении ими. Кроме того, многие SaaS-провайдеры, предоставляющие доступ к почтовому домену предпочитают использовать модель самообслуживания, при которой арендатор почтового домена самостоятельно занимается его администрированием. Делегированный администратор получит доступ к усеченной консоли администратора Zimbra, в которой сможет вносить изменения в настройки домена, создавать, редактировать и удалять пользователей, обновлять SSL-сертификат домена и так далее.

Создавать администраторов домена позволяет расширение Zextras Admin, входящее в состав Zextras Suite Pro. Оно позволяет прямо из консоли администратора повышать права пользователя до администратора одного или нескольких почтовых доменов. Подробнее о Zextras Admin и о том, как с помощью этого расширения создавать администраторов домена, мы рассказывали в одной из прошлых статей.

Поддержка SNI

Zimbra OSE позволяет размещать несколько доменов на одном IP-адресе. Данная функция может быть очень полезной для SaaS-провайдеров в условиях дефицита адресов IPv4 b достигается за счет того, что Zimbra Proxy хранит несколько SSL-сертификатов и при обращении к одному из виртуальных доменных имен выдает клиенту соответствующий домену SSL-сертификат. Отметим, что данная функция работает только при входе в веб-клиент Zimbra OSE и не работает при обращении к серверу по протоколам IMAP, POP и SMTPS. О том, как настроить SNI в Zimbra OSE читайте в одной из предыдущих статей.

Управление статусом домена

Zimbra OSE поддерживает изменение статуса домена для того, чтобы проводить его обслуживание, временно закрывать на период неиспользования, для предотвращения кибератак, связанных с мейл-бомбингом, и так далее. Для изменения статуса домена в консоли администратора, необходимо перейти в раздел Настройка - Домены и кликнуть правой кнопкой мыши в списке доменов по домену, статус которого вы намерены изменить, и нажмите на раздел "Изменить". В разделе "Статус" в выпадающем меню выберите статус, который хотите установить для данного домена. Доступны следующие статусы:

Активно (active) - Домен корректно работает
Закрыто (closed) - Вход для пользователей домена недоступен, входящие письма отклоняются
Заблокировано (locked) - Вход для пользователей домена недоступен, входящие письма доставляются в почтовые ящики
Приостановлено (suspended) - Вход для пользователей домена недоступен, входящие письма накапливаются в почтовой очереди. Также запрещено создание, удаление и изменение параметров пользователей доменов
Техническое обслуживание (Maintenance) - Вход для пользователей домена недоступен, входящие письма накапливаются в почтовой очереди

Изменить статус домена можно и в командной строке при помощи команды zmprov modifyDomain example.ru zimbraDomainStatus closed.

Удаление домена

Удалить домен в Zimbra OSE можно с помощью консоли администратора, а также с помощью командной строки. Для того, чтобы удалить домен в консоли администратора, необходимо перейти в раздел Настройка - Домены и кликнуть правой кнопкой мыши в списке доменов по домену, который вы хотите удалить. В том случае, если в домене имеются пользователи, появится соответствующее предупреждение со списком пользователей домена. Для того, чтобы удалить домен со всеми пользователями. нажмите на кнопку "Принудительно удалить", если вы передумали, нажмите на кнопку "Нет".

В командной строке для удаления домена используйте команду zmprov deleteDomain example.ru. В случае, если в домене нет пользователей, он будет удален. В случае же, если пользователи есть, появится предупреждение со списком пользователей домена. Перед удалением домена в командной строке придется сперва удалить пользователей, имена которых содержатся в предупреждении, с помощью команды вида zmprov deleteAccount user@example.ru.

В случае, если вы используете SNI, удаление домена будет нетривиальной задачей, так как перед удалением домена также придется удалить его SSL-сертификаты и запись о виртуальном доменном имени. Для этого поочередно введите следующие команды:

sudo su - zimbra
zmprov md example.ru zimbraSSLCertificate ""
zmprov md example.ru zimbraSSLPrivateKey ""
zmprov md example.ru zimbraVirtualHostname ""
zmprov md example.ru zimbraVirtualIPAddress ""
zmproxyctl restart

После того как эти значения будут сброшены, можно будет безопасно удалить домен. 

По всем вопросам, связанными c Zextras Suite и Team Pro вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com.

Комментарии (1)


  1. AcidVenom
    08.12.2021 22:43
    +1

    Скрипты для делегированного админа для тех, кто хочет бесплатно

    Заголовок спойлера
    ra_group.sh
    #!/bin/bash
    
    # Скрипт для Zimbra, который создает группу делегирования (1 этап)
    # Использование: bash ra_group.sh группа@домен домен
    
    su - zimbra -c 'zmprov cdl '$1' zimbraIsAdminGroup TRUE'
    su - zimbra -c 'zmprov mdl '$1' zimbraAdminConsoleUIComponents accountListView zimbraAdminConsoleUIComponents DLListView zimbraAdminConsoleUIComponents aliasListView zimbraAdminConsoleUIComponents resourceListView zimbraAdminConsoleUIComponents domainListView zimbraAdminConsoleUIComponents serverListView zimbraAdminConsoleUIComponents globalServerStatusView zimbraAdminConsoleUIComponents helpSearch zimbraAdminConsoleUIComponents saveSearch zimbraAdminConsoleUIComponents mailQueue zimbraAdminConsoleUIComponents backupsView zimbraAdminConsoleUIComponents certsView zimbraAdminConsoleUIComponents softwareUpdatesView zimbraAdminConsoleUIComponents bulkProvisionTasksView zimbraAdminConsoleUIComponents perServerStatisticsView zimbraAdminConsoleUIComponents globalPermissionView zimbraAdminConsoleUIComponents rightListView'
    su - zimbra -c 'zmprov grr global grp '$1' +domainAdminRights ; zmprov grr global grp '$1' +adminConsoleAliasRights ; zmprov grr global grp '$1' -adminConsoleDomainRights ; zmprov grr global grp '$1' -adminConsoleCOSRights ; zmprov grr global grp '$1' +adminConsoleServerStatusRights ; zmprov grr global grp '$1' +adminConsoleResourceRights ; zmprov grr global grp '$1' -adminConsoleSoftwareUpdatesRights ; zmprov grr global grp '$1' +adminConsoleServerStatisticRights ; zmprov grr global grp '$1' -adminConsoleExtensionRights ; zmprov grr global grp '$1' +adminConsoleBackupRights ; zmprov grr global grp '$1' +adminConsoleMigrationRights ; zmprov grr global grp '$1' -adminConsoleMailQueueRights ; zmprov grr global grp '$1' +adminConsoleSavedSearchRights ; zmprov grr global grp '$1' +adminConsoleDLRights ; zmprov grr global grp '$1' -adminConsoleCertificateRights ; zmprov grr global grp '$1' -adminConsoleGlobalRights ; zmprov grr global grp '$1' +adminConsoleGlobalACLTabRights ; zmprov grr global grp '$1' -adminConsoleServerRights ; zmprov grr global grp '$1' +adminConsoleAccountRights ; zmprov grr global grp '$1' -adminConsoleZimletRights'
    su - zimbra -c 'zmprov grr domain '$2' grp '$1' +domainAdminRights ; zmprov grr domain '$2' grp '$1' -adminLoginAs'
    

    Функционал доработать под себя.
    После создания группы, отключить получение рассылки через web-интерфейс.

    ra_user_ca.sh
    #!/bin/bash
    # Скрипт для Zimbra, который создает делегированного админа (2 этап)
    # Использование: bash ra_user_ca.sh группа@домен новый_пользователь@домен пароль
    
    su - zimbra -c 'zmprov ca '$2' '$3' zimbraIsDelegatedAdminAccount TRUE ; zmprov adlm '$1' '$2''


    ra_user_ma.sh
    #!/bin/bash
    # Скрипт для Zimbra, который добавляет повышает существующего пользователя до делегированного админа (2 этап)
    # Использование: bash ra_user_ma.sh группа@домен пользователь@домен
    
    su - zimbra -c 'zmprov ma '$2' zimbraIsDelegatedAdminAccount TRUE ; zmprov adlm '$1' '$2''

    Если группа создана, то использовать только ra_user_xa.sh