Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Linux и FreeBSD (http://forum.oszone.net/forumdisplay.php?f=11)
-   -   [решено] Dovecot. Кто удаляет письма? (http://forum.oszone.net/showthread.php?t=309483)

El Scorpio 22-12-2015 09:47 2587288

Dovecot. Кто удаляет письма?
 
Добрый день.
В локальной сети организации есть почтовый сервер, который собирает входящую почту из нескольких почтовых ящиков на публичных серверах (яндекс, майл и т.д.) и выполняет отправку исходящей почты через эти почтовые ящики.

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

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

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

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

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

James Marsh 22-12-2015 21:34 2587516

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

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

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

El Scorpio 23-12-2015 06:38 2587566

Нашёл на просторах интернетов следующие настройки, которые вписал в конец /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 2587851

http://wiki1.dovecot.org/Plugins/MailLog

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

El Scorpio 24-12-2015 01:17 2587887

Цитата:

Цитата James Marsh
в /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 2589341

Нашёл дурака.

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

James Marsh 29-12-2015 20:43 2589637

Та ну, а в каком файле? Можете кусок лога прилепить? Думаю, что кому-нить да понадобится.

El Scorpio 30-12-2015 01:04 2589688

Цитата:

Цитата James Marsh
Та ну, а в каком файле? »

Повторяю: Всё пишется в процесс syslog с идентификатором mail , а syslog записывает в файл /var/log/mail.log
Настройки логирования для dovecot я написал выше. Образцы строк из лога тоже указаны выше.


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

necoro 28-11-2016 15:29 2691161

Дополню, если в конфиге прописать
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 2691344

Цитата:

Цитата necoro
Дополню, если в конфиге прописать
Код:

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==?=


Время: 21:57.

Время: 21:57.
© OSzone.net 2001-