O.Arch 9: Unterschied zwischen den Versionen

Aus d.hack
Zeile 121: Zeile 121:


== Ressourcen und Einzelnachweise ==
== Ressourcen und Einzelnachweise ==
[https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03161/BSI-TR-03161-2.pdf?__blob=publicationFile&v=8] Bundesamt für Sicherheit in der Informationstechnik & Referat DI 24. (2024a). ''Technische Richtlinie TR-03161: Anforderungen an Anwendungen im Gesundheitswesen Teil 2: Web-Anwendungen.'' https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03161/BSI-TR-03161-2.pdf?__blob=publicationFile&v=8
[https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html HTTP_Headers_Cheat_Sheet] {{#set: has Literacy=HTTP_Headers_Cheat_Sheet}}
[https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html HTTP_Headers_Cheat_Sheet] {{#set: has Literacy=HTTP_Headers_Cheat_Sheet}}



Version vom 15. Juli 2024, 13:47 Uhr

Beschreibung

Die Web-Anwendung SOLL HTTP-Server-Header nutzen, die dem aktuellen Stand der Technik entsprechen und die Sicherheit der Anwendung erhöhen. Dazu gehören unter anderem HTTP Strict Transport Security (HSTS), Content Security Policy (CSP) und X-Frame-Options.

Kurzfassung

Verwendung von dem Stand der Technik entsprechenden HTTP-Server-Headern.

Testcharakteristik

Prüftiefe

Bezeichnung Mindestanforderungen an die Prüfung
CHECK Der Evaluator validiert (englisch „check“, analog zu Begriffsverwendung in der Common Criteria Evaluation Methodology) die vom Hersteller beschriebene Maßnahme im Hinblick auf ihre Wirksamkeit und räumt bestehende Zweifel (Plausibilitätsprüfung) aus, ob der Prüfaspekt und die damit verbundene Sicherheitsproblematik umfassend durch die beschriebenen Maßnahmen adressiert wird. Hierbei MUSS der Evaluator den aktuellen Stand der Technik für die jeweilige Plattform mitberücksichtigen. Die Validierung KANN weitergehende Schritte, wie z.B. eine Quelltextanalyse, umfassen, falls der Evaluator diese für eine umfassende Einschätzung benötigt.

Ergänzende Informationen für Evaluatoren

Der Evaluator prüft, ob entsprechende HTTP-Server-Header verwendet werden. Falls keine dem Stand der Technik entsprechenden HTTP-Server-Header verwendet werden, ist dies in der Risikobewertung zu berücksichtigen.

Lösungsansätze

Implementierung

Security Headers
Security Headers sind HTTP-Header, die auf Webseiten und Webanwendungen verwendet werden, um die Sicherheit und den Schutz vor verschiedenen Arten von Angriffen und Schwachstellen zu verbessern. Sie bieten eine wichtige Sicherheitsebene, um Benutzer und Daten vor Bedrohungen zu schützen [1].

Bekannte Sicherheitsheader sind beispielsweise:

  1. Content Security Policy (CSP)
  2. X-Content-Type-Options
  3. Referrer-Policy
  4. Strict-Transport-Security (HSTS)
  5. X-Frame-Options
  6. Permission-Policy
  7. X-XSS-Protection


Content Security Policy (CSP)
CSP legt fest, welche Ressourcen auf einer Seite geladen werden dürfen und hilft so, Cross-Site-Scripting (XSS)-Angriffe zu verhindern.
# Beispielkonfiguration eines Apache-Servers zu Verwendung von CSP
Content-Security-Policy: default-src 'self'; script-src 'self' https://apis.google.com


X-Content-Header
Die X-Content-Type-Options sind ein Sicherheitsheader, der den Browser anweist, den MIME-Typ von Ressourcen nicht zu erraten und ihnen stattdessen zu vertrauen, wie er vom Server bereitgestellt wird.
# Beispielkonfiguration eines Apache-Servers zu Verwendung von X-Content-Header
X-Content-Type-Options: nosniff


Referrer-Policy
Der Referrer-Policy-Header legt die Richtlinie für das Übermitteln von Referrern fest, wenn der Benutzer von einer anderen Website aus auf Ihre Seite zugreift.
# Beispielkonfiguration eines Apache-Servers zu Verwendung von Referrer-Policy
Referrer-Policy: strict-origin-when-cross-origin

In diesem Beispiel wird der Referrer nur weitergegeben, wenn die Herkunfts-URL dieselbe ist, ansonsten wird er auf den Ursprung reduziert.

HTTP Strict Transport Security (HSTS)
HSTS stellt sicher, dass die Webanwendung ausschließlich über eine verschlüsselte Verbindung (HTTPS) erreichbar ist und schützt somit vor man-in-the-middle-Angriffen.
# Beispielkonfiguration eines Apache-Servers zu Verwendung von HSTS
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"


X-Frame-Option
X-Frame-Options verhindert das Laden der Webseite in einem <frame>, <iframe> oder <object> und schützt so vor Clickjacking-Angriffen.
# Beispielkonfiguration eines Apache-Servers zu Verwendung von x-Frame-Options
X-Frame-Options: DENY


Permission-Policy
Die Permission-Policy legt die Berechtigungen fest, die eine Webseite anfordern kann.
# Beispielkonfiguration eines Apache-Servers zu Verwendung von Permission-Policy
Permissions-Policy: geolocation=(), microphone=()

In diesem Beispiel sind die Berechtigungen für die Geolokalisierung und das Mikrofon deaktiviert.

X-XSS-Protection
Der X-XSS-Protection-Header aktiviert den XSS-Schutz im Browser und verhindert das Laden einer Seite, wenn ein XSS-Angriff erkannt wird.
# Beispielkonfiguration eines Apache-Servers zu Verwendung von X-XSS-Protection
X-XSS-Protection: 1; mode=block

Der Modus block verhindert, dass der Browser versucht, die Seite zu reparieren, wenn ein XSS-Angriff festgestellt wird.

Validierung

Die Implementierung von Security Header ist auf unterschiedliche Weisen möglich:

Manuell im Webbrowser
Durch das Wechseln in die Entwicklertools des Webbrowsers kann man die gesendeten Header im Reiter Netzwerk überprüfen.
Online-Tools
Die Anwendung der Security Headers kann beispielsweise mit SecurityHeaders.com validiert werden.

Weblinks

Content Security Policy

X-Content-Type-Options

Referrer-Policy

Strict-Transport-Security (HSTS)

X-Frame-Options

Permission-Policy

X-XSS-Protection

Ressourcen und Einzelnachweise

[2] Bundesamt für Sicherheit in der Informationstechnik & Referat DI 24. (2024a). Technische Richtlinie TR-03161: Anforderungen an Anwendungen im Gesundheitswesen Teil 2: Web-Anwendungen. https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03161/BSI-TR-03161-2.pdf?__blob=publicationFile&v=8

HTTP_Headers_Cheat_Sheet

Matthias Petri:Security Headers für deine Website: gut für Sicherheit und SEO aufgerufen am 15.05.2024

HTTP-Strict-Transport-Security (HSTS)