The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Exim правило фильтрации, !*! 81packet, 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

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

  • Exim правило фильтрации, !*! mmm, 15:46 , 02-Фев-23 (1)
    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
    • Exim правило фильтрации, !*! 81packet, 15:52 , 02-Фев-23 (2)
      >[оверквотинг удален]
      >         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 нормально проглатывает такое написание?

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

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

        • Exim правило фильтрации, !*! 81packet, 08:16 , 03-Фев-23 (4)
          >> Прошу уточнить, разница в написании 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

          • Exim правило фильтрации, !*! mmm, 09:12 , 03-Фев-23 (5) +1
            вместо redirect я бы использовал unseen deliver mybox@domain.com
            про остальные - надо пробовать, у меня пока негде...
            • Exim правило фильтрации, !*! 81packet, 14:58 , 13-Мрт-23 (6)
              > вместо 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 - то фильтр не срабатывает.




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

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