HTTPS, HSTS, XSS und SSRF

Cross Site Scripting (XSS)

Im Gegensatz zu vielen ähnlichen Systemen erlaubt das OpenStack-Dashboard den gesamten Unicode-Zeichensatz in den meisten Feldern. Dies bedeutet, dass Entwickler weniger Spielraum haben, um Flüchtigkeitsfehler zu machen, die Angriffsvektoren für Cross-Site-Scripting (XSS) öffnen.

Dashboard bietet Tools für Entwickler, um XSS-Schwachstellen zu vermeiden, aber sie funktionieren nur, wenn Entwickler sie korrekt verwenden. Überprüfen Sie alle benutzerdefinierten Dashboards und achten Sie besonders auf die Verwendung der mark_safe-Funktion, verwenden Sie is_safe mit benutzerdefinierten Template-Tags, die ``Safe``Template-Tag, überall Auto-Escape ist ausgeschaltet und JavaScript die falsch ausgefallene Daten auswerten könnten.

Cross Site Request Forgery (CSRF)

Django hat Middleware für Cross-Site Request Forgery (CSRF) gewidmet. Weitere Informationen finden Sie in der Django Dokumentation.

Das OpenStack-Dashboard wurde entwickelt, um Entwickler davon abzuhalten, Cross-Site-Scripting-Schwachstellen mit benutzerdefinierten Dashboards einzuführen, da Threads eingeführt werden können. Dashboards, die mehrere Instanzen von JavaScript nutzen, sollten auf Schwachstellen wie die unangemessene Verwendung des ``@csrf_exempt``Dekorators geprüft werden. Jedes Dashboard, das diesen empfohlenen Sicherheitseinstellungen nicht folgt, sollte sorgfältig ausgewertet werden, bevor die Beschränkungen entspannt werden.

Cross-Frame Scripting (XFS)

Legacy browsers are still vulnerable to a Cross-Frame Scripting (XFS) vulnerability, so the OpenStack dashboard provides an option DISALLOW_IFRAME_EMBED that allows extra security hardening where iframes are not used in deployment.

HTTPS

Bereitstellen des Dashboards hinter einem sicheren :term:`HTTPS <Hypertext Transfer Protocol Secure (HTTPS)>`Server mit einem gültigen, vertrauenswürdigen Zertifikat von einer anerkannten Zertifizierungsstelle (CA). Private Organisationen ausgestellte Zertifikate sind nur dann sinnvoll, wenn die Wurzel des Vertrauens in allen Benutzerbrowsern vorinstalliert ist.

Konfigurieren Sie HTTP-Anfragen an die Dashboard-Domäne, um die vollständig qualifizierte HTTPS-URL umzuleiten.

HTTP Strict Transport Security (HSTS)

Es wird dringend empfohlen, HTTP Strict Transport Security (HSTS) zu verwenden.

Bemerkung

Wenn Sie einen HTTPS-Proxy vor Ihrem Webserver verwenden, anstatt einen HTTP-Server mit HTTPS-Funktionalität zu verwenden, ändern Sie die Variable SECURE_PROXY_SSL_HEADER. Beziehen Sie sich auf die `Django Dokumentation

Weitere Informationen finden Sie im Kapitel Sichere Kommunikation für spezifischere Empfehlungen und Serverkonfigurationen für HTTPS-Konfigurationen inklusive der Konfiguration von HSTS.