Войти

Cisco IronPort (ESA): установка Ubuntu и Спамореза на оборудование

Пошаговая инструкция: как освободить сервер Cisco IronPort от AsyncOS, установить на него Ubuntu Server, затем Спаморез (SPZGate), перенести настройки и переключить почту. Без потери писем.

Спаморез (SPZGate) можно запустить на любой аппаратной платформе, если на ней установлена базовая операционная система: Ubuntu Server 22.04 / 24.04 LTS или Debian 11 / 12. Сервер Cisco IronPort — обычный стоечный сервер, поэтому после установки Ubuntu или Debian он становится полноценным шлюзом Спамореза. Если оборудование ESA должно продолжать работать на время перехода, подключите Спаморез SaaS перед ним: схема описана в приложении.

Порядок работ

ЭтапЧто делаемЧто в результате
1. ПодготовкаЭкспортируем настройки ESA, снимаем копию дисков, переводим почту на временную схемуЕсть откат и почта не останавливается
2. Установка Ubuntu (CIMC)Настраиваем CIMC, BIOS и RAID, ставим Ubuntu Server, настраиваем сетьСервер работает под Ubuntu
3. Установка СпаморезаЗапустите установщик SPZGate, проходим мастер первого запуска, вводим лицензиюШлюз принимает почту на порту 25
4. Перенос настроекИмпортируем домены, маршруты, списки, правила, релей-клиентыШлюз ведёт себя как ESA
5. ПереключениеПроверка, смена MX, исходящая почта, SPFВся почта идёт через Спаморез

Этап 1. Подготовка

Что собрать

Что сохранить с оборудования

Экспорт настроек из ESA

Выгрузите настройки до переустановки сервера: после форматирования дисков они недоступны. Сохраните файлы на другой машине и проверьте, что они открываются.

Что выгрузитьКакЗачем
Полная конфигурация (XML)Веб-интерфейс: System Administration → Configuration File → Download (или командой saveconfig в CLI). Выберите вариант без маскирования паролей, если планируете переносить учётные данные, и храните файл как секретный.Единый источник для переноса и восстановления
Таблица доступа отправителей (HAT)Веб-интерфейс: Mail Policies → HAT Overview, по каждой группе отправителей (WHITELIST, BLACKLIST, RELAYLIST и свои) откройте список и скопируйте адреса; либо вывод CLI-команды hostaccess (подкоманды печати и экспорта проверьте в справке вашей версии)Белый и чёрный списки, релей-клиенты
Таблица получателей (RAT)Mail Policies → Recipient Access Table или CLI rcptaccessСписок принимаемых доменов и ящиков
Маршруты доставкиNetwork → SMTP Routes или CLI smtproutesЦелевые серверы для доменов
Политики и фильтрыСтраницы Mail Policies → Incoming Mail Policies / Incoming Content Filters / Message Filters (скриншоты и список условий)Основа для правил обработки
Списки карантина и пользователейQuarantine → Spam Quarantine; ящики и алиасы выгружает почтовый сервер (ESA их обычно не хранит)Список ящиков для подключения
Конфигурационный файл ESA в формате XML предназначен для самой ESA и в Спаморез автоматически не загружается. Из него вы берёте данные (адреса, домены, условия) и вносите их в Спаморез на этапе 4. Названия пунктов и команд зависят от версии AsyncOS.

Как не остановить почту на время работ

Пока вы переустанавливаете сервер, ESA не фильтрует почту. Выберите один из вариантов:

Этап 2. Установка Ubuntu Server на оборудование ESA

Для SPZGate подходит Ubuntu Server 22.04 или 24.04 LTS (amd64). Ubuntu 18.04 и 16.04 установщик SPZGate не поддерживает. Десктопную версию на стоечный сервер ставить не стоит: лишняя нагрузка и возможные проблемы с видеодрайверами встроенных чипов Matrox/ASPEED. Клавиши и названия меню ниже даны для типовых платформ и зависят от вашей модели и версии прошивки.

Настройка CIMC (Cisco ESA C190, C390, C195, C395 и другие модели на Cisco UCS)

