Roaring Penguin CanIt: ведём борьбу со спамом::Журнал СА 7.2006
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

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

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

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

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

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

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

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

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

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

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

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

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

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

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

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

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

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

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

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

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

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

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

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

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

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

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

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

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

1001 и 1 книга  
19.03.2018г.
Просмотров: 6237
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

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

12.03.2018г.
Просмотров: 6944
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

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

12.03.2018г.
Просмотров: 4230
Комментарии: 0
Глубокое обучение с точки зрения практика

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

12.03.2018г.
Просмотров: 3015
Комментарии: 0
Изучаем pandas

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

12.03.2018г.
Просмотров: 3812
Комментарии: 0
Программирование на языке Rust (Цветное издание)

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

19.12.2017г.
Просмотров: 3827
Комментарии: 0
Глубокое обучение

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

19.12.2017г.
Просмотров: 6323
Комментарии: 0
Анализ социальных медиа на Python

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

19.12.2017г.
Просмотров: 3174
Комментарии: 0
Основы блокчейна

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

19.12.2017г.
Просмотров: 3466
Комментарии: 0
Java 9. Полный обзор нововведений

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

16.02.2017г.
Просмотров: 7283
Комментарии: 0
Опоздавших не бывает, или книга о стеке

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

17.05.2016г.
Просмотров: 10649
Комментарии: 0
Теория вычислений для программистов

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

30.03.2015г.
Просмотров: 12370
Комментарии: 0
От математики к обобщенному программированию

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

18.02.2014г.
Просмотров: 14006
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

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

13.02.2014г.
Просмотров: 9131
Комментарии: 0
Читайте, размышляйте, действуйте

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

12.02.2014г.
Просмотров: 7084
Комментарии: 0
Рисуем наши мысли

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

10.02.2014г.
Просмотров: 5393
Комментарии: 3
Страна в цифрах

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

18.12.2013г.
Просмотров: 4620
Комментарии: 0
Большие данные меняют нашу жизнь

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

18.12.2013г.
Просмотров: 3432
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

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

04.12.2013г.
Просмотров: 3164
Комментарии: 0
Паутина в облаках

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

03.12.2013г.
Просмотров: 3405
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

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

02.12.2013г.
Просмотров: 3030
Комментарии: 0
Не думай о минутах свысока

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

Друзья сайта  

 Roaring Penguin CanIt: ведём борьбу со спамом

Архив номеров / 2006 / Выпуск №7 (44) / Roaring Penguin CanIt: ведём борьбу со спамом

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

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

Roaring Penguin CanIt: ведём борьбу со спамом

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

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

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

В основе канадской системы CanIt лежат известные утилиты: MIMEDefang – гибкий инструмент, предназначенный для защиты компьютерных систем от вирусов, и SpamAssassin – известное средство борьбы со спамом. Кроме того, в состав входят скрипты, упрощающие установку и первичную настройку, дополнительные приложения и удобный веб-интерфейс, необходимый для дальнейшей настройки системы и спам-фильтров, а также выдачи отчетов. Для прослушивания SMTP соединений MIMEDefang использует milter интерфейс Sendmail. Поэтому почтовая система должна быть построена только на Sendmail. Это не самый мой любимый почтовый сервер, с настройкой и безопасностью у него постоянные проблемы. Но, очевидно, здесь сыграла роль его популярность. Если у вас уже установлен другой MTA (Postfix, Exim, Qmail), то разработчики предлагают использовать Sendmail для фильтрации спама, а затем передавать почту основному MTA, работающему на нестандартном порту. Вам не потребуется делать дополнительные денежные вложения, если в системе предусмотрено достаточно ресурсов на развитие, правда, это несколько усложнит систему. Но в том случае когда используется MTA, разработанное для отличных от UNIX-операционных систем, без отдельного компьютера уже не обойтись. Либо как вариант решения разработчики предлагают приобрести фильтрующий почтовый прокси CanIt Appliance.

В качестве антивируса по умолчанию применяется ClamAV, но при желании CanIt можно легко сконфигурировать с F-Risk’s F-PROT и F-PROTD, F-Secure’s FSAV, H+BEDV AntiVir, Network Associates’ uvscan, Norman Virus Control, Sophos Sweep, Symantec CarrierScan Server, Trend Micro’s vscan и Vexira Anti-Virus. Учитывая, что вирусы часто рассылаются при помощи спам-технологий, они частично будут отброшены антиспам-фильтром. Для определения спама использованы практически все популярные сегодня методы: ключевого слова, анализ заголовка, анализ формата сообщения, Байесовский статистический анализ, черные, белые и серые списки, списки известных open-proxy, DNS-верификация, SPF (sender policy framework, http://spf.pobox.com). А также hit-and-run, когда неизвестному пользователю отсылается сообщение о невозможности доставки и в случае его повторного отправления сообщение будет принято. Хотя здесь тоже имеются дополнительные настройки, позволяющие ограничить прием повторного сообщения только той подсетью, из которой письмо было отправлено первый раз. Система может быть сконфигурирована для фильтрации входящего, исходящего и внутреннего почтового трафика. Можно задать правила фильтрации по MIME-типу, потенциально опасным расширениям прикрепленных файлов (в документации приведено 56 таких расширений – asf, bat, chm, cmd, com, crt, dll, exe, hlp, hta, inf, scr и прочие), почтовым адресам получателя и отправителя, домену и прочие. Вы можете задать и свои правила фильтрации.

Также несколько установленных CanIt могут образовывать единую сеть, позволяющую синхронно тренировать Байесовские фильтры, Roaring Penguin Traning Network.

Кроме GNU/Linux CanIt будет работать на Solaris, FreeBSD, Compaq Tru64 UNIX, HPUX и AIX. Отдельно хотелось бы отметить хорошую документацию проекта, часть которой поставляется вместе с дистрибутивом.

Архитектура и принцип работы CanIt

Для того чтобы немного понять принцип работы системы CanIt и проще было бы разобраться с настройкой, необходимо рассмотреть её архитектуру. Сообщение при помощи milter передается mimedefang, который запускает отдельный процесс, работающий в дальнейшем с сообщением. Между ними может быть как UNIX, так и TCP-сокет. Процесс, получивший заголовок и тело сообщения от Sendmail, помещает его во временный каталог (/var/spool/MIMEDefang) и через UNIX-сокет отсылает команду mimedefang-multiplexor, который управляет пулом постоянно запущенных Perl-процессов, осуществляющих фильтрацию, и передает сообщение одному из них. При нехватке Perl-процессов по команде multiplexor запускаются дополнительные, а при уменьшении нагрузки лишние «убиваются». Чтобы избежать утечки памяти все процессы периодически обновляются (забегая вперед, скажу, что это все настраивается в файле mimedefang.conf).

Если SMTP-соединение либо отправитель сообщения принадлежат к любому из черных списков, сообщение отвергается. На следующем этапе удаляются или изолируются потенциально опасные вложения и происходит проверка на вирусы. Письмо из белого списка проходит дальше без проверок. Если же оно не занесено в такой список, письмо проверяется и, в случае если оно не оценивается как спам, проходит дальше. Если же сообщение помечается как спам, то оно проходит еще несколько этапов. Сначала на основании хэш-функции высчитывается уникальный ID, который сравнивается с имеющимся в базе данных. Если ID совпадает со статусом spam или not-spam, то в первом случае отправителю отсылается код отказа, а во втором – письмо отправляется получателю. Если же соответствующий ID не найден, то письму присваивается статус one-shot и отправителю отсылается сообщение о временной невозможности доставки (такое сообщение по умолчанию не показывается в веб-браузере). Спамеры могут проигнорировать такое сообщение и не отправить письмо повторно, а почтовые серверы в такой ситуации через некоторое время повторят его обязательно. Если ID уже занесен в базу данных как one-shot, то его статус меняется на pending и отправителю опять отсылается сообщение о временной невозможности доставки. Время нахождения в статусах one-shot и pending зависит от настроек. По умолчанию если через неделю one-shot не изменило статус на pending, то оно обозначается как спам.

Рисунок 1. Принцип работы CanIt

Рисунок 1. Принцип работы CanIt

Лицензия

На сегодня доступны две версии продукта – CanIt Pro и CanIt Free. Вторая версия предназначена для малого бизнеса и по сравнению с первой имеет некоторые ограничения. Так, пользователю не разрешается модифицировать исходный код для своих задач (кроме, надо полагать, GPL-продуктов, входящих в состав), система будет поддерживать не более 50 пользователей, правила всех антиспам-фильтров может редактировать только администратор, пользователи будут лишены некоторых возможностей, не будет доступна техническая поддержка и Roaring Penguin Training Network, нельзя использовать продукт для обслуживания третьей стороны. Для небольшой организации такие ограничения не существенны. Кроме того, free-лицензия будет действительна ровно год, затем ее придется обновлять. При этом если послать запрос заранее, до истечения срока действия ключа, на уже использованный один раз электронный адрес, то все равно получите старый ключ, даже если остальные параметры (организация, операционная система) будут изменены. Поэтому, если вам нужно несколько ключей, пользуйтесь разными адресами.

Готовим систему к установке Free CanIt

Во время написания статьи была актуальной версия Free CanIt 3.2.0, выпущенная в феврале 2006 года, о ней и пойдет речь. Перед получением доступа к архиву необходимо подтвердить лицензионное соглашение и заполнить данные для генерирования ключа, обязательно указав правильный электронный адрес. После чего внизу страницы набираем «I agree» и нажимаем «Generate Licence Key».

Архивы с прекомпилированными пакетами доступны для Red Hat 8.0, Red Hat 9, Fedora Core 1, Fedora Core 2, Fedora Core 3, Red Hat Enterprise Linux 3 и Solaris 2.9 (размер архивов колеблется в пределах 8,5-9,6 Мб). Для остальных систем CanIt придется собирать из исходных текстов (архив 12,9 Мб). В этом случае ряд операций придется проделать вручную, поэтому в статье будет рассмотрен более сложный вариант. Хотя, к слову, в архиве с исходными тестами в подкаталоге Packaging лежат скрипты, позволяющие собрать пакеты для Solaris 9, SuSE, Debian и RedHat.

Кроме самого CanIt, нам понадобятся установленный Sendmail с milter. В документации версия не указана, но начиная с 8.11/8.12 использован новый milter API, с которым сейчас работает MIMEDefang. Я использовал Sendmail версии 8.13. Далее веб-сервер Apache, первый или второй, собранный с поддержкой PHP 4 или 5 версий, установленная СУБД PostgreSQL от 7.3 (лучше от 8.0) и Perl не ниже 5.6, так как CanIt написан на нем. Все это уже должно быть установлено и настроено.

Небольшие подготовительные операции

Следующим шагом после распаковки архива следует проверка и предварительная подготовка системы при помощи скрипта, находящегося в os-specific. Вся проблема состоит в том, что скрипты ориентированы на различные версии RedHat/Fedora, других дистрибутивов вы там не найдете. Если попробовать выполнить любой из них, получается такой вот результат:

#./os-specific/fedora-core-1/prepare-system

R O A R I N G   P E N G U I N   S O F T W A R E   I N C .

---------------------------------------------------------

 

Welcome to the CanIt preparation script for Fedora Core 1

 

This script will check your system to ensure that all prerequisites

required to run CanIt are installed.

 

Verifying that you are running Fedora Core 1...              FAILED

Fedora Core not found; you are running ALT Linux Sisyphus (20050723)

Чтобы не пропустить какое-то из обязательных действий, я рекомендую вам изменить любой из этих скриптов. Обязательно закомментируйте функцию проверки версии системы check_release и, возможно, функцию проверки наличия установленных пакетов, требуемых для удовлетворения зависимостей check_rpms. Если посмотреть на работу функции, отвечающей за проверку наличия установленных пакетов, то можно получить этот список:

db4 db4-devel perl httpd postgresql-devel postgresql postgresql-libs

postgresql-server php php-pgsql php-imap sendmail sendmail-devel sendmail-cf

gcc make glibc-devel m4 binutils libgcc

В некоторых системах, в том числе и основанных на rpm-пакетах, названия могут немного отличаться. Просто проверьте, что у вас уже установлено. Далее скрипт проверяет наличие в системе необходимых пользователей и каталогов для работы и, если требуется, создает их. Сначала пользователь для Sendmail.

# id smmsp

uid=112(smmsp) gid=# id smmsp

uid=112(smmsp) gid=58(smmsp) группы=58(smmsp)58(smmsp) группы=58(smmsp)

Если в системе нет пользователя smmsp, создаем. Но скорее всего это означает, что Sendmail либо не установлен, либо работает от имени другого пользователя.

# /usr/sbin/useradd -c "Sendmail user" -r -M -d /var/spool/clientmqueue -s /bin/false smmsp

Теперь проверяем для MIMEDefang.

# id defang

id: defang: Такого пользователя нет

# mkdir -p /var/spool/MIMEDefang

# /usr/sbin/useradd -c "MIMEDefang user" -r -M -d /var/spool/MD-Bayes defang

# chmod 700 /var/spool/MIMEDefang

# chown defang.defang /var/spool/MIMEDefang

# mkdir -p /var/spool/MD-Bayes

# chmod 700 /var/spool/MD-Bayes

# chown defang.defang /var/spool/MD-Bayes

# mkdir -p /var/spool/MD-Quarantine    

# chmod 700 /var/spool/MD-Quarantine 

# chown defang.defang /var/spool/MD-Quarantine

Даже при относительно небольшом количестве писем, проходящих через ваш сервер, вероятно, лучшим решением будет использование оперативной памяти для каталога /var/spool/MIMEDefang. Это на порядок ускорит обработку информации. Для этого в /etc/fstab необходимо внести следующие строки (для 128 Мб):

none /var/spool/MIMEDefang tmpfs mode=700,size=128M, uid=defang,gid=defang 0 0

Следующим шагом скрипт сохраняет старые настройки Sendmail из каталога /etc/mail в /etc/mail-canit-backup и создает новые конфигурационные файлы.

# fgrep -v INPUT_MAIL_FILTER < | fgrep -v 'DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA' > /etc/mail/sendmail.mc.NEW

#  cat <<'EOF' >> /etc/mail/sendmail.mc.NEW

INPUT_MAIL_FILTER(`mimedefang', `S=unix:/var/spool/MIMEDefang/mimedefang.sock, F=T, T=S:15m;R:15m;E:15m')

EOF

После этого сохраняем старые настройки и компилируем рабочий файл.

# mv -f /etc/mail/sendmail.mc /etc/mail/sendmail.mc.ORIG

# mv -f /etc/mail/sendmail.mc.NEW /etc/mail/sendmail.mc

# make -C /etc/mail

Теперь проверяем и устанавливаем в автозагрузку все сервисы, от которых зависит работа CanIt. В различных дистрибутивах это делается по-разному, приведу пример для RedHat и SuSE.

# chkconfig sendmail on

# chkconfig postgresql on

# chkconfig httpd on

Для сервисов CanIt устанавливаем запуск с большим номером, чем у предыдущих.

# ln -s /etc/mail/canit/mimedefang-ctrl /etc/init.d/canit

# ln -s /etc/mail/canit/ticker-ctrl /etc/init.d/canit-ticker

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

# ln -s /etc/init.d/canit /etc/rc3.d/S86canit

# ln -s /etc/init.d/canit-ticker /etc/rc3.d/S87canit-ticker

Для остановки при выключении и перезагрузке системы.

# ln -s /etc/init.d/canit-ticker /etc/rc0.d/K13canit-ticker

# ln -s /etc/init.d/canit-ticker /etc/rc1.d/K13canit-ticker

# ln -s /etc/init.d/canit-ticker /etc/rc6.d/K13canit-ticker

# ln -s /etc/init.d/canit /etc/rc0.d/K14canit

# ln -s /etc/init.d/canit /etc/rc1.d/K14canit

# ln -s /etc/init.d/canit /etc/rc6.d/K14canit

С CanIt пока все. Проверяем настройки PostgreSQL, Apache c PHP. В конфигурационном файле PostgreSQL /var/lib/pgsql/data/pg_hba.conf локальные запросы должны быть помечены как trust. Обычно по умолчанию так и сделано, но проверьте, чтобы не было комментария в строке (для версий 7.3 и выше).

local all all trust

В более ранних версиях PostgreSQL формат несколько иной.

local all trust

Кроме этого, в файле postgresql.conf, который находится в этом же каталоге, параметр max_fsm_pages установите в 500000.          

Теперь Apache. Убедитесь в конфигурационном файле веб-сервера httpd.conf, что PHP подключен, а файлы, имеющие расширение .php, рассматриваются как программы на PHP.

LoadModule php4_module modules/libphp4.so

AddModule mod_php4.c

DirectoryIndex index.html index.php

AddType application/x-httpd-php .php4 .php .phtml

Во многих дистрибутивах параметр max_execution_time, определяющий максимальное время выполнения каждого скрипта, в файле php.ini имеет низкое значение (обычно 30), недостаточное для нормального выполнения некоторых действий CanIt. Его рекомендуется установить в 300. Также необходимо отключить safe_mode, так как чтение файла /etc/mail/canit/db-settings невозможно в этом режиме.

safe_mode = Off

Теперь запускаем PostgreSQL и Apache и переходим к следующему этапу.

# /etc/init.d/httpd start

# /etc/init.d/postgresql start

Компилируем модули и устанавливаем CanIt

После всех подготовительных работ переходим непосредственно к сборке модулей Perl, MIMEDefang и Sendmail 8.12 (если он не установлен). В подкаталоге src архива после распаковки вы обнаружите 26 файлов, в том числе и Sendmail 8.12.11 и 8.13.5, ClamAV 0.88, MIMEDefrag, CanIt 2.55 и остальные Perl-модули для удовлетворения зависимостей.

В общем случае для сборки всей системы необходимо дать команду./build.sh, которая сама определит, что нужно устанавливать.

# id smmsp

R O A R I N G   P E N G U I N   S O F T W A R E   I N C .

---------------------------------------------------------

 

Welcome to the CanIt build script.

 

Checking your system for prerequisites...                  OK

Looks like you have Sendmail 8.13; we'll unpack 8.13

Good... all source files present and accounted for.

Unpacking archive: Digest-SHA1-2.00.tar                  OK

......

Substituting paths in CanIt source code...                 OK

Building Digest::SHA1...                              ---O--

Found Perl module Digest::MD5 (2.20)                        SKIP BUILD

Building HTML::Tagset...                              OK

......

Found Perl module File::Spec (0.8)                        SKIP BUILD

Found Sendmail 8.13.4 with Milter                        SKIP BUILD

libmilter.a not found                                    BUILD

Building libmilter...                                   OK

Building Sendmail wrapper program...                       OK

Building Mail::SpamAssassin...                              OK

Building CanIt perl modules...                              OK

Building MIMEDefang...                                   OK

Building Clam AntiVirus...                              OK

*** Software has been built successfully.  You may run './install.sh'

*** as root to install the software.

 

*** NOTE: There is no 'defang' user on this system.  We strongly

*** recommend creating a 'defang' user and group for MIMEDefang.

Обратите внимание на вывод. Если соответствующий модуль уже был установлен в системе, то он пропускается. Бывает, что Perl модуль по непонятным причинам не компилируется и тогда скрипт завершается с ошибкой. В этом случае просто установите его стандартным способом, например, при помощи apt-get. При сборке он будет помечен как установленный, и соответствующий шаг будет пропущен. Также в системе на момент сборки не было пользователя defang, скрипт, как видите, предупредил нас об этом. В некоторых ситуациях, возможно, понадобится передать скрипту дополнительные параметры. Например, --everything позволит принудительно пересобрать все, а при использовании --not-sendmail или --not-clamav не будут собираться соответствующие приложения.

Теперь поступаем, как подсказывает предыдущий вывод, и запускаем скрипт install.sh, в качестве параметра ему необходимо передать каталог веб-сервера, куда будут скопированы php-скрипты. Как вариант можно все настройки указать в файле layouts/layout.default. Для CanIt лучше использовать отдельный каталог. Я указал rr, в примерах документации использован canit.

# ./install.sh --webroot=/var/www/html/rr

R O A R I N G   P E N G U I N   S O F T W A R E   I N C .

---------------------------------------------------------

 

Welcome to the CanIt installation script.

 

Using layout file /home/sergej/work/rr/soft/canit-distro-3.2.0/layouts/layout.default

. /home/sergej/work/rr/soft/canit-distro-3.2.0/layouts...            OK

 

....

Installing documentation and contributed code                  OK

Installing CanIt files                                          OK

Installing Web page files                                    OK

*** Software has been installed successfully.

Now, initialize the Spam database by running:

 

    ./init-database

 

from inside the distribution directory.  NOTE: Even if

you are upgrading from an earlier version, you must still

run ./init-database.  Your existing data will be preserved.

Следующий шаг – инициализация базы данных. Здесь скрипт запускаем без дополнительных параметров. И последовательно отвечая на вопросы, указываем имя и пароль администратора для доступа к PostgreSQL, и пользователя, от имени которого CanIt будет работать с базой. В квадратных скобках указаны параметры по умолчанию.

# ./init-database

Please enter the PostgreSQL super-user name [postgres]:

Please enter the PostgreSQL super-user password:

Please re-enter the PostgreSQL super-user password:

Please enter the regular database user's name [spam]:

Please enter the regular database user's PostgreSQL password:

Please re-enter the regular database user's PostgreSQL password:

Please enter the database name to use [spam]:

Please enter the database host if not local []:

 

Review of your entries:

                     Database Super-User: postgres

            Database Super-User Password: <Hidden>

                   Regular database user: spam

        Regular database user's password: <Hidden>

                           Database Name: spam

                           Database Host: <Local Server>

Is this information correct? (Y/N) y

 

Please enter the Web GUI login name of the CanIt administrator [admin]:

Please enter the CanIt administrator's password:

Please re-enter the CanIt administrator's password:

 

Review of your entry:

                     CanIt Administrator: admin

Is this information correct? (Y/N) y

Checking for existing spam database...                  NO

No spam database found; creating a fresh one.

No spam database found; creating a fresh one.

Detected PostgreSQL version 8.0.4

Creating user postgres                                    OK

Creating database 'spam'                              OK

Creating standard CanIt tables, sequences and indexes

Creating sequences:

    .....                                                OK

Creating tables:

    .........................................            OK

Creating indexes:

    .........                                          OK

Granting access on objects to postgres:

    .....                                                OK

Granting access on objects to postgres:

    .........................................            OK

Doing base CanIt variable descriptions                  OK

Doing base CanIt data                                    OK

Creating administrator account                              OK

Данные для доступа к БД будут сохранены в файле /etc/mail/canit/db-setting, их можно впоследствии изменить вручную. Владельцем этого файла должен быть apache, группа defang права доступа 0640, на каталог и подкаталоги /etc/mail/canit соответственно root:root и 0755.

И последний этап перед установкой

Теперь очередь MIMEDefang. В конфигурационном файле /etc/mail/canit/filter-settings.pl необходимо изменить значения следующих полей, выставив их в соответствии с действующими настройками. Хотя это можно сделать затем и через веб-интерфейс (во вкладке Setup есть три мастера), но мне удобней отредактировать один файл, чем искать настройки по вкладкам, с вscjrjq вероятностью что-то пропустить. В случае неудачи вы получите на указанные адреса отладочные сообщения, например, об отсутствии или невозможности подключиться к базе данных.

  • $AdminAddress – адрес электронной почты администратора CanIt$.
  • $AdminName – имя администратора.
  • $DaemonAddress – адрес электронной почты, куда MIMEDefang будет отсылать свои сообщения.
  • $TempfailIfDatabaseDown – при установке этого параметра в 1, в случае невозможности просканировать сообщение (например, отсутствие PostgreSQL) в заголовок почтового сообщения будет добавлено предупреждение X-Scan-Warning: «NOT SCANNED BY CANIT».
  • $VirusHandlingIfDatabaseDown и $WindowsExecutables IfDatabaseDown – что делать при обнаружении вируса или с файлами, имеющими потенциально опасное расширение при отсутствии связи с БД («Discard», «Reject» или «Accept»).

Более тонко изменить работу MIMEDefang можно в файле mimedefang.conf.

Настройки антивирусного сканера, который будет проверять почту, производятся в файле /etc/mail/canit/virus-scanners.pl. В него включены все поддерживаемые антивирусы, для подключения любого из них достаточно снять комментарий с соответствующих строк.

Учитывая, что ClamAV распространяется по лицензии GPL и к тому же входит в комплект CanIt, приведу пример для него.

# http://www.clamav.net/

$Features{'Virus:CLAMD'} = '/usr/sbin/clamd';

# Внимание clamd должен работать от имени пользователя «defang»

 $ClamdSock = '/var/spool/MIMEDefang/clamd.sock';

Хотя возможен и второй вариант.

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

# $Features{'Virus:CLAMAV'} = '/usr/bin/clamscan';

В каталоге /etc/mail/canit/ лежит скрипт clamav-ctrl, предназначенный для запуска демона clamd.

# ln -s /etc/mail/canit/clamav-ctrl /etc/init.d/clamd

# chkconfig clamd on

Периодически необходимо очищать базу данных от устаревшей информации и чистить временный каталог и карантин. Для этих целей служит скрипт /etc/mail/canit/canit.cron, который должен запускаться при помощи cron раз в день от имени root. В дистрибутив также включен cron-скрипт для запуска freshclam, обновляющий антивирусные базы ClamAV.

# crontab -e

0 6 * * * /bin/sh /etc/mail/canit/canit.cron

0 6 * * * /bin/sh /etc/mail/canit/freshclam.cron

При помощи cron запускается скрипт /etc/mail/canit/send-trapped-report.pl, задача которого – рассылать сообщения всем пользователям о том, сколько и каких присланных им писем находятся в карантине. Он требует небольшого редактирования под действующую сеть, но подробно останавливаться на его работе не буду. Почту, находящуюся в карантине, администратор может отправить запросившему ее пользователю при помощи скрипта /etc/mail/canit/unquarantine, указав в качестве параметра каталог карантина, в котором находится интересующее пользователя письмо (он находится в /var/spool/MD-Quarantine/).

Первый запуск

Считаем, что веб-сервер, PostgreSQL и Sendmail уже запущены, пора сделать тоже с CanIt.

# /etc/mail/canit/ticker-ctrl start

Starting the CanIt ticker                  [  OK  ]

# /etc/mail/canit/mimedefang-ctrl start

Validating setup:                              [  OK  ]

Starting mimedefang-multiplexor:            [  OK  ]

Starting mimedefang:                        [  OK  ]

При первом запуске mimedefang-ctrl в дистрибутиве ALTLinux 3.0.4 скрипт завершил работу с такой ошибкой.

# /etc/mail/canit/ticker-ctrl start

Validating setup: Can't locate DB_File.pm in @INC (@INC contains:

/usr/local/lib/perl5/site_perl/5.8.7/i386-linux /usr/local/lib/perl5/site_perl/5.8.7

/etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/local/lib/perl5/site_perl

/usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl .) at

/usr/local/lib/perl5/site_perl/5.8.7/CanIt/Bayes/Signature/Berkeley.pm line 9.

BEGIN failed--compilation aborted at

/usr/local/lib/perl5/site_perl/5.8.7/CanIt/Bayes/Signature/Berkeley.pm line 9.

.........

В поставляемых в комплекте CanIt файлах не оказалось DB_File.pm. Проблема решилась установкой пакета perl-DBM-5.8.7-alt2.i586.rpm.

Теперь в веб-браузере набираем «http://имя_узла/rr/» и получаем доступ к графическому интерфейсу. После регистрации, используя логин и пароль, указанный при инициализации базы данных, вам предложат ввести регистрационный ключ, без которого CanIt работать не будет. Обратите внимание на сообщения на странице приветствия (рис. 2), обязательно просмотите все указанные ссылки. Первое, помеченное как warning, говорит о том, что имеются замечания по настройке (рис. 3). Администратор предупреждается о том, что настройки PostgreSQL не оптимальны (такие сообщения всегда доступны в «Setup -> System Check»). Последнее сообщение предлагает воспользоваться мастером Basic Setup Wizard для первоначальной настройки CanIt. Перейдя по ссылке, вы обнаружите параметры, выставленные в файле filter-settings.pl. И наконец, сообщение по середине сообщает, что свободная версия рассчитана на 50 пользователей и их необходимо занести в таблицу «Valid Recipients». В версии CanIt Pro эта таблица используется для обозначения действующих почтовых адресов и активируется установкой «Only accept mail for accounts in the Valid Recipients table» в «Administration -> Global Setting». Письма, приходящие на адреса, не указанные в этой таблице, будут сразу же отбрасываться (адрес postmaster согласно стандарту SMTP всегда считается действительным, и письма на этот адрес будут приходить в любом случае).

Здесь все просто, заносите почтовые адреса по одному в линии и нажимаете «Add Recipient(s)». При этом адреса можно писать полностью с указанием домена (user@domain.net) или локального пользователя (user). Во вкладке «Administration -> Users» можно разрешить такому пользователю вход через веб-интерфейс для просмотра статистики, изменение параметров работы некоторых фильтров. В критических ситуациях можно сбросить пароль любого пользователя при помощи скрипта /etc/mail/canit/reset-password.pl.

Рисунок 2. Страница приветствия при первой загрузке. Обратите внимание на сообщения

Рисунок 2. Страница приветствия при первой загрузке. Обратите внимание на сообщения

Рисунок 3. Предупреждение CanIt о неоптимальной настройке PostgreSQL

Рисунок 3. Предупреждение CanIt о неоптимальной настройке PostgreSQL

В других вкладках можно задать правила приема почты для домена и отправителя (рис. 4) и еще много настроек. На странице Reports можно получить любые отчеты по инцидентам.

Рисунок 4. В настройках CanIt можно указать адреса отправителей и действия, которые будут применены при получении от них письма

Рисунок 4. В настройках CanIt можно указать адреса отправителей и действия, которые будут применены при получении от них письма

Проверяем

Корректность установки CanIt можно проверить при помощи telnet.

$ telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.

Escape character is "^]".

220 notebook.net ESMTP Sendmail 8.13.4/8.13.4; Thu, 25 May 2006 14:05:05 +0300

HELO localhost

250 notebook.net Hello notebook.net [127.0.0.1], pleased to meet you

 MAIL FROM:

554 5.7.1 CanIt is installed

QUIT

Отправка письма canit-probe@roaringpenguin.com должна завершиться с ошибкой, но будет выведено сообщение «CanIt is installed», говорящее о том, что установка прошла успешно. В /etc/mail/canit находится файл sample-spam-message, отправив который можно проверить работу спам-фильтров.

А при помощи команды ps waux | grep defang убеждаемся в запуске новых процессов, обрабатывающих сообщение.

$ ps waux | grep defang

defang    9326  0.0  0.2   3376   696 ?        S    13:46   0:00

/usr/local/bin/mimedefang-multiplexor -p /var/spool/MIMEDefang/ticker.pid

-U defang -m 2 -x 4 -r 100 -i 3600 -b 432000 -c 50 -w 0 -s

/var/spool/MIMEDefang/ticker.sock -l -X 150 -P 4 -Y canit-ticker -F

/etc/mail/canit/ticker-filter

defang    9327  0.0  2.2  18936  5304 ?        S    13:46   0:01

/usr/bin/perl /usr/local/bin/mimedefang.pl -f /etc/mail/canit/ticker-filter -server

defang    9408  0.0  0.2   4080   592 ?        S    14:00   0:00

/usr/local/bin/mimedefang -P /var/spool/MIMEDefang/mimedefang.pid -m

/var/spool/MIMEDefang/mimedefang-multiplexor.sock -R 1 -z

/var/spool/MIMEDefang -U defang -s -t -p

/var/spool/MIMEDefang/mimedefang.sock -x CanIt (www . roaringpenguin . com)

Информация о работе CanIt заносится в файлы журналов. Успехов!

  1. Сайт проекта Roaring Penguin CanIt – http://www.roaring penguin.com.
  2. Сайт проекта MIMEDefang – http://www.mimedefang.org.

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

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

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

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

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