Запрет отправки писем с вложениями

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-09-22 10:56:09

Postfix
Несколько доменов, один из которых локальный.
Нужно запретить пользователям отправлять в мир письма с вложениями.
Для локального домена эту возможность нужно оставить.
В идеале хочется сделать запрет с исключениями для избранных.
Кто-нть с таким сталкивался?
Machines to Work,
People to Think.

Хостинговая компания 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/

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-09-22 21:08:04

Ok. Немного перефразирую:
можно ли на отправку и получение задать разные message_size_limit?
и реально ли сделать разные лимиты для разных пользователей?
Machines to Work,
People to Think.

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение Laa » 2009-09-22 21:12:23

Мне кажется, что ответов мало, потому что postfix. :(
На exim это все просто делается.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-09-23 8:17:05

Так, а если поднять второй почтовик (смартхост для первого) на exim, что тогда можно придумать?
Machines to Work,
People to Think.

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

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение skeletor » 2009-09-23 21:28:40

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

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-09-24 8:08:09

можно по-подробнее про указание размеров?
Machines to Work,
People to Think.


Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-09-24 13:27:55

Искал, ничего не нашел, зарегистрироваться не удалось - капча у них не отображается...
Machines to Work,
People to Think.

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение Alex_hha » 2009-09-24 20:06:37

можно ли на отправку и получение задать разные message_size_limit?
нет, это глобальный параметр, ну равзе что запускать два экземпляра postfix

atrium
мл. сержант
Сообщения: 88
Зарегистрирован: 2008-08-19 15:35:47

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение atrium » 2009-09-25 8:47:57

Для Exim

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

# Ограничения применяемые после ипользования команды 'RCPT TO'
#
acl_check_rcpt:


    # Задаёт переменные для организации разделения размера сообщения для локальной сети
    # и интернета
    #
    warn set acl_c0 = unlocal

    warn domains=+local_domains
   set acl_c0= local

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

# Ограничения на команду 'DATA'
#
acl_check_data:


    # Ограничение размера сообщения для локальной сети. Размер сообщения задаётся
    # макросом 'MSL_INTRANET' в главном конфиге
    #
    deny message = "Size message limit for lan MSL_INTRANET"
   condition = ${if and { \
      { \
      eq{$acl_c0}{local} \
      } \
      { \
      >{$message_size}{MSL_INTRANET} \
      } \
        }} 


    # Ограничения размера сообщения для интернета. Размер сообщния
    # задаётся макросом 'MSL_INTERNET' в главном конфиге
    #
    deny message = "Size message limit for internet MSL_INTERNET"
   condition = ${if and { \
      { \
      eq{$acl_c0}{unlocal} \
      } \
      { \
      >{$message_size}{MSL_INTERNET} \
      } \
        }}
Последний раз редактировалось Laa 2009-10-09 10:10:58, всего редактировалось 1 раз.
Причина: Убедительная просьба юзать теги [code] при оформлении листингов.

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-09-25 11:39:53

Спасибо, буду переходить на Эксим.
Machines to Work,
People to Think.

Аватара пользователя
LimpTeaM
сержант
Сообщения: 236
Зарегистрирован: 2007-10-04 16:26:21

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение LimpTeaM » 2009-09-25 11:48:34

http://www.postfix.org/RESTRICTION_CLASS_README.html
так попробуйте, но это только предположение :)
UPD: помойму не то... по соображением многих в гугле это можно произвести с помощью какого-нить дополнительного транспорта.

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение Alex_hha » 2009-09-25 13:11:15

можно ли на отправку и получение задать разные message_size_limit?
можно

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

/etc/postfix/master.cf
192.168.127.1:smtp inet n - - - 100 smtpd
   -o message_size_limit=10000000

xxx.xxx.xxx.xxx:smtp inet n - - - 100 smtpd
   -o message_size_limit=5000000
где xxx.xxx.xxx.xxx - внешний ip для приема почты из мира
и реально ли сделать разные лимиты для разных пользователей?
реально, но хлопотно. Разбить людей на несколько групп и в зависимости от группы маршрутизировать на конкретный экземпляр postfix со своим ограничением на размер письма.

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-09-25 14:23:29

Alex_hha писал(а):

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

xxx.xxx.xxx.xxx:smtp inet n - - - 100 smtpd
   -o message_size_limit=5000000
