Die Dispatcher-Sicherheitscheckliste the-dispatcher-security-checklist
Adobe empfiehlt, vor dem Einsatz in einer Produktionsumgebung die folgende Checkliste abzuarbeiten.
Verwenden der neuesten Dispatcher-Version use-the-latest-version-of-dispatcher
Installieren Sie die neueste Version, die für Ihre Plattform verfügbar ist. Aktualisieren Sie Ihre Dispatcher-Instanz, um die neueste Version zu verwenden und von Produkt- und Sicherheitsverbesserungen zu profitieren. Weitere Informationen finden Sie unter Installieren des Dispatchers.
[Thu Apr 30 17:30:49 2015] [I] [23171(140735307338496)] Dispatcher initialized (build 4.1.9)
httpd.conf
.Einschränken von Clients, die den Cache leeren können restrict-clients-that-can-flush-your-cache
Adobe empfiehlt, die Clients einzuschränken, die den Cache leeren können.
Aktivieren des HTTPS für Transport Layer Security enable-https-for-transport-layer-security
Adobe empfiehlt die Aktivierung der HTTPS-Transportebene sowohl auf Autoren- als auch auf Veröffentlichungsinstanzen.
Einschränken des Zugriffs restrict-access
Wenn Sie den Dispatcher konfigurieren, schränken Sie externe Zugriffe so weit wie möglich ein. Siehe das Beispiel für einen Abschnitt /filter in der Dispatcher-Dokumentation.
Verweigern des Zugriffs auf administrative URLs make-sure-access-to-administrative-urls-is-denied
Stellen Sie sicher, dass Sie Filter verwenden, um den externen Zugriff auf sämtliche administrative URLs wie die Web-Konsole zu blockieren.
Unter Testen der Dispatcher-Sicherheit finden Sie eine Liste der URLs, die blockiert werden müssen.
Verwenden von Zulassungslisten anstelle von Blockierungslisten use-allowlists-instead-of-blocklists
Zulassungslisten eignen sich besser zur Zugriffskontrolle, da sie grundsätzlich voraussetzen, dass alle Zugriffsanfragen verweigert werden sollten, sofern sie nicht ausdrücklich Teil der Zulassungsliste sind. Dieses Modell ermöglicht eine strengere Kontrolle über neue Anfragen, die während einer bestimmten Konfigurationsphase möglicherweise noch nicht überprüft oder berücksichtigt wurden.
Ausführen des Dispatchers mit einer dedizierten Systembenutzerin bzw. einem dedizierten Systembenutzer run-dispatcher-with-a-dedicated-system-user
Beim Konfigurieren des Dispatchers sollten Sie sicherstellen, dass der Webserver von dedizierten Benutzenden mit den geringsten Rechten ausgeführt wird. Es wird empfohlen, dass Sie nur Schreibzugriff auf den Dispatcher-Cache-Ordner gewähren.
Außerdem müssen IIS-Benutzende ihre Website folgendermaßen konfigurieren:
- Wählen Sie in den Einstellungen für den physischen Pfad für Ihre Website die Option zum Verbinden als bestimmter Benutzer aus.
- Legen Sie die Person fest.
Vermeiden von Denial-of-Service-Angriffen prevent-denial-of-service-dos-attacks
Ein Denial-of-Service-Angriff (DoS) zielt darauf ab, eine Computerressource für die vorgesehenen Personen unzugänglich zu machen.
Auf Dispatcher-Ebene gibt es zwei Konfigurationsmöglichkeiten, um DoS-Angriffe zu verhindern: Filter
-
Verwenden Sie das mod_rewrite-Modul (beispielsweise Apache 2.4, um URL-Überprüfungen durchzuführen (sofern die Regeln für das URL-Muster nicht zu komplex sind).
-
Hindern Sie den Dispatcher daran, URLs mit falschen Erweiterungen zwischenzuspeichern, indem Sie Filter verwenden.
Ändern Sie beispielsweise die Caching-Regeln, um die Zwischenspeicherung auf die erwarteten MIME-Typen zu begrenzen. Dazu zählen unter anderem:.html
.jpg
.gif
.swf
.js
.doc
.pdf
.ppt
Sie können eine Beispielkonfigurationsdatei für das Einschränken des externen Zugriffs sehen. Sie enthält Einschränkungen für MIME-Typen.
Um den vollen Funktionsumfang für die Veröffentlichungsinstanzen zu aktivieren, konfigurieren Sie Filter, um den Zugriff auf die folgenden Knoten zu verhindern:
/etc/
/libs/
Konfigurieren Sie anschließend Filter, um den Zugriff auf die folgenden Knotenpfade zuzulassen:
-
/etc/designs/*
-
/etc/clientlibs/*
-
/etc/segmentation.segment.js
-
/libs/cq/personalization/components/clickstreamcloud/content/config.json
-
/libs/wcm/stats/tracker.js
-
/libs/cq/personalization/*
(JS, CSS und JSON) -
/libs/cq/security/userinfo.json
(CQ-Benutzerinformationen) -
/libs/granite/security/currentuser.json
(Daten dürfen nicht zwischengespeichert werden) -
/libs/cq/i18n/*
(Internalisierung)
Konfigurieren des Dispatchers zum Verhindern von CSRF-Angriffen configure-dispatcher-to-prevent-csrf-attacks
AEM bietet ein Framework, mit dem CSRF-Angriffe (Cross-Site Request Forgery) verhindert werden können. Um dieses Framework ordnungsgemäß nutzen zu können, muss die CSRF-Token-Unterstützung im Dispatcher aktiviert werden:
- Erstellen Sie einen Filter, um den Pfad
/libs/granite/csrf/token.json
zuzulassen. - Fügen Sie die Kopfzeile
CSRF-Token
dem Abschnittclientheaders
der Dispatcher-Konfiguration hinzu.
Verhindern von Clickjacking prevent-clickjacking
Um Clickjacking zu verhindern, sollten Sie Ihren Webserver so konfigurieren, dass er den HTTP-Header X-FRAME-OPTIONS
bereitstellt, der auf SAMEORIGIN
festgelegt ist.
Weitere Informationen zum Thema Clickjacking finden Sie auf der OWASP-Website.
Durchführen eines Penetrationstests perform-a-penetration-test
Adobe empfiehlt dringend, einen Penetrationstest Ihrer AEM-Infrastruktur durchzuführen, bevor Sie in Produktion gehen.