CIMC (Cisco Integrated Management Controller) — встроенный контроллер управления сервером. Через него вы получаете KVM-консоль и подключаете ISO как виртуальный привод, не подходя к серверу и без USB-флешки. Модели на платформе Cisco UCS C-Series (x80, x90, x95, например C190, C390, C195, C395) управляются через CIMC; старые модели на серверах Dell (x60, x70) — через iDRAC (шаги те же по смыслу). Пункты меню зависят от версии прошивки CIMC.

a
Подключите порт управления
Включите кабель из сети управления в выделенный порт управления (Management) на задней панели. Монитор и клавиатура нужны только для первого задания адреса CIMC.
b
Задайте адрес CIMC
Включите сервер и при загрузке (экран POST) нажмите F8 для входа в Cisco IMC Configuration Utility. Выберите режим сетевой карты Dedicated, укажите статический IPv4-адрес, маску и шлюз (или включите DHCP), сохраните настройки клавишей F10 и перезагрузите контроллер. Если на устройстве уже заданы учётные данные CIMC, используйте их; для нового или сброшенного сервера смотрите документацию Cisco на вашу модель (логин по умолчанию admin, пароль нужно сменить при первом входе).
c
Откройте веб-интерфейс
В браузере зайдите на https://<адрес CIMC>. Проверьте версию прошивки и состояние сервера (Server → Summary); при необходимости обновите прошивку CIMC и BIOS по рекомендациям Cisco до установки ОС.
d
Создайте RAID через CIMC (по желанию)
В разделе Storage выберите RAID-контроллер и создайте виртуальный диск из свободных физических дисков (Create Virtual Drive from Unused Physical Drives), например RAID 1 или RAID 5. Так не нужно заходить в утилиту контроллера при загрузке.
e
Подключите ISO через Virtual Media
Откройте Launch KVM (KVM-консоль), в меню Virtual Media активируйте виртуальные устройства (Activate Virtual Devices) и сопоставьте ISO-образ Ubuntu Server как CD/DVD (Map CD/DVD).
f
Перезагрузите сервер и выберите загрузку с виртуального привода
Выполните Power → Power Cycle System, на экране POST нажмите F6 (меню загрузки) и выберите виртуальный CD/DVD. Дальше продолжайте с шага 4 ниже: установка Ubuntu идёт в окне KVM.
1
Скачайте образ Ubuntu
Загрузите актуальный образ Ubuntu Server (архитектура amd64) с официального сайта Ubuntu и проверьте контрольную сумму.
2
Подготовьте носитель
Запишите ISO на USB-флешку (Rufus, Ventoy или dd) либо примонтируйте файл прямо через KVM в интерфейсе CIMC/iDRAC (Virtual Media). Второй способ удобнее: не нужно подходить к серверу.
3
Настройте BIOS и RAID
  • При включении сервера нажмите клавишу входа в BIOS (F2 на Cisco UCS) и убедитесь, что порядок загрузки (Boot Order) разрешает запуск с USB или Virtual CD/DVD.
  • Войдите в утилиту RAID-контроллера (Ctrl+H для LSI MegaRAID, Ctrl+R для Dell PERC), создайте виртуальный диск (например RAID 1 или RAID 5) и инициализируйте его. Иначе установщик Ubuntu не увидит накопители.
  • Если вы сняли копию дисков AsyncOS, убедитесь, что она хранится отдельно, а диски массива теперь можно перезаписывать.
4
Запустите установку
Перезагрузите сервер, выберите загрузку с подготовленного носителя (F6 — меню загрузки на Cisco UCS) и пройдите шаги установщика Ubuntu Server: язык, сеть, разметка созданного RAID-массива (для простоты — весь диск под /, при желании отдельный раздел под /var/lib/docker или /opt), имя сервера, пользователь, установка OpenSSH Server.
5
Проверьте сеть
На устройствах IronPort несколько сетевых интерфейсов (Management и Data-порты). После загрузки выполните ip a, определите, какому физическому разъёму соответствует активный интерфейс (например eno1 или ens192), и задайте адрес в /etc/netplan/:
network:
  version: 2
  ethernets:
    eno1:
      addresses: [203.0.113.10/24]
      routes: [{to: default, via: 203.0.113.1}]
      nameservers: {addresses: [203.0.113.2]}
