SMTP TLS Powershell

Mitglied: sniggls

sniggls (Level 1) - Jetzt verbinden

11.01.2021, aktualisiert 16:14 Uhr, 744 Aufrufe, 26 Kommentare

Hi,

ich informiere meine Linux Kollegen via via Email, wenn ihr AD Passwort abgeändert werden muss. Dafür benutze ich ein Powershellscript. Ich habe vor kurzem auf unserem internen SMTP Server TLS (auf Port25) aktiviert. Seitdem funktioniert das tolle Script nicht mehr.
Habe im Script selbst Use SSL und Port 25 eingegeben

Das Script läuft ohne Fehler durch.

Auf dem SMTP Server in den Logs erhalte ich folgende Meldung:
Könnt ihr mir weiterhelfen?

Gruß
Kommentar vom Moderator Dani am 11.01.2021 um 15:15:52 Uhr
Formatierung hinzugefügt.
Mitglied: Doskias
11.01.2021, aktualisiert um 14:50 Uhr
Moin,

warum Port und SSL manuell angegeben?

Gruß
Doskias
Bitte warten ..
Mitglied: sniggls
11.01.2021, aktualisiert um 15:04 Uhr
warum Port und SSL manuell angegeben?

Wusste nicht wie ich es sonst durchführe, hatte die beiden Parameter hinzugefügt, vorher kam die Fehlermeldung, das TLS benutzt werden muss (was ich ja bewusst eingeschaltet hatte)
Bitte warten ..
Mitglied: Doskias
11.01.2021 um 15:09 Uhr
Ok, dann eine andere Frage direkt auf den Port bezogen: Wieso nimmst du Port 25. 25 ist (standardmäßig) für SMTP Nachrichten. SMTP mit TLS (auch TSMTP genannt) ist normalerweise Port 465.
Bitte warten ..
Mitglied: Dani
11.01.2021, aktualisiert um 15:28 Uhr
Moin,
welches Produkt setzt ihr als E-Mailserver (Exchange Server, Postfix, etc...)? Je nach dem wird für SSL/TLS ein dedizierte Port 465/587 genutzt und muss auch angegeben werden.

Kann es sein, dass durch die Aktivierung von TLS auf dem E-Mail-Server (keine) älteren SSL Protokolle als auch Cipher Suites nutzbar sind? Je nachdem kannst du das mit [System.Net.ServicePointManager]::SecurityProtocol innerhalb des PowerShell Skripts steuern.

Ich bin mir gerade auch nicht sicher, ob du bei Port 25/SMTP überhaupt explizit UseTls angegeben werden muss...


Gruß,
Dani
Bitte warten ..
Mitglied: Doskias
11.01.2021 um 15:27 Uhr
Zitat von Dani:
Ich bin mir gerade auch nicht sicher, ob du bei Port 25/SMTP überhaupt explizit angegeben werden muss...

Nein müssen nicht. Ich nutze einige PS-Skripte ohne den Port-Parameter über SMTP.
Bitte warten ..
Mitglied: sniggls
11.01.2021 um 15:45 Uhr
Zitat von Dani:

Moin,
welches Produkt setzt ihr als E-Mailserver (Exchange Server, Postfix, etc...)? Je nach dem wird für SSL/TLS ein dedizierte Port 465/587 genutzt und muss auch angegeben werden.


Wir nutzen Exchange 365, die SMTP Benachrichtung ist ausschließlich von internen Maschinen die ich zugelassen habe für anonymes versenden.

Kann es sein, dass durch die Aktivierung von TLS auf dem E-Mail-Server (keine) älteren SSL Protokolle als auch Cipher Suites nutzbar sind? Je nachdem kannst du das mit [System.Net.ServicePointManager]::SecurityProtocol innerhalb des PowerShell Skripts steuern.


Auf dem E-Mail Server selbst habe ich nichts konfiguriert. Ich nutze z.B. auch Veeam Backup Server etc. dort funktioniert alles einwandfrei, nur das Script macht mir Probleme


Ich bin mir gerade auch nicht sicher, ob du bei Port 25/SMTP überhaupt explizit UseTls angegeben werden muss...
Wenn ich die Parameter nicht hinzufüge bekomme ich auf dem SMTP Server in den Logs die Meldung, dass TLS aktiviert sein muss
Bitte warten ..
Mitglied: Doskias
11.01.2021 um 15:51 Uhr
Versuch es doch einfach mal mit dem "richtigen" Port:

Bitte warten ..
Mitglied: mbehrens
11.01.2021 um 16:48 Uhr
Zitat von sniggls:

Zitat von Dani:

