Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Sicherheit

Websicherheit ist die Praxis, Websites und deren Nutzer vor Schäden zu schützen, die von böswilligen Dritten verursacht werden, die allgemein als Angreifer bezeichnet werden.

Die Art der verursachten Schäden kann reputationsbezogen, finanziell oder sogar physisch sein. Sie kann auf Daten abzielen, die vertraulich für Nutzer bleiben sollten, oder auf Aktionen, die nur bestimmten Nutzern zur Verfügung stehen sollten. Die Motivationen der Angreifer können finanziell, politisch oder persönlich sein.

In diesem Teil von MDN haben wir Leitfäden erstellt, um Webentwicklern zu helfen, zu verstehen, wie sie ihre Websites und deren Nutzer vor diesen Angriffen schützen können.

Die Dokumentation ist in vier Hauptabschnitte unterteilt:

Auf dieser Seite stellen wir jeden dieser Abschnitte vor und listen die enthaltenen Leitfäden auf. Zuerst jedoch listen wir die grundlegenden Sicherheitspraktiken auf, die Webentwickler befolgen sollten.

Grundlegende Sicherheitspraktiken

Websicherheit kann überwältigend sein: Es gibt viele potenzielle Bedrohungen, Verteidigungen sind oft komplex und vielschichtig, und die Menge der Bedrohungen, die Sie berücksichtigen müssen, hängt stark davon ab, was genau Ihre Website tut. In diesem Abschnitt fassen wir zusammen, was unserer Meinung nach die wichtigsten Maßnahmen sind, die Sie ergreifen können, um gegen die meisten Bedrohungen, auf die Sie stoßen werden, Schutz zu bieten.

  • Verwenden Sie HTTPS, um alle Seiten und Unterressourcen Ihrer Website bereitzustellen.

  • Setzen Sie eine Content Security Policy (CSP) für Ihre Website fest.

    • Wenn möglich, setzen Sie eine strenge CSP, aber wenn nicht, setzen Sie zumindest eine Richtlinie fest, die inline JavaScript verbietet.

    • Setzen Sie die frame-ancestors-CSP-Direktive, um zu steuern, ob Seiten in verschachtelten Browsing-Kontexten eingebettet werden können.

    • Setzen Sie die require-trusted-types-for-CSP-Direktive, um sicherzustellen, dass Inhalte vor der Weitergabe an potenziell gefährliche APIs bereinigt wurden.

  • Kontrollieren Sie Cross-Origin-Anfragen: Überlegen Sie, ob und unter welchen Umständen Sie anderen Ursprüngen erlauben möchten, Anfragen an Ihre Website zu stellen, und verwenden Sie Fetch-Metadaten, um dies zu steuern.

  • Beschränken Sie den Zugriff auf alle Cookies, die Ihre Website setzt. Insbesondere:

    • Setzen Sie das SameSite-Attribut auf Strict, wenn möglich, oder Lax ansonsten.
    • Setzen Sie die Attribute Secure und HttpOnly, wenn möglich.
    • Minimieren Sie die Lebensdauer von Cookies, die verwendet werden, um eingeloggte Nutzer darzustellen.
  • Handhaben Sie Eingaben sicher: Wenn Ihre Website Eingaben vom Nutzer oder einem anderen System annimmt, validieren Sie sie. Bevor Sie Eingaben in die Seiten Ihrer Website integrieren, führen Sie Ausgabe-Codierung oder Bereinigung durch.

  • Verwenden Sie Subresource Integrity für alle Skripte, die Sie von externen Quellen laden (wie beispielsweise CDNs).

  • Verwenden Sie starke Authentifizierungsmethoden: Wenn Sie Nutzer auf Ihrer Website authentifizieren, verwenden Sie nicht nur Passwörter. Passkeys sind die sicherste Authentifizierungsmethode, aber wenn Sie diese nicht verwenden können, sind zeitbasierte Einmalpasswörter (TOTP) sicherer als traditionelle Passwörter.

  • Befolgen Sie gute betriebssicherheitstechnische Praktiken: Kontrollieren Sie den Zugriff auf den Quellcode Ihres Projekts, handhaben Sie Geheimnisse sicher und kontrollieren Sie Ihre Abhängigkeiten.

Siehe auch die Leitlinien für sichere Webanwendungen.

Angriffe

Der Abschnitt Angriffe enthält Leitfäden zu häufigen Angriffen auf Websites. Ein Angriff ist eine spezifische Technik, die ein Angreifer verwenden kann, um Websites oder ihren Nutzern zu schaden.

Jeder Leitfaden behandelt einen spezifischen Angriff (oder eine Klasse verwandter Angriffe), erklärt, wie er funktioniert, die Bedingungen, unter denen eine Website anfällig wird, und wie man sich dagegen verteidigt.

Die beschriebenen Angriffe umfassen: