URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 1666
[ Назад ]

Исходное сообщение
"Фильтрация почты в Postfix через body_checks"

Отправлено SHRDLU , 14-Окт-04 09:49 
Пытаюсь блокировать аттачи с исполняемыми файлами. Настройки постфикса беру из примеров на этом форуме. В main.cf пишу

body_check = regexp:/etc/postfix/body_checks

В /etc/postfix/body_checks написано

/^[     ]*name=.*\.(exe|dll|eml|vbs|pif|com|bat|scr|lnk)\"?$/           REJECT
/\<iframe src=cid\:.* height=0 width=0\>/i      REJECT
/^Content-Disposition: attachment; *filename=.*\.(exe|dll|eml|vbs|pif|com|bat|scr|lnk).*/i   REJECT

Перезапускаю постфикс, отправляю себе c ящика на pisem.net приаттаченный экзешник, и преспокойно получаю его :( Чихал постфикс на body_checks, причем безо всяких сообщений в логах.
Третий день мучаюсь. Чего еще постфиксу (v2.0.19) надо сказать, чтобы он начал использовать этот фильтр??? Конфиг от постфикса могу закинуть полностью, если надо (просто в примерах упоминалось ТОЛЬКО включение этой строчки)


Содержание

Сообщения в этом обсуждении
"Фильтрация почты в Postfix через body_checks"
Отправлено m , 14-Окт-04 12:18 
He body_check а mime_header_checks для attachments

"Фильтрация почты в Postfix через body_checks"
Отправлено SHRDLU , 14-Окт-04 13:49 
>He body_check а mime_header_checks для attachments

Пробовал и так. Постфикс точно также не обращает внимания и на mime_header_checks


"Фильтрация почты в Postfix через body_checks"
Отправлено blackpepper , 15-Окт-04 12:29 
А квадратные скобки как разносишь?

"Фильтрация почты в Postfix через body_checks"
Отправлено SHRDLU , 15-Окт-04 12:34 
>А квадратные скобки как разносишь?

Внутри [] 1 пробел и 1 таб...


"Фильтрация почты в Postfix через body_checks"
Отправлено blackpepper , 15-Окт-04 12:42 
>>А квадратные скобки как разносишь?
>
>Внутри [] 1 пробел и 1 таб...

Странно , у меня все эти фильтра работают.


"Фильтрация почты в Postfix через body_checks"
Отправлено SHRDLU , 15-Окт-04 12:49 
>>>А квадратные скобки как разносишь?
>>Внутри [] 1 пробел и 1 таб...
>Странно , у меня все эти фильтра работают.

Да по ходу это у всех работает... кроме меня. :(
Вот и интересуюсь - может, еще какие-то параметры, которые в примерах не упоминаются (и у меня не прописаны в конфигах), должны быть обязательно прописаны для работы этих фильтров?


"Фильтрация почты в Postfix через mime_body_checks"
Отправлено Andrew , 04-Фев-05 18:31 
>Да по ходу это у всех работает... кроме меня. :(

>Вот и интересуюсь - может, еще какие-то параметры, которые в примерах не
>упоминаются (и у меня не прописаны в конфигах), должны быть обязательно
>прописаны для работы этих фильтров?

Та-же ботва. Ставлю все, как на
http://www.securitysage.com/antispam/hedchek.html,
конфиги взяты там же.

Единственная закономерность (может, кого на мысль натолкнет - нам подскажет) фильтр пропускает файло, у которого имя русскими буквами (понятно, кроме расширения). Попробовал отправить 111.exe - REJECT без разговоров.


"Фильтрация почты в Postfix через mime_body_checks"
Отправлено unk , 04-Фев-05 20:49 
>Единственная закономерность (может, кого на мысль натолкнет - нам подскажет) фильтр пропускает
>файло, у которого имя русскими буквами (понятно, кроме расширения). Попробовал отправить
>111.exe - REJECT без разговоров.
Покажите регэксп и строчку на которой он не срабатывает.

"Фильтрация почты в Postfix через mime_body_checks"
Отправлено Andrew , 07-Фев-05 08:30 
>> фильтр пропускает файло, у которого имя русскими буквами (понятно, кроме >>расширения). Попробовал отправить 111.exe - REJECT без разговоров.
>Покажите регэксп и строчку на которой он не срабатывает.

Вот оно (взято с www.securitysage.com) :

# This entry will reject messages with attachments that could be dangerous, and will inform the sender of what type of attachemnt was rejected.
/^\s*Content-(Disposition|Type).*name\s*=\s*"?(.+\.(ad[ep]|asd|ba[st]
|c[ho]m|cmd|cpl|crt|dbx|dll|exe|hlp|hta|in[fs]|isp|js|jse|lnk|md[etw]
|ms[cipt]|nws|ocx|ops|pcd|pi|pif|prf|reg|scf|scr|sct|sh[bms]|swf|uue|
vb|vb[esx]|vxd|wab|ws[cfh]))"?\s*$/    REJECT Files attached to emails that contain or end in "$3" are prohibited on this server as they may contain viruses. The file named "$2" was rejected.


"Фильтрация почты в Postfix через mime_body_checks"
Отправлено unk , 07-Фев-05 09:02 
Теперь покажите строчку на которой этот регэксп должен работать (как вам кажется/хочется), но не работает.



"Фильтрация почты в Postfix через mime_header_checks"
Отправлено Andrew , 07-Фев-05 14:24 
>Теперь покажите строчку на которой этот регэксп должен работать (как вам >кажется/хочется), но не работает.

...
Content-Type: application/x-msdownload;
name="=?KOI8-R?Q?=EB=C1=DA=C1=CE=D8=2Eexe?="
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="=?KOI8-R?Q?=EB=C1=DA=C1=CE=D8=2Eexe?="
...

т.е. это кусок заголовка письма с аттачем по имени "Казань.exe"
в кодировке koi8-r. Уже на 50 % процентов понял, куда копать : регулярное выражение не анализирует non-us кодировку ! Ку ?


"Фильтрация почты в Postfix через mime_header_checks"
Отправлено unk , 07-Фев-05 14:45 
Попробуйте:
/^\s*Content-(Disposition|Type).*name\s*=\s*"?(.+(\.|2E)exe)(\?=)?"?\s*$/ REJECT Exe

"Фильтрация почты в Postfix через mime_header_checks"
Отправлено Andrew , 07-Фев-05 15:15 
>Попробуйте:
>/^\s*Content-(Disposition|Type).*name\s*=\s*"?(.+(\.|2E)exe)(\?=)?"?\s*$/ REJECT Exe

OK !!! Спасибо. Низкий поклон.

Говорила мама - учи, сынок, регулярные выражения...

Сейчас только добавлю другие "опасные" расширения...