Приветствую Вас, Гость
Главная » Статьи » Mail » Zimbra

Zimbra. Запрет на отправку и приём писем извне. Чёрный и белый список

http://itin.hol.es/linux/zimbra-local-send-receive

Поставило как-то начальство задачу ограничить отправку и прием писем с внешних адресов отдельным внутренним пользователям Зимбры. Почесал я репу и полез читать документацию.

Проблема оказалась в том, что толковых полных мануалов по данной теме я не нашел, поэтому соорудил свой огород из всего, что попало под руку. Надеюсь, это кому-нибудь поможет.

Итак, для начала лезем в файл /opt/zimbra/conf/zmconfigd.cf и в строках 231-233 объявляем два новых правила:

POSTCONF smtpd_restriction_classes local_only,insiders_only
POSTCONF local_only FILE postfix_check_recipient_access.cf
POSTCONF insiders_only FILE postfix_check_sender_access.cf

Затем редактируем файл /opt/zimbra/conf/postfix_check_sender_access.cf и указываем файл со списком разрешенных внутренних доменов:

check_sender_access lmdb:/opt/zimbra/postfix/conf/insiders, reject

Аналогично делаем в /opt/zimbra/conf/postfix_check_recipient_access.cf:

check_recipient_access lmdb:/opt/zimbra/postfix/conf/local_domains, reject

Содержимое файлов /opt/zimbra/postfix/conf/insiders и /opt/zimbra/postfix/conf/local_domains представляет собой описание упомянутых выше групп insiders_only и local_only соответственно. Выглядят в них записи следующим образом:

local.domain1.com [TAB] OK
local.domain2.com [TAB] OK

и т.д.

То есть, здесь мы указываем локальные домены, на которые разрешена отправка и получение с них писем. Не забываем, что текстовые файлы конвертируются в базу данных командой postmap.

Далее.

В файле /opt/zimbra/conf/zmconfigd/smtpd_recipient_restrictions.cf в 1 строке прописали путь к базе юзеров, которым запрещен прием почты извне:

check_recipient_access lmdb:/opt/zimbra/postfix/conf/restricted_recipient

В файле /opt/zimbra/conf/zmconfigd/smtpd_sender_restrictions.cf в 1 строке указали путь к базе юзеров, которым запрещена отправка почты наружу:

check_sender_access lmdb:/opt/zimbra/postfix/conf/restricted_senders

По аналогии с вышеупомянутыми списками доменов заносим юзеров в группы local_only (на отправку) и insiders_only (на получение). Те, кто там прописан, могу обмениваться корреспонденцией только в пределах разрешенных доменов. Делается это в файлах:

/opt/zimbra/postfix/conf/restricted_recipient – запрет на получение:

user@domain.com [TAB] insiders_only

/opt/zimbra/postfix/conf/restricted_senders – запрет на отправку:

user@domain.com [TAB] local_only

Делаем postmap на оба файла и фигачим zmmtacontrol restart

На этом, собственно, все. Теперь мы можем добавлять нужных пользователей в группы и тем самым запрещать им либо принимать письма с внешнего мира, либо отправлять их туда.

Если вам надо загонять юзера сразу в две группы, можно воспользоваться простым bash-скриптом:

#!/bin/bash
sudo -u zimbra echo -e "$1\tlocal_only" >> /opt/zimbra/postfix/conf/restricted_senders
sudo -u zimbra postmap /opt/zimbra/postfix/conf/restricted_senders
sudo -u zimbra echo -e "$1\tinsiders_only" >> /opt/zimbra/postfix/conf/restricted_recipient
sudo -u zimbra postmap /opt/zimbra/postfix/conf/restricted_recipient
sudo -u zimbra zmmtactl stop
sudo -u zimbra zmmtactl start

и в дальнейшем просто запускаем его (не забываем chmod +x namescript.sh), передавая адрес почты, как параметр. Например, namescript.sh user@domain.com.

Я привык работать на сервере под рутом (почему – тема отдельной статьи), так что можете просто убрать sudo -u zimbra в начале строк и запускать его от системного юзера zimbra.

Comments:

Михаил    
31.08.2017 в 03:14

Нет такого файла!!! ((((((((((
/opt/zimbra/conf/postfix_check_sender_access.cf
Ответить

    Grisha    
    01.09.2017 в 10:49

    Попробуйте создать вручную этот файл, прописав в него следующую строку:

    check_sender_access lmdb:/opt/zimbra/postfix/conf/insiders, reject

    Ну и аналогично со вторым файлом.
    

---------------

Создаем Белый список (Whitelist)


1. Создадим файл postfix_rbl_override

root@unix:/# nano /opt/zimbra/conf/postfix_rbl_override

2. В созданный файл добавляем доверенные IP адреса.

1.2.3.4 OK
5.6.7.8 OK


3. Выполняем команду postmap для сохранения настроек в postfix. Данную команду выполняем от пользователя zimbra

root@unix:/# postmap /opt/zimbra/conf/postfix_rbl_override

4. Выполняем команду zmprov чтобы применить данные изменения в Zimbra Collaboration Server.

root@unix:/# zmprov mcf +zimbraMtaRestriction 'check_client_access lmdb:/opt/zimbra/conf/postfix_rbl_override'

postmap необходимо запускать каждый раз после изменения.
 

Создаем Черный список (blackList)


1. Создаем файл postfix_blacklist:

root@unix:/# nano /opt/zimbra/conf/postfix_blacklist

2. В созданный файл добавляем блокируемые IP адреса.

1.2.3.4 REJECT
5.6.7.8 REJECT


3. Выполняем команду postmap для сохранения настроек в postfix. Данную команду выполняем от пользователя zimbra

root@unix:/# postmap /opt/zimbra/conf/postfix_blacklist

4. Выполняем команду zmprov, чтобы применить данные изменения в Zimbra Collaboration Server.

root@unix:/# zmprov mcf +zimbraMtaRestriction 'check_client_access lmdb:/opt/zimbra/conf/postfix_blacklist'

postmap необходимо каждый раз запускать после изменения.

По всем вопросам, связанными c Zextras Suite вы можете обратиться к Представителю компании «Zextras Technology» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com

https://habr.com/ru/company/zimbra/blog/341804/

 

Категория: Zimbra | Добавил: ab0k (13.07.2020)
Просмотров: 968 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar