REST API Server im Netz nach außen verfügbar machen
Hallo zusammen,
ich bräuchte mal eure Meinung bzw. Unterstützung bei einem Szenario.
Das Unternehmen bekommt eine neue Webseite und in dieser Webseite ist ein Webshop integriert der über eine REST-API Schnittstelle Daten aus dem ERP beziehen soll.
Dieser API Server ist bei uns im Netz als VM installiert. Nun soll es so sein, dass der Webshop auf den API Server zugreifen soll.
Ich habe den API Server als Objekt auf der Firewall in einem eigenen Subnetz angelegt.
Meine Überlegung wäre nun diesen in eine DMZ zu setzen und dann nur den Zugriff von extern zu diesem REST-API Server zu gestatten.
Über Firewallregeln würde ich dann noch die Kommunikation zwischen ERP System und REST-API beschränken.
Soweit meine Idee.
Es handelt sich um eine LANCOM Firewall GPA 300
ich bräuchte mal eure Meinung bzw. Unterstützung bei einem Szenario.
Das Unternehmen bekommt eine neue Webseite und in dieser Webseite ist ein Webshop integriert der über eine REST-API Schnittstelle Daten aus dem ERP beziehen soll.
Dieser API Server ist bei uns im Netz als VM installiert. Nun soll es so sein, dass der Webshop auf den API Server zugreifen soll.
Ich habe den API Server als Objekt auf der Firewall in einem eigenen Subnetz angelegt.
Meine Überlegung wäre nun diesen in eine DMZ zu setzen und dann nur den Zugriff von extern zu diesem REST-API Server zu gestatten.
Über Firewallregeln würde ich dann noch die Kommunikation zwischen ERP System und REST-API beschränken.
Soweit meine Idee.
Es handelt sich um eine LANCOM Firewall GPA 300
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 625586
Url: https://administrator.de/contentid/625586
Ausgedruckt am: 05.11.2024 um 06:11 Uhr
12 Kommentare
Neuester Kommentar
Moin,
ich würde mich bei der Kommunikationseinschränkung nicht nur auf die F/W verlassen und im Backend CORS und CRSF aktivieren/implementieren, so dass nur der Shop Anfragen an die API senden darf...
VG,
schleeke
ich würde mich bei der Kommunikationseinschränkung nicht nur auf die F/W verlassen und im Backend CORS und CRSF aktivieren/implementieren, so dass nur der Shop Anfragen an die API senden darf...
VG,
schleeke
Wenn ich das richtig verstehe, kommen die API-Amfragen allesamt vom Backend des Webshops an die API, nicht vom Nutzer.
Dann ist CORS ohne Funktion und würde keinen Mehrwert bieten.
In dem Fall reicht es aus, den Zugriff auf die IP oder das Subnetz des Backends zu beschränken und ordentliches TLS zu machen.
Dann ist CORS ohne Funktion und würde keinen Mehrwert bieten.
In dem Fall reicht es aus, den Zugriff auf die IP oder das Subnetz des Backends zu beschränken und ordentliches TLS zu machen.
Moin,
Gruß,
Dani
API Server in ein eigenes Subnetz / DMZ setzen.
wenn die DMZ richtig entworfen und entsprechend gepflegt ist, muss es doch kein separates Subnetz sein. Denn normalweise sind gerade dort die Firewalls der Server so eng wie möglich abgesteckt. So dass der Aufruf der API theoretisch gar nicht möglch ist.Die Zugriffe von extern auf diesen Server von nur dieser einen externen IP zulassen
Korrekt. Am Besten ist es, wenn dein Projekt/Applikation einen dedizierten Server hat und somit die öffentliche IP-Adresse ausschließlich nur du nutzt.ann mittels Firewall Regeln den Zugriff von dem API Server auf die Datenbank über gewisse Ports zulassen.
Korrekt.Gruß,
Dani
Moin,
wir kennen deine Umgebung nicht. Da hilft auch keine Glaskugel.
Skizziere erst einmal nochmal den physkalischen als auch logischen Netzaufbau. Über welche Server/Hops läuft das Datenpaket von REST API Server -> ERP Server und umgekehrt. Bitte gebe auch Namen bzw. IP-Adressen an. Damit es logisch ist.
Was ich nicht verstehe, warum du den REST-API Server in eine "DMZ" stellst, dann aber eine Freigabe aus dem LAN verbindest?! Ist für mich kein übliches Design.
Gruß,
Dani
wir kennen deine Umgebung nicht. Da hilft auch keine Glaskugel.
Skizziere erst einmal nochmal den physkalischen als auch logischen Netzaufbau. Über welche Server/Hops läuft das Datenpaket von REST API Server -> ERP Server und umgekehrt. Bitte gebe auch Namen bzw. IP-Adressen an. Damit es logisch ist.
Ich hatte erst die Switche in Verdacht und habe als Gateway dann die IP-Adresse der Firewall eingetragen aber auch das hat nicht geholfen.
Wie hast du den Verdacht aus dem Welt geräumt? Hat einer eine Idee wieso der Zugriff (SSH und NFS Mount) so schlecht bzw. so träge stattfindet?
Na im Worst Case mit Wireshark auf dem Servern bzw. den Firewall/Gateway den Traffic mitschneiden und hinterher analysieren.Was ich nicht verstehe, warum du den REST-API Server in eine "DMZ" stellst, dann aber eine Freigabe aus dem LAN verbindest?! Ist für mich kein übliches Design.
Gruß,
Dani
Moin,
Gruß,
Dani
Der REST-Server muss sich die Daten aus dem ERP ziehen um dem Webshop zur Verfügung zu stellen. Dafür wurde eine Regel NFS (Port 111) vom REST-Server zum ERP angelegt.
Das erklärt zwar immer noch nicht, warum ein NFS Share gemountet werden muss, aber evtl. denke ich dazu statisch.Mir ist beim Test noch was aufgefallen. Immer wenn das Mounten nicht funktioniert und man dann einen Ping auf das ERP absetzt, funktioniert danach das Mounten sofort.
Duplicate IP in der DMZ bzw. LAN? Ist zwar bei dem kleinen Setup nicht vorstellbar aber nicht ausgeschlossen.Dafür wurde eine Regel NFS (Port 111)
TCP und/oder UDP?Mir ist beim Test noch was aufgefallen. Immer wenn das Mounten nicht funktioniert und man dann einen Ping auf das ERP absetzt, funktioniert danach das Mounten sofort.
Damit tippe ich auf die Firewall. Mit welchen Befehl verbindest du das NFS Share?Gruß,
Dani
Moin,
Wir können aber gerne tauschen. Ich such seit letzer Woche eine TCP/IP Fehler auf einem SQL Server.
Denn ll ist "nur" ein Anzeigebefehl.
Gruß,
Dani
Puh das ist kaum vorstellbar. Aber könnte ich mal testen.
ich kann nur Ideen liefern... du sitzt vor Ort.Wir können aber gerne tauschen. Ich such seit letzer Woche eine TCP/IP Fehler auf einem SQL Server.
Immer wenn das Mounten nicht funktioniert...
Du könntest du nach dem ersten Versuch einmal auf die Firewall schauen, ob die Verbindung angekommen und auch erlaubt wurde.Es handelt sich so wie ich das sehe um einen Automount:
Gut und recht. Aber wie sieht der Befehl für den Mount aus? Nicht vergessen Benutzer und Passwort zu entfernen. Denn ll ist "nur" ein Anzeigebefehl.
Gruß,
Dani