BC14: API Anfragen blockiert Firewall

10. Juli 2024 15:27

Hallo Zusammen,

vielleicht kann mir jemand weiterhelfen bei einem sehr mysteriösen Problem:
unsere Software sendet zu mehreren Firmen Client seitige API Anfragen.
Das sind meistens REST API's und wir haben die Ansteuerungs-Logiken in C# umgesetzt,
entweder über .NET Klassen wie den simplen C# Web-Client oder über 3thrd Party Komponenten wie den RestClient.
Das Ganze ist in einer .NET Bibliothek, die wir über BC14 Server seitig ansteuern.

Ein Kunde hat nun auf Grund eines interen Sicherheitsvorfalles eine komplett neu Firewall aufgezogen,
die extrem restriktiv ist.
Es ist irgendwie alles gesperrt was nicht explizit erlaubt ist.
Natürlich haben wir dem Kunden die Endpunkte der jeweiligen API's mitgeteilt.

Manche Dienste gehen dann wieder einige Tage, dann nach ca. einer Woche gehen dann Dienste wieder nicht mehr, ganz seltsam.
Der Kunde bindet auch glaube 2 Kataloganbieter in die Firewall ein, einer davon müsste Cloudfare sein.

Um den Fehler einzuschränken, habe ich dann eine der API's ausgewählt, die sehr simpel aufgebaut ist.
Einen REST Service mit 2 Parameter die einfach an die URL angehängt werden.
Vorteil bei dieser einfachen Variante ist, dass über den Browser das Ergebnis direkt angezeigt werden kann.

Dann haben wir das in Postman nachgestellt und noch den eigenen C# Code, den ja BC14 über den Application Server Dienst
ausführt in ein externes kleines C# Tool gepackt.

Jetzt haben wir wirklich den Fall, dass am Server beim Kunden: der Browser Daten anzeigt, Postman ebenso
und das C# Testtool ebenso.
Wird der gleiche C# Code am Dynamics Application Server ausgeführt, wir der API Call geblockt.
C# Tool und Dynamics Dienst laufen unter dem selben Admin User.


Ein Admin beim Kunden hat die Anfrage an der Firewall zwischen dem C# Testool und aus BC14 heraus verglichen und keinen Unterschied gefunden.

Ich bin mit meinem Latein am Ende.

Die Ausführung eines .NET Codes sollte doch aus einer Windows Forms App das Gleiche sein wie wenn der Application Server Dienst den C# Code ausführt.
Natürlich werden auch keine Dialoge etc.geöffnet, dass könnte der Server Prozess ja nicht, das habe ich schon ausgeschlossen.

Bei keinem anderen Kunden haben wir das Problem, die geben einfach die jew. Endpunkte in der Firewall frei und stellen ein, dass zur gemachten Anfrage
alle ANtworten/Redirects durchgelassen werden.

Hat jemand vielleicht irgendeine Ahnung, wo man da Ansetzen könnte.

Danke

Gruß