Страница 1 из 1
Нужна помощь по Exim
Добавлено: 2006-09-25 14:00:59
DeVeO
Добрый день. Третий день бьюсь над следующей проблемой-нужно, чтобы exim перекладывал зараженные письма в локальную папку
karantin@domain.ru Сильно не пинайте- только начал осваивать, а документация большей частью на английском. Exim настроен по статье Лиссяры. Пытался сделать так
acl_check_data:
...
warn message = X-Virus-Status: Infected with $malware_name
logwrite = Infected with $malware_name
malware = *
set acl_m3 = $malware_name
...
begin routers
virus_delivery:
driver = redirect
data =
karantin@domain.ru
condition = ${if eq{$acl_m3}{}{no}{yes}}
domains = *
no_repeat_use
Ничего не помогает - письма с вирусом проходят к получателю, в папку карантин не попадают. Ничего не понимаю. Как надо правильно сделать. Помогите, а то уже в запаре...
Добавлено: 2006-09-25 14:16:25
Alex Keda
это первый роутер?
поставь deny, пока не разобрался как работает.
To lissyara
Добавлено: 2006-09-25 14:29:40
DeVeO
Да роутер первый. Попробовал по твоему совету поменять в acl на deny, т.е. стало
acl_check_data:
...
deny malware = *
message = X-Virus-Status: Infected with $malware_name
logwrite = Infected with $malware_name
malware = *
set acl_m3 = $malware_name
...
begin routers
virus_delivery:
driver = redirect
data =
karantin@domain.ru
condition = ${if eq{$acl_m3}{}{no}{yes}}
domains = *
no_repeat_use
Теперь дает отлуп на письмо с вирусом, а мне нужно, чтобы он его принимал и клал в карантинную папку. Что еще можно попробовать?
Добавлено: 2006-09-25 14:39:40
Alex Keda
в системном фильтре делать это. у меня так.
To lissyara
Добавлено: 2006-09-25 14:44:04
DeVeO
А не будет большой наглость попросить посмотреть у тебя твой системный фильтр (может на почту сбросишь на
kantar@redline.ru), а то у меня, что то не выходит... Пожалуйста...
Добавлено: 2006-09-25 15:13:41
Alex Keda
уже выкладывал...
но чё-то сам найти не могу

))
Код: Выделить всё
# проверяем, нет ли вирусов
if $acl_m1 contains "1"
then
# копируем письма. с вирусами нам не нужны.
deliver viruses@lissyara.su
#no_more
else
# Проверяем, надо ли копировать почту, идущую этому пользователю,
# на начальственный адрес (единичка в поле `copy_mail` - копировать,
# любое другое значение - нет)
if $recipients is "${lookup mysql{SELECT LCASE(`address`) FROM `alias` WHERE \
`address`='${quote_mysql:$recipients}' AND `copy_mail`='1' \
AND `domain`='lissyara.su' LIMIT 1}}"
then
# кому копируем (можно на локальный адрес, можно на
# любой другой сервер инета)
unseen deliver archive-in@lissyara.su
endif
# исходящая почта (тут свои косяки - если чел в настройках своего почтового
# клиента пропишет левый адрес - почта копироваться не будет. Как вариант -
# отключить приём писем от неавторизованных клиентов, и ловить по переменной
# $authenticated_sender - но тогда железки не смогут рапортоваться, если им
# нужно, наружу... Впрочем, у меня они на этот сервер пишут...)
if $sender_address is "${lookup mysql{SELECT LCASE(`address`) FROM `alias` WHERE \
`address`='${quote_mysql:$sender_address}' AND `copy_mail`='1' \
AND `domain`='lissyara.su' LIMIT 1}}"
then
# добавляем заголовки
headers add "X-Descriptions: powered by lissyara"
# кому копируем (можно на локальный адрес, можно на
# любой другой сервер инета)
unseen deliver archive-out@lissyara.su
endif
########## второй домен #########################
# Проверяем, надо ли копировать почту, идущую этому пользователю,
# на начальственный адрес (единичка в поле `copy_mail` - копировать,
# любое другое значение - нет)
if $recipients is "${lookup mysql{SELECT LCASE(`address`) FROM `alias` WHERE \
`address`='${quote_mysql:$recipients}' AND `copy_mail`='1' \
AND `domain`='lissyara-1.su' LIMIT 1}}"
then
# кому копируем (можно на локальный адрес, можно на
# любой другой сервер инета)
unseen deliver archive-in@lissyara-1.su
endif
# исходящая почта (тут свои косяки - если чел в настройках своего почтового
# клиента пропишет левый адрес - почта копироваться не будет. Как вариант -
# отключить приём писем от неавторизованных клиентов, и ловить по переменной
# $authenticated_sender - но тогда железки не смогут рапортоваться, если им
# нужно, наружу... Впрочем, у меня они на этот сервер пишут...)
if $sender_address is "${lookup mysql{SELECT LCASE(`address`) FROM `alias` WHERE \
`address`='${quote_mysql:$sender_address}' AND `copy_mail`='1' \
AND `domain`='lissyara-1.su' LIMIT 1}}"
then
# добавляем заголовки
headers add "X-Descriptions: powered by lissyara"
# кому копируем (можно на локальный адрес, можно на
# любой другой сервер инета)
unseen deliver archive-out@lissyara-1.su
endif
# закрываем проверку на вирусы в письме
endif
To lissyara
Добавлено: 2006-09-25 15:34:15
DeVeO
Лиссяра, спасибо огромное. Буду пробовать. И еще ты не мог бы проконсультировать еще по одному вопросу. У нас в конторе у людей сохранилось n-ое количество бесплатных ящиков с которых я раньше вытягивал почту fetchmail'ом и передавал postfix'у. Сейчас пытаюсь перейти на exim - поэтому вопрос. Если fetchmail уже выкачал письмо с вирусом с удаленного ящика и передал его exim'у, то при настройках в твоей статье по exim, что будет с зараженным письмом? Оно, по идее должно быть отвергнуто exim'ом. И что, оно будет болтаться в очереди пока не истечет время, отведенное в параметрах? Нет ли более элегантного решения?
Добавлено: 2006-09-25 15:41:26
Alex Keda
х.з... не думал...
fetchmial с локалхоста в exim пихает? тогда вообще не проверяется...
To lyssyara
Добавлено: 2006-09-25 15:45:30
DeVeO
Да, с локалхоста. Postfix при таких условиях проверял письмо и отбраковывал. А что можно для exim'a придумать?
Добавлено: 2006-09-25 18:24:23
Alex Keda
где-то настривается проверка и с локалхоста идущих...