Скрипт сообщения о вирусе в почте

«Информация о письмах с вирусами (clamav)»
Сообщение от Strangler emailИскать по авторуВ закладки(??) on 25-Авг-05, 13:01  (MSK)

>Задача: письма с вирусами удалять, но посылать уведомление (скажем, на отдельный e-mail),
>что от того-то, тому-то пришло письмо с вирусом.
>Как бы это реализовать?
>(В конфиге clamd пробовал VirusEvent, но там параметр %v даёт только имя
>вируса, а «от кого» и «кому» нет. Других ключей не знаю)
>

Если используется связка clamav + clamsmtpd + postfix это легко реализуется через параметр VirusAction в clamsmtpd.conf :
VirusAction: /etc/clamsmtpd/virus-notice
содержание virus-notice :

#!/bin/sh
#
# v0.3 (2005-01-13)
#
# Simple VirusAction script to get virus alerts via email from ClamSMTP.
# Depends on formail binary.
#
# Olivier Beyssac <ob@r14.freenix.org>
#
# Thanks to Colin McKinnon <colin@mms3.com> for the «cat -v» patch
#

# Email address to send alerts to
MAILTO=postmaster
SUBJ=»Virus found !!!»
DAEMONREPORT=»—
Clam AntiVirus is a GPL anti-virus toolkit for UNIX
http://www.clamav.net»

# formail should be in PATH
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

LINE=»-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-»

(echo
echo «Уважаемый администратор !»
echo
echo «Следующее сообщение инфицировано и не было доставлено.»
echo
echo «Отправитель = $SENDER (возможно подделан)»
echo «Получатели = $RECIPIENTS»
echo
echo «— ClamAV report —»
echo «Найден(ы) следующий(е) вирус(ы):»
echo «$VIRUS»
echo «— ClamAV report —»
echo
echo «$DAEMONREPORT»
echo
if [ «x$EMAIL» != «x» ] && [ -f $EMAIL ]
then
echo «Quarantined to: $EMAIL»
echo
echo Headers follow:
echo $LINE
formail -X «» < $EMAIL
echo $LINE
fi
) | cat | nail -s «$SUBJ» postmaster

(echo
echo «Уважаемый отправитель $SENDER !»
echo
echo «Cообщение, отправленное с Вашего адреса (возможно вирусом»
echo «с другого компьютера) по адресу(ам) $RECIPIENTS»
echo «инфицировано и не было доставлено.»
echo
echo «— ClamAV report —»
echo «Найден(ы) следующий(е) вирус(ы):»
echo «$VIRUS»
echo «— ClamAV report —»
echo
echo «$DAEMONREPORT»
echo
if [ «x$EMAIL» != «x» ] && [ -f $EMAIL ]
then
echo «Quarantined to: $EMAIL»
echo
echo Headers follow:
echo $LINE
formail -X «» < $EMAIL
echo $LINE
fi
) | cat | nail -s «$SUBJ» $SENDER

(echo
echo «Уважаемый отправитель !»
echo
echo «Cообщение, посланное Вам с адреса $SENDER (возможно подделан)»
echo «инфицировано и не было доставлено.»
echo
echo «— ClamAV report —»
echo «Найден(ы) следующий(е) вирус(ы):»
echo «$VIRUS»
echo «— ClamAV report —»
echo
echo «$DAEMONREPORT»
echo
if [ «x$EMAIL» != «x» ] && [ -f $EMAIL ]
then
echo «Quarantined to: $EMAIL»
echo
echo Headers follow:
echo $LINE
formail -X «» < $EMAIL
echo $LINE
fi
) | cat | nail -s «$SUBJ» $RECIPIENTS

Для отправки сообщений используется nail (http://nail.sourceforge.net)
Права на скрипт virus-notice должны быть 750 clamav clamav.

Успехов !

Запись опубликована в рубрике Postfix. Добавьте в закладки постоянную ссылку.

Добавить комментарий