Ich entwerfe eine Anwendung, bei der Benutzer sich zuerst anmelden und dann auf mehrere sichere Webseiten zugreifen müssen. Ich plane, AWS zusammen mit dem AWS Load Balancer zu verwenden, und erwarte, dass mehrere AWS-Instanzen dieser Anwendung ausgeführt werden. Was ist die "Best Practice" für die Aufrechterhaltung der Sicherheitsanmeldeinformationen für mehrere Webseiten und mehrere Instanzen? Der Benutzer wird sich anmelden und dann durch mehrere sichere Webseiten navigieren. Ich gehe davon aus, dass der AWS Load Balancer Round-Robin sein wird, der jede https-Anfrage an eine andere Serverinstanz weiterleitet. Wie weiß jede Instanz, dass sich der Benutzer erfolgreich angemeldet hat? Wie kann ich die sicheren Seiten vor externen Zugriffen schützen? Die Plattform wird Linux, Java und Spring-Boot sein.Password Access mit mehreren Instanzen
Antwort
Ich nehme an dem AWS Load Balancer Umleitung wird Round-Robin jede auf eine andere Serverinstanz https Anfrage.
, dass der Standard ELB Verhalten ist, aber Sie können sticky sessions auf dem Elastic Load Balancer ermöglichen es einen Benutzer zu einem bestimmten Back-End-Server zu sperren, an dem die HTTP-Sitzung auf, dass ein Server gespeichert Punkt verfolgt die Spuren des Benutzers Authentifizierungsstatus
Wie weiß jede Instanz, dass sich der Benutzer erfolgreich angemeldet hat?
Sie tun es nicht, es sei denn, Sie konfigurieren einen freigegebenen Sitzungsspeicher irgendeiner Art. Ich bevorzuge Redis (ElastiCache) als geteilten Sitzungsspeicher. Natürlich, wenn Sie Sticky-Sessions im ELB aktivieren, die die Notwendigkeit eines gemeinsamen Session-Speichers verhindern könnten.
Auch, wie sichere ich die sicheren Seiten vor externem Zugriff? Die -Plattform wird Linux, Java und Spring-Boot sein.
Das ist nicht wirklich eine Eigenschaft von AWS. Sie müssten Ihrer Anwendung Sicherheit hinzufügen. Schauen Sie in Spring Security.
- 1. jQuery Instanzen mit mehreren Klicks
- 2. Symfony 2-Dienst mit mehreren Instanzen?
- 3. Angepasste Validierung Attribut mit mehreren Instanzen Problem
- 4. Verbinden mit mehreren laufenden Instanzen einer Anwendung
- 5. JavaScript Objekt literal Muster mit mehreren Instanzen
- 6. Vscode Erweiterungen funktioniert nicht mit mehreren Instanzen
- 7. Vorteile von mehreren Memcached-Instanzen
- 8. DoCmd.SearchForRecord mit mehreren Kriterien in Access 2013
- 9. OAuth2 Password Grant Type mit Client_Id & Client_Secret
- 10. LightInject - Abgeleitete Interfaces führen zu mehreren Instanzen
- 11. Fehler mit Laravel Password Reset
- 12. Schnell. Hinzufügen von Attributen zu mehreren Instanzen
- 13. Einschränken der WinForm-Anwendung auf einen Prozess mit mehreren Instanzen
- 14. Laden Sie mehrere Dateien mit mehreren Instanzen des gleichen Dienstes
- 15. Wie "verschiebt" Auto Scaling Instanzen bei Verwendung mit mehreren Verfügbarkeitszonen?
- 16. Grails Quartz2 Plugin auf Cloudfoundry mit mehreren Instanzen?
- 17. AngularJS: Wie zielen Sie auf bestimmte Direktive mit mehreren Instanzen
- 18. JMS dauerhaft Teilnehmer in einem Cluster mit mehreren Instanzen
- 19. Einbetten mehrerer Lua-Instanzen in einem Programm mit mehreren Threads
- 20. MS Access 2007 JOIN auf mehreren Feldern
- 21. MS Access-Abfrage mit mehreren Joins, die doppelte Zeilen zurückgeben
- 22. SQL Graf von Instanzen von Datum in MS Access
- 23. arangodb verify _users password
- 24. Password Manager Sicherheit
- 25. Rails Password-only Login
- 26. Keystore Password Recovery android
- 27. parse password reset email
- 28. Wie funktioniert mvn --encrypt-master-password <password>?
- 29. RESTful Verify Password Service
- 30. Java Password Checking
Hallo Mark, ich vermute, dass ich die Benutzer-IP-Adresse als Schlüssel und eine Anwendung eindeutige Sicherheitsberechtigung als Wert verwenden kann? Ich kann die Redis expire-Funktion verwenden, um das Schlüsselwertpaar zu entfernen, wenn sich der Benutzer nicht abmeldet. Wäre das deine Annäherung? – skmansfield
Nein, das ist nicht der Ansatz, den ich überhaupt nehmen würde. Sie versuchen, Ihr eigenes Sicherheitssystem zu erstellen, wenn dieses Problem bereits für Sie gelöst wurde. Auch die Verwendung der IP-Adresse ist eine schreckliche Idee, da es keine Garantie gibt, dass jeder Benutzer eine eindeutige IP hat. Sie müssen sich mit Spring Security befassen und einen Tomcat-Sitzungsmanager verwenden, der Redis als Speicher-Backend verwendet. Sie sollten nicht versuchen, Benutzersitzungen selbst zu verwalten. –
Hallo Mark, Großer Input. Können Sie mir ein paar Namen der Sicherheitskomponenten geben, die ich mir ansehen sollte? Die Frühjahrsdokumentation ist umfangreich. Es neigt jedoch dazu, sich mehr auf den Ablauf zu konzentrieren als auf einen großen Bildausschnitt. Ich möchte die interessierenden Komponenten verstehen und ein umfassendes Bild machen. – skmansfield