Продолжим попирать свободы разных типов и видов, в условиях недостаточного финансирования.
Предположим, что руководство возжелало читать почту сотрудников, о чем дало вам недвусмысленное указание. Но денег при этом, по каким-то понятным лишь руководству причинам, на систему сбора почты выделено не было.
Разворачиваем циновки, достаем бубны и призываем на помощь уже не раз выручившую нас юникс-подобную операционную систему. На нее устанавливаем любой почтовый сервер. На подвернувшемся мне под руку Debian оказался Exim, который переводим в режим satellite. Что же, пусть он немного послужит силам, которые сложно однозначно идентифицировать.
Из-за больших объемов внутренней переписки, мы убеждаем руководство, что для мониторинга достаточно собирать почту, отправляющуюся за пределы нашей информационной системы. Это позволит снизить нагрузку на почтовый сервер и сервер сбора этой почты. Дальше не для протокола – это так же помогает не собирать неофициальную переписку между сотрудниками, которой достаточно много и читать которую совершенно не нужно.
Просим администратора почтового сервера отправлять на наш сервер, с использованием протокола smtp, копию всех сообщений идущих за пределы сети.
Для работы с «улетающей» почтой используем механизм «system-wide message filtering» характерный тем, что правило срабатывает 1 раз для сообщения независимо от количества адресатов и работает оно до роутинга.
Начнем с файла /etc/exim4/conf.d/main/ 01_exim4-config_listmacrosdefs, вставив в него пару строк (на самом деле их вставить можно куда угодно, но тут мне кажется, их легче найти через пару лет):
system_filter = /etc/exim4/systemfilter.txt
system_filter_directory_transport = local_copy_outgoing
Тут мы определили, где будет прописано наше правило и транспорт для сохранения писем.
Теперь создадим файл /etc/exim4/systemfilter.txt и запишем в нем следующее:
if $sender_address_domain is and not $sender_address is
then
save /var/mail/mailarchive/$sender_address/
elif $sender_address is
then
finish
else
seen finish
endif
Теперь мы определили, как обрабатывается входящая почта, собирая в папку почту из и исключая из обработки письма со специального адреса (который в моем случае используется для передачи служебных писем через используемый для мониторинга почтовый сервер).
Как, сохраняя свою совесть чистой, отправлять собираемую информацию руководству, в следующей серии.
PS. Не считаю зазорным постоянно напоминать сотрудникам о том, что их почта собирается и может быть прочитана сотрудниками службы безопасности или их руководством. Рекомендую делать это регулярно, даже если почта не собирается - береженого бог бережет.