Контролируя спам: Часть 2. продвинутые установки SMTP в Lotus Domino

Эдмунд Стэнтон, программист, IBM

В продолжающейся борьбе за контроль над нежелаемой и невостребованной электронной почтой корпорации тратят миллионы, даже миллиарды долларов, покупая технологии для борьбы со спамом и фильтрации ящиков своих пользователей. Lotus Notes и Domino разрабатывают разные способы борьбы со спамом, которые должны помочь этим организациям. В первой части статьи мы обсудили файл Configuration Settings, почтовые правила сервера, команды и расширения входящего SMTP. Каждый из этих способов эффективно борется со спамом. В данной статье мы рассмотрим настройки в документе Server и переменные файла Notes.ini сервера Domino, которые влияют на SMTP и маршрутизатор почты. Затем мы ознакомимся со средствами от спама в Lotus Notes/Domino 7, такими как белые списки, надстройки почтовых правил сервера и так далее.

Статья предназначена для опытных администраторов Domino. Если вы им пока не являетесь, прочитайте первую часть данного цикла.

Server document

В предыдущей статье мы рассмотрели средства управления входящим потоком с помощью документа Configuration Settings (Параметры конфигурации), фильтров черных списков DNS и других средств управления SMTP. Но документ Configuration Settings - это не единственный инструмент контроля спама. Эффективными также являются SSL-опции документа Server.

SMTP-сессии, выполняемые через канал TCP/IP, уязвимы для прослушивания, потому что незашифрованную передачу легко перехватить. Для защиты SMTP-сообщений и обеспечения секретности и аутентификации серверы используют защиту транспортного уровня (transport-layer security - TLS), более известную как кодирование SSL. Активация SSL осуществляется через вкладку документа Server Ports - Internet Ports - Mail, как показано на рисунке 1.

Рисунок 1. Активация SSL для SMTP Inbound
Активация SSL для SMTP Inbound

Некоторые серверы поддерживают SSL для SMTP-сообщения путем получения и отправки SMTP-трафика только через SSL-порт (порт 465 по умолчанию). Однако, исходя из того, что для этого нужно, чтоб и отправляющий, и принимающий серверы поддерживали работу с SMTP через SSL, такое решение не всегда возможно.

Для обеспечения SSL-безопасности для SMTP-передач через TCP/IP, Lotus Domino использует особый SSL. В установленной схеме SSL-хосты отправителя и получателя используют расширение SMTP STARTTLS, определённое в RFC 2487 и RFC 3207, чтобы показать готовность наладить SSL-соединение. Сервер получателя выдаёт ключевое слово STARTTLS в ответ на команду EHLO сервера отправителя. Сервер отправителя отправляет команду STARTTLS в качестве запроса на создание безопасного соединения. После успешного квитирования связи TLS между участниками соединения создается SSL-канал. Оба сервера должны иметь сертификаты SSL.

Информация об SSL-порте включает в себя опцию под названием "Enforce server access settings". Когда это опция активирована, доступ к SMTP-приемнику управляется опциями доступа к серверу на вкладке Security в документе Server. Пользователи и серверы, не имеющие доступа к серверу, не могут отправить почту на SMTP-порт. Для большей эффективности этой опции следует активизировать аутентификацию порта.

Переменные Notes.ini

Наряду с настройкой SMTP через Notes GUI, некоторые опции SMTP могут устанавливаться через переменные Notes.ini сервера. Следующий раздел показывает некоторые переменные Notes.ini, которые можно использовать для борьбы со спамом и настройки ограничений SMTP и маршрутизатора. Все опции Notes.ini, описанные в статье, применимы только для серверов Domino.

SMTPStrict821AddressSyntax=value
Эта переменная определяет, поставлена ли перед SMTP задача следить за тем, чтобы адреса, указанные в командах MAIL FROM commands и RCPT, соответствовали стандарту 821 (должны содержать < >). Установите в 1 для использования стандарта 821; значение по умолчанию - 0, не использовать стандарт.

