# Cloudflare Sekuriteit

{{#include ../../banners/hacktricks-training.md}}

In 'n Cloudflare-rekening is daar sommige **algemene instellings en dienste** wat gekonfigureer kan word. Op hierdie blad gaan ons die **sekuriteitsverwante instellings van elke afdeling** ontleed:

<figure><img src="../../images/image (117).png" alt=""><figcaption></figcaption></figure>

## Webwerwe

Review each with:

{{#ref}}
cloudflare-domains.md
{{#endref}}

### Domeinregistrasie

- [ ] In **`Transfer Domains`** maak seker dat dit nie moontlik is om enige domein te oordra nie.

Review each with:

{{#ref}}
cloudflare-domains.md
{{#endref}}

## Analise

_Ik kon niks vind om na te gaan vir 'n konfigurasie-sekuriteitsbeoordeling nie._

## Pages

Op elke Cloudflare Pages blad:

- [ ] Kyk vir **gevoelige inligting** in die **`Build log`**.
- [ ] Kyk vir **gevoelige inligting** in die **Github repository** wat aan die pages toegewys is.
- [ ] Kyk vir potensiële github repo kompromittering deur middel van **workflow command injection** of `pull_request_target` kompromittering. Meer inligting op die [**Github Security page**](../github-security/index.html).
- [ ] Kyk vir **kwetsbare funksies** in die `/fuctions` directory (indien enige), kyk na die **redirects** in die `_redirects` file (indien enige) en **verkeerd gekonfigureerde headers** in die `_headers` file (indien enige).
- [ ] Kyk vir **kwetsbaarhede** in die **web page** via **blackbox** of **whitebox** indien jy toegang tot die kode het.
- [ ] In die besonderhede van elke bladsy `/<page_id>/pages/view/blocklist/settings/functions`. Kyk vir **gevoelige inligting** in die **`Environment variables`**.
- [ ] In die details bladsy kyk ook na die **build command** en **root directory** vir **potensiële injections** om die bladsy te kompromitteer.

## **Workers**

On each Cloudflare's worker check:

- [ ] Die triggers: Wat laat die worker trigger? Kan 'n **gebruiker data stuur** wat deur die worker **gebruik** sal word?
- [ ] In die **`Settings`**, kyk vir **`Variables`** wat **gevoelige inligting** bevat
- [ ] Kyk na die **code van die worker** en soek na **kwetsbaarhede** (veral op plekke waar die gebruiker die input kan beheer)
- Kyk vir SSRFs wat die aangewese blad teruggee wat jy kan beheer
- Kyk vir XSSs wat JS uitvoer binne 'n svg image
- Dit is moontlik dat die worker met ander interne dienste interaksie het. Byvoorbeeld, 'n worker mag met 'n R2 bucket kommunikeer en inligting daarin stoor wat uit die input verkry is. In daardie geval sal dit nodig wees om te kyk watter vermoëns die worker oor die R2 bucket het en hoe dit misbruik kan word via die gebruiker se input.

> [!WARNING]
> Let wel dat standaard 'n **Worker 'n URL gekry** soos `<worker-name>.<account>.workers.dev`. Die gebruiker kan dit op 'n **subdomain** stel, maar jy kan dit altyd met daardie **oorspronklike URL** bereik as jy dit ken.

For a practical abuse of Workers as pass-through proxies (IP rotation, FireProx-style), check:

{{#ref}}
cloudflare-workers-pass-through-proxy-ip-rotation.md
{{#endref}}

## R2

On each R2 bucket check:

- [ ] Konfigureer die **CORS Policy**.

## Stream

TODO

## Images

TODO

## Security Center

- [ ] Indien moontlik, voer 'n **`Security Insights`** **scan** en 'n **`Infrastructure`** **scan** uit, aangesien dit interessante sekuriteitsverwante inligting sal uitlig.
- [ ] Kontroleer net hierdie inligting vir sekuriteitsmisluiings en interessante inligting

## Turnstile

TODO

## **Zero Trust**

{{#ref}}
cloudflare-zero-trust-network.md
{{#endref}}

## Bulk Redirects

> [!NOTE]
> Unlike [Dynamic Redirects](https://developers.cloudflare.com/rules/url-forwarding/dynamic-redirects/), [**Bulk Redirects**](https://developers.cloudflare.com/rules/url-forwarding/bulk-redirects/) are essentially static — they do **not support any string replacement** operations or regular expressions. However, you can configure URL redirect parameters that affect their URL matching behavior and their runtime behavior.

- [ ] Maak seker dat die **expressies** en **vereistes** vir redirects sin maak.
- [ ] Kyk ook vir **gevoelige verborge endpoints** wat interessante inligting kan bevat.

## Notifications

- [ ] Kyk na die **notifications.** Hierdie notifications word vir sekuriteit aanbeveel:
- `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`
- [ ] Kyk na al die **destinasies**, aangesien daar **gevoelige inligting** (basic http auth) in webhook urls kan wees. Maak ook seker webhook urls gebruik **HTTPS**
- [ ] As ekstra kontrole kan jy probeer om 'n **cloudflare notification** na 'n derde party te imiteer; miskien kan jy op 'n of ander manier iets gevaarliks **inject**.

## Bestuur Rekening

- [ ] Dit is moontlik om die **laaste 4 syfers van die kredietkaart**, **vervaldatum** en **faktureringsadres** te sien in **`Billing` -> `Payment info`**.
- [ ] Dit is moontlik om die **plan tipe** wat in die rekening gebruik word te sien in **`Billing` -> `Subscriptions`**.
- [ ] In **`Members`** is dit moontlik om al die lede van die rekening en hul **rol** te sien. Let daarop dat as die plan tipe nie Enterprise is nie, net 2 rolle bestaan: Administrator en Super Administrator. Maar as die gebruikte **plan Enterprise is**, [**more roles**](https://developers.cloudflare.com/fundamentals/account-and-billing/account-setup/account-roles/) kan gebruik word om die minste voorreg-principe te volg.
- Daarom word dit, waar moontlik, **aanbeveel** om die **Enterprise plan** te gebruik.
- [ ] In Members is dit moontlik om te sien watter **members** 2FA aangeskakel het. **Elke** gebruiker behoort dit aangeskakel te hê.

> [!NOTE]
> Let wel dat gelukkig die rol **`Administrator`** nie toestemmings gee om lede te bestuur nie (**kan nie voorregte eskaleer of nuwe lede nooi nie**)

## DDoS Ondersoek

[Kyk na hierdie deel](cloudflare-domains.md#cloudflare-ddos-protection).

{{#include ../../banners/hacktricks-training.md}}
