У меня Dovecot 2.2.27 успешно работает на Debian Stretch. На моем сервере наблюдается подозрительная активность, и я хочу регистрировать ВСЕ необработанные сообщения IMAP, отправленные / полученные моим сервером. Вот файл .conf в /etc/dovecot/conf.d/[12248pting( Источник: 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. Не рекомендуется оставлять его включенным на несколько месяцев подряд!