Опрос POP3: понимание логов Dovecot

Я разбираюсь с функциями опроса POP3 и воспроизведения по электронной почте и начинаю в них разбираться.

Однако у меня возникают трудности с объяснением того, что наш POP3-сервер записывает в журнал при подключении Discourse. Не могли бы вы помочь объяснить пары строк RETR/access, которые записываются в журнал POP3-сервера каждый раз, когда Discourse подключается к нему? Это происходит, как и ожидалось исходя из значения период опроса POP3 (мин), каждые 5 минут.

В прикреплённом файле (21,2 КБ) приведены строки, записанные с момента активации обеих функций и первого действия опроса.

Спасибо за помощь!

(Как это вопрос по Discourse, а не по Dovecot?)

Это просто означает, что Discourse получает письма из вашего почтового ящика по одному.

Я колебался, обратиться ли сюда или искать помощи на форуме Dovecot. Я задал вопрос здесь, потому что это связано с опросом почты Discourse с сервера. Ваш ответ помог мне сопоставить количество «парных строк» с количеством сообщений, доступных на сервере. Пока я не понимаю, почему иногда количество парных строк в точности равно количеству сообщений во входящих, а иногда — всего 36.

Сейчас я обращаюсь к сообществу Dovecot за дополнительной информацией: мне нужно получить полное объяснение лога, чтобы иметь возможность использовать функции POP3 в Discourse.

Огромное спасибо за вашу помощь.

Вы уверены, что число 36 вызвано Discourse, а не, например, Roundcube или другим почтовым клиентом, который получает письма постранично?

Настолько же уверен, насколько может быть уверен новичок, использующий лето для улучшения своих навыков! Спасибо за рассмотрение проблемы.

Думаю, RoundCube здесь использует IMAP. Новое вложение (9,8 КБ) включает серию с n=36. Она воспроизводится каждые 5 минут. Именно поэтому я предполагаю, что это связано с Discourse. Пока я не могу понять, когда n равно количеству сообщений во входящих ящиках аккаунта premise.

Спасибо!

Теперь я более уверен в происхождении проблемы. Прочитав RFC 1939 и имея возможность запускать rails c для работы с библиотекой net/pop хотя бы для некоторых базовых действий.

[10] pry(main)> Net::POP3.enable_ssl(OpenSSL::SSL::VERIFY_NONE)
=> {:verify_mode=>0}
[11] pry(main)> pop = Net::POP3.new('x.y.z')
=> #<Net::POP3 x.y.esz open=false>
[12] pry(main)> pop.start('premises', 'xxxxxxxxx')
=> #<Net::POP3 x.y.z: open=true>
[13] pry(main)> pop.n_mails()
=> 103

Что я не могу объяснить, так это почему некоторые циклы опроса читают только 36 сообщений. Последнее обращение всегда к UID=36.

Aug 19 15:46:00 igfae dovecot: pop3(premises): Debug: Mailbox INBOX: Opened mail UID=36 because: access
Aug 19 15:46:00 igfae dovecot: pop3(premises): Debug: Mailbox INBOX: Opened mail UID=36 because: RETR

Это число не менялось, несмотря на то, что в аккаунте теперь больше сообщений.

Не могли бы вы помочь найти объяснение такому поведению? Сотрудники службы безопасности нашего центра не любят, когда работает программное обеспечение, генерирующее логи, которые мы не можем объяснить! Спасибо!

Хотя это и заманчиво — ведь я тоже не люблю того, чего не понимаю, — я считаю это бесполезным занятием, поскольку реальной проблемы нет.

В прошлый раз я быстро проверил исходный код, но ничего там не обнаружил.
Предлагаю вам понизить уровень логирования…

Логирование — это ещё одна тема, в которой мне ещё многое предстоит разобраться!

В текущем файле /var/log/maillog нашего почтового сервера из 36467 строк 30644 относятся к Dovecot. Discourse — единственный сервис в нашей организации, использующий Dovecot. Несмотря на то, что многие находятся в отпуске, 84% записей отражают активность почты Discourse.

У меня нет никакого контроля над тем, что регистрирует почтовый сервер. Я могу только читать эти данные. Следовательно, я могу изменить только то, какую информацию Discourse/Dovecot отправляют. Большинство строк содержат Debug. Похоже, что конфигурация логирования в нашем экземпляре Discourse отправляет отладочную информацию на почтовый сервер.

Как я могу изменить это поведение?

Заранее прошу прощения, если я неправильно понял, как работает процесс логирования! Спасибо!

Нет, почтовый сервер настроен на ведение журнала в режиме «debug».

Ситуация следующая:

  • экземпляр dovecot в вашей организации настроен на ведение журнала в режиме отладки. Режим отладки предназначен для расширенного устранения неполадок и требует глубокого понимания принципов работы программного обеспечения dovecot. Поскольку проблемы нет, в устранении неполадок нет необходимости, а раз в устранении неполадок нет необходимости, уровень ведения журнала можно установить на более низкий (менее подробный).
  • Ваши сотрудники службы безопасности в вашем центре жалуются, что не понимают логи. Это связано с тем, что для понимания этих логов требуется глубокое понимание принципов работы программного обеспечения dovecot, чего у них нет.

Отсюда решение: сотрудники, управляющие программным обеспечением dovecot, должны изменить уровень ведения журнала.

Это не то, о чем они должны жаловаться людям, использующим программное обеспечение dovecot (то есть вам). Это то, что сделали они или их коллеги по работе.

Они это сделали! Теперь лог стал гораздо чище и информативнее.

Большое спасибо за ваше объяснение. Общаться гораздо проще, когда есть хорошее описание и анализ ситуации. Я понимаю все вопросы безопасности, так как мы столкнулись с серьёзными проблемами за последние пару лет. Я готов приложить усилия, чтобы получить разъяснения, но без вашей помощи и помощи других волонтёров здесь и там, людям вроде меня, с небольшим опытом в IT, было бы невозможно использовать и пропагандировать использование таких замечательных инструментов, как Discourse.

Кроме того, я сейчас перейду к другим вопросам, связанным с настройками электронной почты. Большое спасибо!