Защита электронной почты средствами MailScanner::Журнал СА 12.2005
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1826
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1887
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1446
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1066
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1636
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Защита электронной почты средствами MailScanner

Архив номеров / 2005 / Выпуск №12 (37) / Защита электронной почты средствами MailScanner

Рубрика: Администрирование /  Продукты и решения

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС

Защита электронной почты средствами MailScanner

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

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

Проект, начатый в 2000 году после 5 лет работы из простого антивирусного сканера, превратился в мощную систему, защищающую тысячи компьютеров от вирусов и спама. Написан MailScanner на Perl, распространяется по лицензии GNU GPL. Модель разработки все же немного отличается от других подобных проектов. Автор сохраняет полный контроль над исходным кодом, другие пользователи не имеют доступа к архиву CVS. Объясняется это большим значением, которое придается электронной почте, а использование непротестированного кода может навредить как пользователям, так и репутации проекта. Вероятно, благодаря надежности и своим возможностям MailScanner заслужил похвалу и стал стандартным решением, предназначенным для организации защиты почты на многих серверах в Европе и Великобритании. Его создатель Julian Field за свою разработку стал в 2004 году обладателем Open Source Award от UKUUG (UK UNIX and Open Systems User Group). Эта награда ежегодно вручается наиболее выдающимся деятелям мира бесплатного и открытого программного обеспечения. А различные версии продукта с сайта проекта были скачаны более полумиллиона раз.

Возможности MailScanner

В отличие от многих коммерческих решений, поддерживающих обычно 2-3 антивируса, MailScanner способен работать более чем с 20 антивирусами (Sophos, McAfee, Command, Kaspersky, Inoculate, Inoculan, Nod32, FSecure, F-Prot, Panda, RAV, AntiVir, Clam, BitDefender, Vscan и др.). В комплекте имеются готовые конфигурационные файлы и сценарии обновления антивирусных баз для большинства из них. Он совместим с наиболее популярными МТА – Mail Transfer Agent (Postfix, Sendmail, Exim, Qmail, ZMailer). Хотя в принципе этот сканер может быть легко встроен в любую почтовую систему независимо от используемого в ней программного обеспечения. Кроме того, он очень прост в установке и для своей работы практически не требует переконфигурации почтовых серверов, а при использовании Sendmail его появление в системе полностью прозрачно.

