Шифрование Logrotate перед отправкой

Я использую logrotate, который регулярно отправляет мне логи. Мой сервер - это VPS, на котором работает Postfix в качестве SMTP-сервера только для исходящих сообщений.

Я хотел бы, чтобы все отправленные по почте журналы (которые отправляет Logrotate) были зашифрованы с помощью PGP или S / MIME. Как я могу это сделать?

Я искал шифрование почты logrotate, но не нашел. Поэтому я думаю, что могу передать команду «nomail» в конфигурации logrotate, но затем добавить в «постскриптум» сценарий, чтобы сначала зашифровать почту, а затем отправить.

Итак, есть ли лучший способ зашифровать почту logrotate с помощью PGP? Или это то, что мне нужно сделать? Буду признателен за любой совет или пример такого сценария.

Кроме того, я не собираюсь использовать TLS, так как есть возможные способы обойти его на SMTP-сервере. И я бы предпочел сделать ставку на шифрование отдельных сообщений.

Спасибо!

Редактировать:

Вот мой сценарий, который я использую для индивидуальной отправки электронной почты (пока без GPG):

#!/bin/bash
read MSG
echo $MSG | mail -s $1 $2

Но когда я принудительно вращаю logrotate --mail=loggpg.sh --force /etc/logrotate.d/ufw, я продолжаю получать ошибку о распаковке, нужно ли мне вручную распаковывать ее? Или в сценарии что-то не так?

Я получаю ошибку:

error: mail command failed for /var/log/ufw.log.5.gz
error: uncompress command failed mailing /var/log/ufw.log.5.gz`

person Ilya    schedule 01.03.2017    source источник


Ответы (1)


Вы можете выполнить logrotate с параметром командной строки --mail. Это позволит вам использовать свой собственный сценарий оболочки / perl / python для отправки электронной почты вместо /bin/mail -s по умолчанию.

человек logrotate

ОПЦИИ
...
-m, --mail
Сообщает logrotate, какую команду использовать при отправке журналов по почте. Эта команда должна принимать два аргумента: 1) тему сообщения и 2) получателя. Затем команда должна прочитать сообщение на стандартном вводе и отправить его получателю. Почтовой командой по умолчанию является / bin / mail -s.

person AnFi    schedule 01.03.2017
comment
Спасибо за ответ! Сейчас я попробую сделать скрипт и обновлю, как только мне это удастся. - person Ilya; 01.03.2017
comment
Привет, я попытался создать сценарий оболочки и сначала вызвать его без gpg, просто чтобы убедиться, что он работает, и отправить почту. Однако я продолжаю получать ошибку. Я обновил свой вопрос тем, что у меня есть. Был бы признателен, если бы вы сказали мне, что не так. Спасибо! - person Ilya; 01.03.2017
comment
Вместо read MSG ; echo $MSG | mail -s $1 $2 попробуйте mail -s "$1" "$2" - person AnFi; 01.03.2017