SMTPGreeting=string
Эта переменная позволяет формировать текстовое сообщения для отправки клиентам SMTP, когда они соединяются с SMTP-сервером. Внутри сообщения нужно включить строку "%s". (Эта строка заменяется на текущие дату/время, когда выполняется соединение.) По умолчанию, SMTPGreeting - это "host-name ESMTP Service (Lotus Domino build-name) ready at %s".

SMTPStrict821LineSyntax=value
Если присвоить этой переменной 1, SMTP требует, чтобы текст протокола завершался возвратом каретки с переводом строки (CRLF), согласно стандарту 821. Если присвоить этой переменной 0 (по умолчанию), стандарт 821 не используется, и перевод строки (LF) воспринимается как конец строки.

SMTPNonStandardLineTermination=value
Задачи для SMTP-приемника должны соответствовать RFC 2821, и включать в себя возврат каретки с переводом строки. Изменить эту опцию можно с помощью переменной SMTPNonStandardLineTermination. Если присвоить этой переменной 0, SMTP-приемник требует возврата каретки с переводом строки (CRLF). Если присвоить этой переменной 1, SMTP-приемник требует либо возврата каретки, либо перевода строки.

SMTPNotesPort=portname
Переменная привязывает SMTP к определенному TCP/IP порту, а не к первому из списка портов файла Notes.ini сервера, как определено по умолчанию. Вы можете использовать эту переменную для сервера с несколькими сетевыми картами.

SMTP_Config_Update_Interval=value
Эта переменная позволяет определить, как часто (в минутах) Domino проверяет файл Configuration Settings document в поисках обновлений. По умолчанию - 2.

SMTPAllowConnectionsAnonymous=value
Эта переменная определяет, как SMTP обрабатывает соединения при необходимой аутентификации, и позволяет прописывать хосты в поле "Allow connections only from the following SMTP internet hostnames/IP addresses". Если присвоить этой переменной 0, SMTP требует аутентификацию, а хосты в поле "Allow connections only from the following SMTP internet hostnames/IP addresses" не используются. Если присвоить этой переменной 1, SMTP требует аутентификацию, а соединение разрешено только с хостами из поля "Allow connections only from the following SMTP internet hostnames/IP addresses".

SMTPTimeoutMultiplier=value
Каждый обмен данными по SMTP-протоколу имеет значение времени ожидания. Если клиент не отзывается в течение этого периода, соединение прекращается. Период ожидания можно увеличить, задав значение множителя с помощью переменной SMTPTimeoutMultiplier. Например, если вы присвоите 5, все периоды ожидания увеличатся в 5 раз. Значение по умолчанию - 1.

RouterDSNForNULLReversePath=value
Эта переменная позволяет определить, отправляет ли маршрутизатор статус доставки (DSN) для сообщений, полученных через SMTP без обратных путей RFC 821. По умолчанию присвоен 0, что означает, что маршрутизатор не отправляет отчеты об ошибке DSN. В таком случае маршрутизатор создает отчет о не доставленном сообщении и помечает его, как DEAD (позже можно удалить или изменить статус этого сообщения). Если присвоить 1, маршрутизатор отправляет отчеты со статусом доставки. Кроме того, если присвоить 2, маршрутизатор не создает отчет о статусе доставки.

SMTPVerifySendersDomainTimeout=value
Переменная позволяет установить время ожидания по умолчанию (в секундах) для SMTP Inbound Sender Control в поле "Verify Sender's Domain in DNS". По умолчанию, устанавливается период ожидания 30 секунд.

SMTPErrorLimit=value
Переменная заставляет SMTP оборвать соединение, когда количество ошибок достигает заданного администратором. Если клиент SMTP-сессии просто не смог отправить команду прекращения сессии, эта переменная сама её завершает. Значение по умолчанию зависит от доступных ресурсов и количества SMTP-соединений.

RouterDisableDSNRelayReports=value
Маршрутизатор генерирует отчеты SMTP DSN Relay, если неспособен отправить подтверждения о доставке сообщений на следующий этап SMTP-пересылки, в том числе и в случае, если для текущего маршрутизатора отключен исходящий DSN через файл Configuration Settings document. Чтобы отключить отчеты SMTP DSN Relay, присвойте переменной 1. Значение по умолчанию - 0, позволяет маршрутизатору отправить отчет о передаче, если исходящий DSN отключен.

RouterDisableMailToGroups=value
Эта переменная определяет, принимает ли маршрутизатор отправленную группам почту. Значение по умолчанию - 0, позволяет маршрутизатору формировать группы и отправлять почту членам групп. Чтобы маршрутизатор не мог работать с группами, присвойте значение 1. Маршрутизатор возвращает отправителю сообщение с отчетом о неудаче при доставке, уточняя, что в доставке было отказано по стратегическим причинам.

SMTPLookupNoDircat=value
Переменная определяет, использует ли SMTP-просмотр каталога директорий. Это не позволяет пользователям, занесенным в директорию, получать входящую интернет-почту с этого сервера. Значение по умолчанию - 0, позволяет маршрутизатору использовать любой из каталогов Extended Directory Catalogs, указанный в этой конфигурации. Если присвоить 1, маршрутизатор не может использовать ни единого из каталогов Extended Directory Catalogs, указанных в этой конфигурации, для входящей Интернет-почты.

SMTPMaxCommandLength=value
Эта переменная задает максимальное количество знаков, поддерживаемое в задаче SMTP. По умолчанию - 1200 знаков.

SMTPMaxForRecipients=value
Переменная определяет, сколько адресов может быть добавлено, когда SMTP добавляет к полученным сообщениям полученные заголовки. Значение по умолчанию основывается на доступных ресурсах.

SMTPMaxSessions=value
Переменная определяет максимальное количество позволенных входящих SMTP-соединений. После достижения максимального значения Domino выдаст сообщение об ошибке 421. Значение по умолчанию основывается на доступных ресурсах.

SMTPVerifyAuthenticatedSender=value
Эта переменная позволяет определить, на самом ли деле почта, полученная во время аутентифицированной SMTP-сессии исходит с адреса этого пользователя. Значение по умолчанию - 0, указывает Domino не проверять интернет-адрес аутентифицированной SMTP-сессии. Если присвоить 1, Domino проверяет, на самом ли деле почта, полученная во время аутентифицированной SMTP сессии исходит с Интернет-адреса этого пользователя.

SMTPSmartHostAllDisableGroupExpansion=value
Эта переменная блокирует расширение групп, если Smarthost активирован для всех получателей локального интернет-домена. Если присвоить 0, расширение групп используется, когда Smarthost активирован для всех получателей локального интернет-домена. Если присвоить 1, расширение группы блокируется, когда Smarthost активирован для всех получателей локального Интернет домена. Значение по умолчанию - 0.

SMTPNoVersionInRcvdHdr=value
Если присвоить этой переменной 1, она запрещает серверу Domino оглашать информацию о себе в полученных заголовках SMTP. Значение по умолчанию - 0.

SMTPMaxRecipientCount=value
Эта переменная может контролировать максимальное количество получателей в SMTP-протоколе в команде RCPT TO. При достижении граничного значения Domino выдаст сообщение об ошибке 552. Значение по умолчанию основывается на доступных ресурсах.

SMTPTranslateAddresses=value
Когда сообщение принимается через SMTP-протокол посредством задания SMTP, изменение адресов не выполняется. Некоторые сайты предпочитают работать с Интернет-адресами локальных пользователей Notes, конвертированными в адреса Notes (иерархически). Чтобы конвертировать адреса, присвойте переменной следующие значения: 0 - (по умолчанию) Без изменений; 1 - Изменять только адрес в поле FROM; или 2 - Изменять все поля с адресами.

SMTPTranslateLookupFullThenLocal=value
Если значение предыдущей переменной SMTPTranslateAddresses - 1 либо 2, вы можете использовать эту переменную с целью установки запрета на использование документа Configuration Setting для поиска адреса. Чтобы не использовать документ Configuration Setting, задайте значение SMTPTranslateLookupFullThenLocal - 1. В таком случае Lotus Domino изменит полное имя, а затем локальную часть. Значение по умолчанию - 0.

SMTPTranslateAddressLookup=value
Если значение переменной SMTPTranslateAddresses - 1 либо 2, вы можете использовать эту переменную, чтобы выполнять поиск, даже если адрес не является локальным. Задайте значение переменной SMTPTranslateAddressLookup - 1, чтобы выполнять поиск адреса. Значение по умолчанию - 0.

SMTPTranslateAddressesPreserve822=value
Переменная сохраняет оригинальный интернет-адрес в полях Inetxxx. Lotus Notes/Domino 6.5.2 и более поздние версии поддерживают Интернет-сообщения в форме RFC821, которая предпочтительна для Inet items. Задайте переменной значение 1, чтобы вернуться к предыдущему стилю и сохранять все переведённые адреса RFC822 в полях Inetxxx.

SMTPRelayHostsandDomain=value
Если присвоить 1, содержимое полей запрета в настройках управления входящими потоками SMTP имеет приоритет перед содержимым в полях разрешения, в случае конфликта между ними. Значение по умолчанию - 0.

SMTP_RIGHT_DOT_NEVER_NOTESDOMAIN=value
Если задать значение 1, SMTP_RIGHT_DOT_NEVER_NOTESDOMAIN решает проблему при отправке сообщений на user@notes.domain.com, где имя хоста notes совпадает с именем домена Notes. Это предотвращает попытку маршрутизатора доставлять сообщение локально.

RouterUseFromAsSMTPOriginator=value
Приводит к тому, что команда обратного пути RFC821 MAIL FROM базируется на значении из поля From, если присвоить 1. Значение по умолчанию - 0.

RouterLanguageVisibleNDRStatus=value
Если у вас установлен языковой пакет, вы можете использовать эту переменную, чтобы включить перевод сообщений о недоставке. Задайте значение 1 для активации. Lotus Domino преобразует определенные английские сообщения в NDR, возвращённых маршрутизатором.

Обзор Lotus Domino 7

Этот раздел описывает новые возможности Lotus Domino 7. Описанные свойства доступны в версии Beta 2 Lotus Notes/Domino 7. Однако эти свойства могут не быть введены в окончательную версию продукта. Также может быть изменён интерфейс этих свойств, посему иллюстрации в статье могут не отражать реальной картины применительно к конечному продукту.

Фильтры белых списков DNS

Lotus Domino 7 улучшило свой контроль за спамом с помощью фильтров белых списков DNS. Белые списки определяют домены, с которых можно получить сообщения. IBM поддерживает как белые, так и черные списки. В связи с новыми возможностями настройки важно понимать, как сократить объём спама и знать порядок работы Domino, если активированы и черные, и белые списки.

Если вы активируете белые списки, при входящем SMTP-соединении Domino ищет IP адрес/имя хоста в списке. В поле "Whitelist the following hosts" перечислите IP-адреса или имен хостов систем, которые вы хотите внести в белый список. В качестве группового символа можно использовать звездочку (*). Члены белых списков по-прежнему подвергаются контролю соединения, передачи, отправителя, получателя. Занесение в белый список не гарантирует доставку сообщения.

Рисунок 2. Приватные фильтры белых списков
Приватные фильтры белых списков

Также можно установить значение поля "Desired action when a connecting host is found in the private whitelist". Вы можете выбрать отмену поиска в черных списках, чтобы избежать лишних поисков. Когда выбрано это действие, Domino не делает дополнительных записей. Кроме внесения хоста в белый список, отменить поиск хоста в чёрном списке можно, обозначив почтовый сервер клиента как исключение.

Другая опция - записать IP адрес/имя соединяющегося хоста, который был найден в приватном белом списке. Последняя опция - записать и пометить сообщение. К помеченным сообщениям добавляется метка $DNSWLSite, которая может быть использована для последующей фильтрации.

Если хост соединения не был найден в белом списке, Domino ищет его в настроенном черном списке. Domino ищет IP адрес/имя хоста в списке. Вы и тут можете использовать опцию записи сообщения или опцию записи и пометки сообщения меткой $DNSBLSite. Третья опция записывает и отклоняет сообщение. Если Domino найдет хост соединения в черном списке, оно отклоняет соединение и отправляет хосту SMTP сообщение об ошибке.

Рисунок 3. Приватный фильтр черного списка
Приватный фильтр черного списка

