Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota + DSP

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение freeman_tnu » 2013-10-25 11:05:32

ок, давайте еще dspam.conf
ну и роутеры с транспортом из екзима

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

mak_v_
проходил мимо

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение mak_v_ » 2013-10-25 11:16:41

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

cat /usr/local/etc/dspam.conf
Home /var/db/dspam
StorageDriver /usr/local/lib/dspam/libmysql_drv.so
TrustedDeliveryAgent "/usr/local/sbin/exim -oMr spam-scanned"
OnFail error
Trust root
Trust mail
Trust exim
TrainingMode teft
TestConditionalTraining on
Feature chained noise
Algorithm graham burton
PValue graham
Preference "signatureLocation=headers"
Preference "showFactors=on"
Preference "spamAction=tag"
Preference "spamSubject=SPAM"
AllowOverride trainingMode
AllowOverride spamAction spamSubject
AllowOverride statisticalSedation
AllowOverride enableBNR
AllowOverride enableWhitelist
AllowOverride signatureLocation
AllowOverride showFactors
AllowOverride optIn optOut
AllowOverride whitelistThreshold
MySQLServer     localhost
MySQLPort       3306
MySQLUser               dspam
MySQLPass               SUPERPASS
MySQLDb                 dspam
MySQLConnectionCache    10
HashRecMax              98317
HashAutoExtend          on
HashMaxExtents          0
HashExtentSize          49157
HashMaxSeek             100
HashConnectionCache     100
IgnoreHeader X-Spam-Status
IgnoreHeader X-Spam-Score
IgnoreHeader X-Spam-Scanned
IgnoreHeader X-Virus-Scanner-Result
IgnoreHeader Date
IgnoreHeader Envelope-to
IgnoreHeader Delivery-date
IgnoreHeader Received
IgnoreHeader User-Agent
IgnoreHeader Content-Type
IgnoreHeader Content-Transfer-Encoding
IgnoreHeader To
Notifications   off
LocalMX 127.0.0.1
SystemLog on
UserLog on
Opt out
MaxMessageSize 2000000
ProcessorBias on

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

cat /usr/local/etc/exim/configure
#############################
begin routers
############################
dnslookup:
 driver = dnslookup
 domains = ! +local_domains
 transport = remote_smtp
 ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
 no_more

system_aliases:
 driver = redirect
 allow_fail
 allow_defer
 data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE `address`='${quote_mysql:$local_part@$domain}' OR `address`='${quote_mysql:@$domain}'}}

# DSPAM ROUTERS
dspam_spamscan_router:
  driver = accept
  domains                      = +local_domains
  no_verify
  condition = "${if and {{!eq {$received_protocol}{spam-scanned}}{!eq {$received_protocol}{local}} } {1}{0}}"
  transport = dspam_spamcheck_transport
  require_files = /usr/local/bin/dspam
  address_test = false
  user = exim
  group = mail

local_delivery_spam_router:
  driver                       = accept
  domains                      = +local_domains
  condition                    = ${if match{$h_X-DSPAM-Result:}{Spam}}
  transport                    = local_delivery_spam_transport
  no_more
  user = exim
  group = mail

