Postfix отключает «исходящую» электронную почту

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

0
задан 9 October 2017 в 10:22
2 ответа

По умолчанию 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

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

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

1
ответ дан 4 December 2019 в 16:07

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

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

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

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

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

Вы можете использовать REJECT карта действий для отправки обратно пользователям сообщения об отклонении.

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

your_domain:
* error: not allowed!
0
ответ дан 4 December 2019 в 16:07

Теги

Похожие вопросы