Postfix - offenes Relay. Wie kann ich es konfigurieren, damit es nicht so ist?

Postfix - offenes Relay. Wie kann ich es konfigurieren, damit es nicht so ist?

Ich habe Postfix eingerichtet, habe aber Probleme mit der Einrichtung.

Früher habe ich immer E-Mails an den Server gesendet, die mit der Meldung „Weiterleitung verweigert“ abgelehnt wurden. Daher habe ich Folgendes geändert main.cf:

mynetworks = 0.0.0.0/0
mynetworks_style = subnet

Ich kann jetzt E-Mails senden und es funktioniert, aber MX-Tests zeigen an, dass es sich um ein offenes Relay handelt (offensichtlich unbeabsichtigt).

Wie kann ich das Problem lösen? Natürlich möchte ich, dass jeder meine Domain per E-Mail erreichen kann, bin mir aber bei der Konfiguration nicht sicher.

Ich weiß, dass ich das ändern kann mynetworks, aber schränkt das dann nicht ein, wer E-Mails an den Server senden KANN?

Antwort1

Das Problem, das Sie öffnet, ist die

mynetworks = 0.0.0.0/0

Denn irgendwo weiter unten haben Sie es wahrscheinlich aufgelistet in

smtpd_recipient_restrictions = ... permit_mynetworks ...

Wenn Sie in der Lage sein müssen, E-Mails von jeder IP-Adresse aus zu senden, müssen Sie nur einen Benutzer/ein Passwort aktivieren, um E-Mails zu senden. Das übliche Passwort ist sasl

Antwort2

mynetworks darf nur vertrauenswürdige Benutzer enthalten, die den Server zum Weiterleiten von E-Mails an andere Domänen verwenden können – andernfalls handelt es sich, wie Sie festgestellt haben, um ein offenes Relay. Sie sollten es möglicherweise auf 192.168.0.0/16, 10/8 oder 172.16.0.0/12 einstellen, wenn Sie RFC 1918-Adressen in Ihrem internen Netzwerk verwenden.

Zu den Einstellungen, die steuern, ob Personen E-Mails an Ihren Server senden können, gehören mydestination und virtual_mailbox_domains - lesen Sie die DokumentationHieroderHier.

Antwort3

Wie dokumentiert unterhttp://www.postfix.org/postconf.5.html#mynetworks:

mynetworks (Standard: siehe Ausgabe von „postconf -d“)
Die Liste der „vertrauenswürdigen“ Remote-SMTP-Clients, die über mehr Berechtigungen als „Fremde“ verfügen.

Insbesondere dürfen „vertrauenswürdige“ SMTP-Clients E-Mails über Postfix weiterleiten.
Siehe die Beschreibung des Parameters smtpd_recipient_restrictions im Handbuch postconf(5).

Antwort4

Verwenden Sie die Authentifizierung nur für Ihre IP: main.cf

smtpd_recipient_restrictions =
    permit_mynetworks
    reject_unauth_destination

verwenden Sie die Datei main.cf, um Ihre IP zu speichern:

mynetworks = hash:/etc/postfix/network_table 

Verwenden Sie ein Skript, um Ihre IP bei Änderung zu aktualisieren (in Cron ausführen)

#!/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)" [email protected] < /dev/null
fi
exit 0

verwandte Informationen