# LOCAL DELIVERY
dovecot_user:
 driver = accept
 condition = ${lookup mysql{SELECT `goto` FROM `alias` WHERE `address`='${quote_mysql:$local_part@$domain}' OR `address`='${quote_mysql:@$domain}' {yes}{no}}
 transport = dovecot_delivery

################################
begin transports
################################
remote_smtp:
 driver = smtp

dovecot_delivery:
 driver = pipe
 command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
 message_prefix =
 message_suffix =
 delivery_date_add
 envelope_to_add
 return_path_add
 log_output
 user = exim

address_pipe:
 driver = pipe
 return_output

address_reply:
 driver = autoreply

# DSPAM TRANSPORT
dspam_addspam_transport:
  driver = pipe
  command = "/usr/local/bin/dspam --user $local_part@$domain --class=spam --source=error"
  return_path_add = false
  return_fail_output = true
  log_output = true
  home_directory = "/var/db/dspam"
  current_directory = "/var/db/dspam"
  user = exim
  group = mail

dspam_notspam_transport:
  driver = pipe
  command = "/usr/local/bin/dspam --user $local_part@$domain --class=innocent --source=error --deliver=innocent %u"
  return_path_add = false
  return_fail_output = true
  log_output = true
  home_directory = "/var/db/dspam"
  current_directory = "/var/db/dspam"
  user = exim
  group = mail

dspam_spamcheck_transport:
  driver = pipe
  command = /usr/local/bin/dspam --deliver=innocent --user "$local_part@$domain" -- %u
  user = exim
  group = mail
  return_path_add = false
  log_output = true
  return_fail_output = true
  headers_remove        = X-DSPAM-Result

local_delivery_spam_transport:
  driver = pipe
  command = /usr/local/libexec/dovecot/deliver -d  $local_part@$domain -m Junk
  message_prefix =
  message_suffix =
  delivery_date_add
  envelope_to_add
  return_path_add
  log_output
  user = exim

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение freeman_tnu » 2013-10-25 11:35:35

Вы уверены, что dspam работает от пользователя exim и групы mail?
Тоесть у вас перед сборкой был такой /etc/make.conf ?

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

DSPAM_OWNER=exim
DSPAM_GROUP=mail
DSPAM_HOME_OWNER=exim
DSPAM_HOME_GROUP=mail
Попробуйте привести конфиг dspam к такому виду как у меня

mak_v_
проходил мимо

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение mak_v_ » 2013-10-25 11:48:52

DSPAM_OWNER=root
DSPAM_GROUP=mail
DSPAM_HOME_OWNER=root
DSPAM_HOME_GROUP=mail
Дупаю прав группы хватит, паралельно пересоберу с exim-овым. для теста

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение freeman_tnu » 2013-10-25 12:14:19

не спешите пересобирать, сначала отредактируйте конфиг дспама.

mak_v_
проходил мимо

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение mak_v_ » 2013-10-25 12:23:01

После пересборки и удаления /var/db/dspam /var/log/dspam

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

9574: [10/24/2013 12:20:26] Daemon process starting
9574: [10/24/2013 12:20:26] Unable to open file for writing: %s: %s
9574: [10/24/2013 12:20:26] Could not bind to :%d: %s
9574: [10/24/2013 12:20:26] Daemon mode failed to start
9574: [10/24/2013 12:20:26] Daemon process exiting
Откатился назад
Конфиг дспама...... какие строки по вашему мнению надо редактировать?

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение freeman_tnu » 2013-10-25 12:32:15

да попробуйте конфиг один в один с моим, а там сами разберетесь.
а что у вас тут?
cat /var/db/dspam/group

mak_v_
проходил мимо

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение mak_v_ » 2013-10-25 12:48:41

Конфиг 1-в-1 за исключением строки "Trust exim" - разрешение запускать от пользователя exim, под которым работает доставка

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

cat /var/db/dspam/group
primary:classification:local_part@domain.com
При любых телодвижениях с письмами, будь то доставка, перемещение между папками Junk\Inbox в лог сыпется

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

 No such feature '%s'
Подозреваю что грбля лежит не в секции транспортов\роутеров....а где именно - это загадка....

mak_v_
проходил мимо

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение mak_v_ » 2013-10-25 13:09:01

Методом исключения выяснил, что ошибка кроется в вызове dspam в плагине довекота, а именно в этой строке:
antispam_dspam_args = --user;%u;--deliver=;--source=error;--signature=%%s
Каким макаром проверить руками корректность синтаксиса?

Oleg_M
рядовой
Сообщения: 25
Зарегистрирован: 2013-09-23 12:53:30

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение Oleg_M » 2013-10-25 13:53:13

freeman_tnu писал(а):Oleg_M
покажи dspam.conf и /etc/dovecot/conf.d/90-plugin.conf

по поводу быстрого обучения man dspam_train

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

dspam_train mailnull /path/to/spam /path/to/ham
кормишь ему нужное количество писем, сколько надо смотреть так

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

 dspam_stats -H
поле TL Training Left:
Что-то мало считает письма, по моим подсчетам более 1000 точно уже на этот ящик пришло (в описании нашел что нужно принять 2500):

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

TN True Negatives:                   780
                FP False Positives:                    0
                FN False Negatives:                    0
                SC Spam Corpusfed:                     0
                NC Nonspam Corpusfed:                  0
                TL Training Left:                   1720
                SHR Spam Hit Rate                100.00%
                HSR Ham Strike Rate:               0.00%
                PPV Positive predictive value:   100.00%
                OCA Overall Accuracy:            100.00%
Ну а так что бы подбросить ему учебников к сожалению такой базы нету.

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

dspam.conf

Home /var/db/dspam
StorageDriver /usr/local/lib/dspam/libmysql_drv.so
TrustedDeliveryAgent "/usr/local/sbin/exim -oMr spam-scanned" # Exim
OnFail error
Trust root
Trust dspam
Trust apache
Trust mail
Trust mailnull.
Trust smmsp
Trust daemon
#ClassAliasSpam badstuff
#ClassAliasNonspam goodstuff
TrainingMode teft
TestConditionalTraining on
Feature noise
Algorithm graham burton
Tokenizer chain
PValue bcr
#PValue graham # По инструкции этот метод, но так как bcr с описанием Грахама думаю он правильнее
WebStats on
Preference "trainingMode=TEFT"<><------># { TOE | TUM | TEFT | NOTRAIN } -> default:teft
Preference "spamAction=tag"<---># { 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=on"<---><------># { 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     localhost
MySQLPort       3306
MySQLUser               dspam
MySQLPass               dgfdhsjgh
MySQLDb                 dspam
MySQLConnectionCache<-->20
HashRecMax<----><------>98317
HashAutoExtend<><------>on
HashMaxExtents<><------>0
HashExtentSize<><------>49157
HashPctIncrease><------>10
HashMaxSeek<---><------>10
HashConnectionCache<--->10
IgnoreHeader X-Spam-Status
IgnoreHeader X-Spam-Score
IgnoreHeader X-Spam-Scanned
IgnoreHeader X-Virus-Scanner-Result
IgnoreHeader Date
IgnoreHeader Envelope-to
IgnoreHeader Delivery-date
IgnoreHeader Received
IgnoreHeader User-Agent
IgnoreHeader Content-Type
IgnoreHeader Content-Transfer-Encoding
IgnoreHeader To
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
Opt out
MaxMessageSize 4194304 # Этот пункт меня смущает!
ProcessorBias on
StripRcptDomain off

90-plugin.conf

plugin {
  #setting_name = value
  # Указываем наш бэкенд
  antispam_backend = dspam
  # Задаем параметры обучения hum-а для DSPAM
  antispam_dspam_notspam = --class=innocent
  # Задаем параметры обучения spam-а для DSPAM
  antispam_dspam_spam = --class=spam
  # Обозначаем каталог спама
  antispam_spam = JUNK;Junk;junk
  # Обозначаем каталог корзины
  antispam_trash = trash;Trash;Deleted Items;Deleted Messages
  antispam_spam_pattern_ignorecase = Junk;Junk.*
  antispam_trash_pattern_ignorecase = Trash;Deleted Items;Deleted Messages
  # Какой хидер и подпись использовать для определения спамового письма
  antispam_dspam_result_header = X-DSPAM-Result
  antispam_signature = X-DSPAM-Signature
  # Что делать с письмом после переобучения:
  # в нашем случаем перемещать в указанный каталог
  antispam_signature_missing = move
  # Путь к бинарнику DSPAM
  antispam_dspam_binary = /usr/local/bin/dspam
  # Параметры обучения
  antispam_dspam_args = --user;%u;--deliver=;--source=error;--signature=%%s
}

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение freeman_tnu » 2013-10-25 13:55:15

mak_v_
cat /var/db/dspam/group
primary:classification:local_part@domain.com
тоесть Вы осознанно для каждого юзера отдельно будете базу вести по сигнатурам спам/неспам?
Я например все держу под одним системным юзером system дспама, мне так проще обучать фильтр, да и потом каждый юзер вносит лепту обучения в одну базу, а не для себя персонально. Но это только в моей ситуации.

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

# cat /var/db/dspam/group
system:shared:*

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

mysql> use dspam
Database changed
mysql> select * from  dspam_virtual_uids;
+-----+----------+
| uid | username |
+-----+----------+
|   3 | system   |
+-----+----------+
1 row in set (0.00 sec)
Руками можно проверить, элементарно по доке, да и в статье лиссяры описано (/usr/local/bin/dspam --debug --deliver=innocent --user
local_part@domain.com -- %u < spam.txt), но чтобы проверить именно --signature=%%s то придется вставлять конкретную сигнатуру конкретного письма.
А у Вас в базу дспама вообще что-то пишется? Может там просто нету сигнатур, после прохождения писем.

mak_v_
проходил мимо

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение mak_v_ » 2013-10-25 14:02:22

Не суть важно - персональная или общая..это "мухи"
Котлеты:
1)Сигнатуры инжектятся:
2) No such feature '%s' - лупит в лог, даже если в настройках плагина antispam_dspam_args - с пустой строкой.....откуда оно его хавает?

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

