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

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

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

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

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

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

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

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

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

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

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

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

1001 и 1 книга  
19.03.2018г.
Просмотров: 9943
Комментарии: 0
Потоковая обработка данных

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

19.03.2018г.
Просмотров: 8156
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

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

19.03.2018г.
Просмотров: 8259
Комментарии: 0
Конкурентное программирование на SCALA

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

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

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

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

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

Друзья сайта  

 Почтовый сервер с защитой от спама и вирусов на основе FreeBSD

Архив номеров / 2004 / Выпуск №1 (14) / Почтовый сервер с защитой от спама и вирусов на основе FreeBSD

Рубрика: Администрирование /  Электронная почта

ГЕННАДИЙ ДМИТРИЕВ

Почтовый сервер с защитой от спама и вирусов
на основе FreeBSD

В данной статье будет описана процедура настройки почтового сервера для фильтрации спама и проверки входящей и исходящей почты на вирусы. В качестве базовой системы я использовал связку FreeBSD 5.1 + Sendmail + SpamAssassin + Kaspersky Antivirus.

Так сложилось, что изучать UNIX-системы я начал именно с FreeBSD, и много позже довелось настраивать многие Linux-системы. На мой взгляд, очень субъективный, FreeBSD имеет самую грамотную организацию. Что касается почтовой программы Sendmail, с давних пор использую её в качестве базовой, остальные пакеты – SpamAssassin, Kaspersky Antivirus и модули для подключения к почтовому серверу были выбраны экспериментально. С десяток компонентов, перепробованных мной, либо некорректно работали, либо давали неприемлемый результат.

Вы можете легко использовать данный документ, настраивая систему на FreeBSD 4.5-4.9, 5.0, но важным звеном является обновление дерева портов, поскольку в прошлых версиях FreeBSD многие модули отсутствуют. Обновив дерево портов, вы получите доступ в этим модулям.

Ограничения по количеству обслуживаемых пользователей на саму систему вряд ли распространяются. Они устанавливаются только железом. Сервер P4 512 Мб RAM 18 Гб SCSI HDD может легко обслужить 4-5 сотен пользователей. В частности, мой сервер P100 64 Мб RAM 540 Мб + 1 Гб SCSI HDD обслуживает 50 пользователей. Правда с трудом, но помимо почтовой системы на нём стоит Squid, Apache, Bind и много чего ещё.

Итак, выбор данных компонентов обусловлен:

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

Статья рассчитана на хорошо подготовленного пользователя. Поэтому, если вы не знакомы с UNIX-системами, вряд ли она вам чем-нибудь поможет.

Итак, вся процедура состоит из нескольких частей:

  • Обновление дерева портов.
  • Обновление почтового демона.
  • Установка и настройка демона spamd, который разбирает сообщение по кусочкам и ставит спам-балл. Если балл превышает некую цифру, которую вы можете изменять, письмо преобразуется определенным образом.
  • Установка и настройка milter (spamass-milter) для почтового демона. Он будет передавать сообщение демону spamd и принимать его обратно, пересылая дальше по цепочке.
  • Установка и настройка Kaspersky Antivirus. В пояснении не нуждается.
  • Установка и настройка milter (kavmilter) для почтового демона. Он будет передавать сообщение Kaspersky Antivirus.
  • Настройка самого почтового демона.
  • Обучение системы.
  • Последние штрихи, ссылки и благодарности.

Обновление дерева портов

Для начала обновим дерево портов:

cd /home/user

mkdir cvsup

cd cvsup

Далее в домашнем каталоге создаем для большего удобства два файла. Один со списком обновляемых портов, другой со скриптом запуска.

cd /home/user

mkdir cvsup

cd cvsup

vi cvsup.ports

# =====начало файла cvsup.ports=========

*default  host=cvsup.FreeBSD.org

*default  base=/usr

*default  prefix=/usr

*default  release=cvs

*default  tag=.

*default  delete use-rel-suffix compress

ports-mail

ports-net

ports-security

ports-sysutils

ports-www

# =====конец файла cvsup.ports==========

Здесь вы можете обновлять все порты, систему, если вам это необходимо. Для меня было достаточно этих портов.

vi cvsup.sh

# =======начало файла cvsup.sh==========

#!/bin/sh

/usr/local/bin/cvsup -g -L 2 cvsup.ports

