2017-03-01 8 views
1

정기적으로 로그를 보내는 logrotate를 사용합니다. 내 서버는 나가는 SMTP 서버로 Postfix를 실행하는 VPS입니다.메일 링하기 전에 로그 로트 암호화

Logrotate에서 보내는 모든 메일 로그를 PGP 또는 S/MIME로 암호화하고 싶습니다. 어떻게해야합니까?

logrotate 메일 암호화를 검색했지만 찾을 수 없습니다. 따라서 logrotate config에서 "nomail"명령을 전달할 수 있다고 생각하지만 먼저 "postscript"스크립트를 추가하여 먼저 메일을 암호화 한 다음 보내십시오.

PGP로 로그 로테이트 메일을 암호화하는 더 좋은 방법이 있습니까? 아니면 그렇게해야합니까? 나는 그러한 조언에 대한 조언이나 예를 들어 주시면 감사하겠습니다.

또한 SMTP 서버에서이를 우회 할 수있는 방법이 있으므로 TLS를 사용하지 않을 것입니다. 그리고 나는 개별 메시지의 암호화에 의존하고 싶습니다.

감사합니다.

편집 :

여기

내가 (지금 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` 

답변

0

당신은 --mail 명령 줄 옵션을 사용하여 logrotate에 실행할 수 있습니다. 자체대신 자신의 쉘/perl/python 스크립트를 사용하여 전자 메일을 보낼 수 있습니다.
--mail

남자 logrotate에

옵션
...
-m은 로그를 메일 링 할 때 사용할 명령을 logrotate에 지시합니다. 이 명령은 두 가지 인수를 받아 들여야합니다. 1) 메시지의 제목 및 2)받는 사람. 그런 다음 명령은 표준 입력에서 메시지를 읽고 수신자에게 메일을 보내야합니다. 기본 메일 명령은 /bin/mail -s입니다.

+0

답장을 보내 주셔서 감사합니다. 나는 이제 스크립트를 만들고 성공하면 업데이트 할 것입니다. – Ilya

+0

안녕하세요, 저는 쉘 스크립트를 만들어서 gpg없이 먼저 호출하려고했습니다. 단지 작동하는지 확인하고 메일을 보내십시오. 그러나 나는 계속 오류가있다. 나는 내 질문을 내가 가지고있는 것으로 업데이트했다. 무엇이 잘못되었는지 말해 주시면 감사하겠습니다. 고맙습니다! – Ilya

+0

대신 'read MSG; 에코 $ MSG | mail -s $ 1 $ 2' 시도'mail -s "$ 1" "$ 2"' – AnFi