Benachrichtigungen
Alles löschen

Exchange2019 - (vermutlich) seit Migration von 2016 kein Outlookzugriff von extern möglich


(@adrianw)
Active Member
Beigetreten: Vor 12 Monaten
Beiträge: 5
Themenstarter  

Hallo zusammen,

ich hoffe ihr könnt mir weiterhelfen.
Ich habe vor einiger Zeit die Migration von Exchange2016 auf Exchange2019 durchgeführt und den 2016er auch erfolgreich dekommisioniert.
Der Zugriff auf den Exchange fand jetzt die letzte Zeit immer nur aus dem internen Netz statt, daher gab es keine Probleme. Von extern wurde immer nur per ActiveSync zugegriffen, was auch klappt.

Nun ist aber aufgefallen, dass Outlook von extern immer wieder die Anmeldemaske bringt und sich nicht anmelden kann.

Der Exchange2019 ist hinter einem nginx, die Konfiguration hat mit Exchange2016 definitiv sauber funktioniert. Seitdem wurde nichts geändert (außer natürlich die IP im Proxy wohin die Anfragen gehen sollen).

Nginx Config:

#Abschnitt 1
server {
listen 80;
server_name mail.xxxxx.org autodiscover.xxxxxx.org;
<------>server_tokens off;.
# Redirect any HTTP request to HTTPS
return 301 https://$server_name$request_uri;

error_log /var/log/nginx/exchange-error.log;
access_log /var/log/nginx/exchange-access.log;
}

