PDA

Показать полную графическую версию : [решено] Dovecot. Кто удаляет письма?


El Scorpio
22-12-2015, 09:47
Добрый день.
В локальной сети организации есть почтовый сервер, который собирает входящую почту из нескольких почтовых ящиков на публичных серверах (яндекс, майл и т.д.) и выполняет отправку исходящей почты через эти почтовые ящики.

На этом почтовом сервере зарегистрировано несколько внутренних почтовых ящиков для разных отделов. В том числе один "общий" почтовый ящик, в который выгружается вся почта, поступающая на официальный e-mail организации. Почему так? Потому что "официальный" адрес выдали только один :)

На рабочих местах используется Thunderbird.
На почтовом сервере - связка Postfix и Dovecot.

До недавнего времени всё было нормально. Каждый специалист отправлял свою почту, а потом находил "в общей куче" ответы на свои письма. Секретов у специалистов друг от друга не было, и никто никому никаких проблем не создавал.
Однако с недавнего времени началось творится странное. Кто-то (или что-то) начал удалять почту в массовом порядке. Благо почта при этом просто уходила в папку "Удалённые" почтового ящика, откуда её быстро возвращали обратно.

Один раз - случайность. Два раза - совпадение. Три раза - троцкизьм и вредительство.

Вопрос: как можно отследить, какая сволочь делает эту гадость? Что нужно прописать в конфиги Dovecot'а, чтобы он фиксировал подобные действия?
"Пользователь" будет один, но по IP-адресу рабочего места будет понятно, кому давать десять лет строгого расстрела без права переписки.

James Marsh
22-12-2015, 21:34
Просторы интернета пишут, что давкот пишет усё, что с ним происходит "из каропки"(это если шаловливые руки чего-то не отключали или самосбор).

http://wiki.dovecot.org/Logging - думаю будет отправной точкой на поискать

http://wiki.dovecot.org/Debugging/Rawlog

El Scorpio
23-12-2015, 06:38
Нашёл на просторах интернетов следующие настройки, которые вписал в конец /etc/dovecot/dovecot.conf

protocol imap {
mail_plugins = $mail_plugins mail_log notify

}
protocol pop3 {
mail_plugins = $mail_plugins mail_log notify

}
protocol lda {
mail_plugins = $mail_plugins mail_log notify
# %$ - Delivery status message (e.g. "saved to INBOX")
# %m - Message-ID
# %s - Subject
# %f - From address
deliver_log_format = from=%f subj=%s msgid=%m: %$

}

plugin {
# Events to log. Also available in v1.2+: flag_change append
mail_log_events = delete undelete expunge
# Group events within a transaction to one line.
# Если группировка не нужна, то комментируем, пустой не оставляем
#mail_log_group_events =
# Available in v1.1+: uid, box, msgid, size, vsize
# Available in v1.2+: from, subject, flags
mail_log_fields = uid box msgid size from subject flags
}


Теперь при удалении письма в mail.log пишется следующее:
c 23 13:23:49 webserver dovecot: imap-login: Login: user=<syslogger>, method=PLAIN, rip=172.25.46.63, lip=172.25.46.127, mpid=8806, TLS, session=<YjAuQIgnaACsGS4/>
Dec 23 13:23:52 webserver dovecot: imap(syslogger): delete: box=INBOX.Brother, uid=815, msgid=, size=3380, from=mfu-jurist@arktika.local, subject==?ISO-8859-5?Q?=BE=E2=E7=D5=E2 =ED=DB.=DF=DE=E7=E2=EB?=, flags=(\Deleted \Seen NonJunk)


То есть в строке протоколирования команды удаления письма выводится только имя пользователя без адреса/имени компьютера.
Можно ли добавить это значение?
Какие ещё пункты можно добавить в параметр mail_log_fields ?

James Marsh
23-12-2015, 21:25
http://wiki1.dovecot.org/Plugins/MailLog

плюс, а в /var/log/messages или /var/log/mail, /var/log/maillog ничего от давкота не пишется?

El Scorpio
24-12-2015, 01:17
в /var/log/messages или /var/log/mail, /var/log/maillog ничего от давкота не пишется? »
Всё пишется в процесс syslog с идентификатором mail , а syslog записывает в файл /var/log/mail.log
/var/log/messages ничего по dovecot не содержит
Иных логов нет.

Делать вывод по imap(user): невозможно, так как с общим ящиком все пользователи работают под одним общим логином.

El Scorpio
29-12-2015, 02:19
Нашёл дурака.

В протоколе рядом со множеством сообщений "Delete" было множество сообщений "Login" с IP-адресом дурня.

James Marsh
29-12-2015, 20:43
Та ну, а в каком файле? Можете кусок лога прилепить? Думаю, что кому-нить да понадобится.

El Scorpio
30-12-2015, 01:04
Та ну, а в каком файле? »
Повторяю: Всё пишется в процесс syslog с идентификатором mail , а syslog записывает в файл /var/log/mail.log
Настройки логирования для dovecot я написал выше. Образцы строк из лога тоже указаны выше.


В общем нашёл множество сообщений типа Login, которые были перед множеством сообщений типа Delete.

necoro
28-11-2016, 15:29
Дополню, если в конфиге прописать
mail_log_prefix = "%s(%u):(%r): "

то в логах увидим заветный IP адрес:
Nov 28 15:25:13 mail dovecot: imap(administrator@testcom):(192.168.1.99): copy from INBOX: box=Trash, uid=16200, msgid=<100a55118f338f8194fb5fa7141250d8@swift.generated>, size=13299

El Scorpio
29-11-2016, 02:27
Дополню, если в конфиге прописать
mail_log_prefix = "%s(%u):(%r): " »
Исправил данный параметр в файле /etc/dovecot/conf.d/10-logging.conf

Теперь в логах пишется искомое
Nov 29 09:25:08 webserver.XXXXXX.local dovecot: imap(global):(172.25.46.63): delete: box=INBOX, uid=62623, msgid=<d8ba01d2492c$88b9eac0$068a40cd@ubsywbr>, from==?windows-1251?B?0+vz9/jo8vwg7+Ds//L8?= <ubsywbr@lookingers.eu>, subject==?windows-1251?B?yuDqIPPr8/f46PL8IO/g7P/y/A==?=




© OSzone.net 2001-2012