Ich habe eine CloudFront-Verteilung eingerichtet, bei der der Benutzer über die CloudFront-Verteilung eine Verbindung zu meiner Domäne herstellt und diese bestimmt, ob seine Anfrage an meinen S3-Bucket oder meine EC2-Instanz geht.
In diesem Fall besteht die Verbindung zwischen dem Benutzer und CloudFront aus HTTPS und im Browser wird das grüne Vorhängeschloss angezeigt.
Meine Sorge ist, dass die Verbindung zwischen CloudFront und EC2 jetzt über HTTP erfolgt. Ich habe versucht, die Ursprungsrichtlinie auf HTTPS zu ändern, aber es scheint nicht zu funktionieren.
Ich brauche keinen Load Balancer, da es nur ein Server ist.
Ich glaube auch nicht, dass ich das CloudFront-Zertifikat auf meinem EC2-Server installieren kann, da ich keinen Zugriff auf den privaten Schlüssel des CloudFront-Zertifikats habe.
Ich kann auf meiner EC2-Instanz auch kein LetsEncrypt-Zertifikat verwenden, da hierfür ein Domänenname erforderlich ist und meine EC2-Instanz nur eine IP-Adresse ist.
Im Moment funktioniert alles, aber ich mache mir Sorgen, dass es unsicher ist. Was passiert, wenn jemand sein Passwort auf meiner Site eingibt? Wäre es nicht nur verschlüsselt, wenn es vom Benutzer an die CloudFront-Verteilung gesendet wird, und wäre es dann unverschlüsselt und im Klartext, wenn es über das Internet zwischen CloudFront und EC2 übertragen wird? Könnte dies nicht unterwegs von einem Vermittler protokolliert werden?
Gibt es dafür eine Lösung oder ist das kein Problem? Ich bin etwas verwirrt, weil mehrere Leute sagen, es sei in Ordnung, eine HTTP-Ursprungsrichtlinie zwischen CloudFront und Ihrer EC2-Instanz zu verwenden, aber ich bin mir nicht sicher, wie das der Fall sein könnte.
Antwort1
Zur Beantwortung dieser Frage gibt es viele Aspekte.
CloudFront-Endpunkte werden in sog.Edge-Standortewo der Datenverkehr in die globale AWS-Infrastruktur eintritt. Jeglicher Datenverkehr zwischen CloudFront und Ihrem EC2 sollte nur über die AWS-Infrastruktur und nicht über Drittanbieter geleitet werden.
Aktualisieren:Globale AWS-InfrastrukturSeite sagt:Alle Daten, die über das globale AWS-Netzwerk fließen, das unsere Rechenzentren und Regionen verbindet, werden automatisch auf der physischen Ebene verschlüsselt, bevor sie unsere gesicherten Einrichtungen verlassen.Auch wenn einige der Verbindungen tatsächlich über Netzwerke von Drittanbietern laufen, sind sie immer verschlüsselt, sodass Ihr HTTP-Klartext für den Drittanbieter niemals sichtbar sein sollte.
Sie vertrauen AWS bereits Ihre Daten an – Sie betreiben Ihr EC2, verwalten Ihre SSL-Zertifikate für CloudFront usw., also vertrauen Sie wahrscheinlich auf gleicher Ebene auch deren Netzwerk. Ich würde sagen, das Risiko, dass Ihr Klartextverkehr innerhalb von AWS ausspioniert wird, ist ziemlich gering, wenn auch nicht nicht vorhanden.
Sie können erstellenselbstsignierte SSL-Zertifikateauf Ihrem EC2 und CloudFront akzeptiert sie gerne, um Ihren EC2-Ursprung zu erreichen. Auf diese Weise können Sie durchgehend HTTPS verwenden. Dieses selbstsignierte Zertifikat wird nur für dieCF <-> EC2-Verkehr, nicht für IhreBenutzer <-> CF-Verkehr, also keine Probleme mitungültiges ZertifikatWarnungen.
Hoffentlich hilft das :)