Примените настройки командой sudo netplan apply и проверьте выход в интернет (ping, curl -I https://spamorez.ru): он нужен установщику SPZGate.
6
Подготовьте систему
Обновите пакеты (sudo apt update && sudo apt -y upgrade), проверьте время и часовой пояс (timedatectl, лучше включить синхронизацию через chrony или systemd-timesyncd), откройте на межсетевом экране порты 25, 80 и 443 (и SSH для администрирования), убедитесь, что имя сервера (hostname -f) разрешается в DNS, а свободного места на диске не меньше 20 ГБ.

Этап 3. Установка Спамореза (SPZGate)

SPZGate ставится одной командой: почтовый движок, веб-панель и база данных запускаются в Docker. Полное описание, параметры установщика и порты — в документации SPZGate; здесь кратко.

ТребованиеЗначение
ОСUbuntu 22.04 / 24.04 LTS (рекомендуется 22.04). Ubuntu 18.04 и 16.04 не поддерживаются.
RAMот 2 ГБ, рекомендуется 4 ГБ и больше (смотрите нагрузку ESA)
Дискот 20 ГБ свободного места; для большого потока писем и карантина заложите больше
СетьПорт 25 доступен из интернета; во время установки нужен выход в интернет
Порты25 (SMTP), 80 и 443 (веб-панель) должны быть свободны
1
Запустите установщик
От имени администратора:
curl -fsSL https://spamorez.ru/spzgate/install.sh | sudo bash
Первая установка занимает 10–20 минут. Установщик проверит систему, поставит Docker, проверит порты, соберёт образы и запустит службы. Параметры (порты, каталог) описаны в документации SPZGate.
2
Пройдите мастер первого запуска
Откройте https://<адрес сервера> (браузер предупредит о самоподписанном сертификате — это нормально). Задайте логин и пароль администратора, почтовый домен и введите лицензионный ключ.
3
Проверьте приём почты
С другого компьютера выполните nc -w 8 <адрес сервера> 25: ответ должен начинаться с 220 и содержать ESMTP. Если нет, проверьте межсетевой экран и занятость порта 25.
4
Выберите схему
Для одной точки хватит одного узла. Для отказоустойчивости ESA обычно стояли парой: поставьте второй сервер и объедините узлы в кластер, а при высокой нагрузке добавьте SMTP-балансировщик.

Этап 4. Перенос настроек из ESA

Правила ESA не переносятся автоматически: их пересоздают вручную по выгруженному XML. Сравнивайте не форму правил, а результат — какие письма блокируются, помечаются или идут в карантин.

Импорт настроек в Спаморез

Подготовьте списки из выгрузки (этап 1) в простых текстовых файлах и загрузите их в панель.

1. Приведите записи к формату Спамореза

Запись в HAT / RAT ESAКак записать в Спаморез
10.1.1.5 или 10.1.1.0/24Так же: IP-адрес или подсеть
example.com@example.com (все адреса домена)
.example.com (домен и поддомены)@example.com и *.example.com
user@example.comТак же: адрес
Правила по репутации SenderBase (SBRS), DNS-спискиНе переносятся: репутацию IP Спаморез проверяет сам по публичным спискам (RBL)

Файл для списка: один адрес на строку (допустимы также запятая или пробел между адресами). Разделите записи по смыслу: whitelist.txt (группа WHITELIST и доверенные), blacklist.txt (группа BLACKLIST), relay.txt (группа RELAYLIST, внутренние серверы), domains.txt (принимаемые домены из RAT). Проверьте правила соответствия записей для вашей версии ESA: поддомены в ESA трактуются иначе, чем в Спаморезе.

2. Загрузите данные в панель

ЧтоГде в панелиКак
ДоменыДомены → ДобавитьПо одному домену: имя, целевой сервер (см. Домены, Маршрутизация). Для нескольких доменов удобнее API (см. ниже)
ЯщикиЯщики → Добавление спискомСписок адресов из почтового сервера; если ящики не нужны для работы, достаточно доменов
Белый списокПравила → Белый список → Массовое добавлениеВставьте адреса через запятую, пробел или с новой строки (Белые списки)
Чёрный списокПравила → Чёрный список → Импорт из файла (CSV или TXT, по адресу на строку) или Добавление спискомЗагрузите blacklist.txt. Опцию «Заменить существующие» не включайте, если в списке уже есть свои записи (Чёрные списки)
Релей-клиентыРелей клиенты → Добавить адресКаждый внутренний сервер отдельной записью: адрес, домен, режим «Скрыть сервер» (Настройка smarthost)
Правила обработкиПравилаСоздаются вручную по условиям из политик и фильтров ESA (Правила обработки)

3. Загрузка через API (для больших списков)

Если записей много, добавляйте их запросами API (API): токен создаётся в панели в разделе «Токены доступа». Пример для чёрного списка (записи добавляются по одной):

while read a; do curl -s -X POST "https://<адрес панели>/panelv32/api/?token=$TOKEN" -d "{\"request\":\"blacklists\",\"action\":\"add\",\"address\":\"$a\",\"to_address\":\"(для всех)\",\"status\":\"domain\",\"comment\":\"из ESA\"}"; done < blacklist.txt

Для белого списка используйте "request":"whitelists","action":"add" с полями address, to_address и status (формат и допустимые значения — в разделе «Белый список» документации API). Сначала проверьте запрос на одной записи.

Скрипт импорта

Готовый простой скрипт на Python 3 (только стандартная библиотека) сам приводит записи к формату Спамореза, убирает дубли, пропускает правила SBRS и публичные домены в белом списке и отправляет записи через API. По умолчанию он ничего не отправляет, а только показывает, что будет загружено.

curl -fsSLO https://spamorez.ru/spzgate/tools/esa_import.py
export SPZ_TOKEN=<токен из панели>
python3 esa_import.py --blacklist blacklist.txt --whitelist whitelist.txt --domains domains.txt --smtpserver mx.company.ru
python3 esa_import.py --blacklist blacklist.txt --limit 1 --apply
python3 esa_import.py --blacklist blacklist.txt --whitelist whitelist.txt --domains domains.txt --smtpserver mx.company.ru --apply

Порядок: сначала пробный запуск без --apply (проверьте список), затем --limit 1 --apply и проверка в панели, затем полная загрузка. Для белого списка по умолчанию используется тип «Для всех получателей» (--wl-status any, --wl-to "(для всех)"); если вам нужны правила для конкретных получателей, задайте --wl-status personal и --wl-to user@company.ru. Адрес API по умолчанию — https://my.spamorez.ru/panelv32/api/; для своего сервера задайте SPZ_API_URL.

4. Проверьте результат

Соответствие разделов ESA и Спамореза

В ESAГде найтиВ Спаморезе
Принимаемые домены (RAT)Mail Policies → Recipient Access TableДомены и целевой сервер: Маршрутизация
Маршруты доставкиNetwork → SMTP RoutesМаршрутизация
Белый список отправителейHAT (Sender Groups: WHITELIST), Mail Policies → Incoming Mail PoliciesБелые списки
Чёрный список отправителейHAT (BLACKLIST), Sender GroupsЧёрные списки
Внутренние серверы-отправителиHAT, группа RELAYLIST«Релей клиенты» — Настройка smarthost
Content filters и фильтры сообщенийMail Policies → Incoming Content Filters, Message FiltersПравила обработки (условия по отправителю, получателю, теме, типу вложения)
КарантинQuarantine → Spam QuarantineРабота с карантином
Защита от подделки отправителяMail Policies → DMARC, SPF/DKIM verificationSPF / DMARC / DKIM
Антивирус и песочницаSecurity Services → Anti-Virus, AMPАнтивирус и песочница (внешний ICAP)

Этап 5. Проверка и переключение почты

1
Проверьте шлюз, не меняя MX
Отправьте тестовые письма прямо на адрес SPZGate с вашим доменом в получателе: чистые, спам-образцы, вложение. В Трекере проверьте вердикты и доставку на почтовый сервер. Сравните результат с поведением ESA на тех же примерах.
2
Переключите MX
Замените MX домена на адрес нового сервера (Смена MX-записей). Если почту временно принимал облачный Спаморез (этап 1), оставьте его запасной записью MX с большим числом приоритета на 1–2 суток.
3
Переведите исходящую почту
Переключите внутренние серверы на SPZGate как smarthost (Настройка smarthost), добавьте их в «Релей клиенты», обновите SPF и подтвердите работу DKIM (SPF / DMARC / DKIM).
4
Закрепите результат
Через 1–2 недели наблюдения удалите запасной MX, сделайте резервную копию SPZGate (Резервное копирование) и храните выгрузку конфигурации ESA и копию дисков AsyncOS до окончания срока лицензии Cisco.

Топ функций Cisco IronPort и их настройка в Спаморезе

Главные функции защиты и их настройка в панели Спамореза. Строки «Нет аналога» не обещайте клиенту.

Функция в старой системеКак это настроить в Спаморезе
Антиспам и репутация SenderBase (Reputation Filtering)Включён для всех доменов сразу. Отдельных настроек порога не требуется; исключения и усиления задаются правилами и списками (Как работает фильтрация).
Антивирус (Sophos / McAfee)Встроенный ClamAV работает сразу. Внешний антивирус (Kaspersky Scan Engine, Dr.Web, c-icap) подключается в Интеграции → Антивирус по ICAP, с основным и резервным сервером и выбором действий при угрозе и сбое (Антивирус и песочница).
AMP (Advanced Malware Protection) и песочницаИнтеграции → Песочница (ICAP): PT Sandbox, Kaspersky KATA. Встроенной песочницы нет; по умолчанию проверяются исполняемые файлы, документы и архивы (Антивирус и песочница).
Outbreak Filters и фильтры URLВ SPZGate есть Link Shield: ссылки подменяются на проверочную страницу /secure/, опасные блокируются. Проверьте наличие функции и её включение в вашей версии. Анализ ссылок при клике на уровне крупных вендоров (Time of Click, глубокая детонация) пока не заявляйте.
HAT: WHITELIST (разрешённые отправители)Правила → Белый список: адрес, домен (@company.com) или IP/подсеть. Не добавляйте публичные домены (gmail.com, yandex.ru). Пользователи могут вести личный список в кабинете (Белые списки).
HAT: BLACKLISTПравила → Чёрный список: адрес, домен или IP/подсеть; блокировка на уровне SMTP, до приёма тела письма. Репутацию IP по RBL проверяет шлюз автоматически (Чёрные списки).
Content filters, Message filters и политикиПравила: условия «От кого / Кому / Тема / IP / Заголовок / Слово в теле» через AND/OR, действия «Пометить как спам, Доставить, Отклонить (550), Переслать, Добавить в тему или заголовок». Порядок правил задаётся перетаскиванием (Правила обработки).
Spam Quarantine и уведомленияРаздел Карантин: доставить, доставить и добавить в белый список, удалить, пожаловаться. Дайджесты включаются в настройках; срок хранения по умолчанию 30 дней, меняется в настройках домена (Карантин).
Проверка SPF, DKIM, DMARCВыполняется автоматически на этапе проверки отправителя. Для своей исходящей почты настройте SPF, DKIM и DMARC в DNS (SPF / DMARC / DKIM).
Исходящая политика, Mail Flow Policies RELAYРелей клиенты: добавьте IP почтового сервера, выберите домен и режим «Скрыть сервер». Исходящая почта проверяется антиспамом и лимитами, подписывается DKIM (Настройка smarthost, Скрытие исходного сервера).
Message Tracking и отчётыРаздел Трекер: путь каждого письма и причина решения. События во внешнюю систему: Настройки → SIEM / Syslog (SIEM и Syslog), метрики для Zabbix/Prometheus (Мониторинг).
DLP и шифрование (Cisco Registered Envelope)Нет аналога. Если DLP нужен, оставьте его в вашей системе или подключите отдельным продуктом.
Graymail (управление рассылками)Частично: рассылки отделяются правилами по заголовкам (List-Unsubscribe, X-Mailer) и словам в теле письма, действие «Добавить в тему» или карантин (Правила обработки). Отдельной категории graymail нет.

Проверка после переключения

Если что-то не работает

ПроблемаЧто проверить
Установщик Ubuntu не видит дискиНе создан виртуальный диск в RAID-контроллере (Ctrl+H для LSI MegaRAID, Ctrl+R для Dell PERC) или массив не инициализирован.
Сервер не загружается с флешки или Virtual MediaВ BIOS (F2) порядок загрузки; на Cisco UCS меню загрузки по F6; проверьте, что виртуальный привод подключён в KVM-консоли.
После установки нет сетиВыполните ip a: у Management и Data-портов разные имена. Адрес задан не на том интерфейсе или в /etc/netplan/ ошибка (sudo netplan try).
Установщик SPZGate ругается на систему или портыВерсия Ubuntu не поддерживается (нужна 22.04/24.04 LTS); порты 25, 80 или 443 заняты (установщик покажет процесс).
Порт 25 снаружи не отвечаетМежсетевой экран или провайдер блокирует входящие SMTP; проверьте nc -w 8 <адрес> 25 с другой сети.
Письма внутренних серверов не уходятАдрес сервера не добавлен в «Релей клиенты»; в SPF домена нет Спамореза. См. Настройка smarthost.
Часть писем попала в карантин, хотя в ESA проходилаСравните вердикт в Трекере с правилами ESA; добавьте отправителя в белый список или отрегулируйте правило.
Почта идёт по кругуЦелевой сервер домена в Спаморезе указывает на сам Спаморез или на адрес, который снова ведёт на него. Укажите адрес реального почтового сервера.
Нужно срочно вернутьсяВерните MX на запасную запись (облачный Спаморез или прежний сервер). Вернуть сам ESA можно только из копии дисков AsyncOS, снятой на этапе 1.

Приложение. Спаморез SaaS перед ESA (без переустановки)

Если оборудование ESA нужно оставить в работе (лицензия не закончилась, переносить настройки не хочется), поставьте облачный Спаморез перед ним. Почта идёт: Интернет → Спаморез → ESA → почтовый сервер. Откат: вернуть MX на ESA.

1
Подключите домен к Спаморезу
Войдите в панель, добавьте домен и подтвердите его (Домены). В поле целевой сервер укажите внешний адрес ESA (тот адрес и порт 25, на которые сейчас приходит почта из интернета): Спаморез после проверки будет доставлять чистые письма в ESA (Маршрутизация).
2
Разрешите Спаморезу доставлять на ESA
Адреса серверов Спамореза указаны в письме с данными подключения. На ESA:
  • Mail Policies → HAT Overview: добавьте адреса Спамореза в отдельную группу отправителей с политикой ACCEPTED (или TRUSTED) и отключите для неё проверку репутации. Иначе ESA будет оценивать репутацию адресов Спамореза, а не настоящих отправителей, и ограничивать поток.
  • Network → Incoming Relays: добавьте Спаморез как входящий релей и укажите, что реальный адрес отправителя берётся из заголовка Received. Тогда репутация SenderBase и фильтры ESA будут работать по исходному IP-адресу, а не по адресу Спамореза.
  • Если на ESA включены ограничения по числу соединений с одного адреса, увеличьте лимит для адресов Спамореза.
3
Закройте прямой доступ к ESA из интернета
Разрешите порт 25 на ESA только с адресов Спамореза (и внутренних серверов), иначе спам продолжит приходить напрямую по старому адресу.
4
Проверьте цепочку, не меняя MX
Отправьте тестовое письмо прямо на адрес Спамореза с указанием вашего домена в получателе. Убедитесь в Трекере, что письмо принято и доставлено на ESA, а ящик получил его.
5
Переключите MX
Замените MX-записи домена на адреса Спамореза (Смена MX-записей). Старая запись с ESA может остаться временно с низким приоритетом (большее число): пока основной MX отвечает, почта идёт через Спаморез. Через 1–2 суток, когда в Трекере идёт вся почта, удалите старую запись.
6
Исходящая почта
Её можно направить через Спаморез отдельно, это не обязательно. Подробнее — Настройка smarthost. На ESA в Network → SMTP Routes для All Other Domains укажите Спаморез как smarthost; адрес ESA добавьте в «Релей клиенты» панели. Обновите SPF домена, добавив Спаморез (SPF / DMARC / DKIM).