где xxx.xxx.xxx.xxx - внешний ip для приема почты из мира
Так точно будет принимать из мира?
У меня на этом серваке один сетевой интерфейс с локальным ip.
Machines to Work,
People to Think.

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение Alex_hha » 2009-09-25 15:59:34

Так точно будет принимать из мира?
У меня на этом серваке один сетевой интерфейс с локальным ip.
а как на него вообще почта из мира попадает?

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-09-25 16:32:28

цивилизованным способом: циска на него 25 порт пробрасывает
Machines to Work,
People to Think.

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение Alex_hha » 2009-09-25 19:46:18

цивилизованным способом: циска на него 25 порт пробрасывает
спорное утверждение, ну да ладно. Ну тогда только разносить на разные порты

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-10-09 8:57:36

atrium писал(а):Для Exim
# Ограничения применяемые после ипользования команды 'RCPT TO'
#
acl_check_rcpt:
...
Спасибо, примерно так и сделал:

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

...
hostlist        full_mail = 192.168.0.10:192.168.1.15
...
message_size_limit = 20M
MSL_INTRANET = 20M
MSL_INTERNET = 1M
...
warn set acl_c0 = unlocal
warn domains=+local_domains
set acl_c0 = local
...
# Ограничение размера сообщения для локальной сети.
deny    message = "Message size limit for LAN = MSL_INTRANET"
        hosts = +relay_from_hosts
        condition = ${if and {{eq{$acl_c0}{local}}{>{$message_size}{MSL_INTRANET}}}}

# Ограничения размера сообщения для интернета, с исключением избранных.
deny    message = "Message size limit for Internet = MSL_INTERNET"
        hosts =  !+full_mail : +relay_from_hosts
        condition = ${if and {{eq{$acl_c0}{unlocal}}{>{$message_size}{MSL_INTERNET}}}}
...
Но у хитрожопых юзверей осталась одна лазейка - многотомные архивы.
Хотелось бы прикрутить блокировку по вложениям с содержанием *part*.
Пошел курить маны и гуглить...
Но если кто-то знает как это сделать - буду только рад :)

ЗЫ: количество адресов исключений большим получается, как бы в отдельный файл вынести?
Machines to Work,
People to Think.

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-10-09 10:03:03

Не самое правильное решение, но в 99% случаях эффективное:

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

###################
acl_check_mime:
####################
deny message   = Blacklisted file extension detected ($mime_filename)
     condition = ${if match {${lc:$mime_filename}}{\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com|\.vbs|\.cpl)$\N}{1}{0}}

deny message   = This type of archive is blocked!
     condition = ${if match {${lc:$mime_filename}}{\N(\.part01.rar|\.part01.zip)$\N}{1}{0}}
     hosts     = !+full_mail : +relay_from_hosts
accept

Остался вопрос с вынесением в файл членов full_mail
Machines to Work,
People to Think.

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение Alex_hha » 2009-10-09 12:41:28

и реально ли сделать разные лимиты для разных пользователей?
можно с помощью apolicy примерно так
acl foo recipient foo@domain.com
acl bar recipient bar@domain.com

acl 10mb size 10240000
acl 20mb size 20480000

action deny_max_10mb REJECT This user can not receive more than 10mb
action deny_max_20mb REJECT This user can not receive more than 20mb

access foo 10mb deny_max_10mb
access bar 20mb deny_max_20mb
Насчет вырезания вложений - http://wiki.sys-adm.org.ua/mail/postfix-faq.php первый вопрос

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-10-09 13:57:49

Да я уже на Эксим перешел... :)
Machines to Work,
People to Think.

Аватара пользователя
$Alchemist
сержант
Сообщения: 173
Зарегистрирован: 2008-06-26 13:38:17
Откуда: SPb
Контактная информация:

Re: Запрет отправки писем с вложениями

Непрочитанное сообщение $Alchemist » 2009-11-12 11:26:43

И обратно уже успел :-D

2 Alex_hha:
Спасибо, apolicy то, что надо!

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

# cat /etc/apolicy/policy.conf

acl local_domains sender @domain1.ru
acl local_domains sender @domain2.ru

acl privileged_users sender admin@domain1.ru
acl privileged_users sender office@domain1.ru

acl 1mb size 1024000

action deny_max_1mb REJECT Sorry, but You can't sent more than 1mb

access local_domains !privileged_users 1mb deny_max_1mb
Machines to Work,
People to Think.