The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Exim + ACL + headers."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"Exim + ACL + headers."  +/
Сообщение от Aess email(ok) on 11-Май-11, 12:00 
Всем привет.

Заметил такой момент. Спамеры додумались как обходить проверку SpamAssassin-a. Добавляют в header-ы письма X-Spam-Status: No, hits=0.0 required=5.0(частный пример). И следовательно фильтры exim-a не хотять работать с таким письмом как со сапмерским(хотя далее есть еще один X-Spam-Status), потомучто парсят тока до первого появления X-Spam-Status в headers.
Итак господа знатоки вопрос. Как правильно написать condition чтобы найти header и дропнуть письмо? Писал так:

drop
        condition = ${if def:header_X-Spam-Status:{false}}
        message = "Dropped due to contained X-Spam-Status flag"
        log_message =  "Dropped due to contained X-Spam-Status flag"

Но condition = ${if def:header_X-Spam-Status:{false}} возвращает мне пустую строку как бы я не извращался.
Помогите пожалуйста.

С уважением, Игорь.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Exim + ACL + headers."  +/
Сообщение от PavelR (??) on 11-Май-11, 12:05 
> Итак господа знатоки вопрос. Как правильно написать condition чтобы найти header и
> дропнуть письмо?

Гениальная идея - дропать. Не лучше ли удалить _заголовок_ перед/в процессе антиспам обработки ?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Exim + ACL + headers."  +/
Сообщение от Aess email(ok) on 11-Май-11, 12:12 
>> Итак господа знатоки вопрос. Как правильно написать condition чтобы найти header и
>> дропнуть письмо?
> Гениальная идея - дропать. Не лучше ли удалить _заголовок_ перед/в процессе антиспам
> обработки ?

Не суть важно что делать. Если Вам так удобно, то помогите удалить заголовок.

С уважением, Игорь.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Exim + ACL + headers."  +/
Сообщение от Евгений (??) on 11-Май-11, 14:55 
Посмотрите документацию. Ваша конструкция всегда будет возвращать false, вы же сами это написали. Уберите {false}
Смотрите также опцию headers_remove в секции роутеров.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Exim + ACL + headers."  +/
Сообщение от Aess email(ok) on 11-Май-11, 15:21 
> Посмотрите документацию. Ваша конструкция всегда будет возвращать false, вы же сами это
> написали. Уберите {false}
> Смотрите также опцию headers_remove в секции роутеров.

condition возвращает пустую строку, а не false.
По поводу headers_remove сейчас посмотрю, спасибо!

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Exim + ACL + headers."  +/
Сообщение от Aess email(ok) on 11-Май-11, 16:22 
>> Посмотрите документацию. Ваша конструкция всегда будет возвращать false, вы же сами это
>> написали. Уберите {false}
>> Смотрите также опцию headers_remove в секции роутеров.
> condition возвращает пустую строку, а не false.
> По поводу headers_remove сейчас посмотрю, спасибо!

К сожалению на этапе роутеров не могу этого сделать. Нужно сделать до приёма DATA. По-этому нада курить в сторону ACL. Подскажет кто что?

С уважением, Игорь.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Exim + ACL + headers."  +/
Сообщение от PavelR (??) on 11-Май-11, 16:50 
> К сожалению на этапе роутеров не могу этого сделать. Нужно сделать до
> приёма DATA. По-этому нада курить в сторону ACL. Подскажет кто что?

Эмм, я правильно понимаю, что хидера идут в DATA ?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Exim + ACL + headers."  +/
Сообщение от Aess email(ok) on 11-Май-11, 16:55 
>> К сожалению на этапе роутеров не могу этого сделать. Нужно сделать до
>> приёма DATA. По-этому нада курить в сторону ACL. Подскажет кто что?
> Эмм, я правильно понимаю, что хидера идут в DATA ?

Эххххх шли бы они в DATA я бы ничего и не делал. Мне нада проверять до приема DATA. Даже наверное до "#!!# ACL that is used after the RCPT command" блока. Но енто не суть. До DATA будет хорошо.

С уважением, Игорь.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Exim + ACL + headers."  +/
Сообщение от Aess email(ok) on 12-Май-11, 22:38 
>>> К сожалению на этапе роутеров не могу этого сделать. Нужно сделать до
>>> приёма DATA. По-этому нада курить в сторону ACL. Подскажет кто что?
>> Эмм, я правильно понимаю, что хидера идут в DATA ?
> Эххххх шли бы они в DATA я бы ничего и не делал.
> Мне нада проверять до приема DATA. Даже наверное до "#!!# ACL
> that is used after the RCPT command" блока. Но енто не
> суть. До DATA будет хорошо.
> С уважением, Игорь.

