Я пытаюсь осознать следующее. Возможен ли постфиксный сервер только для получения. например, 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
allow_mynetworks
Разрешить запрос, когда IP-адрес клиента совпадает с любым сетевым или сетевым адресом, указанным в$ mynetworks
.
Поэтому самым простым способом было бы удалить permission_mynetworks
из этого списка. (В качестве альтернативы можно настроить mynetworks
так, чтобы не включать 127.0.0.0/8
, но это может вызвать другие проблемы.)
Первый и самый простой способ :
Создайте правило 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!