Sichere Verbindung zwischen Webserver und Dedicated-Server

Registriert
Feb. 2017
Beiträge
6
Schönen Guten Tag alle mit einander,

dies ist mein erster Beitrag hier im Forum und ich hoffe das ich mich hier verständlich ausdrücken kann. Danke schon mal im voraus für die Antworten.

Ich habe folgendes Problem. Meiner Firma wurde aufgetragen eine Website zu entwickeln die einen Tarifrechner enthält. Dafür soll ein Webserver gemietet werden und von dem gemieteten Webserver soll eine gesicherte Verbindung zu unserem Server aufgebaut werden. Der Tarifrechner soll über diese gesicherte Verbindung auf ein Programm zugreifen und dort die Daten sich holen für die Berechnung. Das Programm das auf unserem Server läuft gibt die Daten mittels des HTTPs aus.

Nun zu meiner Fragen ist es hier sinvoll eine VPN Verbindung aufzubauen und wenn ja welcher Typ soll verwendet werden. Also Side to Side, End to Side oder End to End ?

Falls ihr mir noch eine Auflistung benötigter Programme für eine Webserver geben könntet wäre das auch echt Super. Bis jetzt habe ich Herausgefunden das ich eine Webserver benötige, das PHP unterstützt werden muss. Auch soll irgendwann Wordpress verwendet werden.

nochmals Danke im voraus für die Antworten.

MfG Lars
 
Ähm, wer gibt einer Firma so einen Auftrag, wenn scheinbar die Mitarbeiter keinerlei Ahnung, geschweige denn Erfahrung, in diesem Bereich haben?
 
Side to Side gibt es beim VPN nicht, ich denke mal du meinst hier Site-to-Site.

Da ihr aber weder beim Webserver, noch bei eurem Dedicated Server die Sites unter eurer Kontrolle habt, fällt das eh flach.
Auch eine VPN Verbindung (wenn nur end-to-end) von einem Webserver aufzubauen halte ich für schwierig.
Bei normalen Webservern hat man meist nicht ausreichend Rechte nötige Softwarepakete zu installieren.

HTTPS reicht aber vermutlich aus denn das ist durchaus als "gesicherte Verbindung" zu bezeichnen.

Außerdem finde ich Loopman hat nicht unrecht, auch wenn es etwas böse rüberkommt.
 
Hausaufgabe?
Wenn euer Dienst per http kommuniziert, dann nutze einfach TLS (also https) mit Client Authentifizierung. Auf diesem Weg kommt niemand ohne passendes Zertifikat an die Schnittstelle ran. Falls euer Dienst das nicht kann, einfach einen Webserver dazwischenschalten (ich nutze für sowas gerne nginx).

Alternativ bei euch z.B. einen openVPN Server aufsetzen und den Webserver als Client damit verbinden, routen setzen, fertig.

Beides klappt allerdings nur, wenn ihr auf dem gemieteten Webserver die passenden Dinge einrichten könnt (Clientzertifikat bereitstellen bzw. openvpn installieren+konfigurieren).

Bei TLS bitte unbedingt auf eine zeitgemäßg Konfiguration achten!
 
Zuletzt bearbeitet:
Danke für die schnellen Antworten.

Wir wurden Hauptsächlich für Unser Programm beauftragt. Das nun einen neue Website erstellt werden muss die die Rechner-funktion beinhaltet ist nur eine Nebenaufgabe.

Das Programm in HTTPS senden zu lassen ist leider nicht so einfach. Laut unserem Entwickler würde das einen sehr großen Aufwand mit sich bringen daher wurde das abgelehnt.

Die Idee mit dem OpenVPN ist auch gut. Um die Problematik mit den rechten auf dem Webserver zu umgehen würden wir auch auf einen Voll konfigurierbaren Server umsteigen.

Wir haben nun einen Zweiten Ansatz würde mich freuen wenn Ihr mir kurz eure Gedanke dazu mitteilen könntet :)

Wir wollen nun einen Server mieten (voll Konfigurierbar) auf den wir einen Webserver sowie einen Proxy laufen lassen wollen. Dieser soll per VPN mit unserem Hauptserver (da läuft das Programm das die Rechnerfunktionalität beinhaltet) verbunden werden. Nun soll der Proxy so geagieren das er Anfragen die sich nur auf die Webseite beziehen an den Webserver Weiterleitet und Anfragen die die rechnerfunktionalität unseres Programmes beantspruchen an den Hauptserver weiterleitet.

MfG Lars
 
Lars Gruslewski schrieb:
Das Programm in HTTPS senden zu lassen ist leider nicht so einfach. Laut unserem Entwickler würde das einen sehr großen Aufwand mit sich bringen daher wurde das abgelehnt.

Häh? Absoluter Standard und mit 2 Portfreigaben erledigt, vor allem wenn eure Kiste schon HTTPS macht.

Komische Klitsche seid ihr.... oder sind es doch nur Hausaufgaben einer Berufsschule?
 
Das kann ich auch nicht so recht nachvollziehen. Die Daten sind vorhanden, das Programm arbeitet bereits mit https. So what? Natürlich muss man auf der Seite des Webservers die Schnittstelle implementieren, die die Daten per https abruft, aber das ist nu wirklich keine Quantenphysik..

