Exim как запретить вложения rar с паролями?

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
RusEM
проходил мимо
Сообщения: 2
Зарегистрирован: 2019-03-20 13:38:56

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение RusEM » 2019-03-20 13:51:12

Добрый день
Подскажите, есть ли возможность запретить вложения rar на которых установлен пароль?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
skeletor
майор
Сообщения: 2491
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение skeletor » 2019-03-22 11:32:53

Делать листинг rar вложений, если не удался - значит с паролем. Но и тут хитрецы есть: ставят пароль на извлечение, а на листинг - не ставят, поэтому, данная проверка не 100% рабочая.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

RusEM
проходил мимо
Сообщения: 2
Зарегистрирован: 2019-03-20 13:38:56

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение RusEM » 2019-03-27 10:39:36

skeletor писал(а):
2019-03-22 11:32:53
Делать листинг rar вложений, если не удался - значит с паролем
А можно пример как это реализовать? unrar в консоли сразу требует пароль при выводе листинга

Аватара пользователя
skeletor
майор
Сообщения: 2491
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение skeletor » 2019-03-28 9:43:39

Можно, например, заведомо передавать неправильный пароль. К примеру:

Код: Выделить всё

/usr/local/bin/7z -p{pass} archive.rar
Для архивов без пароля оно ничего не означает.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

mssk
проходил мимо

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение mssk » 2019-04-12 15:33:46

Добрый день! Пытаюсь отлупить почтовые вложения в запароленных архивах.
Логика такая: Если 7z дает ошибку на пароль, он возвращает код отличный от 0, и скрипт завершается с exit 1
Пока ничего не получилось, подскажите где ошибка. :st:

exim config:

Код: Выделить всё

deny message = This message contains dangerous file(s) in .${uc:$found_extension} file.
     condition = ${if <{$message_size}{500K}{1}{0}}
     condition = ${if match{$mime_filename}{\N(?i)\.(zip|rar|7z)$\N}}
     decode = default
     set acl_m1     = ${run{/usr/local/archive.sh $mime_decoded_filename }}
     condition      = ${if eq {$runrc}{1}{false}{true}}
archive.sh:

Код: Выделить всё

#!/bin/sh
7z l -psdaio $1 >nul 2>nul
if  [ $? != "0" ]; then exit 1
else
exit 0
fi
Последний раз редактировалось Alex Keda 2019-06-27 9:01:54, всего редактировалось 1 раз.
Причина: Товарищщи! Цените чужое время, юзайте кнопочку [code]...

Аватара пользователя
skeletor
майор
Сообщения: 2491
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение skeletor » 2019-04-17 8:08:08

А что такое nul?
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

mssk
проходил мимо

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение mssk » 2019-04-17 11:55:17

Где-то на просторах подсмотрел такую конструкцию.
Может можно без скрипта обойтись и сделать все из конфига exim'a?
Вот чего 7z выдает при попытке листить с неправильным паролем:

Код: Выделить всё

Scanning the drive for archives:
1 file, 1604 bytes (2 KiB)
Listing archive: file.rar
ERROR: file.rar : Can not open encrypted archive. Wrong password?
Errors: 1


Можно ловить по слову "ERROR:"?

mssk
проходил мимо

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение mssk » 2019-05-29 11:24:24

UP!

Пока не смог победить.
Подскажите кто как блокирует архивы с паролем?

RaSergiy
проходил мимо
Сообщения: 2
Зарегистрирован: 2019-06-24 12:58:30

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение RaSergiy » 2019-06-24 13:03:24

mssk писал(а):
2019-05-29 11:24:24
Пока не смог победить.
Подскажите кто как блокирует архивы с паролем?
Для ZIP:

Код: Выделить всё

    deny    hosts         = ! +relay_from_hosts
            message       = Message's archive attachment contains a passworded ZIP file: $mime_filename. Password archives is not allowed!
            condition     = ${if match{$mime_filename}  {\N(?i)\.zip$\N}}
            decode        = default
            set acl_m1    = ${run{/usr/local/bin/7za t -pFakePassword $mime_decoded_filename}{0}{1}}
            condition     = ${if eq{$acl_m1}{1}}
            log_message   = forbidden passworded attachment: filename=$mime_filename, content-type=$mime_content_type, recipients=$recipients 
Для RAR под FreeBSD не работает, всегда выдает ошибку:

Код: Выделить всё

7-Zip (a) [64] 9.38 beta  Copyright (c) 1999-2014 Igor Pavlov  2015-01-03
p7zip Version 9.38.1 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)

Processing archive: rarfile_norm.rar

Error: Can not open file as archive

RaSergiy
проходил мимо
Сообщения: 2
Зарегистрирован: 2019-06-24 12:58:30

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение RaSergiy » 2019-06-24 13:09:13

Поэтому для RAR отдельное правило:

Код: Выделить всё

   deny    hosts         = ! +relay_from_hosts
            message       = Message's archive attachment contains a passworded RAR file: $mime_filename. Password archives is not allowed!
            condition     = ${if match{$mime_filename}  {\N(?i)\.rar$\N}}
            decode        = default
            set acl_m1    = ${run{/usr/local/bin/unrar t -pFakePassword $mime_decoded_filename}{0}{1}}
            condition     = ${if eq{$acl_m1}{1}}
            log_message   = forbidden passworded attachment: filename=$mime_filename, content-type=$mime_content_type, recipients=$recipients

avamal
проходил мимо

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение avamal » 2019-11-12 8:13:34

Два уточнения.
1) добавлять это надо в секцию acl_smtp_mime
2) так же будет резать и отдельные тома беспарольного многотомного rar-архива, с расширением .partХХ.rar, и первый файл многотомного zip-архива, с расширением .zip.

avama
проходил мимо
Сообщения: 4
Зарегистрирован: 2018-08-26 18:06:29

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение avama » 2019-11-12 10:08:59

Поэтому вариант от RaSergiy можно немного изменить.

Для zip сделать такой вызов:

set acl_m1 = ${run{/bin/sh -c "/usr/local/bin/7za t -pFakePassword $mime_decoded_filename 2>&1 | /usr/bin/grep 'Wrong password'"}{1}{0}}

(местонахождение sh и grep для своей системы проверьте сами)

А для rar можно проверить код возврата:

set acl_m1 = ${run{/usr/local/bin/unrar t -pFakePassword $mime_decoded_filename}}
condition = ${if or{ { eq{$runrc}{3} } { eq{$runrc}{11} } } }

avama
проходил мимо
Сообщения: 4
Зарегистрирован: 2018-08-26 18:06:29

Exim как запретить вложения rar с паролями?

Непрочитанное сообщение avama » 2019-11-12 13:09:43

И, наконец, в первый condition для zip можно добавить поддержку 7z.

condition = ${if match{$mime_filename} {\N(?i)\.zip$|(?i)\.7z$\N}}