Назад | Перейти на главную страницу

Dovecot - записывать все команды IMAP

У меня Dovecot 2.2.27 успешно работает на Debian Stretch. На моем сервере наблюдается подозрительная активность, и я хочу регистрировать ВСЕ необработанные сообщения IMAP, отправленные / полученные моим сервером. Вот файл .conf в /etc/dovecot/conf.d/

service imap-login {
  executable = imap-login -R rawlogs
}

(Источник: https://wiki.dovecot.org/Debugging/Rawlog )

Rawlog записывает, когда пользователь входит на мой IMAP-сервер (предварительный журнал rawlog). Но вот когда это прекращается. После этого он не записывает никаких сообщений. Я хочу, чтобы все сообщения IMAP были получены / отправлены для соединения (вход в систему, проверка почтового ящика, загрузка новой почты и т. Д.)

Вот пример файла .in:

1523905191.015557 1 LOGIN ***EMAIL ADDRESS HERE*** ***PASSWORD HERE***

И файл .out:

1523905190.806295 * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.

Я добавил следующий код в вышеупомянутый файл .conf для ведения журнала после входа в систему:

service imap {
  # tell imap to do post-login lookup using a socket called "imap-postlogin"
  executable = imap imap-postlogin
}

# The service name below doesn't actually matter.
service imap-postlogin {
  # all post-login scripts are executed via script-login binary
  executable = script-login /usr/lib/dovecot/rawlog

  # the script process runs as the user specified here (v2.0.14+):
#  user = $default_internal_user
  user = pksml
  # this UNIX socket listener must use the same name as given to imap executable
  unix_listener imap-postlogin {
  }
}

(Источник: https://wiki.dovecot.org/PostLoginScripting )

Это не имело значения. Ведение журнала по-прежнему существует только для аутентификации и ничего более, даже когда я проверяю учетную запись электронной почты. Я что-то делаю не так, или это не возможность Dovecot? Спасибо.

PS Я перезагрузил сервис Dovecot после внесения изменений в файл .conf.

PS # 2: пользователи почты - это виртуальные пользователи, а не настоящие пользователи системы Linux


РЕДАКТИРОВАТЬ - Текущий .conf файл:

import_environment = $import_environment DEBUG=1

service imap-login {
  executable = imap-login -R rawlogs
}

protocol imap {
  rawlog_dir = /var/run/dovecot/login/rawlogs
}

service imap {
  executable = imap imap-postlogin
}

service imap-postlogin {
  executable = script-login -d /usr/lib/dovecot/rawlog -I
  unix_listener imap-postlogin {
  }
}

Наконец я добился регистрации команд IMAP.

Кстати, я изначально настроил свой сервер, используя руководство по адресу https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql/

Вот соответствующие команды конфигурации dovecot для rawlog:

mail_location = maildir:/var/mail/vhosts/%d/%n
userdb {
  args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
  driver = static
}
service imap-login {
  executable = imap-login -R rawlogs
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service imap-postlogin {
  executable = script-login -d rawlog
}
service imap {
  executable = imap imap-postlogin
}
protocol imap {
  rawlog_dir = /var/run/dovecot/login/rawlogs
}

Ты получаешь .in и .out файлы для аутентификации хранятся в /var/run/dovecot/login/rawlogs (rawlog_dir).

В настоящее время rawlog_dir каталог имеет 777 разрешения.

После аутентификации IMAP-соединение, передаваемое на / с сервера для конкретного пользователя, находится в домашней папке пользователя во вложенной папке с именем dovecot.rawlog (что вы должны создать). Например, в моей настройке я создал папку /var/mail/vhosts/domain.com/user/dovecot.rawlog. В этой папке есть 777 разрешения и принадлежит root:vmail.

Примечание: в этих .in и .out файлов вы увидите всю переданную информацию IMAP, включая электронную почту в виде обычного текста. Также обратите внимание, что эта папка будет быстро завалить файлами. Следи за этим.

Заключительные мысли: Скорее всего, необработанное ведение журнала используется для отладки или понимания протокола IMAP. Не рекомендуется оставлять его включенным на несколько месяцев подряд!