klink0v (klink0v) wrote,
klink0v
klink0v

Первые впечатления от Xeams

Развернул я тут у себя в production почтовый сервачок под названием "Xeams" в качестве антиспам-фильтра. Это бесплатная закрытая Javaписная софтина, которая умеет работать в различных режимах. В числе прочего — как SMTP proxy и Antispam Firewall. Она умеет быть и MTA/MDA в том числе, но конкретно мне прямо здесь и сейчас это не нужно.

Я установил Xeams как ещё один SMTP-релей перед моим штатным корпоративным веб-сервером в надежде, что первый будет более эффективно фильтровать потоки спама. Локальных пользователей я на Xeams-е не заводил. После примерно суток эксплуатации могу поделиться первыми впечатлениями от программного продукта.

Достоинства (сильные стороны)


  • Официально бесплатен, в том числе и для коммерческого применения. Никаких ограничений ни по срокам использования, ни по функционалу.

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

  • Инсталлируется и заводится с пол-пинка на чём угодно (Windows, Linux, MAC).

  • Всё настраивается и управляется через веб-интерфейс. "И не нужно ничего знать, только кнопочки нажимать" ©. Иногда это бывает удобно.

  • Разумное потребление вычислительных мощностей и системных ресурсов (если сравнивать с MS Exchange).

  • Развесистый, разухабистый и фичастый функционал отстреливания спама. И Байес, и RBL, и добавление доверенных респондентов по исходящим письмам. Короче, всё что нужно и даже больше. Достаточно внятные механизмы обучения фильтров.

  • И всё это работает прямо "из коробки".

  • Возможность быстрой и тонкой настройки форвардинга (пересылки) почтовых писем, начиная от доменов и заканчивая отдельными адресами. То есть, можно адресованные на vasya@mycompany.com письма пересылать через сервер smtp1.mycompany.com, а письма на vova@mycompany.com отправлять на smtp2.mycompany.com с копией на security@fsb.org.

  • Сервер временно (по умолчанию 1 месяц) хранит у себя в базе данных все прошедшие через него письма в любую сторону (входящие, исходящие, транзитные). Очень удобно делать по этой базе поиск в случае каких-то проблем с не-доставкой.

  • Сервер умеет строить гламурные графики и присылать красивые отчётики по результатам своей работы.

Недостатки (слабые стороны)


  • Это всё-таки Java со всеми вытекающими. Долго стартует, долго перезапускается. А уж подсунуть ей SSL-сертификат — это вообще отдельная песня. По сравнению с другими *nix-почтарями, написанными на C/C++, память кушает яки корова веники.

  • Закрытый исходный код. Что там внутри и как оно работает — а фиг его знает.

  • Как следстие, принципиальная неотключаемость некоторых фич, даже если они не нужны. Мне, например, очень сильно мешает проверка валидности HELO-приветствия. Очень мало кто пишет там реальное корректное FQDN-имя хоста, к тому же подобное явное требование отсутствует в RFC. Но Xeams всё равно будет его анализировать.

  • Огромная прорва недочётов по Usability с точки зрения интерфейса сисадмина. Например, тебе говорят, что у письма было некорректное HELO-приветствие. А чтобы посмотреть что же именно там было указано, надо лезть совсем в другое место админки и проводить там полнотекстовый поиск по "сырым" логам SMTP-сессий. Или, например, нет простой возможности понять, просмотрел ли ты уже такую-то пачку писем в поисках ложноположительных срабатываний на спам или нет, так как в общем списке не фигурирует ни дата, ни флаги "читано / не-читано".

  • Имеется некоторое количество логических багов и явных недоделок. Например, сервер в админке иногда "рисует" неверные ссылки на просмотр исходников письма, он не дружит с линуксовым systemd и тому подобное.

  • Отдельные недочёты в функциональности. Например, можно заbindить тот или иной сервис либо на все IP / интерфейсы сразу, либо только на какой-то один из них. Это жутко неудобно на multihome-машине, когда хочется выбрать под "привязку" два-три адреса из пяти возможных. Или, скажем, нельзя указывать WildCard-символы в WhiteList-ах для IP-адресов доверенных хостов. Ещё там нельзя посмотреть "в одном месте" факт доставки / не_доставки каждого конкретного сообщения в разрезе SMTP. Это, опять-же, надо разгребать сырые логи SMTP-соединений в поисках интересующих писем, где к тому же отсутствют внутренние идентификаторы сообщений (р-р-р-р, и кто это придумал?).

  • Идеологически сервер построен так, что принимает извне вообще всё подряд, но далеко не всё доставляет до получателей. Это плохо тем, что в случае отсеивания "легального" письма, отправитель об этом никогда не узнает. Ведь Xeams во входящей SMTP-сессии отчитается о том, что "всё хорошо, прекрасная Маркиза".

  • Не переваривает вложения жирнее 25 мегабайт. Принципиально. Потому что Java. Рушится. Памяти ему не хватает, гыгыгы.

  • Допускает наличие только одного SuperUser-а. Неудобно, если админов в организации больше одного.

Вердикт

В целом, продукт весьма интересный, хоть и с большим количеством недочётов. Которые вряд ли когда-либо будут исправлены по причине закрытости кода и коммерческой направленности разработки. Может успешно применяться в небольших компаниях уровня SOHO, а также там, где не могут позволить себе нанять дорогого грамотного сисадмина или купить нормальный "полноценный" почтарь. Прогрессивные идеи и широкий функционал нивелируются большим количеством багов и недоработок, в том числе и касательно Usability. Спам отсеивает даже чересчур хорошо, из-за чего сервер требует постоянного внимания и отслеживания ложноположительных срабатываний на регулярной основе.

Если бы Xeams продавался за деньги, то лично я бы его ни за что не купил. Но на халяву, как говорится, даже хлорка — творожок. Поэтому покамест попользую его в качестве антиспам-фильтра, а через какое-то время выкину и заменю на Exim.

Tags: обзор, софт
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments