Wissenswertes rund um das Content Management

Hier könnte deine Werbung stehen! So wie das hier:

Schütze deine Joomla!-Seite mit Fetch Metadata

Fetch Metadata

Im Juni 2020 veröffentlichte Google auf web.dev einen Artikel mit dem Titel «Protect your resources from web attacks with Fetch Metadata». Es handelt sich um eine zusätzliche Regel für Anfrage-Header, um deine Website vor gängigen Angriffsvektoren zu schützen.

Was ist FetchMetadata?

Kurz gesagt: FetchMetadata sendet deiner Joomla-Site bei jedem Aufruf der Seite einen Satz von http-Headern. So weiss die Anwendung, wie die angeforderte Ressource aufgerufen wurde. Das hilft bei der Entscheidung, wie sie auf den Aufruf reagieren soll. Die Spezifikation bietet die folgenden Header-Abfragen: Sec-Fetch-Site, Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-User.

Der web.dev-Artikel erwähnt folgende Cross-Origin-Angriffsvektoren, gegen die FetchMetadata deine Joomla! Seite schützen kann:

Werbung



Was sind die Schritte zur Implementierung von FetchMetadata?

In diesem Artikel schreibt der Autor über 5 Schritte oder bessere Regeln, die implementiert werden müssen, um FetchMetadata zu verwenden.

Schritt 1: Erlaube Anfragen von Browsern, die keine FetchMetadata senden

Noch haben nicht alle Browser FetchMetadata implementiert, daher wollen wir vorerst noch alle Browser zulassen, die sie noch nicht implementiert haben. Du kannst die aktuelle Browserkompatibilitätsmatrix im Mozilla MDN überprüfen. Zum jetzigen Zeitpunkt wird es in Chrome, Edge und Opera in den Desktop- und mobilen Browsern unterstützt. Für Firefox ist das noch in der Entwicklung.

Schritt 2: Same-Site- und Browser-initiierte Anfragen zulassen

Diese Regel stellt sicher, dass alle Anfragen von der gleichen Seite (z. B. das Laden eines JSON-Endpunkts oder von Bildern) und browserinitiierte Anfragen wie Lesezeichen oder Navigation auf deiner Seite weiterhin erlaubt sind.

Schritt 3: Einfache Top-Level-Navigation und iframing zulassen

Mit dieser Regel erlauben wir Top-Level-Navigationsanfragen und Iframing, da wir immer noch wollen, dass unsere Site geöffnet werden darf, wenn sie auf einer anderen Site verlinkt ist, sowie wenn sie z. B. mit einem Iframe eingebettet ist.

Schritt 4: Endpunkte ausschliessen, die für seitenübergreifenden Verkehr gedacht sind (optional)

Einige Endpunkte deiner Website, wie z. B. API-Endpunkte, sind von Natur aus für seitenübergreifenden Datenverkehr vorgesehen, sodass sie hier in die Whitelist aufgenommen werden müssen, um sicherzustellen, dass sie trotzdem geladen werden.

Schritt 5: Ablehnen aller anderen Anfragen, die seitenübergreifend sind und nicht der Navigation dienen

Die letzte Regel ist ganz einfach: Alles, was nicht von den obigen Regeln abgefangen wird, wird von der Website zurückgewiesen.

Werbung
Verwalte deine Joomla!-Sites selber

Wie kann ich FetchMetadata in meine Joomla-Seite einbinden?

Wie bei allen Anfragen, bei denen die Joomla-Anwendung ausgelöst wird, kann man die von den Browsern gesetzten Header erkennen und anhand dieser entscheiden, ob die Seite geladen werden soll oder nicht.

Ab sofort ist ein kostenloses und einfach zu bedienendes Joomla-Plugin verfügbar, dass diese Regeln in deine Seiten implementiert. Es heisst «FetchMetadata by zero24» und ist sowohl im JED als auch auf GitHub zu finden.

Um es zu nutzen, musst du nur das Plugin installieren und aktivieren. Alle oben genannten Regeln werden von der Implementierung abgedeckt. Das einzige Mal, wo du es konfigurieren musst, ist, wenn du die Cross-Site-Endpunkte von deiner Seite einstellen musst. In Zukunft werden möglicherweise weitere Optionen hinzugefügt. Gerade dann, wenn es eine Nachfrage nach weiteren, spezifischeren Regeln oder einer reinen Berichtsfunktion gibt. Du kannst dich auf GitHub melden, falls du Fragen, einen Fehler gefunden oder Feature-Wünsche zum Plugin hast.

Fetch Metadata Joomla Plugin

Erweitere die Sicherheit deiner Joomla! Website, indem du bestimmte Regeln für Anfragen auf deine Seite festlegen und bestimmen kannst, was beantwortet wird und was nicht.

Was sind die nächsten Schritte?

Da man für Joomla 4.0 keine neuen Funktionen mehr einbauen darf, ist die Implementierung der  FetchMetadata-Funktion als Core-Funktion erst für Joomla 4.1 vorgesehen. Aber zu diesem Zeitpunkt ist der Code noch nicht geschrieben. Bis es so weit ist, kann man das oben erwähnte Plugin verwenden.

Quelle: magazine.joomla.org

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on pinterest
Pinterest
Share on whatsapp
WhatsApp
Share on email
Email

Das könnte dich auch interessieren...

Google Sponsorship

Google Support für Joomla!

Google supportet das Joomla! Projekt. Was für WordPress oder Drupal schon länger Praxis ist, gilt nun auch offiziell für Joomla! Zwar ist es nicht so, dass es nicht schon bisher der Fall war, aber nun hat man eine offizielle Ankündigung auf joomla.org veröffentlicht.

Weiterlesen »
GSoC 2020 Joomla

Joomla! Projekte für GSoC 2020

Wie jedes Jahr werden am GSoC 2020 einige Studenten an neuen Funktionen für Joomla! arbeiten. Dieses Jahr sind viele Projekte dabei, die schon an früheren GSoC angegangen aber nie fertiggestellt wurden.

Weiterlesen »

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

?
Diese Website verwendet Cookies und Google Analytics​. GA Tracking abschaltenGA Tracking erlauben.
×

Willkommen zurück, wir haben dich vermisst

Bitte anmelden, um alle Inhalte werbefrei lesen zu können.

Registrieren | Passwort vergessen?