ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: "Алексей Шенцев" <ashen@nsrz.ru>
To: ALT Linux sysadmin discuss <sysadmins@lists.altlinux.org>
Subject: Re: [Sysadmins] спам фильтр
Date: Thu, 3 Apr 2008 16:34:05 +0400
Message-ID: <200804031634.05462.ashen@nsrz.ru> (raw)
In-Reply-To: <47F4F1BB.20800@pugr.vng.com.ru>

В сообщении от Thursday 03 April 2008 19:03:23 tosh17 написал(а):
> если чесно как то не получилось поднять сервис dspam :(
> статьи которые нахожу dspam настраивается через чето другое например
> довекот а у меня dbmail было и напрямую но там через sql у меня без
> исходников и поэтому нет файлов в usr/local/share/examples/dspam/pgsq
> пробывал скачать несколько но в них тоже небыло этих файлов

Вообще то он не так сложно настраивается. Прям сейчас постараюсь вам объяснить 
что к чему. Используем postfix+dspam+mysql. Конфиг dspam'а для такого случая 
(пример):
[root@gw /]# cat /etc/dspam.conf
## $Id: dspam.conf.in,v 1.82 2006/06/23 03:11:31 jonz Exp $
## dspam.conf -- DSPAM configuration file
# DSPAM Home: Specifies the base directory to be used for DSPAM storage
Home /var/lib/dspam

UntrustedDeliveryAgent "/usr/bin/procmail -d %u"

#Server parametrs
ServerMode              auto
ServerParameters        "--deliver=innocent -d %u, spam"
ServerIdent             "localhost.localdomain"
ServerPID               /var/run/dspam.pid
#Так как в Alt Linux postfix работает в chroot'е,
#то сокет dspam'а помещаем в спуле postfix'а
ServerDomainSocketPath  "/var/spool/postfix/dspam.sock"

#Delivery for return the good mail back into Postfix
DeliveryHost        127.0.0.1
DeliveryPort        10026
DeliveryIdent       localhost
DeliveryProto       SMTP

LocalMX 127.0.0.1

#Проверка почты на спам/неспам
ParseToHeaders on
ChangeModeOnParse on
ChangeUserOnParse full

##MySQL
StorageDriver /usr/lib/libmysql_drv.so
MySQLServer     /var/lib/mysql/mysql.sock
MySQLPort       3306
MySQLUser       dspam
MySQLPass       NEED_SET_YOU_PASSWORD
MySQLDb         dspam
MySQLCompress   true
MySQLReadSignaturesFromWriteDb  on
MySQLConnectionCache    10

#Other
TrainingMode teft
TestConditionalTraining on

Trust root
Trust mail
Trust mailnull
Trust smmsp
Trust daemon
Trust dspam
Trust amavisd

Feature whitelist

Algorithm graham burton
PValue graham

Preference "spamAction=quarantine"
Preference "signatureLocation=headers"  # 'message' or 'headers'
Preference "showFactors=on"
Preference "spamSubject=***SPAM***"

#Кто отправляет письма в карантин
QuarantineAgent        "/usr/bin/procmail -d spam"

#Укладываем спам в карантин, а не отдаём его пользователю.
QuarantineMailbox       +quarantine

EnablePlusedDetail      on

#Рассылаем сообщения об спаме/карантине или нет?
Notifications   off

#Вести ли логи?
#Не путать с /var/log/dspam/dspam.log
#лог демона
#А так же с тем, что выдаётся в /var/log/maillog
#Системный лог - да.
#Местоположение /var/lib/dspam/system.log
SystemLog on

#Логи по пользователям - да.
#Местоположение /var/lib/dspam/data/$u
UserLog   on

Tokenizer chain
WebStats on

AllowOverride trainingMode
AllowOverride spamAction spamSubject
AllowOverride statisticalSedation
AllowOverride enableBNR
AllowOverride enableWhitelist
AllowOverride signatureLocation
AllowOverride showFactors
AllowOverride optIn optOut
AllowOverride whitelistThreshold

TrackSources spam nonspam
ProcessorURLContext on
ProcessorBias on

#EOF dspam.conf
[root@gw /]#

Что необходимо и достаточно прописать для postfix'а:
[root@gw /]# cat /etc/postfix/master.cf
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp    inet    n       -       n       -       -       smtpd
##For dspam
 -o content_filter=lmtp:unix:/dspam.sock
#dspam
localhost:10026 inet  n -       n       -       -        smtpd
 -o content_filter=
 -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
 -o smtpd_helo_restrictions=
 -o smtpd_client_restrictions=
 -o smtpd_sender_restrictions=
 -o smtpd_recipient_restrictions=permit_mynetworks,reject
 -o mynetworks=127.0.0.0/8
 -o smtpd_authorized_xforward_hosts=127.0.0.0/8

pickup  fifo    n       -       -       60      1       pickup
cleanup unix    n       -       -       -       0       cleanup
qmgr    fifo    n       -       -       300     1       qmgr
tlsmgr  unix    -       -       -       1000?   1       tlsmgr
rewrite unix    -       -       -       -       -       trivial-rewrite
bounce  unix    -       -       -       -       0       bounce
defer   unix    -       -       -       -       0       bounce
trace   unix    -       -       -       -       0       bounce
verify  unix    -       -       -       -       1       verify
flush   unix    n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
smtp    unix    -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay   unix    -       -       -       -       -       smtp
        -o fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq   unix    n       -       -       -       -       showq
error   unix    -       -       -       -       -       error
discard unix    -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp    unix    -       -       -       -       -       lmtp
anvil   unix    -       -       -       -       1       anvil
scache  unix    -       -       -       -       1       scache
retry     unix  -       -       -       -       -       error
[root@gw /]#

Создание БД в MySQL:

создаём БД dspam и пользователя dspam в ней с 
помощью /usr/share/dspam-3.8.0/create_dspam_db.sql

Создаём таблицы в БД с помощью /usr/share/dspam-3.8.0/mysql_objects-space.sql
Создаём таблицу виртуальных пользхователей с 
помощью /usr/share/dspam-3.8.0/virtual_users.sql

В сборку dspam-3.8.0-alt1.8 я добавил скрипт train для первоначального 
обучения dspam'а что есть spam/ham. Работать с ним просто: раскладываем 
спам-письма и нормальные письма по двум папкам spa и ham соотвественно и 
запускаем этот скрипт. Когда отработает, то БД dspam'а уже будет заполенена.

В принципе и всё.  Мои конфиги конечно не идеальные, если есть знающию люди 
пусть поправят где я ошибся.
-- 
С уважением Шенцев Алексей Владимирович.
E-mail: ashen@nsrz.ru
XMPP: ashen@altlinux.org, AlexShen@jabber.ru
ICQ: 271053845

  reply	other threads:[~2008-04-03 12:34 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-01 18:12 tosh17
2008-04-01 19:21 ` Alexey Morsov
2008-04-02 12:45   ` tosh17
2008-04-02 13:50   ` tosh17
2008-04-02 10:37 ` Eugene Prokopiev
2008-04-02 14:00   ` tosh17
2008-04-02 11:07     ` Алексей Шенцев
2008-04-02 13:44       ` Grigory Fateyev
2008-04-02 14:15         ` Алексей Шенцев
2008-04-02 16:38           ` Grigory Fateyev
2008-04-03  5:14             ` Алексей Шенцев
2008-04-03 16:47               ` Grigory Fateyev
2008-04-04  6:33                 ` Алексей Шенцев
2008-04-03 15:03       ` tosh17
2008-04-03 12:34         ` Алексей Шенцев [this message]
2008-04-03 15:43           ` tosh17
2008-04-03 12:50             ` Алексей Шенцев
2008-04-03 15:51               ` tosh17
2008-04-03 13:00                 ` Алексей Шенцев
2008-04-03 15:59               ` tosh17
2008-04-04 13:29                 ` Вадим Илларионов
2008-04-03 16:39           ` tosh17
2008-04-03 13:48             ` Алексей Шенцев
2008-04-03 19:16               ` tosh17
2008-04-04  6:39                 ` Алексей Шенцев
2008-04-04  7:38                   ` [Sysadmins] ham@ Michael Shigorin
2008-04-04  7:52                     ` Алексей Шенцев
2008-04-04 10:27                       ` Eugene Prokopiev
2008-04-04 13:35                       ` Grigory Fateyev
2008-04-03 16:51           ` [Sysadmins] спам фильтр tosh17

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200804031634.05462.ashen@nsrz.ru \
    --to=ashen@nsrz.ru \
    --cc=sysadmins@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git