The OpenNET Project / Index page

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



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

"Exim правило фильтрации"  +/
Сообщение от 81packetemail (ok), 02-Фев-23, 15:02 
Всем доброе время суток. Нужна помощь и рекомендация по решению проблемы. Поиски особого результата не дали. Сам предполагаю, что проблема в синтаксисе второй строчки.  Суть вопроса: требуется фильтром решить три вопроса 1-отклонять все письма с вложениями содержащими известные архивы 2-отповещать получающего пользователя отлупом о блокировке письма 3-редирект письма в ящик (помойку). Для это в секции "begin acl" добавил следующее:

deny   message = The attachment is not accepted. This message contains a blocked file type.
         demime = *rar *zip *7z *gz *tar *gzip *bz2 *tbz *tbz2 *bzip2
         condition = ${if def:mime_attachments {1}{0}}
         log_message = Rejected message with a blocked file type attachment
         headers = X-Blocked-Attachment: The attachment is not accepted
         headers_add = X-Blocked-Reason: This message contains a blocked file type.
         freeze
         redirect = admin@yourdomain.com

Логика вроде правильная, а вот с синтаксисом у меня вообще проблема. Было бы хорошо решить этот вопрос без подключения доп. модулей. Прошу подсказать.

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

Оглавление

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


1. "Exim правило фильтрации"  +/
Сообщение от mmm (??), 02-Фев-23, 15:46 
acl_check_mime:
        deny
                message         = We do not accept attachments : $mime_filename
                condition       = ${if match{$mime_filename}{\N\.(rar|zip|7zip|gz|bz2|bzip2)$\N}}
                decode = default
accept
Ответить | Правка | Наверх | Cообщить модератору

2. "Exim правило фильтрации"  +/
Сообщение от 81packetemail (ok), 02-Фев-23, 15:52 
>[оверквотинг удален]
>         deny
>            
>     message      
>   = We do not accept attachments : $mime_filename
>            
>     condition      
> = ${if match{$mime_filename}{\N\.(rar|zip|7zip|gz|bz2|bzip2)$\N}}
>            
>     decode = default
> accept

Прошу уточнить, разница в написании rar|zip|7zip|gz|bz2|bzip2 и \.rar|\.zip|\.7zip|\.gz|\.bz2|\.bzip2 - есть или exim нормально проглатывает такое написание?

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

3. "Exim правило фильтрации"  +/
Сообщение от mmm (??), 03-Фев-23, 08:13 
> Прошу уточнить, разница в написании rar|zip|7zip|gz|bz2|bzip2
> и \.rar|\.zip|\.7zip|\.gz|\.bz2|\.bzip2 - есть или exim нормально
> проглатывает такое написание?

Я делал через вертикалбную черту. Сам вариант нагуглил, так было в оригинале.

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

4. "Exim правило фильтрации"  +/
Сообщение от 81packetemail (ok), 03-Фев-23, 08:16 
>> Прошу уточнить, разница в написании rar|zip|7zip|gz|bz2|bzip2
>> и \.rar|\.zip|\.7zip|\.gz|\.bz2|\.bzip2 - есть или exim нормально
>> проглатывает такое написание?
> Я делал через вертикалбную черту. Сам вариант нагуглил, так было в оригинале.

С написание расширений разобрался, спасибо. Осталось разобраться, почему не хавает строчки:

         headers = X-Blocked-Attachment: The attachment is not accepted
         headers_add = X-Blocked-Reason: This message contains a blocked file type.
         freeze
         redirect = admin@yourdomain.com

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

5. "Exim правило фильтрации"  +1 +/
Сообщение от mmm (??), 03-Фев-23, 09:12 
вместо redirect я бы использовал unseen deliver mybox@domain.com
про остальные - надо пробовать, у меня пока негде...
Ответить | Правка | Наверх | Cообщить модератору

6. "Exim правило фильтрации"  +/
Сообщение от 81packetemail (ok), 13-Мрт-23, 14:58 
> вместо redirect я бы использовал unseen deliver mybox@domain.com
> про остальные - надо пробовать, у меня пока негде...

Приветствую! Сделал вот такой фильтр:

# Exim filter                                                                                            
if $message_body contains "qqq"                                                                          
then
    deliver "blocked@мойдомен.ru"                                                                        
    pipe "/home/папка/blockedmail.sh ${local_part}@${domain} ${message_id}"                          
    seen finish
endif

Сам исполняемый файл:

#!/bin/sh
echo "Your email has been blocked due to violation of our terms of service.\n[$1]\nMessage ID:[$2]\nSender..."
| mail -s "You have a new mail in quarantine!" "$1"                                                      


По итогу, если в письме есть содержимое "qqq" он перенаправляет это письмо на ящик blocked@мойдомен.ru и отправляет нужное сообщение реципиенту.
Теперь не могу понять, почему работает фильтр только с одним локальным ящиком (например petya@мойдомен.ru)? Если отправлю на другой ящик типа vasya@мойдомен.ru - то фильтр не срабатывает.

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

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

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




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

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