DSpam пропускает все письма как Innocent

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

DSpam пропускает все письма как Innocent

Непрочитанное сообщение DJ Kill » 2012-11-30 0:42:12

Стоит FreeBSD 9.0-RELEASE на которой dspam-3.9.0_2

dspam работает и никаких ошибок не выдаёт.
Обучен на большом количестве писем.

Но 100% писем, проходящих через него имеют такие хеадеры:

Код: Выделить всё

X-DSPAM-Result: Innocent
X-DSPAM-Processed: Fri Nov 30 00:45:12 2012
X-DSPAM-Confidence: 0.9899
X-DSPAM-Probability: 0.0000
X-DSPAM-Signature: 50b7c958575206899212605
Как следствие весь спам валится в общую кучу.

Что я делаю не так? Крутил его уже во все стороны - результат один и тот же.

Если обучать заново - он спам-письма нормально учит как спам. Но результата всё равно никакого.

Конфиг dspam.conf

Код: Выделить всё

Home /var/db/dspam

StorageDriver /usr/local/lib/dspam/libmysql_drv.so

TrustedDeliveryAgent "/usr/local/sbin/exim -oMr spam-scanned" # Exim
QuarantineAgent "/usr/local/sbin/exim"

DeliveryHost            127.0.0.1

OnFail error

Trust root
Trust dspam
Trust apache
Trust mail
Trust mailnull
Trust smmsp
Trust daemon
#Trust nobody
#Trust majordomo

Debug *

TrainingMode teft

TestConditionalTraining on

Feature tb=5

ParseToHeaders          on
ChangeModeOnParse       on
ChangeUserOnParse       full

Algorithm graham burton

Tokenizer chain

PValue bcr

WebStats on

Preference "trainingMode=TEFT"          # { TOE | TUM | TEFT | NOTRAIN } -> default:teft
Preference "spamAction=quarantine"      # { quarantine | tag | deliver } -> default:quarantine
Preference "spamSubject=[SPAM]"         # { string } -> default:[SPAM]
Preference "statisticalSedation=5"      # { 0 - 10 } -> default:0
Preference "enableBNR=on"               # { on | off } -> default:off
Preference "enableWhitelist=on"         # { on | off } -> default:on
Preference "signatureLocation=headers"  # { message | headers } -> default:message
Preference "tagSpam=off"                # { on | off }
Preference "tagNonspam=off"             # { on | off }
Preference "showFactors=off"            # { on | off } -> default:off
Preference "optIn=off"                  # { on | off }
Preference "optOut=off"                 # { on | off }
Preference "whitelistThreshold=10"      # { Integer } -> default:10
Preference "makeCorpus=off"             # { on | off } -> default:off
Preference "storeFragments=off"         # { on | off } -> default:off
Preference "localStore="                # { on | off } -> default:username
Preference "processorBias=on"           # { on | off } -> default:on
Preference "fallbackDomain=off"         # { on | off } -> default:off
Preference "trainPristine=off"          # { on | off } -> default:off
Preference "optOutClamAV=off"           # { on | off } -> default:off
Preference "ignoreRBLLookups=off"       # { on | off } -> default:off
Preference "RBLInoculate=off"           # { on | off } -> default:off

AllowOverride enableBNR
AllowOverride enableWhitelist
AllowOverride fallbackDomain
AllowOverride ignoreGroups
AllowOverride ignoreRBLLookups
AllowOverride localStore
AllowOverride makeCorpus
AllowOverride optIn
AllowOverride optOut
AllowOverride optOutClamAV
AllowOverride processorBias
AllowOverride RBLInoculate
AllowOverride showFactors
AllowOverride signatureLocation
AllowOverride spamAction
AllowOverride spamSubject
AllowOverride statisticalSedation
AllowOverride storeFragments
AllowOverride tagNonspam
AllowOverride tagSpam
AllowOverride trainPristine
AllowOverride trainingMode
AllowOverride whitelistThreshold
AllowOverride dailyQuarantineSummary

MySQLServer             /tmp/mysql.sock
MySQLPort
MySQLUser               dspam
MySQLPass               dspam
MySQLDb         dspam
MySQLCompress           true
MySQLReconnect          true

HashRecMax              98317

HashAutoExtend          on

HashMaxExtents          0

HashExtentSize          49157

HashPctIncrease         10

HashMaxSeek             10

HashConnectionCache     10

Notifications   off

PurgeSignatures 14      # Stale signatures
PurgeNeutral    90      # Tokens with neutralish probabilities
PurgeUnused     90      # Unused tokens
PurgeHapaxes    30      # Tokens with less than 5 hits (hapaxes)
PurgeHits1S     15      # Tokens with only 1 spam hit
PurgeHits1I     15      # Tokens with only 1 innocent hit

LocalMX 127.0.0.1

SystemLog       on
UserLog         on

TrainPristine   on
Opt out

ClamAVPort              3310
ClamAVHost              127.0.0.1
ClamAVResponse          accept

ProcessorURLContext on
ProcessorBias on
StripRcptDomain off

Код: Выделить всё

/var/db/dspam/group
primary:classification:kirill@16v.ru

Код: Выделить всё

dspam_stats -H kirill@16v.ru
kirill@16v.ru:
                TP True Positives:                  3130
                TN True Negatives:                  2676
                FP False Positives:                   41
                FN False Negatives:                  558
                SC Spam Corpusfed:                     0
                NC Nonspam Corpusfed:                  0
                TL Training Left:                      0
                SHR Spam Hit Rate                 84.87%
                HSR Ham Strike Rate:               1.51%
                PPV Positive predictive value:    98.71%
                OCA Overall Accuracy:             90.65%

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: DSpam пропускает все письма как Innocent

Непрочитанное сообщение DJ Kill » 2012-11-30 9:59:53

Дополню: в качестве MTA работает Exim и он все письма корректно в dspam передаёт. То есть они точно проходят через dspam

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: DSpam пропускает все письма как Innocent

Непрочитанное сообщение DJ Kill » 2012-12-05 6:59:21

И тишина.

Может быть кто-то предложит альтернативную защиту от спама, кроме ухода на гугль и покупку Iron Port? Пусть даже платное...

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: DSpam пропускает все письма как Innocent

Непрочитанное сообщение DJ Kill » 2012-12-06 11:22:51

Сегодня раскопал, что у меня счётчики писем не растут по выводу dspam_stats
Так же при попытке обучения через dspsm_train всегда выдаётся broken result!
При этом в логах самого dspam всё идеально.

DJ Kill
мл. сержант
Сообщения: 83
Зарегистрирован: 2007-12-04 16:51:34

Re: DSpam пропускает все письма как Innocent

Непрочитанное сообщение DJ Kill » 2013-02-12 18:50:11

Подниму тему.

После переезда на 9.1 всё опять перестало работать.

Только ситуация уже в том, что счётчики растут, но ничего в итоге не работает.

В логах dspam постоянно идёт:
query error: VERBOSE DEBUG (INFO ONLY - NOT AN ERROR): see sql.errors for more details

В логах sql.errors идут просто запросы. Они корректно выполняются с правами dspam.

Может кто-нибудь помочь?