Постфикс - открывает реле. Как настроить так, это не?

Это столь безопасно, как Вы хотите, чтобы это было. Это не имеет значения, какой дистрибутив Вы выполняете, если Вы предоставляете корневой доступ через SSH с дрянным паролем, дистрибутив не может помочь Вам. Исправляйте поле обычно и следуйте основным инструкциям по безопасности, и Вы будете в порядке.

2
задан 16 July 2014 в 12:49
4 ответа

Проблема, которая вас открывает, - это

mynetworks = 0.0.0.0/0

Причина где-то ниже, она, вероятно, указана в

smtpd_recipient_restrictions = ... permit_mynetworks ...

. Если вам нужно иметь возможность отправлять электронную почту с любого IP-адреса, просто посмотрите на позволил пользователю / паролю для отправки электронной почты, которая обычно является sasl

4
ответ дан 3 December 2019 в 08:42

mynetworks должны содержать только доверенных пользователей, которые могут использовать сервер для ретрансляции почты в другие домены - в противном случае, как вы обнаружили, это открытый реле. Вы можете установить его на 192.168.0.0/16, 10/8 или 172.16.0.0/12 при использовании адресов RFC 1918 во внутренней сети.

Параметры, которые определяют, могут ли люди отправлять почту на ваш сервер, включают mydestination и virtual_mailbox_domains - прочтите документы здесь или здесь .

4
ответ дан 3 December 2019 в 08:42

Как описано на http://www.postfix.org/postconf.5.html#mynetworks :

mynetworks (по умолчанию: см. "Postconf -d" вывод)
Список «доверенных» удаленных клиентов SMTP, которые имеют больше привилегий, чем «чужие».

В частности, «доверенные» клиенты SMTP могут ретранслировать почту. через Postfix.
См. описание параметра smtpd_recipient_restrictions в руководстве postconf (5).

2
ответ дан 3 December 2019 в 08:42

использовать аутентификацию только для вашего ip: main.cf

smtpd_recipient_restrictions =
    permit_mynetworks
    reject_unauth_destination

используйте файл для хранения вашего ip main.cf:

mynetworks = hash:/etc/postfix/network_table 

Используйте скрипт для обновления вашего ip, если он изменился (запустите в cron)

#!/bin/bash
###
## sh /sx_sys/postfix_mynetwork_ip_checker.sh
LOGFILE="/var/log/smtp_relay.log"

curent_ip=$(dig @exemple.com exemple.com | awk '/^;; ANSWER SECTION:$/ { getline ; print $5 }')
#echo $curent_ip

saved_ip=$(</etc/postfix/network_table )
#echo $saved_ip
if [ "$curent_ip OK" != "$saved_ip" && -n "$curent_ip"]; then
echo "$curent_ip OK" > "/etc/postfix/network_table"
postmap /etc/postfix/network_table
echo "$(date) smtp allow for $curent_ip" >> $LOGFILE 2>&1
mail -s "smtp allow for $curent_ip $(date)" s2@myserv.exemple.com < /dev/null
fi
exit 0
0
ответ дан 3 December 2019 в 08:42

Теги

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