Exim как запретить вложения rar с паролями?
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2019-03-20 13:38:56
Exim как запретить вложения rar с паролями?
Добрый день
Подскажите, есть ли возможность запретить вложения rar на которых установлен пароль?
Подскажите, есть ли возможность запретить вложения rar на которых установлен пароль?
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Exim как запретить вложения rar с паролями?
Делать листинг rar вложений, если не удался - значит с паролем. Но и тут хитрецы есть: ставят пароль на извлечение, а на листинг - не ставят, поэтому, данная проверка не 100% рабочая.
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2019-03-20 13:38:56
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Exim как запретить вложения rar с паролями?
Можно, например, заведомо передавать неправильный пароль. К примеру:
Для архивов без пароля оно ничего не означает.
Код: Выделить всё
/usr/local/bin/7z -p{pass} archive.rar
-
- проходил мимо
Exim как запретить вложения rar с паролями?
Добрый день! Пытаюсь отлупить почтовые вложения в запароленных архивах.
Логика такая: Если 7z дает ошибку на пароль, он возвращает код отличный от 0, и скрипт завершается с exit 1
Пока ничего не получилось, подскажите где ошибка.
exim config:
archive.sh:
Логика такая: Если 7z дает ошибку на пароль, он возвращает код отличный от 0, и скрипт завершается с exit 1
Пока ничего не получилось, подскажите где ошибка.
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}}
Код: Выделить всё
#!/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]...
Причина: Товарищщи! Цените чужое время, юзайте кнопочку [code]...
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Exim как запретить вложения rar с паролями?
А что такое nul?
-
- проходил мимо
Exim как запретить вложения rar с паролями?
Где-то на просторах подсмотрел такую конструкцию.
Может можно без скрипта обойтись и сделать все из конфига exim'a?
Вот чего 7z выдает при попытке листить с неправильным паролем:
Можно ловить по слову "ERROR:"?
Может можно без скрипта обойтись и сделать все из конфига 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:"?
-
- проходил мимо
Exim как запретить вложения rar с паролями?
UP!
Пока не смог победить.
Подскажите кто как блокирует архивы с паролем?
Пока не смог победить.
Подскажите кто как блокирует архивы с паролем?
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2019-06-24 12:58:30
Exim как запретить вложения rar с паролями?
Для 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
Код: Выделить всё
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
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2019-06-24 12:58:30
Exim как запретить вложения rar с паролями?
Поэтому для 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
-
- проходил мимо
Exim как запретить вложения rar с паролями?
Два уточнения.
1) добавлять это надо в секцию acl_smtp_mime
2) так же будет резать и отдельные тома беспарольного многотомного rar-архива, с расширением .partХХ.rar, и первый файл многотомного zip-архива, с расширением .zip.
1) добавлять это надо в секцию acl_smtp_mime
2) так же будет резать и отдельные тома беспарольного многотомного rar-архива, с расширением .partХХ.rar, и первый файл многотомного zip-архива, с расширением .zip.
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2018-08-26 18:06:29
Exim как запретить вложения rar с паролями?
Поэтому вариант от 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} } } }
Для 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} } } }
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2018-08-26 18:06:29
Exim как запретить вложения rar с паролями?
И, наконец, в первый condition для zip можно добавить поддержку 7z.
condition = ${if match{$mime_filename} {\N(?i)\.zip$|(?i)\.7z$\N}}
condition = ${if match{$mime_filename} {\N(?i)\.zip$|(?i)\.7z$\N}}