test1@test.com.ua:
                TP True Positives:                     0
                TN True Negatives:                     3
                FP False Positives:                    0
                FN False Negatives:                    0
                SC Spam Corpusfed:                     0
                NC Nonspam Corpusfed:                  0
                TL Training Left:                   2497
                SHR Spam Hit Rate                100.00%
                HSR Ham Strike Rate:               0.00%
                PPV Positive predictive value:   100.00%
                OCA Overall Accuracy:            100.00%

test@test.com.ua:
                TP True Positives:                     0
                TN True Negatives:                     0
                FP False Positives:                   20
                FN False Negatives:                   24
                SC Spam Corpusfed:                     0
                NC Nonspam Corpusfed:                  0
                TL Training Left:                   2488
                SHR Spam Hit Rate                  0.00%
                HSR Ham Strike Rate:             100.00%
                PPV Positive predictive value:     0.00%
                OCA Overall Accuracy:              0.00%
Последний раз редактировалось mak_v_ 2013-10-25 14:04:51, всего редактировалось 1 раз.

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение freeman_tnu » 2013-10-25 14:04:35

Oleg_M писал(а): TL Training Left: 1720
Ну а так что бы подбросить ему учебников к сожалению такой базы нету.
Надо собирать письма со спамом в кучу и скормить, иначе никак, либо долго и нудно ждать, т.к. судя по

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