Moin,
welches Produkt setzt ihr als E-Mailserver (Exchange Server, Postfix, etc...)? Je nach dem wird für SSL/TLS ein dedizierte Port 465/587 genutzt und muss auch angegeben werden.


Wir nutzen Exchange 365, die SMTP Benachrichtung ist ausschließlich von internen Maschinen die ich zugelassen habe für anonymes versenden.

Das liest sich aufgrund der IP Adressen des Logfileauszuges nicht so. Welches System wird also vom PowerShell Script angesprochen?
Bitte warten ..
Mitglied: mbehrens
11.01.2021 um 16:50 Uhr
Zitat von Doskias:

Ok, dann eine andere Frage direkt auf den Port bezogen: Wieso nimmst du Port 25. 25 ist (standardmäßig) für SMTP Nachrichten. SMTP mit TLS (auch TSMTP genannt) ist normalerweise Port 465.

Was ist schon normal ;-) face-wink Meine SMTP Server sprechen hervorragend verschlüsseltes SMTP über Port 25.
Bitte warten ..
Mitglied: Doskias
11.01.2021 um 16:54 Uhr
Zitat von mbehrens:
Was ist schon normal ;-) face-wink Meine SMTP Server sprechen hervorragend verschlüsseltes SMTP über Port 25.

Deswegen hab ich ja nachgefragt. Er schreibt dann ja irgendwo, dass Exchange 365 genutzt wird und nichts konfiguriert wurde. Klar kannst du SMTP auch auf Port 25 legen. Theoretisch kannst du auch Port 80 und 443 tauschen, aber wenn man das macht, dann gibt es Gründe dafür. Wenn nichts konfiguriert wurde, dann passt Port 25 bei TLS nicht.
Bitte warten ..
Mitglied: mbehrens
11.01.2021 um 18:34 Uhr
Zitat von Doskias:

Zitat von mbehrens:
Was ist schon normal ;-) face-wink Meine SMTP Server sprechen hervorragend verschlüsseltes SMTP über Port 25.

Wenn nichts konfiguriert wurde, dann passt Port 25 bei TLS nicht.

Dem muss ich Wiedersprechen. Natürlich passt das sehr gut zusammen und ist gängige Praxis beim Betrieb von Mailservern. In der Regel benutzen diese untereinander nur Port 25 und verschlüsseln den Datenverkehr zunehmend auch via TLS.
Bitte warten ..
Mitglied: sniggls
11.01.2021 um 18:57 Uhr
Zitat von Doskias:

Zitat von mbehrens:
Was ist schon normal ;-) face-wink Meine SMTP Server sprechen hervorragend verschlüsseltes SMTP über Port 25.

Deswegen hab ich ja nachgefragt. Er schreibt dann ja irgendwo, dass Exchange 365 genutzt wird und nichts konfiguriert wurde. Klar kannst du SMTP auch auf Port 25 legen. Theoretisch kannst du auch Port 80 und 443 tauschen, aber wenn man das macht, dann gibt es Gründe dafür. Wenn nichts konfiguriert wurde, dann passt Port 25 bei TLS nicht.


ich habe einen internen smtp-relay-server, den verwende ich für interne Maschinen (Storage, Backup) und in dem Fall auch für mein Powershell Script, welches ich auf meinem Domaincontroller ausführen lasse. Der SMTP Relay Server benötigt keine Authentifizierung, ich mach das über die IP Freigabe in der Konfig des SMTP Servers. Einen Exchangeserver selbst habe ich nicht, sondern O365.
Bitte warten ..
Mitglied: sniggls
11.01.2021 um 18:58 Uhr
Das liest sich aufgrund der IP Adressen des Logfileauszuges nicht so. Welches System wird also vom PowerShell Script angesprochen?

Das Script führe ich auf unserem Domänen Controller aus und es spricht die Domäne an, welches PW abläuft, kontaktiert unseren internen smtp relay Server.
Bitte warten ..
Mitglied: Doskias
11.01.2021 um 19:13 Uhr
DIe Verbindung zweieer Mailserver ist aber was anderes als die Verbindung eines CLients (in dem Fall das PS-Skript) zum eigenen Mailserver.
Bitte warten ..
Mitglied: Doskias
11.01.2021 um 19:14 Uhr
Hast du es denn jetzt einfach mal mit dem TSMTP Port 465 versucht?
Bitte warten ..
Mitglied: mbehrens
11.01.2021 um 19:30 Uhr
Zitat von Doskias:

DIe Verbindung zweieer Mailserver ist aber was anderes als die Verbindung eines CLients (in dem Fall das PS-Skript) zum eigenen Mailserver.