После того как Domino проверит приватные списки, он проверяет IP-адрес по фильтрам DNS. Администраторы должны использовать фильтры белых списков DNS как средство идентификации легальной почты. Bonded Sender Program, разработанная IronPort Systems, позволяет инициаторам легального соединения отправлять финансовый залог для подтверждения безопасности и легитимности их электронной почты. Получатели, которые получили невостребованную почту, от пользователя, который внес залог, могут пожаловаться их ISP, предприятию или IronPort, и с этого пользователя будет снято взыскание. Этот механизм позволяет отправителям удостовериться, что их письмо дойдет к конечному пользователю и обеспечивает возможность корпоративным IT менеджерам и ISP блокировать только невостребованную почту. Bonded Sender Program работает также, как белый список DNS. Помимо Bonded Sender Program существуют другие подобные программы. Дополнительную информацию поищите в сети.

Если фильтры белых списков DNS активированы, как показано на рисунке 4, Domino ищет IP адрес/имя пользователя на сайтах белых списков DNS. Вы можете установить определенное действие, если пользователь будет найден в белом списке DNS. Вы можете отключить черные списки, чтобы избежать лишних поисков. После указания действия Domino не делает дополнительных записей.

Рисунок 4. Фильтры белых списков DNS
 Фильтры белых списков DNS

Другая опция - запись IP-адреса/имени соединяющегося хоста, который был найден в приватном белом списке. Последняя опция - запись и метка сообщений. Метка сообщений добавляет к сообщению заметку $DNSWLSite, которая может быть использована для последующей фильтрации сообщения.

Рисунок 5. Свойства файла для $DNSWLSite
Свойства файла для $DNSWLSite

SMTP ведет кумулятивный подсчёт общего количества совпадений (SMTP.DNSWL.TotalHits), равно как и совпадений в белом списке (SMTP.DNSWL.<WhitelistSite>.Hits). Статистика - это часть пакета статистики SMTP, и может быть просмотрена через Domino Administrator client или консоль сервера через команду "show stat". Для уточнения статистических данных можно узнать количество раз, которое данный адрес был найден в настроенном DNSWL (SMTP.DNSWL.<WhitelistSite>.[IP address].Hits). Чтоб получить больше информации, активируйте переменую Notes.ini:

SMTPExpandDNSWLStats=value

Используйте эту установку для создания статистики по DNS и по приватному черному списку для каждого соединяющегося хоста, найденного в DNS или приватном черном списке. Если присвоить 0, SMTP-сервер не генерирует статистику по DNS и приватному черному списку. Если присвоить 1, SMTP-сервер генерирует статистику по DNS и приватному черному списку, в которой показывает общее количество совпадений IP-адресов соединяющихся сайтов со списком на сайте DNSWL.

В отсутствии этой опции SMTP ведёт статистику общего количества соединяющихся хостов, найденных на комбинированном DNSBL всех сайтов вместе взятых, так же как и количества хостов, найденных в DNSBL каждого из настроенных сайтов.

Усовершенствования в почтовых правилах сервера

Lotus Domino 7 ввел усовершенствования в настройке почтовых правил сервера. IBM добавило два новых условия поиска для идентификации особых сообщений. Lotus Domino 7 может фильтровать почту, базируясь на черных и белых списках. Если хост соединения будет найден в одном из списков, используется опция метки сообщений. Теперь вы можете изолировать сообщения с меткой чёрного списка или делать пометки в журнале о сообщениях с меткой белого списка.

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

Поддержка IPv6 для SMTP

Lotus Domino 7 поддерживает IPv6 для SMTP. Поддержка IPv6 производителями оборудования и операционных систем, а также в интернете находится на зачаточной стадии. На IPv6 переходят многие организации. IPv6 - новый прогрессивный стандарт. Производители воплощают IPv6 по-разному. Установка и настройка IPv6 на вашем предприятии зависит от платформ сервера и клиента. Для активации IPv6, добавьте эту установку в серверный файл Notes.ini:

TCP_EnableIPV6=value

Вы можете активировать поддержку IPv6 на сервере Domino, на котором работают сервисы IMAP, POP3, SMTP, LDAP или HTTP. Если присвоить переменной 0, Domino использует стандарт IPv4. Присвойте 1, чтобы Domino активировало использование стандарта IPv6. По умолчанию задается значение 0.

