EXIM блокировка вложений по расширению внутри RAR и ZIP

в 14:48, , рубрики: Песочница, метки: ,

Столкнулся с необходимостью блокировать потенциально опасные письма. У антивируса чаще всего данные файлы не вызывают подозрения (из-за их свежего кода) — rar или zip архив, внутри которых лежат исполняемые файлы:

exe|com|vbs|bat|pif|scr|hta|js|cmd|chm|cpl|jsp|reg|vbe|lnk|dll|sys

Воспользовался описанным способом и сделал для себя правило в config EXIM-а:

#MAIN CONFIGURATION SETTINGS#
...

acl_smtp_mime = acl_check_mime

# ACL CONFIGURATION
....

###Проверка вложений zip-rar###
acl_check_mime:
	deny message = Данной сообщение содержит опасное вложение

		condition = ${if match{$mime_filename}{N(?i).zip$N}}
		decode = default
		condition = ${if match{${run{/usr/bin/unzip -l $mime_decoded_filename}}}{N(?i).(exe|com|vbs|bat|pif|scr|hta|js|cmd|chm|cpl|jsp|reg|vbe|lnk|dll|sys)nN}}
		log_message = forbidden attachment: filename=$mime_filename, content-type=$mime_content_type, recipients=$recipients
  
	deny message = Данной сообщение содержит опасное вложение

		condition = ${if match{$mime_filename}{N(?i).rar$N}}
		decode = default
		condition = ${if match{${run{/usr/bin/unrar l $mime_decoded_filename}}}{N(?i).(exe|com|vbs|bat|pif|scr|hta|js|cmd|chm|cpl|jsp|reg|vbe|lnk|dll|sys)nN}}
		log_message = forbidden attachment: filename=$mime_filename, content-type=$mime_content_type, recipients=$recipients

	accept
###Проверка вложений zip-rar###

Так же надо обратить внимание на расположение unrar и unzip (при необходимости установить их) whereis unrar и whereis unzip в соответствующем месте подправить.

В некоторых случаях необходимо использовать unrar lb вместо unrar l, в моей системе CentOS 6.5 работает вариант выше.

Поделиться

* - обязательные к заполнению поля