# =======конец файла cvsup.sh===========

chmod +x cvsup.sh

Из обновленных портов понадобится поставить следующие (технология стандартная, make & make install):

/usr/ports/mail/sendmail

/usr/ports/mail/p5-Mail-SpamAssassin

/usr/ports/mail/spamass-milter

/usr/ports/mail/kavmilter

Обновление почтового демона (/usr/ports/mail/sendmail)

Поскольку изначально в FreeBSD 5.1 ставится Sendmail 8.12.9, обновим его до 8.12.10 из портов. После установки его будет удобно собирать отсюда:

/usr/ports/mail/sendmail/work/sendmail-8.12.10/cf/cf

Как – поясню чуть позже. Дополнительно в каталоге /usr/ports/mail/sendmail необходимо сделать:

make mailer.conf

Установка и настройка демона spamd (/usr/ports/mail/p5-Mail-SpamAssassin)

Далее, с sendmail все понятно. Для остальных портов небольшие пояснения.

Основной демон, фильтрующий вашу почту – spamd. Его конфигурационный файл находится здесь:

/usr/local/etc/mail/spamassassin/local.cf

# ==========начало файла local.cf========

# don't use agent

use_razor2 0

use_dcc    0

use_pyzor  0

# check rdl

skip_rbl_checks 0

# autowhitelist

use_auto_whitelist   1

auto_whitelist_path  /var/spool/filter/.spamassassin/auto_whitelist

# bayes

use_bayes   1

bayes_path  /var/spool/filter/.spamassassin/bayes

bayes_expiry_max_db_size  1500000

auto_learn   1

ok_languages en ru de

ok_locales   en ru de

# rewrite subject

rewrite_subject         1

subject_tag             *SPAM*_HITS_ points* :

required_hits           3.5

# user rules

allow_user_rules        0

# report options

always_add_report       1

report_safe             0

report_charset          koi8-r

# score options

score FROM_ILLEGAL_CHARS        1.5

score HEAD_ILLEGAL_CHARS        1.5

score SUBJ_ILLEGAL_CHARS        1.5

score SUBJ_HAS_SPACES           2.5

score NO_REAL_NAME              1.0

score PENIS_ENLARGE             3.5

score PENIS_ENLARGE2            3.5

score FROM_HAS_MIXED_NUMS       1.0

score FORGED_IMS_TAGS           0.5

# network whitelist

whitelist_from  localhost

whitelist_to    spam@mycompany.ru

# ==========конец файла local.cf=========

Файл /usr/local/etc/rc.d/spammerdaemon.sh. Собственно скрипт, запускающий сам демон. Обратите внимание на два параметра. Первый -u filter означает, что демон запускается от некоего виртуального пользователя, имеющего ограниченные права. Про самого пользователя чуть ниже. Второй параметр -s local5. Это вывод сообщений в другой файл-лог. Изначально демон spamd все пишет в maillog. Мне это не понравилось, я вывел сообщения от него в другой файл. Так удобнее анализировать. В принципе я бы вообще его отключил, да вот в документации не нашел как.

# =========начало файла spammerdaemon.sh==

#!/bin/sh

case "$1" in

start)

kill `ps ax | grep spamd | grep -v grep | awk '{print $1}' | head -1` >/dev/null 2>/dev/null && echo -n ' spamd'

[ -x /usr/local/bin/spamd ] && /usr/local/bin/spamd -d -a -u filter -x -s local5 && echo -n ' spamd'

;;

stop)

kill `ps ax | grep spamd | grep -v grep | awk '{print $1}' | head -1` >/dev/null 2>/dev/null && echo -n ' spamd'

;;

*)

echo "Usage: `basename $0` {start|stop}" >&2

;;

esac

exit 0

# =========конец файла spammerdaemon.sh===

Стоит добавить пользователя filter, группу filter, создать каталог /var/spool/filter и назначить пользователя filter его владельцем.

Vipw

filter:*:1025:1025::0:0:Mail Filter:/var/spool/filter: /sbin/nologin

vi /etc/group

filter:*:1025:filter

mkdir /var/spool/filter

chown filter:filter /var/spool/filter

Как я уже говорил, мне удобнее, когда сообщения от разных демонов пишутся в разные лог-файлы. Поэтому, чтобы перенаправить сообщения от spamd в другой файл, создадим пустой файл spamd.log:

cd /var/log

cat >./spamd.log

chown filter:filter spamd.log

И скорректируем содержимое двух файлов syslog.conf и newsyslog.conf:

# ========добавка в файл syslog.conf======

local5.*    /var/log/spamd.log

# =========конец файла syslog.conf========

 

# ======добавка в файл newsyslog.conf=====

/var/log/spamd.log   filter:filter  640  3  2000 * Z

# =======конец файла newsyslog.conf=======

Установка и настройка milter (spamass-milter) для почтового демона (/usr/ports/mail/spamass-milter)

Собственно сам демон, разбирающий почту по косточкам, готов. Перейдем к настройкам milter, который будет передавать письмо от sendmail к spamd. При установке spamass-milter файл, объясняющий процедуру активизации фильтра, лежит здесь: /usr/local/share/doc/spamass-milter/activation.txt. Из всего этого я вынес для себя только одну полезную строчку:

INPUT_MAIL_FILTER(`spamassassin", `S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m")

Её надо будет добавить в ваш конфигурационный файл Sendmail. Ну и собственно скрипт для запуска milter-фильтра. Там ничего сложного нет. Единственное изменение, которое я сделал, – добавил в скрипт адрес, на который будет пересылаться почта, идентифицированная как «СПАМ».

/usr/local/etc/rc.d/spamass-milter.sh

# =======начало файла spamass-milter.sh===

#!/bin/sh

DAEMON=/usr/local/sbin/spamass-milter

SOCKET=/var/run/spamass-milter.sock

PIDFILE=/var/run/spamass-milter.pid

SPAMADRESS=spam@mycompany.ru

case "$1" in

start)

if [ -f "${DAEMON}" -a -x "${DAEMON}" ]

then

"${DAEMON}" -b "${SPAMADRESS}" -p "${SOCKET}" -f &

echo $! > "${PIDFILE}"

sleep 1

kill -HUP `head -1 /var/run/sendmail.pid`

echo -n " spamass-milter running"

fi

;;

stop)

if [ -f "${PIDFILE}" ]

then

read -r pid junk < "${PIDFILE}"

kill ${pid}

rm -f "${SOCKET}" "${PIDFILE}"

sleep 1

kill -HUP `head -1 /var/run/sendmail.pid`

echo -n " spamass-milter stopped"

fi

;;

esac

# ========конец файла spamass-milter.sh===

Установка и настройка Kaspersky Antivirus

С настройками фильтров, определяющих наличие спама в сообщениях, покончено. Перейдем к установке Kaspersky Antivirus и milter для Sendmail. Соответственно качаем:

  • kav-MailServer-4.0.4.0-FreeBSD-4.x.tgz
  • tar xzvf kav-MailServer-4.0.4.0-FreeBSD-4.x.tgz
  • pkg_add kav-WorkStationSuite-4.0.4.0-FreeBSD-4.x.tgz

Из всего, что поставится в каталог /usr/local/share/AVP, интересны только эти файлы:

  • kavdaemon
  • kavscanner
  • defUnix.prf
  • AvpUnix.ini

Содержание конфигурационных файлов:

# =======начало файла AvpUnix.ini=========

[AVP32]

DefaultProfile=/usr/local/share/AVP/defUnix.prf

[Configuration]

KeysPath=/usr/local/share/AVP

SetFile=avp.set

BasePath=/usr/local/share/AVP/Bases

SearchInSubDir=No

UpdatePath=http://downloads2.kaspersky-labs.com/updates/

# ========конец файла AvpUnix.ini=========

В следующем файле многие параметры настройки опущены, поскольку не имеют принципиального значения:

# =======начало файла defUnix.ini=========

# same section with parameters for objects

[Object]

Names=*/home;*/tmp;*/var/tmp;/usr/src;/mnt/cdrom;/usr/tmp;/tmp/kav

Memory=No

Sectors=No

ScanAllSectors=No

Files=Yes

FileMask=2

UserMask=*.tar.gz

ExcludeFiles=0

ExcludeMask=*.txt *.cmd

ExcludeDir=

Packed=Yes

Archives=Yes

SelfExtArchives=Yes

MailBases=Yes

MailPlain=Yes

Embedded=Yes

InfectedAction=3

BackupInfected=No

IfDisinfImpossible=1

Warnings=Yes