imap(mail-copy-mailbox@домен.ua): Debug: dspam error: ..2632 prefix=imap(mail-copy-mailbox@домен.ua):
Oct 25 01:18:25 imap: Error:
Oct 25 01:18:25 imap: Error:
Oct 25 01:18:25 imap(mail-copy-mailbox@домен.ua): Debug: dspam error: ..2632 executing /usr/local/bin/dspam failed: 13 (uid=26, gid=26)
Oct 25 01:18:25 imap: Error:
Oct 25 01:18:25 imap: Error:
у Вас даже бинарник не запускается executing /usr/local/bin/dspam failed

mak_v_
проходил мимо

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение mak_v_ » 2013-10-25 14:20:19

Всем спасибо, глупый копипаст всему виной:
cat /usr/local/etc/dspam.conf | grep Feature
Feature noise
Было Feature noise chained

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение freeman_tnu » 2013-10-25 14:23:04

фухх, ато я чуть мозг не сломал )))

mak_v_
проходил мимо

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение mak_v_ » 2013-10-25 14:35:07

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

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение freeman_tnu » 2013-10-25 14:42:16

Ничего не надо ковырять, достаточно

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

# cat /var/db/dspam/group
system:shared:*
Неплохая статья по сабжу http://samag.ru/archive/article/526
И пару заметок из кеша гугла, т.к. оригинал мертв:
раз
два

Oleg_M
рядовой
Сообщения: 25
Зарегистрирован: 2013-09-23 12:53:30

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение Oleg_M » 2013-10-25 15:06:22

freeman_tnu писал(а):
Oleg_M писал(а): ...
у Вас даже бинарник не запускается executing /usr/local/bin/dspam failed
Вот и я о том же, мускул базу смотрю наполняет непонятно чем правда, шлю ему письма через spam-имя@домен.ua, раньше наблюдал что когда присылал то база увеличивалась, а сейчас увеличивается когда вообще приходит почта на сервак. (временно включал белый список, может он тому виной)

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

