Ключевые слова:postfix, mail, blocking, filter, limit, (найти похожие документы)
Date: Thu, 15 Aug 2002 06:50:46 +0600
From: roman <roman@texakabank.kz>
Newsgroups: fido7.ru.unix.bsd
Subject: Блокирование некоторых аттачей через Postfix
ST> Кто нибудь занимался вопросом создания карантина на MTA
ST> постфикс? В частности интересует посылка письма постмастеру при
ST> превышении определенного объема письмом, письма не превышающие этот
ST> объем должны ходить обычным порядком.
ST> Подскажите или поделитесь сведениями.
в общем так.
такого понятия как карантин в самом постфике нет, эту проблему можно решить
следующим путем
0. smtp_always_send_ehlo = yes
1. выставить message_size_limit =
2. mailbox_command = /usr/bin/procmail - с помощью сего программного
продукта делать карантин, нотифай постамстеру, но от этого трафика не
уменьшица как вы понимаете, потому, что письма уже будут получены.
3. насчет загрузки канала, порежте совой канал на куски, например по smtp
10%, а все остальное 90%, на циске это делается
в 5 секунд, как в FreeBSD это сделать незнаю, но думю ipfw в этом деле
поможет.
4. чтобы народ не слал bmp & etc body_checks =
regexp:/etc/postfix/regexp/body_check
и нарисовать там что-нибудь наподобии
#Common
/^[^\t\x20]*begin
(.*)\.(ace|asx|nsc|asf|wms|mpa|bak|pas|c|cpp|asp|wab|asf|wmv|pp|ex_|mpe|pps|
mp3|mpe
g|avi|mid|bmp|class|js|mpg|mov|mp2|exe|bat|lnk|asd|shb|vb|wsf|wsh|pif|scr|ch
m|hta|shs|vbs|vbe|js|jse)
("?)[\t\x20]*$/ REJECT
/^[^\t\x20]*Content-(Type|Disposition):(.*)((file)?)name=(.*)\.(ace|asx|nsc|
asf|wms|mpa|bak|pas|c|cpp
|asp|wab|asf|wmv|pp|exe_|mpe|pps|mp3|mpeg|avi|mid|bmp|class|js|mpg|mov|mp2|e
xe|bat|lnk|asd|shb|vb|wsf
|pif|scr|chm|hta|shs|vbs|vbe|js|jse)/ REJECT
/^[^\t\x20]*((file)?)name=(.*)\.(ace|asx|nsc|asf|wms|mpa|bak|pas|c|cpp|asp|w
ab|asf|wmv|pp|ex_|mpe|pps
|mp3|mpeg|avi|mid|bmp|class|js|mpg|mov|mp2|exe|bat|lnk|asd|shb|vb|wsf|pif|sc
r|chm|hta|shs|vbs|vbe|js|
jse)("?)[\t\x20]*$/ REJECT
/(filename|name)=.*\.(ace|asx|nsc|asf|wms|mpa|bak|pas|c|cpp|asp|wab|asf|wmv|
pp|ex_|mpe|pps|mp3|mpeg|a
vi|mid|bmp|class|js|mpg|mov|mp2|exe|bat|lnk|asd|shb|vb|wsf|wsh|pif|scr|chm|h
ta|shs|vbs|vbe|js|jse)/
REJECT
#MIME Encoded
/(filename|name)=.*\?.*(LmJhaw|5iYWs|LmNsYXNz|5jbGFzcw|Lm1wMg|5tcDI|Lm1vdg|5
tb3Y|Lm1wZw|5tcGc|LmJtcA|
5ibXA|Lm1pZA|5taWQ|LmF2aQ|5hdmk|Lm1wMw|5tcDM|Lm1wZQ|5tcGU|LnBwcw|5wcHM|Lndtd
g|53bXY|LmFzZg|5hc2Y|Lndh
Yg|53YWI|LmFzcA|5hc3A|Lm1wYQ|5tcGE|Lmpz|5qcw|LmFzZA|5hc2Q|LmpzZQ|5qc2U|LnZi|
52Yg|Lmxuaw|5sbms|LnZiZQ|
52YmU|LnNocw|5zaHM|LndzaA|53c2g|LnNoYg|5zaGI|Lmh0YQ|5odGE|53c2Y|LndzZg|LnZic
w|52YnM|LmNobQ|5jaG0|LnNj
cg|5zY3I|LnBpZg|5waWY|LmJhdA|5iYXQ|5leGU|uZXhl|LmV4ZQ)/ REJECT
/^[^\t\x20]*Content-(Type|Disposition):(.*)((file)?)name=(.*)\?.*(LmJhaw|5iY
Ws|LmNsYXNz|5jbGFzcw|Lm1w
Mg|5tcDI|Lm1vdg|5tb3Y|Lm1wZw|5tcGc|LmJtcA|5ibXA|Lm1pZA|5taWQ|LmF2aQ|5hdmk|Lm
1wMw|5tcDM|Lm1wZQ|5tcGU|L
nBwcw|5wcHM|Lndtdg|53bXY|LmFzZg|5hc2Y|LndhYg|53YWI|LmFzcA|5hc3A|Lm1wYQ|5tcGE
|Lmpz|5qcw|LmFzZA|5hc2Q|L
mpzZQ|5qc2U|LnZi|52Yg|Lmxuaw|5sbms|LnZiZQ|52YmU|LnNocw|5zaHM|LndzaA|53c2g|Ln
NoYg|5zaGI|Lmh0YQ|5odGE|5
3c2Y|LndzZg|LnZicw|52YnM|LmNobQ|5jaG0|LnNjcg|5zY3I|LnBpZg|5waWYLmJhdA|5iYXQ|
5leGU|uZXhl|LmV4ZQ)/ R
EJECT
но это опять же отработает тогда, когда письмо уже получено.
5. насчет нотифаев постмастеру можно еще вот это нарисовать
notify_classes = bounce,delay,policy,protocol,resource,software
собственно все.
реально избавиться от ваших проблем, это настроить приоритезацию трафика на
вашем маршрутизаторе и порезать канал.