Nein, dies macht aus Sicht des SMTP Protokolles keinen Unterschied.
Bitte warten ..
Mitglied: mbehrens
11.01.2021 um 19:31 Uhr
Zitat von sniggls:

ich habe einen internen smtp-relay-server, den verwende ich für interne Maschinen (Storage, Backup) und in dem Fall auch für mein Powershell Script, welches ich auf meinem Domaincontroller ausführen lasse. Der SMTP Relay Server benötigt keine Authentifizierung, ich mach das über die IP Freigabe in der Konfig des SMTP Servers. Einen Exchangeserver selbst habe ich nicht, sondern O365.

Dann erhöhe bitte den Loglevel des Relay Servers. Das gezeigte Protokoll ist nicht aussagefähig genug.
Bitte warten ..
Mitglied: sniggls
12.01.2021 um 09:17 Uhr
Zitat von Doskias:

Hast du es denn jetzt einfach mal mit dem TSMTP Port 465 versucht?

Das habe ich gemacht, leider passiert dann gar nichts.
Bitte warten ..
Mitglied: Dani
12.01.2021 um 12:49 Uhr
Moin,
ich habe einen internen smtp-relay-server,
warum hast du das oben in deiner Antwort auf meine Fragen nicht erwähnt?!
Wenn ich mir den Ausschnitt des Logfile aus deiner Frage anschaue, vermute ich einmal dass es sich um IIS mit SMTP handelt. Korrekt?


Gruß,
Dani
Bitte warten ..
Mitglied: sniggls
12.01.2021 um 14:08 Uhr
Zitat von Dani:

Moin,
ich habe einen internen smtp-relay-server,
warum hast du das oben in deiner Antwort auf meine Fragen nicht erwähnt?!
Wenn ich mir den Ausschnitt des Logfile aus deiner Frage anschaue, vermute ich einmal dass es sich um IIS mit SMTP handelt. Korrekt?

Sorry, ich habe das nicht verrissen. Deine Frage zu IIS und SMTP bzw. Schlussfolgerung ist korrekt. Windows Server mit SMTP Relay aka IIS (6.0)

Gruß
Bitte warten ..
Mitglied: Dani
12.01.2021 um 14:22 Uhr
Moin,
Deine Frage zu IIS und SMTP bzw. Schlussfolgerung ist korrekt.
damit ist klar, warum Ports wie 465 oder 587 nicht funktionieren.
Beschreibe doch einmal, wie du SSL/TLS auf Port 25 im IIS konfiguiert hast?!

Windows Server mit SMTP Relay aka IIS (6.0)
Windows Server 2003? Wenn dem so ist, werden SSL Protokolle TLS 1.1/TLS1.2 meines Wissens nach nicht unterstützt. Damit dürfte auch eine Kommunikation mit Exchange Online nicht mehr möglich sein. Denn dort wurden schwache und alte SSL Protokoll SSLv2, SSLv3, TLS 1.0 und TLS 1.1 deaktiviert.


Gruß,
Dani
Bitte warten ..
Mitglied: sniggls
12.01.2021 um 18:13 Uhr
Zitat von Dani:

Moin,
Deine Frage zu IIS und SMTP bzw. Schlussfolgerung ist korrekt.
damit ist klar, warum Ports wie 465 oder 587 nicht funktionieren.
Beschreibe doch einmal, wie du SSL/TLS auf Port 25 im IIS konfiguiert hast?!

in den Einstellungen des SMTP Server habe ich TLS aktiviert und den Port 25 drin.



Windows Server mit SMTP Relay aka IIS (6.0)
Windows Server 2003? Wenn dem so ist, werden SSL Protokolle TLS 1.1/TLS1.2 meines Wissens nach nicht unterstützt. Damit dürfte auch eine Kommunikation mit Exchange Online nicht mehr möglich sein. Denn dort wurden schwache und alte SSL Protokoll SSLv2, SSLv3, TLS 1.0 und TLS 1.1 deaktiviert.

Ne Server 2012, ich kann mit allen Servern die ich intern betreibe als auch apps wie veeam über den smtp relay tls mails versenden....ich schaffe es nur nicht mit dem powershell script
Bitte warten ..
Mitglied: 147069
147069 (Level 1)
12.01.2021, aktualisiert um 18:53 Uhr
Habe ich gerade mal auf einem Server 2012R2 gestestet, funktioniert hier einwandfrei, korrekte Relay-Einstellungen und korrektes Zertifikat das auf den Common-Name des SMTPServers ausgestellt ist für den SMTP-Server vorausgesetzt, klappt SSL auch auf Port 25 mit dem SMTP-Server des IIS. Fehler liegt also an deiner Config.
Mail kommt erfolgreich an!
Würde aber für die Zukunft auf Mailkit migrieren, die SMTP-Client Klasse wird von MS nicht mehr weiterentwickelt wird und moderne Ciphers und Auth Verfahren nicht mehr unterstützt.

