Назад | Перейти на главную страницу

Postfix отключит «исходящую» почту

Я пытаюсь осмыслить следующее. Возможен ли постфиксный сервер только для приема. например, mx.example.com должен получать почту только из определенного списка доменов. Через него нельзя отправлять почту. Я не могу найти статей по этому поводу. Я знаю, что могу отключить sasl, но это не мешает отправке без авторизации. Это вообще возможно полностью отключить?

По умолчанию Postfix разрешает неограниченную ретрансляцию из доверенных сетей:

mynetworks (по умолчанию: см. вывод "postconf -d")

Список «доверенных» удаленных клиентов SMTP, у которых больше привилегий, чем у «чужих».

В частности, «доверенным» клиентам SMTP разрешено ретранслировать почту через Postfix. Увидеть smtpd_relay_restrictions описание параметра.

Значение по умолчанию может быть примерно таким, как минимум с местная обратная связь сети:

mynetworks = 127.0.0.0/8 198.51.100.100/24 [::1]/128 [fe80::]/64

В smtpd_relay_restrictions по умолчанию:

permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination

permit_mynetworks Разрешить запрос, если IP-адрес клиента совпадает с любым сетевым или сетевым адресом, указанным в $mynetworks.

Поэтому проще всего удалить permit_mynetworks из этого списка. (В качестве альтернативы можно установить mynetworks не включать 127.0.0.0/8, но это может вызвать другие проблемы.)

Первый и самый простой способ:

Создайте правило iptables, которое будет блокировать все исходящие электронные письма. Пример:

iptables -A OUTPUT -p tcp --dport 25 -j DROP

Но вам также нужно отбросить весь исходящий трафик. Вы можете сделать это с полицией по умолчанию:

iptables -P OUTPUT DROP

Или (лучше) политика по умолчанию - принять все и отбросить правило в конце цепочки. И вам нужно принимать весь установленный и связанный трафик. Пакет правил будет примерно таким:

iptables -P OUTPUT ACCEPT

iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 25 -j DROP
iptables -A OUTPUT -s <type_host_ip> -j DROP

Это только часть правил !!! Вам необходимо разрешить весь исходящий трафик IMAP и POP3 и другой, например SSH !!!

Второй способ:

Создать транспортную карту:

> /etc/postfix/transport

Добавьте в этот файл следующее:

your_domain:
* local:some_local_user

По одной строке на домен.

В /etc/aliases добавьте эту строку:

some_local_user:  /dev/null

В main.cf:

luser_relay = some_local_user@your_domain.tld
transport_maps = hash:/etc/postfix/transport
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

Запускаем по одному:

postmap /etc/postfix/transport
postmap /etc/aliases
service postfix reload

Ты можешь использовать ОТКАЗАТЬ карта действий для отправки обратно пользователям отклонить сообщение.

Заменить транспортную карту на:

your_domain:
* error: not allowed!