ASPLinux Community
Сообщество пользователей Linux
FAQHCLФорум / ОбщийWikiLinuxStartОткрытки
Google

Kaspersky® Anti-Spam 1.0.0.5 (1.0.0.6) installation mini-HOWTO

Автор: Andrey Bondarenko
Дата: 30 августа 2003 г.
Последние изменения: 16 декабря 2003 г.

Содержание

1 Отступление

Данный документ — это рекомендации. Его нельзя рассматривать как полное руководство и мы рекомендуем прочитать Руководство Пользователя перед тем, как изучить данный документ.

2 Введение

В настоящее время спам — реальная проблема для почтовых серверов, средний поток бесполезной почты может составлять до 50%. Kaspersky® Anti-Spam успешно решает эту проблему на стороне сервера.

2.1 Что может Kaspersky® Anti-Spam?

Антиспам может рассортировать проходящие через него сообщения на группы:

  • SPAM — спам
  • Probable SPAM — возможный спам
  • Ivatations — приглашения на семинары
  • Formal Messages — сообщения от антивирусов, почтовых роботов и прочего.
  • Obscure — сообщения, содержащие ненормативную лексику.

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

В зависимости от настроек, Kaspersky® Anti-Spam может удалить, пометить или перенаправить сообщение на указанный адрес.

2.2 Что не может Kaspersky® Anti-Spam?

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

3 Инсталляция Kaspersky® Anti-Spam и интеграция его с установленной системой доставки сообщений

3.1 Что нам понадобится?

Настроенная и работающая почтовая система на основе ОС Linux (ASPLinux 7.2—9, RedHat 7.2—8, SuSe 7.1—8, Debian 3) или FreeBSD 4.x и любом МТА.

3.2 Что мы хотим добиться?

Kaspersky® Anti-Spam — это почтовый фильтрующий релей, который основан на MTA Postfix. Инсталлятор позволяет настроить его как:

  1. Как систему окончательной доставки. При этом текущий MTA никак не задействован и просто отключается.
  2. На один сервер с уже настроенным MTA в качестве релея.
  3. Как релей для удаленного сервера.

В данном документе мы рассмотрим самый сложный случай инсталляции — на один сервер с Sendmail 8.12.

3.3 Установка

Прежде всего, нам понадобится перенести существующую систему на 26 порт localhost. Kaspersky® Anti-Spam будет слушать 25 порт, принимать почту, обрабатывать её и пересылять на localhost:25. Для этого используйте директиву sendmail.mc:

DAEMON_OPTIONS(`Port=26,Addr=127.0.0.1, Name=MTA')

Пересоберите sendmail.cf и перезапустите sendmail.

Далее, нам понадобится дистрибутив Kaspersky® Anti-Spam — antispam-1.0.0.5.tgz. Распакуйте его, например, в /usr/src, зайдите в /usr/src/antispam-1.0.0.5 и выполните ./instal.sh.

Вот как должны выглядеть ответы на его вопросы:

# Select ip-addresses (one by one) for Kaspersky Anti-Spam
# to be installed at:
1:  172.16.0.246
2:  127.0.0.1
3:  172.16.118.1
4:  172.16.102.1
0:  all
Enter your choice (1-4 or 0) [0]:

Лучше ответить, что мы должны прослушивать все имеющиеся на машине интерфейсы.

# Select a port to be listened [25]:

Слушаем 25 порт.

# Select a type of Kaspersky Anti-Spam MTA installation:
1: final delivery to users' mailboxes.
2: relay to another smtp-server running on localhost,
3: relay to another smtp-server running on other host,
Enter your choice (1,2 or 3) [1]: 2

Выбираем вариант установки на один сервер с уже настроенным MTA в качестве релея.

Enter a port number used by target smtp-server [26]:

Выбираем порт, на который мы перенесли наш MTA.

# Specify parameters to use by Kaspersky Anti-Spam MTA:
Hostname of this machine [bondarenko.avp.ru]: spam.bondarenko.avp.ru

Здесь очень важно понимание процесса. При диалоге helo/ehlo между postfix и sendmail они обязательно должны использовать разные имена, поэтому здесь мы укажем spam.bondarenko.avp.ru, потом его можно внести в /etc/hosts.

Relay mail to (specify a list of host or domain names)
[spam.bondarenko.avp.ru]: bondarenko.avp.ru

Здесь указываем настоящее имя.

# Kaspersky Anti-Spam installer can replace your
# sendmail-style utilities:
#    /usr/sbin/sendmail
#    /usr/bin/mailq
#    /usr/bin/newaliases
# with links to appropriate postfix utilities.
Do you want to do it? (y/n) [y] n

Нельзя позволять переписывать sendmail, mailq и newaliases, так как это приведет к нарушению работы существующего sendmail.

# Select postfix installation mode:
1: install precompiled binary files,
2: build postfix from source code.
Enter your choice (1 or 2) [1]: 2
Postfix will be build from source code.

Мы рекомендуем компилировать postfix из исходного кода. Для этого должны быть установлен пакет db3-devel.

Далее, если все пройдет хорошо, Вы увидите несколько экранов текста, 3 раза нажмите [Enter] и увидите предупреждение об отсутствии лицензии.

Далее, можно послать письмо самому себе, если Вы делали все в точности так, как было написано, то оно до Вас дойдет. Но на спам проверяться не будет, так как не заполнена база защищаемых e-mail адресов. Ее нужно заполнить через web tuner, положить ключ, полученный при покупке в /opt/AVP/. Физически список хранится в виде базы /opt/AVP/etc/userdb и может быть выгружен в текстовый вид командой

kldbedit --export users.txt /opt/AVP/etc/userdb

И загружен вновь

kldbedit --import users.txt /opt/AVP/etc/userdb

Данная возможность позволит автоматизировать процесс занесения пользователей, так как получаемый users.txt имеет очень простой формат. Заметьте, что последний пользователь в текстовом представлении окажется первым в базе. Программу kldbedit можно получить по запросу на support@kaspersky.com. На этом инсталляция заканчивается.

4 Специфические настройки Kaspersky® Anti-Spam при инсталляции на RedHat 9 или SuSe 8.2

4.1 Что нам понадобится?

  1. Работающий и полностью настроенный сервер под управлением RedHat 9 (или SuSe 8.2 )
  2. Работающий и полностью настроенный web-сервер Apache. В примере используется Apache 2.0.40.

4.2 Что мы хотим добиться?

  1. Виртуальный сервер, на котором будет работать Web Tuner. В примере сервер будет виртуальным по порту и будет обслуживать 88 порт.
  2. Ограничение прав доступа к конфигурационным файлам и самому Web Tuner.

4.3 Этапы интеграции

4.3.1 Создание виртуального сервера

Это очень просто. Для того, чтобы создать виртуальный сервер, нам понадобятся 3 директивы:

  1. Listen 88  # это обеспечит обслуживание 88 порта
  2. AddHandler image-gif .gif  # это обеспечит нормальное отображение картинок
  3. <VirtualHost 172.16.0.11:88>                          # обслуживаем IP:port
      ServerAdmin webmaster@host.ru                       # поча администратора
      DocumentRoot /opt/AVP/httpd/html/                   # расположение WebTuner
      ScriptAlias /cgi-bin "/opt/AVP/httpd/html/cgi-bin"  # расположение скриптов Web Tuner
      ServerName host.ru                                  # не обязательно
      ErrorLog logs/AntiSpam-error_log                    # отдельный лог ошибок
      CustomLog logs/AntiSpam-access_log common           # отдельный лог доступа
    </VirtualHost>

Теперь нужно выполнить:

service httpd restart

Теперь можно зайти на наш сервер и убедиться, что loader.cgi завершился с ошибкой 500 или в том, что нам отказано в доступе. Если это так, значит все идет хорошо.

4.3.2 Настройка Web Tuner

Так как Apache работает с правами пользователя apache, а Spam Filter работает с правами mailflt, и для них нужно чтение и запись настроек, то все файлы настроек у нас будут иметь права доступа 664 (775 для директорий), и принадлежать пользователю:группе apache:mailflt.

chown -R apache.apache /opt/AVP/httpd/ 
chown -R apache.mailflt /usr/local/ap-mailfilter/c*
chown -R apache.mailflt /opt/AVP/etc
chmod 664 /opt/AVP/etc/*

Дальше можно работать с Web Tuner, но есть 2 ограничения:

  1. CommonProfiles можно использовать только те, где не используется RBL.
  2. При работе будет возникать ошибка, при попытке сохранить конфигурацию:

    Sending HUP signals to filters...
    Cannot kill process.

    На это не надо обращать внимание, просто kavuccsf не может быть перезапущен с правами пользователя apache, так как сам выполняется с правами пользователя root. Его придется перезапускать вручную.

5 Ссылки по теме и дополнительная информация