CodeAnalyser=Yes

RedundantScan=No

SubDirectories=Yes

CrossFs=Yes

# global(common) options sections

[Options]

ScanRemovable=Yes

ScanSubDirAtEnd=No

ParallelScan=No

LimitForProcess=16

EndlesslyScan=No

ScanDelay=-1

Symlinks=1

[Report]

Report=Yes

UseSysLog=No

ReportFileName=/var/log/kav/kavscan.rpt

Append=Yes

ReportFileLimit=Yes

ReportFileSize=500

RepCreateFlag=600

ExtReport=No

WriteTime=Yes

WriteExtInfo=No

UseCR=No

RepForEachDisk=No

LongStrings=Yes

UserReport=No

UserReportName=/var/log/kav/userreport.log

# Showing objects

ShowOK=No

ShowPack=No

ShowPassworded=No

ShowSuspision=No

ShowWarning=No

ShowCorrupted=No

ShowUnknown=No

# Action with infected files

[ActionWithInfected]

InfectedCopy=No

# Action with suspicion files

[ActionWithSuspicion]

SuspiciousCopy=No

# Action with corrupted files

[ActionWithCorrupted]

CorruptedCopy=No

[TempFiles]

UseMemoryFiles=Yes

LimitForMemFiles=6000

MemFilesMaxSize=20000

TempPath=/tmp

[Priority]

Father=0

Child=0

[Customize]

Sound=No

UpdateCheck=No

UpdateInterval=90

OtherMessages=No

RedundantMessage=No

DeleteAllMessage=No

ExitOnBadBases=Yes

UseExtendedExitCode=Yes

# ========конец файла defUnix.ini=========

Здесь я кое-что изменил. Во-первых, при установке Kaspersky Antivirus он пытается свои конфигурационные файлы поместить в /etc/Avp. Мне это не понравилось, я выкинул оттуда все и поместил в домашний каталог Kaspersky Antivirus: /usr/local/share/AVP. Далее создал два каталога, где будут храниться лог-файлы и временные файлы для проверки на вирусы.

mkdir /var/log/kav

mkdir /tmp/kav

Установка и настройка milter (kavmilter) для почтового демона (/usr/ports/mail/kavmilter)

Процедура все та же: make & make install.

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

/usr/local/etc/kavmilter.conf

# =======начало файла kavmilter.conf========

SendmailPipe = /var/run/kavmilter

KAVPipe = /var/run/AvpCtl

PIDFile = /var/run/kavmilter.pid

TempDirectory = /tmp/kav

KAVTimeout = 60

SendmailTimeout = 300

DebugLevel = 0

DaemonMode = yes

InfectedAction = discard

# ========конец файла kavmilter.conf========

# =======начало файла kavmilter.sh==========

#!/bin/sh

PREFIX=/usr/local/libexec

PIPE=/var/run/kavmilter

KAVPIPE=/var/run/AvpCtl

PIDFILE=/var/run/kavmilter.pid

TEMPDIR=/tmp/kav

DPARMS="-D 0"

case "$1" in

start)

rm -f ${PIPE} > /dev/null && ї

    ${PREFIX}/kavmilter ${DPARMS} > /dev/null && echo -n ' kavmilter'

;;

stop)

killall -TERM kavmilter > /dev/null && rm -f ${PIPE} && rm -f ${PIDFILE} && echo "kavmilter stopped"

;;

restart)

killall -TERM kavmilter > /dev/null && rm -f ${PIPE} && rm -f ${PIDFILE} && sleep 5 && ${PREFIX}/kavmilter ${DPARMS} > /dev/null && \

echo "kavmilter restarted"

;;

*)

echo "Usage: `basename $0` {start|stop|restart}" >&2

;;

esac

exit 0

# ========конец файла kavmilter.sh==========

При установке Kaspersky Antivirus в /usr/local/etc/rc.d/ создается файл kavd.sh. Я его удалил, вместо него следует использовать другой, что ставится вместе с kavmilter. Некоторые строки мною изменены, потому просто содержимое файла /usr/local/etc/rc.d/kavdaemon.sh:

# =======начало файла kavdaemon.sh==========

#!/bin/sh

PREFIX="/usr/local/share/AVP"

BINDIR="/usr/local/share/AVP"

AVPDIR="/tmp/kav"

AVPPIPE="/var/run"

DPARMS="-Y -f=$AVPPIPE -MP -dl -MD -I0 -o{$AVPDIR} $AVPDIR"

case "$1" in

start)

$BINDIR/kavdaemon $DPARMS  && echo -n ' kavdaemon'

;;

stop)

[ -f $AVPDIR/AvpPid ] && $BINDIR/kavdaemon -ka > /dev/null && echo "kavdaemon terminated"

;;

restart)

[ -f $AVPDIR/AvpPid ] && $BINDIR/kavdaemon -ka > /dev/null && $BINDIR/kavdaemon $DPARMS > dev/null && echo 'kavdaemon restarted'

;;

*)

echo "Usage: `basename $0` {start|stop|restart}" >&2

;;

esac

exit 0

# ========конец файла kavdaemon.sh==========

Настройка самого почтового демона

Настройка sendmail для фильтрации почты от спама, вирусов и прочее. Переходим в каталог с конфигурационными файлами sendmail:

cd /usr/ports/mail/sendmail/work/sendmail-8.12.10/cf/cf

Создаем файл main.mc следующего содержания:

# =======начало файла main.mc===============

divert(-1)

divert(0)

include(`../m4/cf.m4')

VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc, v 1.10.2.11 2001/07/14 18:07:27 gshapiro Exp $')

OSTYPE(freebsd5)

DOMAIN(generic)

FEATURE(`no_default_msa')

DAEMON_OPTIONS(`Port=smtp, Name=MTA')

FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')

FEATURE(blacklist_recipients)

FEATURE(local_lmtp)

FEATURE(mailertable, `hash -o /etc/mail/mailertable')

FEATURE(relay_based_on_MX)

FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')

dnl Realtime Blocking List - AntiSpam Control

dnl FEATURE(dnsbl)

dnl FEATURE(dnsbl, `relays.osirusoft.com', `Mail rejected - see http://relays.osirusoft.com/')

FEATURE(dnsbl,`relays.ordb.org',`Mail rejected - see http://ordb.org/')

FEATURE(dnsbl,`blackholes.easynet.nl',`Mail rejected - see http://blackholes.easynet.nl/')

dnl FEATURE(dnsbl,`inputs.orbz.org', `Mail rejected - see http://orbz.org/')

dnl FEATURE(dnsbl,`relays.visi.com', `Mail rejected - see http://relays.visi.com/')

dnl FEATURE(dnsbl, `ex.dnsbl.org', `Mail rejected - see http://www.dnsbl.org/')

dnl FEATURE(dnsbl,`blackholes.mail-abuse.org', `Mail rejected - see http://mail-abuse.org/')

dnl FEATURE(dnsbl,`relays.mail-abuse.org',`Mail rejected - see http://work-rss.mail-abuse.org/')

dnl FEATURE(dnsbl,`dialups.mail-abuse.org', `Mail rejected; see http://mail-abuse.org/dul/enduser.htm')

dnl Russian DialUp Blocking List

FEATURE(`dnsbl',`dul.ru',`Mail rejected - your are spammer')

dnl Uncomment the first line to change the location of the default

dnl /etc/mail/local-host-names and comment out the second line.

dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')

define(`confCW_FILE', `-o /etc/mail/local-host-names')

define(`confMAX_MIME_HEADER_LENGTH', `256/128')

define(`confMAX_MESSAGE_SIZE', 5000000)

define(`confNO_RCPT_ACTION', `add-to-undisclosed')

define(`confPRIVACY_FLAGS',

`authwarnings,noexpn,novrfy,noetrn,nobodyreturn,goaway, restrictmailq,restrictqrun')

define(`confSMTP_LOGIN_MSG',`Antispam-MTA; "Non-authorized relaying DENIED." $b')

define(`confMAX_RCPTS_PER_MESSAGE', `5')

INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')

INPUT_MAIL_FILTER(`kavmilter',`S=unix:/var/run/kavmilter,F=T')

define(`confMILTER_LOG_LEVEL',`6')

MAILER(local)

MAILER(smtp)

# ========конец файла main.mc===============

Полагаю, что вы немного знакомы с настройкой sendmail, поэтому не буду объяснять все позиции. Поясню лишь три:

INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')

Эта строчка говорит, что при получении письма почтовиком письмо передаётся фильтру spamassassin для проверки на спам. В результате обработки письму присваивается некий рейтинг.

INPUT_MAIL_FILTER(`kavmilter',`S=unix:/var/run/kavmilter,F=T')

Эта строчка говорит о том, что после обработки письма на потенциальный спам письмо попадает к Kaspersky Antivirus, а тот уже делает вывод, содержит ли письмо вирус или нет.

define(`confMILTER_LOG_LEVEL',`6')

Ну и эта строка лишь уменьшает количество выводимой информации в логи, что удобно после отладки. Мне нужны только строки о поступлении и пересылке письма. Для «разбора полёта» письма их вполне достаточно.

Собираем конфигурационный файл sendmail:

m4 main.mc>sendmail.cf

Его надо перезаписать поверх старого файла /etc/mail/sendmail.cf.

Обучение системы

Итак, после всех этих процедур ваша система готова к работе. С начальными настройками она способна фильтровать до 60-70% лишней почты. Для увеличения этой цифры вам необходимо «обучить» систему. По большому счету в процессе работы система сама обучается. То есть чем больше писем она обрабатывает, тем меньше вероятность ошибки и больше процент фильтрации писем. Для ручного обучения (помощи системе) вам необходимо собрать от 200 спам-писем и нормальных писем. Передать их системе и обработать. Письма можно получить обычным экспортом из почтового клиента. Вид писем стандартный (.eml), вырезать из них ничего не надо. К примеру:

=====начало файла=====

Return-Path: narayan@epfl.ch

Received: from flashmail.com ([200.75.94.146])

    by ns.mycompany.ru (8.12.10/8.12.10) with SMTP id hB38USe7096329

    for <lan@mycompany.ru>; Wed, 3 Dec 2003 11:30:44 +0300 (MSK)

    (envelope-from narayan@epfl.ch)

Date: Wed, 03 Dec 2003 06:35:56 +0000

From: narayan@epfl.ch

Subject: =?Windows-1251?B?yvLuIOHz5OXyIOz98O7sPyE=?=

To: Lan lan@mycompany.ru

…………

======конец файла=====

Итак, в домашнем каталоге создаем два каталога для спам-писем и для нормальных писем, пишем небольшой скрипт и обучаем систему.

cd /home/user

mkdir spamd spamd/ham spamd/spam

cd spamd

vi spamd-training.sh

====начало файла spamd-training.sh====

#!/bin/sh

sa-learn --ham /home/gennadiy/Spamd/ham/

sa-learn --spam /home/gennadiy/Spamd/spam/

=====конец файла spamd-training.sh====

chmod +x spamd-training.sh

В каталог spamd/ham пишем нормальные письма, в каталог spamd/spam пишем спам. Запускаем скрипт:

./spamd-training.sh

Всё. Статистику по обработке почты можно посмотреть командой:

sa-learn --dump magic

Последние штрихи, ссылки и благодарности

Ну и несколько последних штрихов. На самом деле вы можете этот шаг пропустить или сделать так, как вам удобнее. Я для собственного успокоения создал каталог /usr/local/etc/script. Переместил туда всё необходимые мне стартовые скрипты kavdaemon.sh, spammerdaemon.sh, kavmilter.sh, spamass-milter.sh. В каталоге /usr/local/etc/rc.d создал исполняемый скрипт следующего содержания:

# =======начало файла start.sh===============

#!/bin/sh

# kavdaemon - antiviral tolkien pro

# starting mail filter daemon

# ========конец файла start.sh===============

Вот вроде бы и всё. Буду благодарен за любые замечания на адрес: stranger03@mail.ru

Огромное спасибо: Андрееву Павлу, системному администратору Novavox, и Тараненко Сергею, системному администратору Trinity, за неоценимую помощь в создании данной системы.

Ссылки на документы:

  1. О самом cvsup можете прочитать здесь: http://www.freebsd.org.ru/how-to/cvsup
  2. О настройках демона spamd можете прочитать здесь: http://www.spamassassin.org/doc/Mail_Spam-Assassin_Conf.html
  3. О тестовых параметрах, по которым можно подстраивать систему под ваши требования, можно прочитать здесь: http://spamassassin.org/tests.html
  4. О настройках Sendmail можете прочитать здесь: http://unix1.jinr.ru/~lavr/webmail/sendmail_common.mc

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

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

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

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

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