URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96987
[ Назад ]

Исходное сообщение
"Exim4, уведомить,  если сработал антивирус"

Отправлено Перспективный , 08-Сен-17 11:41 
Всем привет.
На exim4 версии 4.89 настроена проверка на вирусы средствами clamav:

drop
message         = Found virus $malware_name
log_message     = Found virus $malware_name
hosts           = *
malware         = *

и работает:
2017-09-08 14:00:25 1dqCKz-0001mf-0G H=(c03) [89.46.67.116] F=<admin@dealer.com> rejected after DATA: Found virus Email.Phishing.VOF1-6297424-0

Но хотелось бы получить письмо-уведомление на postmaster об это инциденте.
Как это сделать средствами exim?


Содержание

Сообщения в этом обсуждении
"Exim4, уведомить,  если сработал антивирус"
Отправлено B , 08-Сен-17 15:14 
Main part

system_filter = /etc/exim/my_sys_filter
system_filter_user = exim
system_filter_file_transport = address_file

acl
drop set acl_c_VIRUS = 1
     message         = Found virus $malware_name
     log_message     = Found virus $malware_name
     hosts           = *
     malware         = *
      
filter
/etc/exim/my_sys_filter

# Exim filter
headers charset "utf8"
if $acl_c_VIRUS is 1
then
mail to admin@xxx.com\r\n
from  "user@xxx.com"\r\n
subject "Returned mail: see transcript for details"\r\n\
extra_headers "Content-Type: text/plain;charset=utf-8\r\n\
text "Mail returned because user ....\r\n\"
finish
endif

>[оверквотинг удален]
> $malware_name
> log_message     = Found virus $malware_name
> hosts           =
> *
> malware         = *
> и работает:
> 2017-09-08 14:00:25 1dqCKz-0001mf-0G H=(c03) [89.46.67.116] F=<admin@dealer.com> rejected
> after DATA: Found virus Email.Phishing.VOF1-6297424-0
> Но хотелось бы получить письмо-уведомление на postmaster об это инциденте.
> Как это сделать средствами exim?


"Exim4, уведомить,  если сработал антивирус"
Отправлено Перспективный , 12-Сен-17 12:50 
Поскольку drop, этот способ никогда не сработает.

"Exim4, уведомить,  если сработал антивирус"
Отправлено B , 08-Сен-17 15:31 
Второй вариант
Напиши демона на bash (или какой у тебя  shell)
и парси лог в реальном времени

while true
do
tail -F --max-unchanged-stats=5 main.log | \
grep --line-buffered -E "Found virus " | mail -s "VIRUS FOUND" admin@xxx.com
done

>[оверквотинг удален]
> $malware_name
> log_message     = Found virus $malware_name
> hosts           =
> *
> malware         = *
> и работает:
> 2017-09-08 14:00:25 1dqCKz-0001mf-0G H=(c03) [89.46.67.116] F=<admin@dealer.com> rejected
> after DATA: Found virus Email.Phishing.VOF1-6297424-0
> Но хотелось бы получить письмо-уведомление на postmaster об это инциденте.
> Как это сделать средствами exim?


"Exim4, уведомить,  если сработал антивирус"
Отправлено Перспективный , 12-Сен-17 12:54 
>парси лог в реальном времени

Я хотел средствами exim4, и сделал через exim-овский perl_startup