Как я ограничиваю доступ к Zimbra, сохраняя работу почты
Чтобы ограничить доступ к Zimbra, я убираю административные интерфейсы из публичного доступа, оставляю вход из согласованной сети управления и проверяю права учётных записей. Затем разбираюсь с сессиями, обновлениями и восстановлением. Закрытый порт снижает доступность конкретного интерфейса для посторонних; исправления безопасности всё равно нужны. Ниже — порядок работ для небольшого офиса.
Какие доступы Zimbra я проверяю до изменения правил
Я начинаю с карты доступа: адрес сервера, опубликованные интерфейсы, сетевые правила, администраторы и владельцы служебных ящиков. В работе с корпоративной почтой это помогает увидеть зависимости до первого запрета. Кто меняет настройки, кто только читает общий ящик, откуда подключается подрядчик? Для каждой возможности нужен ответственный и рабочая причина. Запись без владельца я отправляю на разбор, а не автоматически удаляю. Иначе вместе с забытым входом можно снести нужную интеграцию.
В веб-консоль я вхожу под административной учётной записью Zimbra, указывая полный адрес, например admin@example.com. Пользователь root относится к операционной системе; его права сами по себе не дают входа в почтовую админку. Имя администратора и пароль задаются при установке. Поэтому проверять якобы заводскую пару admin/admin бессмысленно: нужно выяснить, кто создал действующую запись, кто знает её пароль и зачем ей выданы такие полномочия. Общий пароль без истории выдачи — плохой способ назначать ответственных.
Следом я записываю установленный выпуск, уровень патча и состав узлов. Для Zimbra порт 7071 по умолчанию относится к административному интерфейсу почтового узла, а 9071 — к административному интерфейсу через Zimbra Proxy, если он включён. Конкретная установка может отличаться. Я сверяю схему с фактическими слушателями, перенаправлением портов и внешним шлюзом: красивой таблицы в старом акте недостаточно. Затем сопоставляю каждый опубликованный вход с задачей. Ненужный адрес не становится полезным от того, что существует давно.
Разберу условную службу доставки «Быстрый адрес» из Подмосковья: 8 рабочих мест. Это учебный сценарий, а не отчёт об измерениях на реальном объекте. Для разбора беру отдельные задачи сотрудников, администратора и резервного ответственного. Число рабочих мест не считаю числом ящиков: общие адреса и технические записи проверяю отдельно. Итог первого этапа — схема подключений, перечень прав и список зависимостей. Именно с ним можно обсуждать ограничения, не превращая работающую почту в эксперимент.
- Записать выпуск Zimbra, уровень патча и роли узлов.
- Сопоставить административные записи с ответственными.
- Проверить прямые подключения и маршруты через шлюзы.
- Отделить нужные интеграции от забытых доступов.
Как ограничить порты 7071 и 9071 и не потерять почту
Я задаю понятное правило: административный вход разрешён из согласованной сети управления, остальные внешние подключения к нему запрещены. Если включён административный интерфейс через Zimbra Proxy, проверяю и его. Перенос входа с 7071 на 9071 сам по себе ничего не ограничивает: без сетевого правила новый адрес тоже может оказаться публичным. Номер порта — адрес двери, а не удостоверение личности. Доступ между внутренними узлами сохраняю там, где он нужен установленной схеме, вместо запрета всех соединений подряд.
Перед применением правил я сохраняю рабочую конфигурацию, готовлю возврат и проверяю независимый путь управления сервером. Затем согласую источник административных подключений. Домашний адрес администратора может меняться, офисный выход может быть общим для множества устройств: разрешённая сеть требует контроля не меньше, чем список учётных записей. Я проверяю порядок правил, перенаправления на шлюзе и обе используемые семьи адресов — IPv4 и IPv6. Запрет только на одном пути оставляет второй путь рабочим, как бы убедительно ни выглядел отчёт.
Рабочую почту я проверяю отдельно. В типовой схеме SMTP на 25 принимает письма от других серверов, HTTPS на 443 обслуживает веб-почту, а 587 используется для отправки писем клиентами; публиковать каждый из этих сервисов нужно только при соответствующей задаче. Галочка авторизации в почтовой программе помогает клиенту отправлять письма с учётными данными, но не исправляет правила пересылки на самом сервере. Проверка разрешённой отправки и отказа в пересылке для постороннего отправителя — отдельные проверки. Список доверенных отправляющих сетей тоже нужно разбирать.
Для «Быстрого адреса» я задаю приёмку по действиям: из сети управления административный вход работает, из посторонней сети — недоступен; сотрудники принимают и отправляют письма прежним способом. Повторяю проверку для прямого адреса и опубликованного имени, если они ведут разными путями. Сохраняю время, источник и результат проверки. Это подтверждает границу доступа, но не доказывает устранение уязвимостей веб-почты или почтовых обработчиков. Обещание «риск упал на порядок» потребовало бы отдельной методики и измерений, которых в учебном разборе нет.
Что делать с правами, старыми ящиками и сессиями
Я разделяю повседневную почту и административную работу. Для изменения настроек нужна отдельная запись, которую можно связать с ответственным; общую запись для всех исполнителей я не выбираю. Полномочия ограничиваю задачами и возможностями установленной редакции. Запрос на создание ящика не означает потребность в полном управлении сервером. Аварийный доступ храню отдельно, фиксирую его использование и проверяю восстановление входа при недоступности основного администратора. Иначе отпуск одного человека превращается в техническую зависимость всей службы доставки.
При увольнении сначала прекращаю доступ сотрудника и согласую судьбу переписки. В документации Zimbra различаются состояния Locked и Closed: первое запрещает вход с сохранением доставки, второе запрещает вход и вызывает возврат поступающих сообщений. Удаление убирает саму запись и её письма, поэтому перед ним нужны сохранённые данные и решение владельца. Такой порядок позволяет передать обращения по доставке и разобрать общие папки. Кнопка удаления не умеет отличать забытый аккаунт от переписки, которая завтра потребуется бухгалтерии.
Пароль я делаю длинным, уникальным и сохраняю в менеджере паролей; требования к длине и составу проверяю в действующей политике. Формулу «достаточно 12 символов» не использую как критерий безопасности. В руководстве Zimbra Daffodil описана двухфакторная проверка входа администратора: настройка выполняется через веб-клиент, после включения проверяется вход в административную консоль. Сначала я сверяю поддержку со своим выпуском и редакцией, затем проверяю фактический запрос второго фактора и аварийное восстановление. Наличие пункта настройки ещё не подтверждает защиту рабочего входа.
Сессии я проверяю по документации своего выпуска: в описанной консоли сведения о сеансах находятся в статистике конкретного сервера, раздел Session. Для веб-сеанса предусмотрено Expire Sessions. Эту операцию я не выдаю за универсальное завершение всех подключений: отдельно проверяю почтовые клиенты и используемые способы авторизации. При подозрении на утечку меняю соответствующие секреты, отзываю доступы и проверяю результат повторным подключением. Дата последнего входа в списке пользователей сама по себе не отвечает на вопрос, какие соединения продолжают работать сейчас.
- Снять ненужные права, сохранив необходимые рабочие функции.
- Закрыть доступ уволенного сотрудника и передать переписку.
- Проверить второй фактор на административном входе.
- Проверить отзыв веб-сеансов и остальных подключений отдельно.
Как выбирать патчи и временные меры для своего выпуска
Я открываю официальный список Zimbra Security Advisories и сопоставляю запись с установленным выпуском, компонентом и исправлением. Слово «критическая» без этих трёх уточнений не определяет план работ. Уязвимости бывают с разными условиями и последствиями: ошибка в веб-клиенте не равна автоматически полному захвату операционной системы. Я проверяю, доступен ли затронутый компонент в нашей схеме, и читаю условия эксплуатации. При этом отсутствие знакомого номера в отчёте сканера не считаю доказательством, что обновление не требуется.
Для срочного исправления я назначаю ответственного, согласую ближайшее подходящее окно и фиксирую причину любого переноса. Универсальную гарантию «поставим всё за 24 часа» не даю: срочность зависит от бюллетеня и доступности уязвимого компонента, длительность — от обновления и готовности восстановления. При сведениях об эксплуатации доступного сервиса я ускоряю работы и сразу рассматриваю ограничение доступа. Просто ждать следующего планового обслуживания в такой ситуации — решение, у которого должен быть автор и понятное обоснование.
Если установка пока невозможна, я ищу временную меру именно в официальном описании проблемы. Это может быть изменение конфигурации или ограничение затронутой функции, если производитель предусмотрел такой вариант. Совет «измените синтаксис команд» без указания проблемы и инструкции бесполезен: действия администратора в терминале не меняют автоматически уязвимый обработчик. Любое временное ограничение записываю с владельцем, сроком пересмотра и планом установки исправления. У временного решения должен быть конец, иначе оно быстро становится постоянным объяснением бездействия.
Перед обновлением я сохраняю конфигурацию и проверенную копию, читаю требования к переходу и предупреждения для своего выпуска. После — сверяю фактически установленный патч и прохожу рабочие сценарии: приём, отправка, вход сотрудника, административный доступ, общие ящики и нужные интеграции. Контрольные письма отправляю в обе стороны, результат записываю. Подход к регулярным работам подробно разобран в статье про обслуживание почтового сервера. Для учебной службы доставки я выбираю окно вне активной обработки заказов, а длительность определяю после проверки конкретного обновления.
Какие журналы смотреть и когда начинать разбор инцидента
Я начинаю с источников событий: /opt/zimbra/log/audit.log содержит события аутентификации, /opt/zimbra/log/mailbox.log — события почтового приложения, /var/log/zimbra.log — сообщения MTA и состояния системы. В распределённой установке журналы могут находиться на разных узлах, а состав записей зависит от настройки. Поэтому сначала я создаю контролируемое событие и нахожу его в нужном журнале. Если проверочный вход нигде не виден, обещать обнаружение чужого входа рано. Подробности признаков разобраны в статье про подбор пароля и реальную атаку.
Для оповещений я выбираю события, по которым понятно следующее действие: серии отказов входа, непривычный успешный административный вход, неожиданное изменение прав, резкий рост исходящей отправки. Часть таких сигналов требует сопоставления нескольких источников; наличие файла журнала само по себе не создаёт уведомления. Для каждого сигнала назначаю получателя и способ связаться с ним при недоступности самой почты. Затем проверяю всю цепочку: событие появилось, правило сработало, уведомление дошло, ответственный понял, где смотреть детали. Счётчик на экране за человека тревогу не прочитает.
Одиночная неудачная авторизация ещё не доказывает взлом, а отсутствие тревог не подтверждает чистоту сервера. Я сопоставляю время, учётную запись, источник, результат входа и последующие действия. Смена адреса подключения может объясняться обычной работой сотрудника, а успешный вход из привычной сети всё равно требует внимания при неожиданных изменениях. Мониторинг помогает заметить событие и сократить задержку реакции; он не обещает увидеть любую атаку до её успеха. Проверять нужно наблюдаемые действия, а не только соответствие удобному сценарию угрозы.
Если признаки подтверждаются, я сохраняю журналы и фиксирую время, ограничиваю затронутый доступ и выясняю масштаб. Утечка пароля одного ящика и выполнение чужого кода на сервере требуют разного объёма работ. При доступе к системе проверяю, какие ещё секреты могли быть доступны, и планирую восстановление доверенной среды. Менять пароли на узле, который продолжает контролировать посторонний, недостаточно. Первые действия для отдельного ящика описаны в разборе взлома почтового ящика; при признаках захвата сервера расследование расширяю за пределы одной записи.
- Проверить поступление событий и сохранность журналов.
- Испытать доставку оповещения ответственному.
- Сохранить сведения об инциденте до очистки системы.
- Определить затронутые данные, доступы и соседние узлы.
Как проверить восстановление и принять результат работ
Я начинаю резервное копирование с вопроса к директору: сколько переписки допустимо потерять и сколько времени можно работать без почты? Из ответа получаются требования к частоте копирования и времени восстановления. Следом проверяю, что выбранный способ сохраняет необходимые данные и настройки именно нашей установки. Переписка, учётные записи, права и служебная конфигурация должны восстанавливаться в согласованном составе. Способ зависит от выпуска, редакции и используемого средства копирования. Единую команду для любой Zimbra здесь обещать нельзя: результат нужно проверять на конкретной схеме.
Копию я выношу из области управления основного почтового сервера. Для хранилища задаю отдельные полномочия и проверяю, может ли захваченная учётная запись сервера удалить сохранённые версии. Отдельно храню необходимые ключи восстановления, ограничиваю доступ к ним и назначаю ответственного. Шифрование защищает содержимое при определённых условиях, но не запрещает удаление файлов тому, кому оно разрешено. Бэкап рядом с исходными данными удобен ровно до общей поломки. Поэтому приёмка включает проверку границ доступа, а не только наличие архивов.
Пробное восстановление я выполняю в изолированной среде, которая не принимает рабочую почту и не отправляет дубликаты наружу. Проверяю вход, папки, письма с вложениями, общие ресурсы и настройки, нужные сотрудникам. Измеряю фактическое время и сверяю восстановленные данные с выбранной точкой копирования. Повторение назначаю по согласованным требованиям и после существенных изменений; квартал сам по себе ничего не гарантирует. Если разбираем взлом, отдельно выясняю, не попало ли нежелательное изменение в архив. Восстановленный сервер ещё нужно сделать пригодным для безопасного возвращения в работу.
Для условного «Быстрого адреса» результат я принимаю по протоколу: административные входы доступны только из согласованной сети, нужные рабочие подключения сохранены, права разобраны, выпуск и патч зафиксированы, тестовое уведомление доставлено, восстановление проверено. Для 8 рабочих мест подтверждаю нужные сценарии сотрудников, а не обещаю восемь одинаковых ящиков. Срок работ определяю после инвентаризации; время восстановления вписываю только по результату прогона. На выходе директор получает перечень изменений, оставшихся ограничений и ответственных. Именно это позволяет дальше обслуживать систему без угадывания чужих настроек.
- Согласовать допустимую потерю данных и время восстановления.
- Проверить отдельные права на хранилище копий.
- Восстановить данные в изолированной среде и измерить время.
- Передать схему доступа, результаты проверок и план следующих работ.
Частые вопросы
Достаточно ли закрыть порт 7071 для защиты Zimbra?
Нет. При включённом административном интерфейсе через Zimbra Proxy проверьте также 9071. Остальные доступные компоненты требуют собственных ограничений и обновлений.
Под какой записью входить в административную консоль?
Под административной записью Zimbra с полным адресом, например admin@example.com. Пользователь root относится к операционной системе; пароль администратора Zimbra задаётся при установке.
Можно ли сразу удалить ящик уволенного сотрудника?
Сначала прекратите доступ и согласуйте сохранение переписки. Locked сохраняет доставку, Closed вызывает возврат входящих писем. Перед удалением сохраните необходимые данные и проверьте передачу обращений.
Где смотреть активные сессии Zimbra?
В описанной документацией консоли — в статистике конкретного сервера, раздел Session. Проверьте интерфейс своего выпуска. Expire Sessions относится к веб-сеансу; остальные подключения проверяйте отдельно.
Как выбрать исправление и временную защиту?
Сопоставьте выпуск, компонент и исправление в Zimbra Security Advisories. Временную меру берите из официального описания конкретной проблемы и фиксируйте срок её пересмотра.
Поддерживается ли второй фактор для админки Zimbra?
В руководстве Zimbra Daffodil такая возможность описана. Сверьте поддержку со своим выпуском и редакцией, настройте второй фактор для административной записи и проверьте запрос при новом входе в консоль.
Источники
- Zimbra: Ports — Назначение портов 7071 и 9071, а также 25, 443 и 587. Добавлен найденный в экспертной базе факт о дополнительном административном входе 9071: https://wiki.zimbra.com/wiki/Ports
- Zimbra: Administration Console — Вход под административной записью с полным адресом; создание имени и пароля при установке: https://wiki.zimbra.com/wiki/Administration_Console
- Zimbra Daffodil Administrator Guide — Состояния Locked и Closed, удаление ящика, раздел Session, Expire Sessions и парольная политика. Добавлена найденная в экспертной базе рекомендация второго фактора с проверкой поддержки административного входа в своём выпуске: https://zimbra.github.io/documentation/zimbra-10/adminguide.html
- Zimbra Security Advisories — Сопоставление затронутых компонентов и выпусков с исправлениями, разные последствия уязвимостей: https://wiki.zimbra.com/wiki/Zimbra_Security_Advisories
- Zimbra Security Response Policy — Исправления и временные меры производителя могут включать изменение конфигурации или архитектуры; общего способа защиты изменением синтаксиса команд не установлено: https://wiki.zimbra.com/wiki/Zimbra_Security_Response_Policy
- Zimbra: Log Files — Назначение audit.log, mailbox.log и /var/log/zimbra.log. Добавлены конкретные расположения журналов из экспертной базы, сверенные с документацией: https://wiki.zimbra.com/wiki/Log_Files