Своего антивируса MailScanner не имеет, как не является обязательным к употреблению любая программа для защиты от спама. Хотя для эффективной идентификации спама может использоваться SpamAssassin (http://www.spamassassin.org), имеющий развитую систему контекстного лингвистического анализа, систему обучения и самообучения. При желании его можно заменить или дополнить любым другим внешним сканером спама и антивирусом, или использовать параллельно сразу несколько программ.

Кроме проверки на наличие вирусов, сканер анализирует наличие во вложении файлов с потенциально опасным именем или нежелательные типы файлов (самораспаковывающиеся архивы, исполняемые файлы, видео и прочее). Определяются в том числе и файлы с двойным расширением вроде «.txt.vbs», «.doc.exe» (файлы с повторяющимся расширением (*.zip.zip) по умолчанию разрешены), которые часто используются для рассылки вирусов. Проверяются распространенные типы архивов (zip, rar, gzip и др.) и MIME, в том числе и «application/ms-tnef». Если архив защищен паролем, то для их содержимого выполняется проверка имен файлов. Настройки позволяют защититься от DOS-атак, направленных на почтовые сервисы. Еще одной особенностью MailScanner является анализ содержимого письма. Анализируя почту, MailScanner способен обнаруживать атаки, направленные против некоторых клиентов электронной почты (Outlook, Outlook Express, Internet Explorer, Eudora), а также Cyrus IMAP, но можно добавить и другие приложения, отредактировав конфигурационный файл. Теги HTML <IFrame>, <Form>, <Script> и другие, которые могут быть использованы для загрузки файлов без ведома пользователей или изображений, часто используемые спамерами, могут быть удалены. В MailScanner реализован контроль за подменой адреса, прием, часто применяемый фишерами. Так, если пользователь получит сообщение, содержащее строку:

<a href="http://www.nasty.com /"> www.bank.com</a>

в письмо будет вставлено предупреждение:

MailScanner has detected a possible fraud attempt by "www.nasty.com" claiming to be www.bank.com

В некоторых случаях такая проверка вызывает ложную тревогу, например, ссылки, используемые Microsoft. В этом случае сайты, которые не должны проверяться на фишинг, заносятся в специальный файл phishing.safe.sites.conf.

Для ускорения работы системы можно указать список адресов или доменов, чьи письма не будут или, наоборот, будут проверяться. Также в MailScanner заложена возможность задания групп пользователей, чьи письма будут архивироваться в отдельный каталог и пересылаться на другой адрес. Причем, кроме создания новых правил для черных списков, эта особенность может быть использована, например, при проверке лояльности служащих. Для этих же целей используется возможность блокировки зашифрованных сообщений глобально или в только определенные домены. Хотя существует и обратная возможность, блокирующая отправку незашифрованных сообщений, что позволяет предохранить конфиденциальную информацию от перехвата.

Предотвратить утечку конфиденциальной информации позволяет еще одна технология, называемая Message Content Protection (MCP). Представляющая собой запуск еще одной копии SpamAssassin, но без выполнения сложных антиспам проверок. Администратор сам заносит в отдельный файл ключевые слова и фразы, дает им оценку и указывает на действия, которые должны произойти при их появлении в тексте. При использовании патча кроме самого сообщения могут проверяться присоединенные документы Microsoft Word.

Кроме вышеописанных методов, используются правила, занесенные в файл с расширением .rules. Каждый файл сопоставлен с некой категорией, например BlackList, и при совпадении параметра внутри к письму применяется указанное действие. Правило внутри такого файла может состоять из 3 или 6 полей вида:

Направление:            образец      результат

или

Направление:            образец   and направление2:  образец2          результат

В качестве направления движения сообщения выбираются значения из: From, To, FromOrTo, FromAndTo, Virus. Образец описывает адрес отправителя сообщения, здесь можно указать конкретный почтовый адрес, имя отправителя/получателя, домен, IP-адрес. Поддерживаются регулярные выражения. Результат показывает действие, применяемое к сообщению. Самым простым результатом является yes (правило совпадает) и no (не совпадает). А вот что будет с письмом, уже зависит от файла, в котором записаны эти правила. Так если файл описывает черный список, то yes покажет на спам и к нему будут применены соответствующие действия, а если в файле описан белый список, то при yes письмо беспрепятственно пройдет проверку. Кроме этого результат можно установить таким:

  • deliver – доставить сообщение.
  • delete – удалить сообщение.
  • store – сохранить в карантине.
  • bounce – отослать отказ отправителю.
  • forward user@domain.com – переслать копию по указанному почтовому адресу.
  • striphtml – конвертировать HTML в текст.
  • attachment – преобразовать сообщение в файл, присоединенный к письму.
  • notify – отсылка получателю уведомления о блокировке спама.
  • header “name: value” – добавление в заголовок name значения value.

Возможна и комбинация некоторых параметров. Пример правил:

To:       bad.customer.com  no

From:     /^192.168.1[4567]./       store forward user@domain.com

FromAndTo: *@*.domain.com    yes

FromOrTo: default   (или *@* т.е. любой)        yes

Но проще всего определить, совпадает ли значение (т.е. yes/no), а действие указать глобально в конфигурационном файле.

Как работает MailScanner

В общем случае принцип работы сканера прост. Поступившее по SMTP письмо МТА помещает в специальную папку, на которую указывает переменная Incoming Queue Dir. После проведения всех проверок оно помещается уже в другую папку (Outgoing Queue Dir), откуда забирается МТА и отсылается по назначению. Отличие здесь в работе используемых МТА. Например, структура sendmail позволяет MailScanner без перекомпиляции и изменений в конфигурационных файлах принять сообщение от одного процесса, а затем после проверки запустить второй процесс.

Все необходимые подготовки могут быть сделаны посредством редактирования команд запуска sendmail. Несколько другая ситуация с Exim, в котором прием и отправка сообщений являются полностью независимыми процессами. Все вроде бы хорошо, но вот указать Exim на то, чтобы он использовал для приема/передачи отдельные очереди, проходящие через MailScanner, нет возможности. Поэтому приходится использовать два отдельных процесса Exim, каждый со своим собственным конфигурационным файлом.

При этом процесс-получатель почты не должен иметь возможности отправлять сообщение. При компилировании Exim-получателя местонахождение конфигурационного файла указывается на этапе конфигурирования. А запуском Exim-отправителя занимается MailScanner, который и передаст ему необходимые параметры.

С Postfix легче всего, так как использование независимых резидентных модулей позволяет одной копией сервера управлять поступающей и уходящей SMTP почтой. Итак, письмо положено в папку, предназначенную для входящих сообщений, после чего проходит несколько тестов, некоторые из них являются необязательными и могут отключаться. Тест RBL (Real time Blackhole List) – производится сравнение адреса отправителя с известными спамерскими адресами, если письмо отправлено с такого адреса, то оно отбрасывается. Стоит отметить, что тест RBL в зависимости от настроек может производиться на трех уровнях со своими характеристиками: MTA (письмо отбрасывается), MailScanner (возможен выбор – удалить, пропустить, заархивировать и т. д.) и SpamAssassin (наиболее тонкий, но в то же время ресурсоемкий). Далее оценкой письма занимается SpamAssassin, после чего MCP, тест на вирусы и наконец анализ типа, имени присоединенного файла и поиск атак, направленных на почтовых клиентов. После прохождения тестов в тело письма могут добавляться специфические метки, вроде X-Spam-Status: yes. Далее сообщение попадает в модуль принятия решений. Если все тесты пройдены, оно ложится в папку для исходящих писем и отправляется получателю. Письмо, содержащее вирус или спам, в зависимости от настроек удаляется либо направляется в карантин. Далее вирус удаляется, в сообщение добавляется оповещение о вирусе, оповещаются также локальный администратор и отправитель письма.

Установка MailScanner

Про установку различных МТА журнал писал неоднократно, поэтому останавливаться на этом подробно не буду. На странице закачки можно найти готовые пакеты для RedHat, Fedora, Mandriva, SuSE, Debian, Solaris, FreeBSD. Если вашего дистрибутива в списке нет, то воспользуйтесь tar-архивом, содержащим исходные тексты MailScanner-install-4.45.4-1.tar.gz. Базовый комплект не содержит ClamAV и SpamAssassin, если планируется их использование, то лучше воспользоваться готовым комплектом install-Clam-SA.tar.gz, который можно взять со страницы Downloads раздел Other stuff. Установка из rpm- и tar-архивов, в том числе и пакета install-Clam-SA, довольно проста. Разработчики избавили администраторов от поиска пакетов для удовлетворения зависимостей, а всего требуется около 30 Perl-модулей и программ, включив все необходимое в единый архив. После распаковки требуется ввести лишь ./install.sh. Скрипт произведет анализ системы и установит все компоненты в каталог /opt/MailScanner. Конечно же, этот путь можно изменить, покопавшись в скриптах, или просто перенести каталог в другое место, изменив затем путь в стартовых скриптах. В случае с архивом, содержащим MailScanner, при установке не должно быть сообщений об ошибке, а скрипт внутри install-Clam сам предупреждает, когда ошибки можно игнорировать.

Do not worry about warnings or errors from the next 3 commands

./install.sh: line 192: groupadd: command not found

./install.sh: line 193: useradd: command not found

You can start worrying about errors again now

Конфигурационный файл MailScanner.conf

MailScanner является гибким инструментом, обладающим большим количеством возможностей. Все доступные параметры настраиваются в одном конфигурационном файле /opt/MailScanner/etc/MailScanner.conf.

Строение файла стандартно для UNIX-программ. Настройки указываются в виде строк option = value, знак решетки (#) указывает на комментарий, пустые строки и пробелы игнорируются. В значениях можно использовать любые переменные оболочки вроде $HOSTNAME. Для удобства восприятия файл разбит на несколько секций, все параметры можно не трогать. В принципе и в конфигурации по умолчанию MailScanner способен защитить систему. Кроме того, можно добавить и свои параметры, подправив файл CustomConfig.pm, лежащий в подкаталоге lib.

# Main configuration file for the MailScanner E-Mail Virus Scanner

# Здесь указывается каталог, в котором содержатся все сообщения, на нужном языке. К сожалению, русского нет,

# этим придется заниматься самому

%report-dir% = /opt/MailScanner/etc/reports/en

# Ниже идут стандартные каталоги, в которых содержатся настройки и правила, если вы выбрали другой каталог,

# для запуска MailScanner все их необходимо переопределить

%etc-dir% = /opt/MailScanner/etc

# Здесь лежат правила

%rules-dir% = /opt/MailScanner/etc/rules  

# Настройки Message Content Protection

%mcp-dir% = /opt/MailScanner/etc/mcp

# Название организации короткое, длинное (без пробелов) и веб-сайт

%org-name% = yoursite

%org-long-name% = Your Organisation Name Here

%web-site% = www.your-organisation.com

# System settings

# Количество одновременных процессов MailScanner. При мощном процессоре и большой нагрузке можно

# увеличить эту цифру. Один процесс занимает около 20 Мб

Max Children = 5

# По умолчанию MailScanner работает от имени пользователя и группы sendmail.

# В некоторых системах его нужно изменить

Run As User = postfix

Run As Group = postfix

# Время (в секундах), через которое будет производиться проверка папок на наличие новых сообщений

Queue Scan Interval = 6

# Папка, в которую будут помещаться входящие сообщения.

# Можно задать имя каталога – /var/spool/mqueue.in

# Шаблон – /var/spool/mqueue.in/*

# Имя файла, в котором описаны каталоги

# /opt/MailScanner/etc/mqueue.in.list.conf

Incoming Queue Dir = /var/spool/postfix/hold

# Каталог, куда будут складываться письма, прошедшие проверку (исходящий)

Outgoing Queue Dir = /var/spool/postfix/incoming

# Каталог, в котором почта перед проверкой будет распаковываться. При достаточном количестве ОЗУ можно

# использовать tmpfs или ramdisk

Incoming Work Dir = /var/spool/MailScanner/incoming

# Каталог для хранения зараженных сообщений (карантин)

Quarantine Dir = /var/spool/MailScanner/quarantine

# Местонахождение pid-файла

PID file = /opt/MailScanner/var/MailScanner.pid

# Во избежание утечки ресурсов MailScanner периодически перезапускается. Здесь указывается время в секундах

Restart Every = 14400

# Установка МТА – postfix, sendmail, exim или zmailer

MTA = postfix

# Ниже описываются местонахождение и параметры запуска второй копии MTA. Postfix и Qmail здесь не настраиваются (см.выше).

# Sendmail = /usr/lib/sendmail

# Sendmail2 используется для запуска Exim

# For Exim users: Sendmail2 = /usr/sbin/exim -C /etc/exim/exim_send.conf

# For sendmail users: Sendmail2 = /usr/lib/sendmail

# Sendmail2 = /usr/sbin/sendmail -C /etc/exim/exim_send.conf

# Sendmail2 = /usr/lib/sendmail

#

# Incoming Work Dir Settings

#

# Ниже указываются настройки для каталога входящих сообщений, в большинстве случаев трогать их не надо

# Здесь можно указать пользователя отличного от «Run As User» и «Run As Group».

# Эта опция может понадобиться при работе с некоторыми антивирусами

Incoming Work User =

Incoming Work Group =

# Права доступа к файлам, если не используется внешний антивирус, то ставим 0600, иначе заносим пользователя,

# от имени которого работает антивирус, в группу, в нашем случае postfix и ставим 0640.

# Хотя возможен вариант и с 0644

Incoming Work Permissions = 0640

#

# Quarantine and Archive Settings

#

# То же что и выше, только для файлов, которые попадут в карантин. Если захотите дать к ним доступ при помощи

# внешней программы, например, веб-интерфейс, то переопределяем их

Quarantine User =

Quarantine Group =

Quarantine Permissions = 0600

# Ниже идут параметры проверки входящих сообщений.

# Ограничения по размеру (в байтах) и количеству

Max Unscanned Bytes Per Scan = 100000000

Max Unsafe Bytes Per Scan = 50000000

Max Unscanned Messages Per Scan = 30

Max Unsafe Messages Per Scan = 30

# Количество сообщений в очереди, превышение этого числа приведет к переключению в «ускоренный» режим

# сканирования, когда сообщения проверяются не по дате, а в порядке поступления

Max Normal Queue Size = 800

# Опция ниже включает проверку на вирусы и спам для всех сообщений, установка в «no» приведет к тому, что почта

# проверяться не будет. Можно использовать файл с правилами, где указать, какие сообщения сканировать, а какие нет

# checked *at all*, and so any viruses or other problems

# will be ignored.

# Если используется файл правил

# /etc/MailScanner/rules/scan.messages.rules,

# то используем строку:

# Scan Messages = %rules-dir%/scan.messages.rules.

# Иначе включаем проверку для всей почты

Scan Messages = yes

# Максимально разрешенное количество вложений в одном письме. Некоторые почтовые системы сохраняют информацию

# при переписке в виде присоединения к письму, их распаковка занимает много времени

Maximum Attachments Per Message = 20

# Проверка TNEF (Microsoft’s Transport Neutral Encapsulaton Format) при помощи внешней программы.

# Некоторые антивирусы  (Sophos, McAfee) самостоятельно проверяют такие вложения, в этом случае ставим «no».

Expand TNEF = yes

# Некоторые версии Microsoft Outlook генерируют неправильный TNEF, который используемый модуль проверить не может.

# Здесь можно запретить пропуск сообщений с таким присоединением. Как вариант можно использовать файл правил

Deliver Unparsable TNEF = no

# Команда запуска декодера TNEF, как вариант указывается ключевое слово «internal», подключающее Perl-модуль,

# выполняющий ту же работу. Можно использовать файл правил

#TNEF Expander  = internal

TNEF Expander = /opt/MailScanner/bin/tnef --maxsize=100000000

# Максимальное время для работы с одним сообщением TNEF (в секундах)

TNEF Timeout = 120

# Месторасположение команды «file», позволяющей определить тип файла. Если не планируется проверка типа файлов,

# можно отключить

File Command = /usr/bin/file

File Timeout = 20

Unrar Command = /usr/bin/unrar

Unrar Timeout = 50

# Максимальный размер сообщений, включая заголовки.

# Установка в 0 снимает ограничения. Можно использовать файл правил и использовать возможность принудительного

# ограничения размера сообщения более тонко

Maximum Message Size = 0

# Максимальный размер в байтах для вложений. Установка в 0 запретит вложения, -1 снимает ограничения.

# Более тонко настройки можно указать в файле правил

Maximum Attachment Size = -1

# Минимальный размер вложений, опция бывает полезна при удалении очищенных антивирусом файлов, можно

# использовать файл правил

Minimum Attachment Size = -1

# Максимальная глубина распаковки архивов zip, для проверки имен и типов файлов

Maximum Archive Depth = 2

# Обнаружение архивов не только по имени, но и по содержимому, можно использовать файл правил

Find Archives By Content = yes

# Проверка писем на вирусы. Можно использовать файл правил.

Virus Scanning = yes

# Установка используемого вирусного сканера.

# В конфигурационном файле приведены примеры для всех поддерживаемых антивирусов. Можно добавить любой другой,

# для этого его необходимо описать в файле %etc-dir%/virus.scanners.conf, в который необходимо

# занести 3 позиции: имя сканера, сценарий для запуска и месторасположение (в некоторых системах путь придется

# подправить). Например, для СlamAV строка в этом файле выглядит так:

# clamav  /opt/MailScanner/lib/clamav-wrapper  /usr/local

# Установка в none отключает проверку.

# Если планируется использование сразу нескольких антивирусов, они перечисляются через пробел

# Virus Scanners = drweb kaspersky mcafee

#

Virus Scanners = clamav

Virus Scanner Timeout = 300

# Удаление вируса с зараженного файла, очищенное сообщение присоединяется как файл «VirusWarning.txt».

# Можно использовать файл правил.

Deliver Disinfected Files = yes

# Строка, которую ищет MailScanner на выходе антивируса.

# При обнаружении этих строк  отправитель не предупреждается, вирус очищается, а дойдет ли письмо до получателя – зависит

# от «Still Deliver Silent Viruses».

# Для обозначения используются 5 ключевых слов:

# HTML-IFrame, HTML-Codebase, HTML-Script, HTML-Form и Zip-Password. 

# Опция All-Viruses соответствует поиску всех вариантов.

# Можно использовать файл правил

Silent Viruses = All-Viruses

# Доставлять ли сообщение получателю после очистки?

# Можно использовать файл правил

Still Deliver Silent Viruses = no

# Опция противоположная предыдущей, при обнаружении указанных строк все участники получат предупреждения

Non-Forging Viruses = Joke/ OF97/ WM97/ W97M/ eicar

# Запрет отправки зашифрованных сообщений.

# Можно использовать файл правил

Block Encrypted Messages = no

# Запрет отправки незашифрованных сообщений.

# Можно использовать файл правил

Block Unencrypted Messages = no

# Разрешение использования зашифрованных архивов.

# Можно использовать файл правил

Allow Password-Protected Archives = no

#

# Options specific to ClamAV Anti-Virus

#

# В файле имеются предустановки для некоторых антивирусов.

# В большинстве случаев достаточно проверить все пути

Monitors for ClamAV Updates = /usr/local/share/clamav/*.cvd

ClamAVmodule Maximum Recursion Level = 5

ClamAVmodule Maximum Files = 1000

ClamAVmodule Maximum File Size = 10000000 # (10 Mб)

ClamAVmodule Maximum Compression Ratio = 250

# Далее указываются параметры работы MailScanner с потенциально опасным контентом. Практически везде можно

# использовать файл с правилами. Включение всех проверок

Dangerous Content Scanning = yes

# Работа с неполным вложением

Allow Partial Messages = no

# Разрешение сообщений, загружающих контент из Интернета. Запрещаем однозначно

Allow External Message Bodies = no

# Поиск подмены адресов

Find Phishing Fraud = yes

# Обычно в легальных письмах редко используется IP-адрес, фишеры же прибегают к этому способу для обмана. Запрещаем

Also Find Numeric Phishing = yes

# Вставка предупреждения о подмене

Highlight Phishing Fraud = yes

# Список сайтов, которые игнорируются при поиске фишеров

Phishing Safe Sites File = %etc-dir%/phishing.safe.sites.conf

# Разрешение соответствующих тегов в сообщении

# yes     => Разрешает

# no      => запрещает

# disarm  => Разрешает, но нейтрализует тег

Allow IFrame Tags = disarm

Allow Form Tags = disarm

Allow Script Tags = disarm

Allow Object Codebase Tags = disarm

# То же для <Img>, но только два действия  yes и disarm

Allow WebBugs = disarm

# Эта опция перекликается с «Allow ... Tags», т.е. при разрешении тега сообщение может быть преобразовано

# из  HTML в текст

Convert HTML To Text = no

# Проверка вложений.

# Указываем файл с правилами, содержащий описание типов и имен файлов и производимым действием при обнаружении

# определенного типа и имени

# allow/deny/deny+delete

Filename Rules = %etc-dir%/filename.rules.conf

Filetype Rules = %etc-dir%/filetype.rules.conf

#

# Reports and Responses

# Действия с потенциально опасными объектами, во многих случаях возможно использование файла правил.

# Использование карантина для зараженных сообщений

Quarantine Infections = yes

Quarantine Silent Viruses = no

# Копии сообщений с модифицированным HTML (вариант файл правил)

Quarantine Modified Body = no

# Сохранение всего сообщения или только зараженной части

Quarantine Whole Message = no

# Сохранение в оригинальном или удобочитаемом виде

Quarantine Whole Messages As Queue Files = no

# Сохранение зараженного спама или MCP

Keep Spam And MCP Archive Clean = no

# Файлы, содержащие сообщения, выдаваемые пользователю

Language Strings = %report-dir%/languages.conf

Deleted Bad Content Message Report  = %report-dir%/deleted.content.message.txt

Deleted Bad Filename Message Report = %report-dir%/deleted.filename.message.txt

Deleted Virus Message Report        = %report-dir%/deleted.virus.message.txt

Stored Bad Content Message Report  = %report-dir%/stored.content.message.txt

Stored Bad Filename Message Report = %report-dir%/stored.filename.message.txt

Stored Virus Message Report        = %report-dir%/stored.virus.message.txt

Disinfected Report = %report-dir%/disinfected.report.txt

Inline HTML Signature = %report-dir%/inline.sig.html

Inline Text Signature = %report-dir%/inline.sig.txt

Inline HTML Warning = %report-dir%/inline.warning.html

Inline Text Warning = %report-dir%/inline.warning.txt

Sender Content Report        = %report-dir%/sender.content.report.txt

Sender Error Report        = %report-dir%/sender.error.report.txt

Sender Bad Filename Report = %report-dir%/sender.filename.report.txt

Sender Virus Report        = %report-dir%/sender.virus.report.txt

# Скрываем полный путь к каталогу, в который помещен вирус. Эта опция может понадобиться для сокрытия

# настроек системы

Hide Incoming Work Dir = yes

# Включение имени сканера в отчеты

Include Scanner Name In Reports = yes

# Добавление дополнительных заголовков и конвертов к обработанной почте (возможно использование файла правил)

Mail Header = X-%org-name%-MailScanner:

Spam Header = X-%org-name%-MailScanner-SpamCheck:

Spam Score Header = X-%org-name%-MailScanner-SpamScore:

Information Header = X-%org-name%-MailScanner-Information:

Add Envelope From Header = yes

Add Envelope To Header = no

Envelope From Header = X-%org-name%-MailScanner-From:

Envelope To Header = X-%org-name%-MailScanner-To:

# Символ, который будет использоваться для вывода оценки спамовости сообщения. Установка x при значении 3 может

# быть воспринята неправильно, т.е. xxx, некоторые другие знаки #, @, *, ?, точка могут вызвать проблемы

# с procmail и др.

Spam Score Character = s

# Вставка оценки спама в сообщение

SpamScore Number Instead Of Stars = no

# Минимальное число оценки спама, вставляемое в сообщение

Minimum Stars If On Spam List = 0

# Заголовок  clean/infected/disinfected сообщений

Clean Header Value       = Found to be clean

Infected Header Value    = Found to be infected

Disinfected Header Value = Disinfected

Information Header Value = Please contact the ISP for more information

# Полный отчет о спаме

Detailed Spam Report = yes

# Оценка SpamAssassin или просто название

Include Scores In SpamAssassin Report = yes

# Включение отчета о спаме в любом случае, даже если спам обнаружен не был

Always Include SpamAssassin Report = no

# Тесты MailScanner могут добавлять свои заголовки в сообщение. Здесь указывается, как поступать с такими

# заголовками. Варианты: «append», «add или «replace»

Multiple Headers = append

# Имя узла, если требуется скрыть реальное

Hostname = the %org-name% ($HOSTNAME) MailScanner

# Подпись сообщения уже обработанного другой копией MailScanner

Sign Messages Already Processed = no

# Добавление «Inline HTML Signature» или «Inline Text Signature» в очищенное сообщение

Sign Clean Messages = yes

Mark Infected Messages = yes

# Маркировать ли не просканированные антивирусом сообщения?

Mark Unscanned Messages = yes

# И текст такой маркировки

Unscanned Header Value = Not scanned: please contact your Internet E-Mail Service Provider for details

# Все заголовки в сообщении, содержащие эти строки, будут удалены. Опция может быть полезна при удалении

# сообщения о доставке или прочтении сгенерированных почтовым клиентом

Remove These Headers = X-Mozilla-Status: Disposition-Notification-To: Return-Receipt-To

# Доставлять ли очищенные от вирусов сообщения

Deliver Cleaned Messages = yes

# Отправка уведомления отправителю о том, что в сообщении содержится вирус или файл с подозрительным именем.

# Лучше использовать файл с правилами, где указать своих корреспондентов

Notify Senders = yes

# Опция, переопределяющая предыдущую, при установке в no сообщения отправителям об обнаруженном вирусе отсылаться

# не будет. Учитывая, что обратный адрес часто подделывается, лучше оставить, как есть. Вариант –

# использование файла правил

Notify Senders Of Viruses = no

# Сообщение о блокировании файла по имени или типу

Notify Senders Of Blocked Filenames Or Filetypes = yes

# И всего прочего

Notify Senders Of Other Blocked Content = yes

Never Notify Senders Of Precedence = list bulk

# Опции изменения поля Subject могут использоваться для удобства фильтрации в почтовом клиенте.

# Варианты no, start (добавить в начало) и end. Все варианты поддерживают правила

Scanned Modify Subject = no # end

# Здесь текст, добавляемый к Subject

Scanned Subject Text = {Scanned}

# Сообщение о вирусе, добавляемое в тему

Virus Modify Subject = yes

Virus Subject Text = {Virus?}

# Сообщение о проверке имени файла

Filename Modify Subject = yes

Filename Subject Text = {Filename?}

# Проверке содержимого

Content Modify Subject = yes

Content Subject Text = {Dangerous Content?}

# О нейтрализации HTML

Disarmed Modify Subject = yes

Disarmed Subject Text = {Disarmed}

# О подделке адреса

Phishing Modify Subject = no

Phishing Subject Text = {Fraud?}

# О спаме

Spam Modify Subject = yes

# Значение «_SCORE_» будет заменен числовой оценкой

# SpamAssassin.

# Строка «_STARS_» будет заменена звездочками

Spam Subject Text = {Spam?}

# То же, что и предыдущее, но только при превышении значения «High SpamAssassin Score»

High Scoring Spam Modify Subject = yes

High Scoring Spam Subject Text = {Spam?}

# Изменения в теле сообщения. Многие опции допускают использование файла правил. Предупреждение об удалении

# записывается в само сообщение или присоединяется к файлу

Warning Is Attachment = no

# Имя файла такого вложения.

Attachment Warning Filename = %org-name%-Attachment-Warning.txt

Attachment Encoding Charset = СР-1251

# Архивирование и мониторинг почты.

# Указывается почтовый адрес, каталог или имя файла.

# Возможно добавление переменных в имени вроде _DATE_, которая будет заменена текущим временем.

# Можно использовать правила

#

Archive Mail = /var/spool/MailScanner/archive

# Предупреждения локальному администратору.

# Можно использовать правила

Send Notices = yes

Notices Include Full Headers = yes

Hide Incoming Work Dir in Notices = no

Notice Signature = -- \nMailScanner\nEmail Virus Scanner\nwww.mailscanner.info

# Поле «From:»

Notices From = MailScanner

Notices To = postmaster

Local Postmaster = postmaster

# Имена файлов, транслирующих имена spam-списков и областей в реальные области DNS. Другие варианты можно поискать

# http://www.declude.com/JunkMail/Support/ip4r.htm

Spam List Definitions = %etc-dir%/spam.lists.conf

Virus Scanner Definitions = %etc-dir%/virus.scanners.conf

# Проверка на спам по адресу отправителя. Везде можно использовать правила. Отключение следующей опции приведет

# к остановке проверки на спам как самим MailScanner, так и SpamAssassin

Spam Checks = yes

# Выбор используемого spam blacklists (RBLs)

# Смотри файл указанный в «Spam List Definitions»

Spam List = ORDB-RBL SBL+XBL SORBS-DNSBL CBL RSL DSBL spamcop

Spam Domain List = RFC-IGNORANT-DSN

# Число одинаковых сообщений, начиная с которого они будут рассматриваться как спам,

Spam Lists To Be Spam = 1

Spam Lists To Reach High Score = 3

Spam List Timeout = 10

Max Spam List Timeouts = 7

Spam List Timeouts History = 10

# «Белый список». Сообщения, принятые с попавших в этот список узлов, не будут рассматриваться как спам

#Is Definitely Not Spam = no

Is Definitely Not Spam = %rules-dir%/spam.whitelist.rules

# «Черный список» узлов спамеров. Эта величина переопределяется значением «Is Definitely Not Spam».

# При no все, не вошедшие в 1 список, являются потенциальными спамерами

# Is Definitely Spam = %rules-dir%/spam.blacklist.rules

Is Definitely Spam = no

Definite Spam Is High Scoring = no

# Если количество получателей превышает число, то «белый список» игнорируется, и письмо обрабатывается обычным

# образом

Ignore Spam Whitelist If Recipients Exceed = 20

# Использование SpamAssassin.

# Можно применить правила и обработать письма более тонко

Use SpamAssassin = yes

# Если письмо превышает указанный размер (в байтах), SpamAssassin просматривать его не будет.

# Письма спамеров редко бывают большими, а рисунки и др. определяются другими опциями

Max SpamAssassin Size = 30000

# Переопределение значения «required_hits», если оценка достигает его – это спам

Required SpamAssassin Score = 6

High SpamAssassin Score = 10

# Включение автоматического «белого списка», функции доступной в SpamAssassin, начиная с версии 3.0. Подробности в [3]

SpamAssassin Auto Whitelist = no

SpamAssassin Prefs File = %etc-dir%/spam.assassin.prefs.conf

SpamAssassin Timeout = 75

Max SpamAssassin Timeouts = 10

SpamAssassin Timeouts History = 30

# Проверять ли сообщение, если оно находится в спам-списке

Check SpamAssassin If On Spam List = no

# Включение оценки спама в сообщение

Spam Score = yes

# Перестройка Bayesian-статистики.

# 0 отключает такую возможность. Например, перестройка раз в сутки

Rebuild Bayes Every = 86400

# Отключение проверки на время перестройки

Wait During Bayes Rebuild = no

# В этом разделе описываются параметры работы Custom Spam Scanner, написанного самим пользователем.

# Подробности в lib/MailScanner/CustomFunctions/GenericSpamScanner.pm

 Use Custom Spam Scanner = no

# Что делаем со спамом?

Spam Actions = deliver

High Scoring Spam Actions = deliver

Non Spam Actions = deliver

# Файлы с сообщениями, выдаваемыми пользователю

Sender Spam Report         = %report-dir%/sender.spam.report.txt

Sender Spam List Report    = %report-dir%/sender.spam.rbl.report.txt

Sender SpamAssassin Report = %report-dir%/sender.spam.sa.report.txt

Inline Spam Warning = %report-dir%/inline.spam.warning.txt

Recipient Spam Report = %report-dir%/recipient.spam.report.txt

Enable Spam Bounce = %rules-dir%/bounce.rules

Bounce Spam As Attachment = no

# Настройка параметров журналирования. Включать большую часть лучше только при отладке. Следующая опция

# определяет взаимодействие с syslog

Syslog Facility = mail

Log Speed = no

Log Spam = no

Log Non Spam = no

Log Permitted Filenames = no

Log Permitted Filetypes = no

Log Silent Viruses = no

Log Dangerous HTML Tags = no

# Настройка некоторых параметров SpamAssassin.

# Может понадобиться, если SpamAssassin установлен в другой каталог или процесс не может получить доступ к файлам.

# Параметры понятны, приводиться не будут

# Настройки MCP

MCP Checks = no

# Что проверяется первым: spam или mcp

First Check = mcp

# Ниже идут опции, значение которых аналогично таковым при проверке на спам, приводиться они не будут

Это не все опции, которые можно настроить при помощи файла конфигурации. Среди оставшихся: работа с LDAP, запуск процесса в фоне, обработка поля «To:», в случае когда сообщение адресовано нескольким получателям, форматирование заголовков, отладка и прочее.

Настройка Рostfix

Установка Postfix хорошо описана в [2] , если он уже настроен и нормально работает, осталось сделать немного. Как говорилось выше, Рostfix удобен тем, что одна копия процесса позволяет управлять как входящей, так и исходящей почтой. Но в принципе можно использовать и две разных копии со своими конфигурационными файлами, применяя схему работы Exim. Мы используем первый вариант.

В конфигурационном файле /etc/postfix/main.cf раскомментируем следующую строку:

header_checks = regexp:/etc/postfix/header_checks

Создаем /etc/postfix/header_checks и добавляем следующую строку:

/^Received:/ HOLD

После этого Рostfix будет складывать поступающие сообщения в /var/spool/postfix/hold.

Запускаем:

# /etc/init.d/postfix start

# /opt/MailScanner/bin/check_mailscanner

Если права доступа к каталогам установлены правильно, то система будет работать. Если что-то не получается, журналы вам в помощь.

Литература, ссылки:

  1. Сайт проекта MailScanner – http://www.mailscanner.info.
  2. Бешков А. Почтовая система для среднего и малого офиса. – Журнал «Системный Администратор», №5, май 2003 г. – 46-54 с (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=05.2003;a=01).
  3. Супрунов С. Профессия – убивать спам. Все, что вы хотели узнать о тонкостях настройки Spamassassin. – Журнал «Системный Администратор», №10, октябрь 2005 г. – 10-17 с (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=10.2005;a=07).

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru