РОМАН МАРКОВ
Alt-N MDaemon – почтовая система для средних и крупных компаний
Часть 2
В первой части статьи (см. №4, 2005 г.) была описана установка и первичная настройка почтового сервера Mdaemon. Сегодня более подробно рассмотрим способы доставки почты до самого почтового сервера, а также основные настройки безопасности. Правильное понимание этих принципов – основа успешного внедрения собственного почтового сервера.
Выбираем способ доставки исходящей почты
В меню «Setup -> Primary Domain», закладка «Delivery», указывается способ отправки писем нашим почтовым сервером во внешний мир.
«Always send every outbound email to the server specified below» – всегда отправлять исходящие сообщения на сервер, указанный в поле «Mail server». Данную опцию предпочтительно использовать при большом количестве адресатов в исходящих сообщениях и слабых ресурсах почтового сервера, а также для экономии исходящего трафика, если это актуально (низкая исходящая скорость канала, высокая стоимость исходящего трафика). Дело в том, что MDaemon, являясь полноценным почтовым сервером, имеет возможность прямой отправки писем адресатам по протоколу SMTP. Этот процесс абсолютно стандартен, однако иногда становится непонятным для начинающих администраторов, которые конфигурируют почтовый сервер впервые. При использовании SMTP-сервера провайдера происходит отсылка одной копии письма, независимо от количества указанных в нем получателей, а доставкой конечным адресатам занимается уже именно сервер провайдера, поэтому этот процесс обычно скрыт от конечных пользователей. В случае прямой отправки писем сервером MDaemon, каждая копия письма для указанных получателей отправляется отдельно, так как доставляется прямо на почтовый сервер адресата (согласно полученной от DNS-сервера MX-записи для домена получателя). Поэтому исходящий трафик от одного письма для 50 адресатов, отправленного через сервер провайдера, будет равен размеру этого письма, а при прямой доставке на сервера получателей – 50-кратному размеру этого письма. Поэтому если вы осуществляете рассылки больших объемов информации для своих подписчиков (например, ежедневные прайс-листы), а исходящая скорость канала мала, или вы оплачиваете исходящий трафик, опция «Always send every outbound email to the server specified below» будет для вас оптимальным решением. Минусом этого метода является отсутствие возможности проанализировать протокол доставки сообщения с конечным сервером получателя, так как наш почтовый сервер будет записывать только протокол обмена с SMTP-сервером провайдера.
В поле «Mail server» указывается SMTP-сервер вашего провайдера (или любой другой сервер, позволяющий осуществлять ретрансляцию почты). Если данный сервер требует аутентификации пользователя при отправке, укажите учетные данные для аутентификации в поле «Access to the above mail server requires a log in». Если SMTP-сервер провайдера предъявляет требование проверить существующий POP3-ящик для доступа к отправке почты, укажите параметры этого ящика, кликнув по опции «Access to the above mail server requires a POP mailbox check».
«Try direct delivery but send problem emails to the server specified below» – наиболее предпочтительный способ доставки ваших писем, если предыдущие замечания не повлияют на экономические и качественные показатели почтовой системы. То есть если исходящая скорость канала велика, а исходящий трафик бесплатен (дешев). При выборе данного способа доставки почтовый сервер будет пытаться отправить почту напрямую каждому адресату, используя данные его MX-записи, а в случае неудачи (например, отсекание почты от отправителя, IP-адрес которого не имеет обратной DNS-записи, соответствующей его почтовому домену) – на указанный в поле «Mail-Server» хост. Преимущества способа заключаются в возможности анализа файлов протоколов обмена при прямой доставке писем для локализации проблемы на основе этих данных.
«Always send all outbound email directly to the recipient’s mail server» – данная опция указывает, что MDaemon должен всегда доставлять письма только напрямую, не используя сервер провайдера. В случае невозможности доставить почту указанному адресату при существующей MX-записи для него, MDaemon поставит такие письма в очередь системы повтора (Retry Queue System) и будет предпринимать повторные попытки доставки в соответствии с настройками удержания таких писем в этой очереди (по умолчанию – постоянно в течение 60 минут, а затем раз в 240 минут в течение 5 дней). В случае невозможности доставки письма в течение первого периода пользователь получит об этом оповещение. После окончания 5-дневного срока пользователь также получит уведомление о том, что его письмо по-прежнему не доставлено. Для изменения настроек по умолчанию выберите опцию «Click here to configure how undeliverable mail is handled».
Настраиваем интегрированный антивирус
Устанавливаем интегрируемый в MDaemon антивирус. Скачиваем дистрибутив оттуда же, откуда загружали сам MDaemon (http://www.altn.com/download) и запускаем файл. В окне мастера выбираем язык, а также путь установки. Можно, например, создать папку антивируса внутри самой папки MDaemon. Инсталлятор автоматически останавливает почтовый сервер, копирует нужные файлы и предлагает перезапустить MDaemon уже с интегрированным антивирусом. Соглашаемся с предложением мастера и после запуска сервера регистрируем наш антивирусный продукт. Его регистрация не требует дополнительной активации и осуществляется вводом серийного номера. Меню «Help -> About MDaemon ?> Antivirus». Вводим в данной закладке выданный нам при покупке серийный номер и перезагружаем почтовый сервер («Пуск -> MDaemon -> Stop MDaemon -> Start MDaemon»). После установки антивирус может запустить процедуру автоматического обновления. Если в этот момент ваш компьютер имеет подключение к Интернету, то новые базы будут автоматически установлены.
Сразу же настроим параметры антивируса: период проверки обновлений, режим сканирования, действия при обнаружении вируса или запрещенного вложения. Меню «Security -> Antivirus». На основной закладке («Antivirus») выбираем «Enable Antivirus scanner». Если необходимо, здесь же можно задать отправителей/получателей, письма которых сканироваться не будут. В секции «Scanner Configuration» настраиваются действия, которые будут предприниматься к инфицированным письмам.
Наиболее универсальное решение – попытаться вылечить зараженное вложение, а при неудаче – удалить его («Clean the infected attachment»). Можно помещать зараженные вложения в карантин, сразу удалять их, а также полностью удалять содержащие их письма. Опция «Quarantine messages that cannot be scanned» перемещает в карантин те сообщения, которые не получилось проверить. В противном случае такие вложения отрезаются. Здесь же можно отредактировать сообщение, которое будет посылаться в качестве оповещения об обнаружении вируса. Рекомендуем добавить в сообщение по умолчанию (на английском языке) несколько русских фраз в стиле: «В данном сообщении содержался вирус, который был удален. Нет причины для беспокойства – ваш компьютер защищен». В противном случае администратор вынужден будет получать множество жалоб от пользователей, у которых «обнаружен вирус!». При необходимости данное оповещение можно вообще отключить.
В закладке «Antivirus Updater» настроим ежечасную проверку обновлений антивирусных баз через Интернет (обновляя базы реже, вы рискуете пропустить в свою сеть свежий вирус, описание которого уже добавлено в антивирусные базы). В этой закладке также можно просмотреть текущее состояние версии антивирусного ПО и вирусных сигнатур. Опция «Activate Urgent Updates» позволяет вам подписаться на срочные критические обновления, которые будут высылаться на системную учетную запись домена. Для изменения расписания проверки обновлений нажимаем кнопку «Scheduler», отмечаем все дни недели, устанавливаем время «Every hour» и нажимаем «Add». К нашему расписанию добавится ежечасная проверка обновлений. Здесь же можно установить расписание обновлений баз Antispam-engine, позволяющих проводить анализ и помечать письма от отправителей, входящих в эти базы как спам. Данное обновление можно производить не чаще одного раза в сутки (что в принципе является достаточным интервалом).
На закладке «Admins -> Attachments» задаются образцы вложений, которые запрещены к пересылке. Имеется два варианта – разрешить только определенные файлы (любые вложения, не удовлетворяющие этому условию, будут отрезаны) или запретить конкретные, разрешив остальные. Второй способ предпочтительней. По современным канонам безопасности рекомендуется запрещать пересылку любых исполняемых файлов в оригинальном виде (при пересылке их необходимо архивировать в неисполняемый вид, либо переименовывать). Поэтому запрет исполняемых файлов по маске устанавливается по умолчанию. Туда же для примера добавлены некоторые файловые маски (например, THE_FLY.*). Вы можете самостоятельно редактировать список разрешенных/запрещенных вложений, а также список адресов-исключений, почта с/для которых не будет проверяться на наличие запрещенных вложений. Также можно задать адреса администраторов Content Filter, которые будут получать уведомления об отсеченных вложениях.
В закладке «Notifications» имеется возможность указать других получателей уведомлений о действиях антивирусного сканера и фильтра контента (отправителя, получателя, администратора), а также отредактировать текст этих сообщений. Рекомендуем не отсылать оповещения о найденных вирусах и отсеченных вложениях отправителям писем, так как чаще всего при рассылке вирусов адрес отправителя фальсифицируется и ничего не подозревающие пользователи получат ложное обвинение в том, что с их адреса рассылается вирус. Данное оповещение лучше отсылать получателю письма. В случае явно бесполезного спама его можно будет просто проигнорировать, однако если отрезанным окажется необходимое ему вложение, пользователь сам оповестит отправителя о необходимости выслать файлы в другом формате. Включать ли в список получателей таких уведомлений Администратора системы – ваше личное дело. Чаще всего многочисленные оповещения не несут никакой полезной информации.
Защищаем SMTP-сервер от несанкционированного использования
Для того чтобы предотвратить использование спамерами нашего Relay-сервера (SMTP) необходимо настроить политику безопасности. Причем это рекомендуется сделать независимо от того, какой способ получения почты для нашего домена мы выбрали – прямую доставку по протоколу SMTP или закачку от провайдера по POP3 (см. далее). Даже если подключение извне по порту TCP/25 запрещено брандмауэром, лучше настроить дополнительные параметры безопасности. Итак, меню «Security -> Relay -> Trust -> Tarpit -> Reverse Lookup…»
Закладка «Relay Settings». Самый первый флажок «This server does not relay mail for foreign domains» – главный переключатель, запрещающий доставлять почту для чужих доменов. Обязательно установите его! Если флажок установлен, то любые сообщения, которые не имеют в поле FROM: или TO: локального доменного адреса, будут отвергаться. Однако этого недостаточно для спокойствия администратора. «Refuse to accept mail for unknown local users», отвергает почту для несуществующих локальных адресов. «Sender’s address must be valid if it claims to be from a local domain» проверяет реальное существование ящика отправителя. Все три флажка необходимо установить. Оставшиеся три флажка можно устанавливать при необходимости: «Mail addressed to known aliases can always be relayed» позволяет отправлять почту на локальные алиасы к нелокальным почтовым ящикам, «Mail addressed to known aliases can always be relayed» всегда разрешает перенаправлять почту, если она отправлена через аутентифицированную SMTP-сессию.
В закладке «Trusted Hosts» можно добавить IP-адреса (диапазоны) и домены, на которые не будут действовать правила запрета при отправке почты, однако делать это не рекомендуется из соображений безопасности.
Закладка «Tarpit Settings» позволяет анализировать и блокировать попытки массовых рассылок. Параметр «SMTP RCPT tarpit threshold» задает количество адресов, на которые возможна отправка писем за одну сессию. Если это количество будет превышено, то каждый последующий адрес будет обрабатываться с задержкой, указанной в параметре «SMTP RCPT tarpit delay». В секции «Automatic IP Screening» задаются дополнительные параметры блокирования отправителей. Например, параметр «‘Recipient unknown’ error threshold» задает количество ошибок «Получатель неизвестен» на каждую сессию, после превышения которого отправитель будет блокирован. Здесь же задается предельное количество неудачных попыток аутентификации, после которых отправитель будет блокирован на время, заданное в опции «Ban sites for this many minutes». При установленной опции «Authenticated sessions are exempt from tarpit and IP screening» эти проверки не будут производиться над сессиями, прошедшими аутентификацию.
Закладка «Reverse Lookup» позволяет отклонять письма от отправителей, чьи IP-адреса не соответствуют их DNS-записи, произведенной методом обратного поиска DNS. Производить такую проверку для записи журнала можно, но отказывать в приеме таким отправителям не рекомендуется, так как далеко не всегда IP-адрес, с которого производилась отправка, имеет соответствующую запись в DNS. Установив флажки «Send 501…», вы можете получить большое количество жалоб, связанных с невозможностью отправить почту на ваш домен. MDaemon поддерживает популярные антиспам-технологии, например такие, как SPF, Bayesian, SURBL. Разумеется, что стандартный опрос баз RBL (список редактируется) также присутствует.
Далее в меню «Security -> IP-Shielding -> AUTH -> POP before SMTP» для полной защиты от несанкционированной рассылки на закладке SMTP Authentication рекомендуется включить следующие режимы (см. рис. 1).
Рисунок 1. Настройка защиты от несанкционированной рассылки
- «Authenticated senders are valid regardless of the IP they are using» – при успешной авторизации пользователю будет разрешено отправить письмо, даже если его IP-адрес находится в черном списке.
- «Authenticated users are exempt from the POP before SMTP requirement» – в случае прохождения авторизации от пользователя не потребуют проверить POP3-ящик перед отправкой письма (при включенной опции «POP before SMTP»).
- «Authentication is always required when mail is from local accounts» – требовать аутентификацию даже от локальных отправителей.
- Флаг «Mail from ‘Postmaster’ alias requires an authenticated session» обязует пользователя Postmaster проходить авторизацию (по умолчанию такой алиас всегда существует, и если галка снята – данная учетная запись может использоваться для несанкционированной рассылки). Обязательно установите этот флаг, так как при его отсутствии ваш сервер смогут использовать спаммеры (это известная ошибка начинающих администраторов, настраивающих MDaemon). По умолчанию в MDaemon письма от пользователя postmaster принимаются и пересылаются в любом случае – об этом знают спаммеры и ищут, где неопытные настройщики упустили это. Если этот флаг установить, то письмо от пользователя postmaster данного домена будет требовать SMTP-Auth, и если она будет некорректной, в приеме будет отказано.
- «Authentication credentials must match those of the email sender» – данная опция принуждает пользователей авторизоваться только собственным именем, что предотвращает пересылку писем от других ящиков, авторизуясь при помощи локальных учетных данных. Это означает, что допускается отправка писем только со значением FROM, совпадающим с использованным в аутентификации.
После включения SMTP-авторизации необходимо также установить соответствующий переключатель в настройках сервера исходящей почты на клиентах («сервер исходящей почты требует авторизации») и задать авторизацию «как на сервере входящей почты – POP3».
Проверим наш сервер вручную на элементарные уязвимости, попробовав отправить письмо от пользователя postmaster:
telnet mailserver 25
Как видно, без авторизации отправить письмо не удастся, а теперь «угадаем», что в системе есть пользователь roman, и снова попробуем отправить:
telnet mailserver 25
Аналогично – ретрансляция почты запрещена без авторизации пользователя. На ресурсах, подобных abuse.com, есть тесты на open relay. Использовать их более правильно, однако перед запуском такого теста необходимо убедиться в элементарной защите.
Веб-интерфейс
MDaemon имеет очень полезный встроенный функционал для предоставления доступа к почтовым ящикам и административным функциям через веб-интерфейс – WorldClient и WebAdmin (WebAdmin скачивается с сайта Alt-N и устанавливается отдельно). Минимальную настройку осуществляем в меню «Setup -> WorldClient». По умолчанию веб-сервер MDaemon использует порт 3000. Таким образом, для получения доступа к почте через Web клиентам необходимо набрать в строке адреса своего браузера ссылку вида: http://mail.domain.com:3000. Вместо имени может выступать IP-адрес, а если вы организуете на брандмауэре прохождение пакетов на этот порт извне, ваши сотрудники смогут получать свою почту из любой точки земного шара, не нуждаясь в настройке почтового клиента – его заменит любой браузер для просмотра веб-страниц. Для стандартизации запросов можно поменять порт на стандартный HTTP:80. Тогда клиентам не придется указывать в строке адреса еще и номер порта. После смены номера порта необходимо перезапустить сервис WorldClient – для этого служит кнопка внизу закладки «Web Server». Здесь же настраивается использование календаря, однако его конфигурирование выходит за рамки данной статьи. В закладке Options можно выбрать язык веб-интерфейса, тему оформления и формат даты для каждого из созданных доменов, а также настроить дополнительные параметры. Будьте внимательны с опцией «Allow users to create new accounts…». Если установить это переключатель, то на веб-странице приглашения MDaemon появится опция создания новой учетной записи любым из пользователей, что может привести в лучшем случае к бесконтрольному заведению пользователями, а в худшем – к использованию вас спамерами в качестве анонимного Relay-сервера.
Примечание: некоторые стили оформления (например, LookOut) корректно работают только с IE 6.0 и выше. В случае необходимости получить доступ к почте при помощи других веб-браузеров выберите в настройках личных предпочтений другой стиль – например, Standart.
Антиспам
Помимо этого можно настроить встроенную антиспам-систему. Для этого в меню Security служат две опции: «Spam Blocker» и «Spam Filter». Следует быть также предельно осторожными с настройкой данных опций, так как чрезмерное усердие или недопонимание некоторых функций могут отнести к спаму и заказанную пользователями корреспонденцию. В любом случае имеется возможность просто помечать письма как спам, продолжая их доставку пользователям. И только собрав отзывы и убедившись в приемлемом функционировании данной системы, можно отсекать такие письма.
Создаем правила сортировки
В MDaemon имеются гибкие механизмы для сортировки почты. Наиболее употребимым является Content Filter (меню «Security -> Content Filter»). По умолчанию уже имеется несколько правил – для отсечения фрагментированных сообщений и пр.
Рисунок 2. Настройка правил сортировки
Здесь можно создать практически любое правило для сортировки и произведения необходимых действий. Рассматривать все правила мы не будем – они интуитивно понятны. Для примера создадим гибкое правило для писем.
«New Rule» – задаем интуитивно понятное имя для дальнейшего анализа правил.
Поле «Select Conditions For This Rule» – устанавливаем флаги «If the FROM HEADER contains», «If the TO HEADER contains» – «If the SUBJECT HEADER contains».
Затем в поле «Select Actions For This Rule» отмечаем флаги «Send a note 1 to:», «Run a program…» и «Delete the message».
Перейдем в третье поле – «Rule Description», в котором зададим условия в созданном нами правиле. Укажем, что правило распространяется только на письма, содержащие в полях FROM, TO и SUBJECT строго определенные значения, укажем, что при получении таких писем необходимо отсылать сообщение на определенный ящик, после этого запустить указанный bat-файл и затем удалить сообщение. Таким образом, отправив со строго определенного ящика письмо на специальный ящик и указав в поле «Тема» специальное выражение, мы можем выполнить практически любое действие (например, запустить программу, которая сделает архив базы данных и отправит его по электронной почте). Большое количество вариантов условий делает данный сервис удобным и полезным. Такое большое количество условий необходимо, чтобы при получении любого другого письма на данный ящик указанное действие не вызывалось. Даже если кому-то удастся подобрать пароль к данному ящику, это ничего не даст: правила Content Filter может создавать только администратор почтовой системы.
Осуществляем обновление, перенос на другой сервер, создаем резервные копии
Существует два пути. В любом случае не забывайте делать резервную копию каталога MDaemon – его архивирование и есть простейший путь к созданию полной резервной копии MDaemon (как уже говорилось выше – все настройки хранятся в текстовых файлах).
Первый способ: установка MDaemon поверх старой версии. Установщик сам произведет конвертацию старых установок для новой версии (рекомендуется следующая последовательность обновления очень старых версий: 3.х.х обновляются до 4.х.х, затем до 5.х.х и, наконец, до 7.х.х). Второй способ: установка MDaemon в новый каталог и перенос туда конфигурационных файлов старой версии, которые находятся в каталоге MDaemonApp и имеют расширение *.dat, а также каталога Users. Перенос MDaemon на другой сервер также прост: переносим всю папку MDaemon и устанавливаем поверх новую (или такую же) версию для создания системных привязок.
Подводя итоги
MDaemon – мощный корпоративный почтовый сервер с большим набором разносторонних режимов и возможностей. К минусам можно отнести отсутствие штатной возможности интегрировать с ним антивирусные продукты других производителей, кроме Kaspersky Labs. Помимо этого было бы полезным сделать более жесткими настройки безопасности по умолчанию (например, принудительная аутентификация независимо от IP-адреса и пр.) К сожалению, даже в двух статьях невозможно описать настройку всех возможностей продукта. Например, мы не смогли более подробно рассказать про более тонкое конфигурирование веб-интерфейса, общую адресную книгу, использование календаря и планировщика GroupWare, антиспам-систему, настройку Content-Filter, создание автоматической подписки на клиентскую рассылку, используя веб-сайт компании и многие другие возможности. Расположение всех файлов конфигурации в текстовых файлах формата Plain-text открывает широкие возможности для конфигурирования сервера, не используя GUI-интерфейс, а также для написания скриптов автоматического конфигурирования. Если отзывы читателей покажут, что развитие темы будет интересным для них, мы постараемся найти возможность продолжить цикл статей про MDaemon.