Даже после активации IPv6 в Lotus Domino, он сможет продолжить соединяться с IP-адресами, которые используют стандарт IPv4. В записи AAAA в DNS хранится адрес в IPv6. После активации IPv6 на сервере Domino и добавления записи АААA в DNS, другой IPv6-активированный сервер Domino может подключиться только через IPv6. Серверы, которые не поддерживают IPv6, могут запустить Lotus Domino с выключенным IPv6, что задано по умолчанию. Эти серверы могут успешно соединяться с серверами Domino с активированным IPv6, только если в DNS на серверах IPv6 содержатся записи А.

Domino Domain Monitoring

Domino Domain Monitoring (DDM, мониторинг доменов Domino) - новинка в Lotus Domino 7, которая позволяет просмотреть статус многих серверов с разных доменов. DDM использует зонды, которые вы настраиваете для мониторинга активности серверов. Один из зондов - почтовый зонд, следящий за локальной передачей почты. Он отправляет сообщение по назначению и проверяет его доставку. Если много почты задерживается или не доходит до адресата, DDM может отправить вам сигнал. Также можно использовать SMTP-зонд для проверки доставки SMTP-почты получателю. DDM может создать отчет с извещением о статусе доставки. База данных Event Resolution Center (Ddm.nsf) собирает информацию, полученную зондами, в единую базу.

Для большей информации о Domino Domain Monitoring и других новых свойствах в Lotus Notes/Domino 7, обратитесь к статье developerWorks: Lotus " Новые возможности Notes/Domino 7."

Новые переменные Notes.ini

Lotus Domino 7 также предоставляет новые переменные Notes.ini для борьбы со спамом.

SMTPDenyMailToGroups=value
Переменная предусматривает наличие опции "Проверка наличия получателя локального домена в Domino Directory". Если присвоить 1, все внешние хосты получают ошибку после команды RCPT TO command, когда почта адресуется группе. Если присвоить 2, все хосты соединения получают ошибку после команды RCPT TO command, когда почта адресуется группе. Значение по умолчанию - 0.

SMTPDenyNotUniqueRCPT=value
Переменная предусматривает, что опция "Verify that local domain recipient exist in the Domino Directory" включена. Если присвоить 1, SMTP не примет ни одного не уникального имени получателя. Значение по умолчанию - 0.

Что дальше

Разработчики IBM также работают над другими анти-спамовыми технологиями, которых нет в нынешней версии Lotus Domino. Каркас для таких технологий, SpamGuru, позволяет этим технологиям комбинироваться. Одной из созданной на данной основе технологий является Байесовский спам-фильтр. Байесовский спам-фильтр использует статистический метод для идентификации спама. Сравнивая свойства сообщения со свойствами спама и нормального сообщения, определяется вероятность причисления сообщения к спаму, которая представляется в числовом виде, который может использоваться для изменения диспозиции сообщения.

Байесовские спам-фильтры изучают спам в процессе работы. Статистика нормальных сообщений и спама сообщений постоянно обновляется, что влияет на последующие расчеты. Обучение выполняется таким образом, что каждый пользователь может внести свой вклад, "голосуя" за то, относится ли сообщение к спаму. Количество голосов учитывается при последующих расчетах, позволяя фильтру динамично приспосабливаться к новому содержимому спама и пользовательскому определению спама.

В статье "SpamGuru: An Enterprise Anti-Spam Filtering System" вы найдёте информацию про архитектуру SpamGuru и как Lotus Domino может стать адаптивным фильтром спама. Дополнительный материал для чтения есть на IBM Research.

Примечание: IBM не определило граничного времени для интеграции технологий SpamGuru с Lotus Notes и Domino.

Выводы

IBM разработало и настроило много возможностей для борьбы со спамом в Lotus Domino 6 и 7. Многие пользователи не знают, как и почему они получают спам, именно поэтому сокращение количества спама поможет пользователям сэкономить немало времени. IBM продолжает модернизировать Lotus Domino, чтобы оно всегда оставалось на уровне наилучших технологий по борьбе со спамом.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=7022