# Cloudflare-Sicherheit {{#include ../../banners/hacktricks-training.md}} In einem Cloudflare-Konto gibt es einige **allgemeine Einstellungen und Dienste**, die konfiguriert werden können. Auf dieser Seite werden wir die **sicherheitsrelevanten Einstellungen** jeder Sektion **analysieren:**
## Websites Überprüfen Sie jede mit: {{#ref}} cloudflare-domains.md {{#endref}} ### Domainregistrierung - [ ] In **`Transfer Domains`** überprüfen, ob es nicht möglich ist, eine Domain zu übertragen. Überprüfen Sie jede mit: {{#ref}} cloudflare-domains.md {{#endref}} ## Analytik _Ich konnte nichts finden, um eine Sicherheitsüberprüfung der Konfiguration durchzuführen._ ## Seiten Auf jeder Cloudflare-Seite: - [ ] Überprüfen Sie auf **sensible Informationen** im **`Build log`**. - [ ] Überprüfen Sie auf **sensible Informationen** im **Github-Repository**, das den Seiten zugewiesen ist. - [ ] Überprüfen Sie auf potenzielle Kompromittierungen des Github-Repos durch **Workflow-Befehlsinjektion** oder **pull_request_target**-Kompromittierung. Weitere Informationen auf der [**Github-Sicherheitsseite**](../github-security/). - [ ] Überprüfen Sie auf **anfällige Funktionen** im Verzeichnis `/fuctions` (falls vorhanden), überprüfen Sie die **Weiterleitungen** in der Datei `_redirects` (falls vorhanden) und **falsch konfigurierte Header** in der Datei `_headers` (falls vorhanden). - [ ] Überprüfen Sie auf **Schwachstellen** in der **Webseite** über **Blackbox** oder **Whitebox**, wenn Sie **auf den Code zugreifen** können. - [ ] In den Details jeder Seite `//pages/view/blocklist/settings/functions`. Überprüfen Sie auf **sensible Informationen** in den **`Umgebungsvariablen`**. - [ ] Überprüfen Sie auch auf der Detailseite den **Build-Befehl** und das **Stammverzeichnis** auf **potenzielle Injektionen**, um die Seite zu kompromittieren. ## **Workers** Überprüfen Sie bei jedem Cloudflare-Worker: - [ ] Die Trigger: Was löst den Worker aus? Kann ein **Benutzer Daten senden**, die vom Worker **verwendet** werden? - [ ] In den **`Einstellungen`** überprüfen, ob **`Variablen`** mit **sensiblen Informationen** vorhanden sind. - [ ] Überprüfen Sie den **Code des Workers** und suchen Sie nach **Schwachstellen** (insbesondere an Stellen, an denen der Benutzer die Eingabe verwalten kann). - Überprüfen Sie auf SSRFs, die die angegebene Seite zurückgeben, die Sie kontrollieren können. - Überprüfen Sie XSS, die JS innerhalb eines SVG-Bildes ausführen. - Es ist möglich, dass der Worker mit anderen internen Diensten interagiert. Zum Beispiel kann ein Worker mit einem R2-Bucket interagieren, der Informationen speichert, die aus der Eingabe stammen. In diesem Fall wäre es notwendig zu überprüfen, welche Möglichkeiten der Worker über den R2-Bucket hat und wie dies durch die Benutzereingabe missbraucht werden könnte. > [!WARNING] > Beachten Sie, dass einem **Worker standardmäßig eine URL** wie `..workers.dev` zugewiesen wird. Der Benutzer kann sie auf eine **Subdomain** setzen, aber Sie können immer mit dieser **ursprünglichen URL** darauf zugreifen, wenn Sie sie kennen. ## R2 Überprüfen Sie bei jedem R2-Bucket: - [ ] **CORS-Richtlinie** konfigurieren. ## Stream TODO ## Bilder TODO ## Sicherheitszentrum - [ ] Wenn möglich, führen Sie einen **`Security Insights`**-**Scan** und einen **`Infrastructure`**-**Scan** durch, da sie interessante Informationen **sicherheitsrelevant** hervorheben. - [ ] Überprüfen Sie einfach diese Informationen auf Sicherheitsfehlkonfigurationen und interessante Infos. ## Turnstile TODO ## **Zero Trust** {{#ref}} cloudflare-zero-trust-network.md {{#endref}} ## Bulk-Weiterleitungen > [!NOTE] > Im Gegensatz zu [Dynamischen Weiterleitungen](https://developers.cloudflare.com/rules/url-forwarding/dynamic-redirects/) sind [**Bulk-Weiterleitungen**](https://developers.cloudflare.com/rules/url-forwarding/bulk-redirects/) im Wesentlichen statisch — sie unterstützen **keine Zeichenfolgenersetzungs**-Operationen oder regulären Ausdrücke. Sie können jedoch URL-Weiterleitungsparameter konfigurieren, die ihr URL-Matching-Verhalten und ihr Laufzeitverhalten beeinflussen. - [ ] Überprüfen Sie, ob die **Ausdrücke** und **Anforderungen** für Weiterleitungen **Sinn machen**. - [ ] Überprüfen Sie auch auf **sensible versteckte Endpunkte**, die interessante Informationen enthalten. ## Benachrichtigungen - [ ] Überprüfen Sie die **Benachrichtigungen.** Diese Benachrichtigungen werden für die Sicherheit empfohlen: - `Usage Based Billing` - `HTTP DDoS Attack Alert` - `Layer 3/4 DDoS Attack Alert` - `Advanced HTTP DDoS Attack Alert` - `Advanced Layer 3/4 DDoS Attack Alert` - `Flow-based Monitoring: Volumetric Attack` - `Route Leak Detection Alert` - `Access mTLS Certificate Expiration Alert` - `SSL for SaaS Custom Hostnames Alert` - `Universal SSL Alert` - `Script Monitor New Code Change Detection Alert` - `Script Monitor New Domain Alert` - `Script Monitor New Malicious Domain Alert` - `Script Monitor New Malicious Script Alert` - `Script Monitor New Malicious URL Alert` - `Script Monitor New Scripts Alert` - `Script Monitor New Script Exceeds Max URL Length Alert` - `Advanced Security Events Alert` - `Security Events Alert` - [ ] Überprüfen Sie alle **Ziele**, da es in Webhook-URLs **sensible Informationen** (Basis-HTTP-Auth) geben könnte. Stellen Sie auch sicher, dass Webhook-URLs **HTTPS** verwenden. - [ ] Als zusätzliche Überprüfung könnten Sie versuchen, eine **Cloudflare-Benachrichtigung** an eine dritte Partei zu **imitieren**, vielleicht können Sie irgendwie **etwas Gefährliches injizieren**. ## Konto verwalten - [ ] Es ist möglich, die **letzten 4 Ziffern der Kreditkarte**, die **Ablaufzeit** und die **Rechnungsadresse** in **`Billing` -> `Payment info`** zu sehen. - [ ] Es ist möglich, den **Plan-Typ** im Konto in **`Billing` -> `Subscriptions`** zu sehen. - [ ] In **`Members`** ist es möglich, alle Mitglieder des Kontos und ihre **Rolle** zu sehen. Beachten Sie, dass, wenn der Plan-Typ nicht Enterprise ist, nur 2 Rollen existieren: Administrator und Superadministrator. Wenn der verwendete **Plan Enterprise** ist, können [**weitere Rollen**](https://developers.cloudflare.com/fundamentals/account-and-billing/account-setup/account-roles/) verwendet werden, um das Prinzip der minimalen Berechtigung zu befolgen. - Daher wird empfohlen, wann immer möglich den **Enterprise-Plan** zu verwenden. - [ ] In Members ist es möglich zu überprüfen, welche **Mitglieder** **2FA aktiviert** haben. **Jeder** Benutzer sollte es aktiviert haben. > [!NOTE] > Beachten Sie, dass glücklicherweise die Rolle **`Administrator`** keine Berechtigungen zur Verwaltung von Mitgliedschaften gibt (**kann keine Privilegien erhöhen oder** neue Mitglieder einladen). ## DDoS-Untersuchung [Überprüfen Sie diesen Teil](cloudflare-domains.md#cloudflare-ddos-protection). {{#include ../../banners/hacktricks-training.md}}