Страница 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
где-то настривается проверка и с локалхоста идущих...