Крутил вертел на этапер роутов.. удаляеться хэадер. Но на этом этап уже поздно, уже письмо принялось и мне нада кудато его отправить. А хочеться дропнуть его до приема.

С уважением, Игорь!

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Exim + ACL + headers."  +/
Сообщение от DeadLoco (ok) on 13-Май-11, 02:22 
> хочеться дропнуть его до приема.

А вы не зацикливайтесь на X-Spam-Status. Добавляйте свой хедер, например X-Spam-Ztatuz. И именно его наличие проверяйте фильтрами.

Хотя, в принципе, архитектурно чище будет пропускать всю почту через роутер-чистильщик, который вычищает все ненужные хедеры, и затем через unseen сбрасывает письмо для дальнейшей обработки. Но лично мне такой вариант не подходит, как раз из-за необходимости юзать ацли на стадиях CONN, RCPT и DATA.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Exim + ACL + headers."  +/
Сообщение от Aess email(ok) on 13-Май-11, 03:12 
>> хочеться дропнуть его до приема.
> А вы не зацикливайтесь на X-Spam-Status. Добавляйте свой хедер, например X-Spam-Ztatuz.
> И именно его наличие проверяйте фильтрами.
> Хотя, в принципе, архитектурно чище будет пропускать всю почту через роутер-чистильщик,
> который вычищает все ненужные хедеры, и затем через unseen сбрасывает письмо
> для дальнейшей обработки. Но лично мне такой вариант не подходит, как
> раз из-за необходимости юзать ацли на стадиях CONN, RCPT и DATA.

Я же о томже. Как правильно написать проверку в ACL-e?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Exim + ACL + headers."  +/
Сообщение от DeadLoco (ok) on 13-Май-11, 18:08 
> Я же о томже. Как правильно написать проверку в ACL-e?

acl_data:
. . . . .
warn    spam            = spamd
        add_header      = X-Spam-Header: $spam_score_int
        condition       = ${if >{$spam_score_int}{49}{1}{0}}
        logwrite        = $spam_score_int
. . . . .
accept


Всякое письмо, набравшее более 4.9 балла от СА, поимеет хедер X-Spam-Header, который потом можно искать и обрабатывать фильтрами.
Но мне больше нравится сортировка писем довекотовским сивом.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

11. "Exim + ACL + headers."  +/
Сообщение от PavelR (??) on 13-Май-11, 10:13 
>[оверквотинг удален]
>>> Эмм, я правильно понимаю, что хидера идут в DATA ?
>> Эххххх шли бы они в DATA я бы ничего и не делал.
>> Мне нада проверять до приема DATA. Даже наверное до "#!!# ACL
>> that is used after the RCPT command" блока. Но енто не
>> суть. До DATA будет хорошо.
>> С уважением, Игорь.
> Крутил вертел на этапер роутов.. удаляеться хэадер. Но на этом этап уже
> поздно, уже письмо принялось и мне нада кудато его отправить. А
> хочеться дропнуть его до приема.
> С уважением, Игорь!

_ну не понимаю я.... _

Как можно проверить _до приема_ DATA то, что приходит _в_ DATA ?

Вам нужно

1) принять данные
2) проверить хидера
3) дать SMTP-ответ на команду DATA

т.е. принять данные нужно без подтверждения приема.

ну а далее, данные-то приняты уже... проверяем-доставляем, что уж там :-)

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "Exim + ACL + headers."  +/
Сообщение от Aess email(ok) on 15-Май-11, 11:30 
>[оверквотинг удален]
> drop
>         condition = ${if def:header_X-Spam-Status:{false}}
>         message = "Dropped due
> to contained X-Spam-Status flag"
>         log_message =  "Dropped
> due to contained X-Spam-Status flag"
> Но condition = ${if def:header_X-Spam-Status:{false}} возвращает мне пустую строку как
> бы я не извращался.
> Помогите пожалуйста.
> С уважением, Игорь.

Давайте начнем сначала. Уберем этап на котором будем запускать ACL, а просто помогите мне написть эту ACL. Пройтись по headers найти X-Spam-Status и дропнуть. Все что нужно сделать.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Exim + ACL + headers."  +/
Сообщение от DeadLoco (ok) on 16-Май-11, 02:50 
> помогите мне написть эту ACL. Пройтись по headers найти X-Spam-Status и
> дропнуть. Все что нужно сделать.

Дропнуть ЧТО? Хедер? Так хедеры на стадии АЦЛей неизменяемы, можно лишь задать хедеры, которые будут _добавлены_ при перебросе сообщения в роутеры. Определить хедеры, которые будут дропнуты, можно лишь в роутерах, но это уже сильно позже АЦЛей.

Поэтому давайте не ацли рисовать, а разбирать задачу в целом. Что, где, когда, как и вообще.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру