PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix SMTP-Relay -> Exchange



tobi.b.
14.02.19, 10:51
Hallo liebe Community,

derzeit versuche ich mein Monitoringsystem mit meinem Exchangeserver zu verbinden.
Mein Plan ist die vom Monitoringsystem erstellen Mails über Postfix direkt an den Exchangeserver weiterzuleiten.
Hierfür habe ich auf dem Exchangeserver eine E-Mailadresse eingerichtet und mit einem bestehenden AD-User verknüpft.
Das Exchange-Konto funktioniert über die OWA ohne Probleme.

Leider scheint es mit der SASL Authentification Probleme zu geben (siehe Fehlermeldung).

Könnte mir jemand einen Tipp geben wo ich einen Fehler gemacht habe?

Fehlermeldung /var/log/mail.log


postfix/smtp[1685]: 08F1860081: to=<test@example.com>, relay=SMTP-IP-Exchange[SMTP-IP-Exchange]:25, delay=5.3, delays=0.07/0.17/5/0, dsn=4.7.3, status=deferred (SASL authentication failed; server SMTP-IP-Exchange[SMTP-IP-Exchange] said: 535 5.7.3 Authentication unsuccessful)



/etc/postfix/main.cf


# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = hostname@example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, hostname, hostname@example.com, localhost.example.com, localhost
relayhost = IP-SMTP-Exchange
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_tls_security_level = may
smtp_sasl_security_options = noanonymous
sender_canonical_maps = hash:/etc/postfix/sender_canonical


/etc/postfix/sender_canonical


Linux-username exchange-username@example.com

Dukel
14.02.19, 10:53
Wieso den Postfix dazwischen? Wieso einen eigenen Nutzer? Du kannst doch die Mails, wie fremde eMails auch, einfach einliefern.

tobi.b.
14.02.19, 10:58
Hallo Dukel,

ich dachte der Benutzer wird für die Authentifizierung am Exchange benötigt?

Dukel
14.02.19, 14:51
Es kommt auf den Empfangskonnector an. Das ist vorallem relevant, wenn man Mails relayen möchte. Aber um Mails an interne Empfänger zu schicken muss man nicht authentifizieren (so wie externe eMails auch, diese werden anonym verschickt).
Aber kannst du in deinem Monitoringsystem nicht direkt den Exchange angeben?

tobi.b.
14.02.19, 15:31
das Monitoringsystem (icinga) übergibt die Daten an ein Bashscript, das über (standard) mail die Daten rausschickt.
Natürlich kann man dort bei den Benutzern, an die die Mail geht, eine Mailadresse vom Exchange hinterlegen aber dann muss der Exchange dem Linuxserver auch vertrauen?!

Ausschnitt aus dem Skript:


MAILBIN="mail"
.....
/usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | $MAILBIN -a "From: $MAILFROM" -s "$SUBJECT" $USEREMAIL


Ein Empfangsconnector ist für den Adressbereich wo der Linuxserver drin ist eingerichtet.

Dukel
14.02.19, 15:52
Funktioniert es denn Anyonm?
Eine funktionierende Mailadresse muss man ja eh hinterlegen. Oder verstehe ich da was falsch?

Wie ist der der Empfangskonnektor konfiguriert? Darf Anonym schicken oder müssen das Exchange nutzer sein?

tobi.b.
14.02.19, 16:10
Nein muss authentifiziert sein
Beim iRMC habe ich das gleiche Mailkonto hinterlegt und da funktioniert es ohne Probleme
gleiche Serveradresse für den SMTP-Server
Standardport 25
Auth-Typ RFC2554

Dukel
14.02.19, 17:40
Ah Ok. Dann aktiviere das Logging im Receive Connector im Exchange und schaue dort mal in den Logs.

tobi.b.
20.02.19, 12:40
kann mir sonst noch jemand erklären wie ich einfach ein Benutzer hinterlegen kann der die Authentifierung übernimmt?!
Ich hatte mal ein Pythonscript indem ich einfach den Benutzernamen und Passwort des AD-Benutzers hinterlegt habe und mit dem konnte ich mich wunderbar am Exchange anmelden und von meinem Monitoringsystem Mails an Konten vom Exchange verschicken.