#Abschnitt 2
server {
listen 443;
server_name mail.xxxxxx.org autodiscover.xxxxxxx.org;
server_tokens off;.
client_max_body_size<-->100M;
# Enable SSL
ssl on;
ssl_certificate /etc/ssl/xxxxxx.org/schlund.crt;
ssl_certificate_key /etc/ssl/xxxxxx.org/schlund-decrypted.key;
ssl_session_timeout 5m;

# Set global proxy settings
proxy_read_timeout 360;

proxy_http_version 1.1;
proxy_pass_request_headers on;

proxy_pass_header Date;
proxy_pass_header Server;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "";

more_set_input_headers 'Authorization: $http_authorization';
proxy_set_header Accept-Encoding "";
more_set_headers -s 401 'WWW-Authenticate: Basic realm="mail.xxxxxxx.org"';

location / { proxy_pass https://10.10.10.21/owa; }
location /owa { proxy_pass https://10.10.10.21/owa; }
location /OWA { proxy_pass https://10.10.10.21/owa; }........
location /EWS { proxy_pass https://10.10.10.21/EWS; }
location /ews { proxy_pass https://10.10.10.21/EWS; }........
location /Microsoft-Server-ActiveSync { proxy_pass https://10.10.10.21/Microsoft-Server-ActiveSync; }
location /mapi { proxy_pass https://10.10.10.21/mapi; }
location /MAPI { proxy_pass https://10.10.10.21/mapi; }........
location /rpc { proxy_pass https://10.10.10.21/Rpc; }
location /RPC { proxy_pass https://10.10.10.21/Rpc; }........
location /oab { proxy_pass https://10.10.10.21/OAB; }
location /OAB { proxy_pass https://10.10.10.21/OAB; }........
location /autodiscover { proxy_pass https://10.10.10.21/Autodiscover; }
location /Autodiscover { proxy_pass https://10.10.10.21/Autodiscover; }


error_log /var/log/nginx/exchange-ssl-error.log;
access_log /var/log/nginx/exchange-ssl-access.log;
}



Im Exchange sind die externen Verzeichnisse nach dem Powershellscript hier bei Franky gesetzt worden.
Für das MAPI Verzeichnis habe ich auch nochmals geprüft, sowohl im ECP als auch im IIS ist die Standartauthentifizierung aktiv.

image
image
image

Umgehe ich den NGINX von extern, d.h. geb ich Port 443 mal direkt in der Firewall an den Exchange, dann funktioniert auch der Zugriff.
Also irgendwo übersehe ich eine Einstellung im Exchange, dass der mit dem NGINX klar kommt.

Habt ihr da vielleicht eine Idee? Noch einen Vorschlag was ich prüfen könnte?

Grüße & Danke

Adrian

Dieses Thema wurde geändert Vor 12 Monaten von AdrianW

Zitat
(@adrianw)
Active Member
Beigetreten: Vor 12 Monaten
Beiträge: 5
Themenstarter  

ich weiß nicht wie, aber MAPI scheint jetzt zu gehen, dafür fliegt mir RPC um die Ohren mit:

Attempting to ping RPC proxy mail.xxxxxx.org.RPC Proxy can't be pinged.

dditional Details
An unexpected network-level exception was encountered. Exception details: Message: The remote server returned an error: (401) Unauthorized. Type: Microsoft.Exchange.Tools.ExRca.Extensions.MapiTransportException Stack trace: at Microsoft.Exchange.Tools.ExRca.Extensions.MapiRpcTestClient.PingProtocolProxy(String endpointIdentifier) at Microsoft.Exchange.Tools.ExRca.Tests.MapiPingProxyTest.PerformTestReally() Exception details: Message: The remote server returned an error: (401) Unauthorized. Type: System.Net.WebException Stack trace: at System.Net.HttpWebRequest.GetResponse() at RpcPingLib.RpcPing.PingProxy(String internalServerFqdn, String endpoint) at Microsoft.Exchange.Tools.ExRca.Extensions.MapiRpcTestClient.PingProtocolProxy(String endpointIdentifier)
Irgend eine Idee?

AntwortZitat
(@philippte)
New Member
Beigetreten: Vor 12 Monaten
Beiträge: 1
 

Moin Adrian & Forum,

ich habe das selbe Problem seit der Aktualisierung von Exchange 2016 CU 16 auf CU 17.

Bei mir funktioniert ebenfalls die Anmeldung durch den nginx Reverse Proxy bei MAPI und RPC over http nicht mehr.

Eventuell konnte ja jemand schon eine Lösung für dieses Problem finden :), ich musste den Reverse Proxy nun leider vorerst umgehen.


AntwortZitat
Monthy
(@monthy)
Estimable Member
Beigetreten: Vor 2 Jahren
Beiträge: 101
 

Hi,

zu nginx kann ich leider nix beisteuern.

Vielleicht habt ihr Alternativen bei Euch, die ihr (übergangsweise) nutzen könnt.

ADFS Proxy

Sophos

Kemp

ich nutze privat ADFS Proxy, firmentechnisch Kemp. Geht beides auch mit Exchange CU17.
Habt ihr schon mit Testexchangeconnectivity getestet von extern, wo es hängt? Alternativ nen Client mit Fiddler und ebenfalls den Aufbau loggenu nd dann analysieren.

Viel Erfolg,
Monthy

Ich komme aus einer Zeit, in der aus einer Cloud noch Regen kam!


AntwortZitat
(@johnny)
New Member
Beigetreten: Vor 11 Monaten
Beiträge: 3
 

Tja, hat da Microsoft heimlich den Stecker gezogen? Jedenfalls sieht es so aus. Wenn man gezielt danach sucht, findet man auch etwas, was darauf hindeutet: https://redmondmag.com/articles/2019/06/21/microsoft-disabling-exchange-protocols.aspx .

Habe am Wochenende ebenfalls Nginx/Exchange 2019 zum fliegen bringen wollen, ohne Erfolg. Stutzig gemacht hat mich dann das Nginx-Logfile. Dort fehlt nämlich ein "WWW-Authenticate: Basic", versucht wird stattdessen "Negotiate", was Nginx vermutlich nicht unterstützt. Der Witz ist aber: Aktivieren lässt sich "Basic" ja auf dem Exchange, jedenfalls vermeintlich, über die GUI oder via PowerShell. Und wenn man alle Authentifizierungsverfahren bis auf "Basic" deaktiviert, bekommt Outlook einfach keine Verbindung mehr. Die lästigen Aufforderungen zur Eingabe seiner Zugangsdaten entfallen immerhin...

Angeboten wird Outlook aber trotzdem alles, außer das einzig Aktivierte:

image

Bei Exchange 2016 vor CU17 sieht's so aus:

image

Mittwoch wird auf CU17 upgedatet, ich schätze mal, dann sieht's aus wie auf dem ersten Bild. Zum Glück ist Nginx noch nicht produktiv...

Viel Geld für eine Kemp auszugeben für ein wenig Reverse-Proxy widerstrebt mir immer noch, auch wenn's nicht mein Geld ist.

Johannes


AntwortZitat
(@johnny)
New Member
Beigetreten: Vor 11 Monaten
Beiträge: 3
 

@philippte

Überraschung! Outlook MAPI/HTTP läuft auch nach Update auf CU17 über den Nginx:

image

So gesehen gibt's ja noch Hoffnung für Dich...

@all

HAProxy kann wohl NTLM, aber außer bei EWS entscheidet sich mein Outlook immer für ein anderes Authentifizierungsverfahren als NTLM, oder sehe ich das jetzt nicht richtig?

image

Johannes


AntwortZitat
(@johnny)
New Member
Beigetreten: Vor 11 Monaten
Beiträge: 3
 

Nachtrag: Schon sch****, wenn man blöd ist:

1. Autodiscover wurde zum Produktivsystem umgeleitet. Dann kann's ja nicht funktionieren...

2. Tippfehler ausgerechnet im MAPI-Pfad.

Nun funktioniert's. MAPI over HTTP und NTLM via HAProxy.

Johannes


diy2001 gefällt das
AntwortZitat
(@diy2001)
New Member
Beigetreten: Vor 7 Monaten
Beiträge: 1
 

Hallo! Wir haben bislang einen nginx als Rev-Proxy zwischen Internet und Exchange-Server geschaltet. Leider kriegen wir es seit Outlook 2019 nicht mehr in den Griff, darüber sauber ein Postfach einzubinden. Die Anmeldebox zur Eingabe der Zugangsdaten poppt ständig wieder auf, obwohl man sich zuvor schon mal erfolgreich per Basic-Auth authentifiziert hat.

Ich habe daraufhin versucht, die Verbindung stattdessen per HAProxy zu tunneln wegen der NTLM-Unterstützung, bin jedoch kläglich gescheitert. Tests mit dem Microsoft Remote Connectivity Analyzer für Exchange bringen immer wieder den hier im Beitrag genannten Fehler "Message: The remote server returned an error: (401) Unauthorized".

Veröffentlicht von: @johnny

(...)

Nun funktioniert's. MAPI over HTTP und NTLM via HAProxy.

Johannes

Wäre es möglich, hierzu einen Config-Auszug vom HAProxy Setup zu erhalten? Die eigenen Versuche sind leider fehlgeschlagen, habe es mit "mode http" und verschiedensten Parametern im frontend / backend Teil versucht (option redispatch, keep-alive, usw).

Taugt folgende HAProxy Anleitung etwas als Anhaltspunkt und bringt die gar nichts in Bezug auf das hier erläuterte Problem?

https://www.haproxy.com/de/blog/microsoft-exchange-2013-load-balancing-with-haproxy/

Viele Grüße,

diy2001


AntwortZitat
 nr3
(@nr3)
New Member
Beigetreten: Vor 2 Tagen
Beiträge: 3
 

@adrianw Hallo, ich weiss dass Du geschrieben hast dass Du nicht weisst wie du MAPI zum laufen gebracht hast. Wäre es möglich deine nginx conf zu sehen für den exchange part ? ich habe dasselbe Problem seit Exchange 2019 und finde einfach keine Lösung. Vielen Dank und Gruss


AntwortZitat
(@adrianw)
Active Member
Beigetreten: Vor 12 Monaten
Beiträge: 5
Themenstarter  

@nr3

meine aktuelle Config sieht wie folgt aus:

#Abschnitt 1
server {
listen 80;
server_name mail.--HOST-- autodiscover.--HOST--;
server_tokens off;.
# Redirect any HTTP request to HTTPS
return 301 https://$server_name$request_uri;
.
error_log /var/log/nginx/exchange-error.log;
access_log /var/log/nginx/exchange-access.log;
}
.
#Abschnitt 2
server {
listen 443;
server_name mail.--HOST-- autodiscover.--HOST--;
server_tokens off;.
client_max_body_size<-->100M;
# Enable SSL
ssl on;
ssl_certificate /etc/ssl/--HOST--/schlund.crt;
ssl_certificate_key /etc/ssl/--HOST--/schlund-decrypted.key;
ssl_session_timeout 5m;

# Set global proxy settings
proxy_read_timeout 360;

proxy_http_version 1.1;
proxy_pass_request_headers on;

proxy_pass_header Date;
proxy_pass_header Server;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "";

more_set_input_headers 'Authorization: $http_authorization';
proxy_set_header Accept-Encoding "";
more_set_headers -s 401 'WWW-Authenticate: Basic realm="mail.--HOST--"';

location / { proxy_pass https://xxIPxx/owa; }
location /owa { proxy_pass https://xxIPxx/owa; }
location /OWA { proxy_pass https://xxIPxx/owa; }........
location /EWS { proxy_pass https://xxIPxx/EWS; }
location /ews { proxy_pass https://xxIPxx/EWS; }........
location /Microsoft-Server-ActiveSync { proxy_pass https://xxIPxx/Microsoft-Server-ActiveSync; }
location /mapi { proxy_pass https://xxIPxx/mapi; }
location /MAPI { proxy_pass https://xxIPxx/mapi; }........
location /rpc { proxy_pass https://xxIPxx/Rpc; }
location /Rpc { proxy_pass https://xxIPxx/Rpc; }
location /RPC { proxy_pass https://xxIPxx/Rpc; }........
location /oab { proxy_pass https://xxIPxx/OAB; }
location /OAB { proxy_pass https://xxIPxx/OAB; }........
location /autodiscover { proxy_pass https://xxIPxx/Autodiscover; }
location /Autodiscover { proxy_pass https://xxIPxx/Autodiscover; }

error_log /var/log/nginx/exchange-ssl-error.log;
access_log /var/log/nginx/exchange-ssl-access.log;


AntwortZitat
 nr3
(@nr3)
New Member
Beigetreten: Vor 2 Tagen
Beiträge: 3
 

@adrianw

Vielen Dank für Deine Config, hat leider nichts gebracht bei mir, habe alles so eingestellt wie bei Deiner Config, aber ich habe immer noch denselben Fehler 😪


AntwortZitat
(@adrianw)
Active Member
Beigetreten: Vor 12 Monaten
Beiträge: 5
Themenstarter  

dürfte dann eine Einstellung im IIS sein, dass dort der Auth nicht passt

hab das nicht mehr wirklich 100%ig im Kopf, aber dort kann man die Authentifikationseinstellungen anpassen


AntwortZitat
 nr3
(@nr3)
New Member
Beigetreten: Vor 2 Tagen
Beiträge: 3
 

Nachdem ich das hier bei https://testconnectivity.microsoft.com angezeigt gekriegt habe

image

Habe ich hier

image

folgendes eingestellt und IIS neu gestartet

image

Hat leider auch nichts gebracht... 😪

(Ich hoffe man erkennt etwas auf den Bildern...)


AntwortZitat

Teilen: