Разместить здесь рекламу
0. Введение

  Ну вот, я почти доделал свою антиспам-систему.
  К сожалению, подробно описывать процедуру практически нет времени, да
  и лениво. Потому на все вопросы готов ответить по почте
  stranger03@mail.ru.

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

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

   1. Обновление дерева портов
   2. Обновление почтового демона
   3. Установка и настройка демона spamd, который разбирает сообщение по
      кусочкам и ставит спам-балл Если балл превышает некую цифру,
      которую вы можете изменять, письмо преобразуется определенным
      образом.
   4. Установка и настройка milter-а (spamass-milter) для почтового
      демона. Он будет передавать сообщение демону spamd и принимать его
      обратно, пересылая дальше по цепочке
   5. Установка и настройка Касперского. В пояснении не нуждается.
   6. Установка и настройка milter-а (kavmilter) для почтового демона.
      Он будет передавать сообщение Касперскому.
   7. И последнее, настройка самого почтового демона.
      Вот собственно и все отступление, icon_smile.gif . Приступим.

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


  Для начала обновим дерево портов:
     cd /usr/ports/net/cvsup-without-gui
     make
     make install

  Далее в домашнем каталоге создаем для большего удобства два файлика.
  Один со списком обновляемых портов, другой со скриптом запуска.
     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==========

  В принципе вы можете здесь обновлять все порты, систему, если вам это
  необходимо. Для меня было достаточно этих портов. Про сам cvsup можете
  почитать здесь: http://www.freebsd.org.ru/how-to/cvsup/
      vi cvsup.sh

# =======начало файла cvsup.sh==========
#!/bin/sh
/usr/local/bin/cvsup -g -L 2 cvsup.ports
# =======конец файла cvsup.sh===========

      chmod +x cvsup.sh
      ./home/user/cvsup/cvsup.sh

  После такой процедуры ваши волосы, тьфу, порты станут относительно
  новыми. Из них вам понадобится поставить следующие порты (технология
  стандартная, make & make install):

      /usr/ports/mail/sendmail
      /usr/ports/mail/p5-Mail-SpamAssassin
      /usr/ports/mail/spamass-milter


2. Обновление почтового демона


  Поскольку изначально в 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

3. Установка и настройка демона spamd


  Далее, с 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
auto_learn              1
ok_languages            en ru de
ok_locales              en ru de
# rewrite subject
rewrite_subject         1
suject_tag             *SPAM*_HITS_ points* :
required_hits           3.5
report_charset          koi8-r
allow_user_rules        0
clear_report_template
report This message has identified this incoming email as possible spam.
report
report Content preview: _PREVIEW_
report
report Content analysis details: (_HITS_ points, _REQD_ required,_BAYES_
bayes score)
report
report pts  rule name              description
report ----

report _SUMMARY_
clear_unsafe_report_template
# network whitelist
whitelist_from  localhost
whitelist_to    spam@mycompany.ru (mailto:spam@mycompany.ru)
# ==========конец файла local.cf=========

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

# =========начало файла spammerdaemon.sh==
#!/bin/sh
case "$1" in
  start)
    kill s 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 s ax | grep spamd | grep -v grep | awk '{print $1}' | head -1
>/dev/null 2>/dev/null && echo -n ' spamd'
  ;;
  *)
    echo "Usage: asename $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=======

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


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

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

  Ну и собственно скрипт для запуска 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}" ] e   E { " E     "
 
  U / d       t
;     " t   d k L   l     C D   s   k e r .   h a t   a = а l
а а о - - - а и е л в
о к г с м
а е   д e 0 x   v - e
d t 4 B
, и о l -   и   n c  
i о н ы # а p = 2 o o V r a a a
. h / a n p t d y p = ф x = = а i   n e j t o v / r ; m o l
i e . i d   d d e x e = i d c
t i e = l d N o o   o s t e
t l L e s S

p S p = v t
i o 5 e t r
o o D S U o N g p h t

d u S N p U # h i W ] p e r e e a t m   E E r o N   i c p i o F l A u a i e
E E s o N   t c r u
l c P C =   o e N n h C [ U e F 6 s 0 / i 0 C o t p l s d g A o a E C = ц n
= т о е л ы н п   и и  
.   , о     к е / /     в н . д л   т в й е с m o   / т с e t т а - - - - -
п l п м и   s l П е   a и k з ф н к   в з н , к н я о , с ж о u c c = й r =
i u
v t   v T y
= l 0 l M n n # н v =   / v # а v = i = l E a P n F n p / A
n   $ e
P i M u - e     a v e m     I
h r   r   l i / - &   F e   F e       m r     U n a t   s # н v = р     l с
й Я , о п р т т e е ю п о ф o d s = л . = P / / = / A / E
- - - I
i   I     a   o   R & v > \ & a a   r P ] / k l   / D v h n

  : $ t "   e = а o = т о д - - - у е   я   а   е а г   d d / i m / а n е и
= л = =
n 4 R e t f   0 : i O s g A f D N p ) c a P l E l n (
l a m a R e A e s a t   o - o E ) E l f i - / u
b r i - /
b e l e h h t F l b i - /
( y , c t .
( d  e p l   b e e   s a g T r a M d : m r A  l , t p s n
  k A ' M d   d t l g i e e a s t c n o   i c  ' m o
f A ,
f _ 0  _ d l n A
g v n , r s
f M a - r I e A _ 5 A s ' / m s C : I I l x a ' o G ) c s = й = = , н   й п
д   . ь I I s = r m   ; : с р   и и
ф a     у б   с т N L t : v ) к   с и п й м к у   д л р
( _  т ш   в ф о б л е п ь
      е х т n
о н d 4 n о а р а i c с е в д т п л а у л о и т o i т
  ы a   o l m s г l о я   с
ч t = ! y p m r p a t s s l m a t m
e a s o i m a = а = = е е е Б р   а n r а к д
а д ,   о и С и м   н о а с у м а и й т п е
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

   

Раздел вышеUp
НачалоTop
КонецDown
Запомнить+Marker
ВосстановитьMarker
Забыть-Marker
РекламаAdv
Font

Сказать спасибо Укоротить ссылку Нашли ошибку?

Дочитать позже / поделиться

   

См. также


Новости партнеров