Tuesday, June 10, 2014

Opensource vs. Non-opensource

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

Tuesday, June 3, 2014

Перлюстрация почты. Заметка 1.

Продолжим попирать свободы разных типов и видов, в условиях недостаточного финансирования.

Предположим, что руководство возжелало читать почту сотрудников, о чем дало вам недвусмысленное указание. Но денег при этом, по каким-то понятным лишь руководству причинам, на систему сбора почты выделено не было.

Разворачиваем циновки, достаем бубны и призываем на помощь уже не раз выручившую нас юникс-подобную операционную систему. На нее устанавливаем любой почтовый сервер. На подвернувшемся мне под руку 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. Не считаю зазорным постоянно напоминать сотрудникам о том, что их почта собирается и может быть прочитана сотрудниками службы безопасности или их руководством. Рекомендую делать это регулярно, даже если почта не собирается - береженого бог бережет.