Таблица По убыванию 	 	Строки 	Тип 	Сравнение 	Размер 	Фрагментировано
	dspam_preferences		 0	MyISAM	latin1_swedish_ci	1 КБ	-
	dspam_signature_data 1,939	MyISAM	latin1_swedish_ci	8.1 МБ	-
	dspam_stats				42	MyISAM	latin1_swedish_ci	4.8 КБ	-
	dspam_token_data	293,228	MyISAM	latin1_swedish_ci	34.5 МБ	-
	dspam_virtual_uids		42	MyISAM	latin1_swedish_ci	6.4 КБ	-
	5 таблиц	Всего	295,251	InnoDB 	latin1_swedish_ci	42.6 МБ
И вот так выглядят синатуры, это нормально?

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

 uid 		signature		 		data	 		length 	created_on
1 	52547a6b15976825828961 	[BLOB - 1.1 КБ]	1092 	2013-10-09

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение freeman_tnu » 2013-10-25 15:16:36

Oleg_M писал(а):[
И вот так выглядят синатуры, это нормально?

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

 uid 		signature		 		data	 		length 	created_on
1 	52547a6b15976825828961 	[BLOB - 1.1 КБ]	1092 	2013-10-09
Абсолютно.
Опять же смотрите мои сегодншние посты выше по поводу груп в дспам и спамовых баз для каждого юзера и для группы. И постом выше полезные ссылки.
А на бинарник видмо права...

Аватара пользователя
gyurza2000
лейтенант
Сообщения: 794
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение gyurza2000 » 2013-11-29 21:25:35

Настраивал по Вашей статье, до DSPAM пока не дошёл, хотелось бы для начала настроить работу хотябы IMAP и SIEVE
Вобщем в Круглокубе удаление/перемещение в другие папки длится АДСКИ долго и в логах при этом видим:

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

Nov 29 22:15:28 imap-login: Info: Aborted login (no auth attempts in 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<HVOl0FTsiAB/AAAB>
Nov 29 22:15:28 auth: Debug: auth client connected (pid=32979)
Nov 29 22:15:29 auth: Debug: client in: AUTH	1	CRAM-MD5	service=imap	secured	session=xlCp0FTsiQB/AAAB	lip=127.0.0.1	rip=127.0.0.1	lport=143	rport=37001
Nov 29 22:15:29 auth: Debug: client passdb out: CONT	1	PDQwMTYyMzU3Njg0Mjg5NTAuMTM4NTc0ODkyOUBhZGlvcy5zcGIucnU+
Nov 29 22:15:29 auth: Debug: client in: CONT<hidden>
Nov 29 22:15:29 auth-worker(32864): Debug: sql(gyurza2000@adios.spb.ru,127.0.0.1): query: SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = 'gyurza2000@adios.spb.ru' AND `active`='1'
Nov 29 22:15:29 auth: Debug: client passdb out: OK	1	user=gyurza2000@adios.spb.ru
Nov 29 22:15:29 auth: Debug: master in: REQUEST	1447952385	32979	1	1317048327d08e932b6e1bd9fe8263f6	session_pid=32986
Nov 29 22:15:29 auth: Debug: master userdb out: USER	1447952385	gyurza2000@adios.spb.ru	home=/80gb/mail/adios.spb.ru//80gb/mail/adios.spb.ru/gyurza2000/	uid=26	gid=26	quota=dict:storage=0::proxy::sqlquota	quota_rule=*:storage=0B	auth_token=1cd96ad8558dd7a16625f16899dc7dc3bd1da25d
Nov 29 22:15:29 auth: Debug: auth client connected (pid=32984)
Nov 29 22:15:29 auth-worker(32864): Debug: sql(gyurza2000@adios.spb.ru,127.0.0.1): SELECT CONCAT('/80gb/mail/', `domain`, '/', `maildir`) AS `home`, 26 AS `uid`, 26 AS `gid`, concat('dict:storage=', CAST(ROUND(quota / 1024) AS CHAR), '::proxy::sqlquota') AS quota, CONCAT('*:storage=', CAST(quota AS CHAR), 'B') AS quota_rule FROM `mailbox` WHERE `username` = 'gyurza2000@adios.spb.ru' AND `active`='1'
Nov 29 22:15:29 imap-login: Info: Login: user=<gyurza2000@adios.spb.ru>, method=CRAM-MD5, rip=127.0.0.1, lip=127.0.0.1, mpid=32986, secured, session=<xlCp0FTsiQB/AAAB>
Nov 29 22:15:29 imap: Debug: Loading modules from directory: /usr/local/lib/dovecot
Nov 29 22:15:29 imap: Debug: Module loaded: /usr/local/lib/dovecot/lib10_quota_plugin.so
Nov 29 22:15:29 imap: Debug: Module loaded: /usr/local/lib/dovecot/lib11_imap_quota_plugin.so
Nov 29 22:15:29 imap: Debug: Module loaded: /usr/local/lib/dovecot/lib90_antispam_plugin.so
Nov 29 22:15:29 imap: Debug: Added userdb setting: plugin/quota=dict:storage=0::proxy::sqlquota
Nov 29 22:15:29 imap: Debug: Added userdb setting: plugin/quota_rule=*:storage=0B
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Effective uid=26, gid=26, home=/80gb/mail/adios.spb.ru//80gb/mail/adios.spb.ru/gyurza2000/
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Home dir not found: /80gb/mail/adios.spb.ru//80gb/mail/adios.spb.ru/gyurza2000/
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota root: name=storage=0 backend=dict args=:proxy::sqlquota
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota rule: root=storage=0 mailbox=* bytes=0 messages=0
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota rule: root=storage=0 mailbox=Trash bytes=+104857600 messages=0
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota rule: root=storage=0 mailbox=Junk ignored
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota warning: bytes=0 (100%) messages=0 reverse=no command=quota-exceeded 100 gyurza2000@adios.spb.ru
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota warning: bytes=0 (95%) messages=0 reverse=no command=quota-warning 95 gyurza2000@adios.spb.ru
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota warning: bytes=0 (90%) messages=0 reverse=no command=quota-warning 90 gyurza2000@adios.spb.ru
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota warning: bytes=0 (85%) messages=0 reverse=no command=quota-warning 85 gyurza2000@adios.spb.ru
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota warning: bytes=0 (80%) messages=0 reverse=no command=quota-warning 80 gyurza2000@adios.spb.ru
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota warning: bytes=0 (75%) messages=0 reverse=no command=quota-warning 75 gyurza2000@adios.spb.ru
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota warning: bytes=0 (70%) messages=0 reverse=no command=quota-warning 70 gyurza2000@adios.spb.ru
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota warning: bytes=0 (65%) messages=0 reverse=no command=quota-warning 65 gyurza2000@adios.spb.ru
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Quota grace: root=storage=0 bytes=0 (10%)
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: dict quota: user=gyurza2000@adios.spb.ru, uri=proxy::sqlquota, noenforcing=0
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/80gb/mail/adios.spb.ru/gyurza2000
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: maildir++: root=/80gb/mail/adios.spb.ru/gyurza2000, index=, indexpvt=, control=, inbox=/80gb/mail/adios.spb.ru/gyurza2000, alt=
Nov 29 22:16:28 imap-login: Info: Aborted login (no auth attempts in 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<ZcE01FTsWwB/AAAB>
Nov 29 22:16:28 auth: Debug: auth client connected (pid=33180)
Nov 29 22:17:28 imap-login: Info: Aborted login (no auth attempts in 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<avnC11TsawB/AAAB>
Nov 29 22:17:28 auth: Debug: auth client connected (pid=33375)
Nov 29 22:18:28 imap-login: Info: Aborted login (no auth attempts in 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<8mFe21TszwB/AAAB>
Nov 29 22:18:28 auth: Debug: auth client connected (pid=33573)
в ERROR логе при этом пусто
кроме того, в настройках круглокуба, круглокуб во вкладке "Фильтры" пишет "Невозможно соединиться с сервером SIEVE"

Почта принимается и отправляется, принимается, раскладываясь по папкам, но, как я уже сказал в настройках к этим правилам сортировки почты доступа нет
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.23, PHP 5.6.27, MySQL 5.6.34, Exim-4.87, Dovecot2 - 2.2.26.0_4

Аватара пользователя
gyurza2000
лейтенант
Сообщения: 794
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение gyurza2000 » 2013-12-01 23:21:19

Ладно, с этим вроде разобрался - корзина слишком огромная...теперь мучаюсь, пытаюсь почистить.
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.23, PHP 5.6.27, MySQL 5.6.34, Exim-4.87, Dovecot2 - 2.2.26.0_4

Аватара пользователя
gyurza2000
лейтенант
Сообщения: 794
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение gyurza2000 » 2013-12-02 8:14:10

Обнаружилось что Sieve ничерта не работает. Сортировки не происходит
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.23, PHP 5.6.27, MySQL 5.6.34, Exim-4.87, Dovecot2 - 2.2.26.0_4

Аватара пользователя
gyurza2000
лейтенант
Сообщения: 794
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение gyurza2000 » 2013-12-02 9:39:11

И в логах непонятное задвоение:

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

Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Effective uid=26, gid=26, home=/80gb/mail/adios.spb.ru//80gb/mail/adios.spb.ru/gyurza2000/
Nov 29 22:15:29 imap(gyurza2000@adios.spb.ru): Debug: Home dir not found: /80gb/mail/adios.spb.ru//80gb/mail/adios.spb.ru/gyurza2000/
откуда оно берётся?
Почта работает, а вот сортировки по папкам не происходит
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.23, PHP 5.6.27, MySQL 5.6.34, Exim-4.87, Dovecot2 - 2.2.26.0_4

Аватара пользователя
gyurza2000
лейтенант
Сообщения: 794
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение gyurza2000 » 2013-12-02 20:19:10

Ну и с задвоением разобрался...но вот SIEVE...ничего не понимаю:

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

Dec 02 19:19:42 lda(gyurza2000@adios.spb.ru): Debug: sieve: Pigeonhole version 0.4.2 initializing
Dec 02 19:19:42 lda(gyurza2000@adios.spb.ru): Debug: sieve: include: sieve_global_dir is not set; it is currently not possible to include `:global' scripts.
Dec 02 19:19:42 lda(gyurza2000@adios.spb.ru): Debug: sieve: script file /80gb/mail/adios.spb.ru/gyurza2000/sieve/.sieve not found
Dec 02 19:19:42 lda(gyurza2000@adios.spb.ru): Debug: sieve: user's script /80gb/mail/adios.spb.ru/gyurza2000/sieve/.sieve doesn't exist (trying default script location instead)
Dec 02 19:19:42 lda(gyurza2000@adios.spb.ru): Debug: sieve: no default script configured for user
Dec 02 19:19:42 lda(gyurza2000@adios.spb.ru): Debug: sieve: user has no valid location for a personal script
Dec 02 19:19:42 lda(gyurza2000@adios.spb.ru): Debug: sieve: no scripts to execute: reverting to default delivery.
Dec 02 19:19:42 lda: Debug: Loading modules from directory: /usr/local/lib/dovecot
Dec 02 19:19:42 lda: Debug: Module loaded: /usr/local/lib/dovecot/lib10_quota_plugin.so
Dec 02 19:19:42 lda: Debug: Module loaded: /usr/local/lib/dovecot/lib90_sieve_plugin.so
причём скрипты по указанному пути лежат и круглокуб их видит, а вот Dovecot их не видит! Владелец скриптов - mailnull:mail
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.23, PHP 5.6.27, MySQL 5.6.34, Exim-4.87, Dovecot2 - 2.2.26.0_4

Аватара пользователя
gyurza2000
лейтенант
Сообщения: 794
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Exim и Dovecot2 c аутентификацией CRAM-MD5 + SQL quota +

Непрочитанное сообщение gyurza2000 » 2013-12-09 23:27:54

А у меня EXIM не стартует если в этой секции:

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

dspam_notspam_transport
стоит

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

сurrent_directory = "/var/db/dspam"
, выдаёт оштбку:

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

Exim configuration error in line 516 of /usr/local/etc/exim/configure:
  option setting expected: сurrent_directory = "/var/db/dspam"
/usr/local/etc/rc.d/exim: WARNING: failed to start exim
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.23, PHP 5.6.27, MySQL 5.6.34, Exim-4.87, Dovecot2 - 2.2.26.0_4