Wie arbeitet euer Programm denn sonst? Gibt es dann im LAN Clients, die die Daten direkt vom lokalen Server per https abrufen? Wenn ja, dann ist die Schnittstelle ja sogar schon vorhanden, muss nur in den Webclient implementiert werden - Copy&Paste ....
 
Ich kann dir nicht sagen warum es so schwierig ist das ganze als HTTPs aufzubauen, dazu habe ich nicht genug einblickick in die Entwicklung des Programmes. Ich bin bei meiner Firma nur als Systemadministrator angestellt.

Mir geht es darum wie ich eine gesicherte Verbindung von einem Server zum anderen aufbauen kann und das dann über diese Verbindung die Webseite auf dem einen Server auf die rechnerfunktionalität unseres Programmes zugreifen kann.

Fesste Größen sind hierbei das die Verbindung Verschlüsselt sein muss und und ein permanenter austausch zwischen unserem Programm und der Webseite über HTTP abläuft.

Ps. Das Programm das den Rechner beinhaltet gibt die Daten über HTTP aus. Also das es auf einen Port auf eine HTTP anfrage waretet und dann auch wieder auf HTTP antwortet

MfG Lars
 
HTTP oder HTTPS? Ersteres ist unverschlüsselt, letzteres ist verschlüsselt.

Selbst wenn es HTTP wäre, müsste man nur auf HTTPS umschwenken. Das sind wenige Zeilen Code, weil man die Verschlüsselung ja nicht von Hand berechnet oder so, sondern ebenso wie für HTTP entsprechende Bibliotheksaufrufe eben für HTTPS Connections nutzt. Dann wäre eine simple Portweiterleitung im Internetrouter ausreichend. Der WebClient greift per https auf eure WAN-IP zu, wird zum Server geleitet und ruft die Daten ab, fertig.

Nun gut, wenn das so ein Problem darstellt - ich vermute mal euer Programmierer will nur seine Ruhe haben - dann bleibt der schwarze Peter bei dir, denn VPN fällt in deinen Bereich. Nimm ein VPN deiner Wahl - zB OpenVPN - installiere bei euch einen Server (oder kauf eine VPN-Firewall), richte am WebClient den entsprechenden VPN-Client ein - Adminrechte - und verbinde dich mit dem VPN-Server. Wenn der VPN-Server sogar auf demselben Server läuft, brauchst du einfach nur ein End-To-End VPN. Ein End ist der WebClient, das andere der Server. Portweiterleitung im Router für den VPN-Port an den VPN-Server, fertig. Sind Datenserver und VPN-Server dagegen getrennt, muss natürlich der VPN-Server routen bzw. seine Firewall muss das auch zulassen.
 
Zuletzt bearbeitet:
Lass dir von dem Entwickler nix einreden, denn eine Webanwendung besteht aus HTML, PHP, Javascript oder sonstigen Skriptsprachen. Wie der Webserver dies ausliefert, also ob per HTTP oder HTTPS ist der Anwendung erst einmal eigentlich egal. Außer ihr habt echt schlampige Entwickler, die irgendwie hardcoded irgendwelche Aufrufe mit anderen Skripten nutzen oder ihren Programmcode mit einem Webserver verdrahtet haben /o\

@Loopman: Solche Chefs/Vertriebler hatte ich auch schon. Dem Kunden Produkt angepriesen, Kunde fragt ob Anpassung/Erweiterung xy möglich sei, aber natürlich sei sie das, quasi schon im Preis inbegriffen. Obs technisch so oder generell sinnvoll ist, so etwas zu machen wurde nicht überlegt. Umsetzen durften es dann die internen Devs oder SysAdmins aber natürlich schnell schnell denn die Entwicklungszeit wurde dem Kunden nicht in Rechnung gestellt, schließlich ginge die Anpassung ja sehr schnell, sei quasi schon fertig.
 
Zu deinem zweiten Ansatz: genau das kannst du mit einem webserver machen. Lass den zusätzlich zur extern erreichbaren domain in einer zweiten konfiguration z.B. auf localhost lauschen. Da konfigurierst du dann einen Endpunkt, der zu eurem Hauptserver weiterleitet. In der nginx Welt wäre das Stichwort hier "proxy_pass".

Ansonsten kann die Anwendung, die auf dem webserver läuft, auch direkt euren server ansprechen. Entweder über einen per dns auflösbaren hostnamen oder direkt über die vpn ip, sofern ihr euch für das vpn entscheidet.

PS: wenn eure entwicklung mit https nichts am hut haben will, dann mach du dich mit möglichkeiten vertraut, das dazwischen zu schieben. Unsere Entwicklung redet auch nur http. Alle dienste, die allerdings extern erreichbar sind, laufen durch einen nginx, der nach aussen ausschließlich https spricht. Wenn man sich da einmal eingearbeitet hat, ist das ziemlich simpel. Und Zertifikate bekommt man mittlerweile auch umsonst, z.B. bei/von lets encrypt.
 
Zuletzt bearbeitet:
Zurück
Oben