문제

저는 FreeBSD 서버를 실행하고 있는데 내 서버에서 스팸이 ​​발송되었다는 경고를 받았습니다.오픈 릴레이로 설정하지 않았으며 sendmail 구성을 사용자 정의했습니다.누가 어떤 이메일을 보냈는지, 사용자 이름, 이메일 제목은 물론 보낸 메일의 양에 대한 요약도 알고 싶습니다.Apache 서버 로그를 처리할 때 수행되는 방식과 유사한 로그에 대한 보고서를 실행하고 싶습니다.

내 옵션은 무엇입니까?

도움이 되었습니까?

해결책

한 가지 아이디어는 sendmail을 사용자 정의 스크립트로 별칭을 지정하는 것입니다. 이는 일반적인 방식으로 sendmail을 호출하기 전에 단순히 sendmail 인수를 로그 끝에 배치하는 것입니다.

다른 팁

또한 모든 시스템 호출을 모니터링할 수도 있습니다. write 그리고 read 다음을 실행하여 기능을 수행합니다.

ps auxw | grep sendmail | awk '{print"-p " $2}' | xargs strace -s 256 -f 2>&1 | grep -E $'@|(([0-9]+\.){3}[0-9]+)' | tee -a "/var/log/sendmail-logs.log"

이를 통해 정보에 직접 접근할 수 있지만 더 깊이 들어갈 수는 없을 것 같습니다.

샘플 로그를 제공해 주실 수 있나요?내 생각에 가장 좋은 방법은 grep이나 cut을 사용하여 전송되는 소스/대상을 얻는 것입니다.또한 올바른 정규식이 있으면 Perl 스크립트를 작성하여 자동화할 수도 있습니다.이것이 최선의 선택이 될 것입니다.

FreeBSD에 기본 구성이 있는 경우 출력 메일을 처리하는 방법은 단 하나뿐입니다. sendmail 시스템을 통해 보내는 내용을 확인하십시오. /etc/mail.

모든 출력 메일은 다음에 의해 기록되어야 합니다. /var/log/maillog

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top