Was du leider komplett verschweigst ist die Fehlermeldung der Powershell ...

Gruß bw.
Bitte warten ..
Mitglied: sniggls
12.01.2021 um 18:53 Uhr

Was du leider komplett verschweigst ist die Fehlermeldung der Powershell ...


In Powershell gibt es keine Fehlermeldung, das Script läuft fehlerfrei durch
Bitte warten ..
Mitglied: 147069
147069 (Level 1)
12.01.2021, aktualisiert um 19:06 Uhr
Zitat von sniggls:
In Powershell gibt es keine Fehlermeldung, das Script läuft fehlerfrei durch
Dann ist deine SMTP-Server Config für das Weiterleiten fehlerhaft und nicht die Powershell, denn wenn die nichts meldet wurde die Mail erfolgreich beim SMTP-Server des IIS abgeliefert! Checke die verfügbaren TLS Protokolle deines Smarthosts/Relayhosts an die der SMTP-Server weiterleitet, beide müssen sich auf eine TLS-Version einigen können die beide unterstützen. Ein Wireshark-Trace sollte dir das ebenfalls zeigen.

Mehr Details dazu hier
https://www.emailarchitect.net/eatls/kb/iis_smtp_opportunistic_tls.aspx

Ich habe das hier mit GMAIL als Smarthost erfolgreich getestet.
Checke auch die Mail-Queue (Default C:\inetpub\mailroot\....) wo die abgelieferten Mails landen.
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerke
Heimnetzwerk für mobiles Arbeiten
Matthias182Vor 1 TagFrageNetzwerke14 Kommentare

Hallo zusammen, Die Corona Pandemie treibt viele Veränderungen, so auch bei uns. Seit Wochen arbeiten meine Frau und ich wieder von zu Hause. Und ...

Firewall
Pfsense plus für Geschäftskunden
Looser27Vor 21 StundenInformationFirewall13 Kommentare

Netgate wird in Zukunft die Open Source Firewall pfSense hauptsächlich als kommerzielle Version unter dem Namen pfSense Plus vermarkten. Die "Community Version" wird weiter ...

TK-Netze & Geräte
Hybrid-Telefon für Betrieb an ISDN- sowie VoIP-Anschluss
Datax87Vor 1 TagFrageTK-Netze & Geräte30 Kommentare

Hallo, ich habe eine Frage zu einer geplanten TK-Anlagen-Umstellung. An der betreffenden ISDN-TK-Anlage sind zurzeit 6 ISDN-Telefone angeschlossen. Der dazugehörige Telefon-/Internetanschluss ist zurzeit ein ...

Router & Routing
Wie DMZ ohne doppeltes NAT am VF-Kabel-Internetzugang realisieren?
OldermanVor 1 TagFrageRouter & Routing24 Kommentare

Hallo und guten Tag allerseits! Ich habe mich nach einiger Zeit des Lesens der aufschlussreichen und wertvollen Beiträge hier zum Thema echtes DMZ mit ...

Windows Systemdateien
Windows 10 Kernisolierung: Inkompatible Treiber entfernen
FrankVor 1 TagAnleitungWindows Systemdateien1 Kommentar

Hallo, Eigentlich wollte ich nur den Empfehlungen der Windows Sicherheit nachgehen und unter Einstellungen -> Windows Sicherheit -> Kernisolierung, die Speicher-Integrität einschalten. Die Kernisolierung ...

Vmware
ESXI 6.5 Fehlgeschlagen - Zugriff auf eine Datei nicht möglich, weil sie gesperrt ist
gelöst zeroblue2005Vor 1 TagFrageVmware5 Kommentare

Hallo Zusammen, da meint man es gut und dann geht es in die Hose Aber erst mal zum IST-Zustand: - ESXI 6.5 U1 (Standalone) ...

Batch & Shell
Benutzeranmeldung mit Einschränkung
gelöst FreeBSDVor 1 TagFrageBatch & Shell8 Kommentare

Hallo zusammen, ich habe da ein kleines Problemchen und zwar versuche ich mich im PowerShell einzulernen, habe da eine kleine Aufgabe bekommen, dennoch krieg ...

Webbrowser
Frage zu "Remote-Debugging"
neuundbesserVor 1 TagFrageWebbrowser4 Kommentare

Moin, ich bin seit ein Paar Monaten in einem Projekt indem ich einfache Themen in JS-Code erledigen muss. Habe mich mittlerweile etwas in das ...