# Cloudflare Security
{{#include ../../banners/hacktricks-training.md}}
Katika akaunti ya Cloudflare kuna **mipangilio na huduma za jumla** ambazo zinaweza kuwekewa mipangilio. Katika ukurasa huu tutachambua **mipangilio inayohusiana na usalama ya kila sehemu:**
## Websites
Kagua kila moja kwa:
{{#ref}}
cloudflare-domains.md
{{#endref}}
### Domain Registration
- [ ] Katika **`Transfer Domains`** hakikisha kuwa haiwezekani kuhamasisha domain yoyote.
Kagua kila moja kwa:
{{#ref}}
cloudflare-domains.md
{{#endref}}
## Analytics
_Sikuweza kupata chochote cha kukagua kwa ajili ya ukaguzi wa usalama wa mipangilio._
## Pages
Katika kila ukurasa wa Cloudflare:
- [ ] Kagua **taarifa nyeti** katika **`Build log`**.
- [ ] Kagua **taarifa nyeti** katika **Github repository** iliyotengwa kwa ajili ya kurasa.
- [ ] Kagua uwezekano wa kuathiriwa kwa github repo kupitia **workflow command injection** au `pull_request_target` kuathiriwa. Maelezo zaidi katika [**Github Security page**](../github-security/).
- [ ] Kagua **kazi zenye udhaifu** katika saraka ya `/fuctions` (ikiwa zipo), kagua **redirects** katika faili ya `_redirects` (ikiwa zipo) na **vichwa vilivyowekwa vibaya** katika faili ya `_headers` (ikiwa zipo).
- [ ] Kagua **udhaifu** katika **ukurasa wa wavuti** kupitia **blackbox** au **whitebox** ikiwa unaweza **kufikia msimbo**
- [ ] Katika maelezo ya kila ukurasa `//pages/view/blocklist/settings/functions`. Kagua **taarifa nyeti** katika **`Environment variables`**.
- [ ] Katika ukurasa wa maelezo kagua pia **amri ya kujenga** na **saraka ya mzizi** kwa ajili ya **uwezekano wa kuingiza** ili kuathiri ukurasa.
## **Workers**
Katika kila mfanyakazi wa Cloudflare kagua:
- [ ] Vichocheo: Nini kinachofanya mfanyakazi kuanzishwa? Je, **mtumiaji anaweza kutuma data** ambayo itatumika na mfanyakazi?
- [ ] Katika **`Settings`**, kagua **`Variables`** zinazokuwa na **taarifa nyeti**
- [ ] Kagua **msimbo wa mfanyakazi** na tafuta **udhaifu** (hasa katika maeneo ambapo mtumiaji anaweza kudhibiti ingizo)
- Kagua kwa SSRFs zinazorejesha ukurasa ulioonyeshwa ambao unaweza kudhibiti
- Kagua XSSs zinazotekeleza JS ndani ya picha ya svg
- Inawezekana kwamba mfanyakazi anashirikiana na huduma nyingine za ndani. Kwa mfano, mfanyakazi anaweza kuingiliana na R2 bucket inayohifadhi taarifa ndani yake iliyopatikana kutoka kwa ingizo. Katika kesi hiyo, itahitajika kukagua ni uwezo gani mfanyakazi ana juu ya R2 bucket na jinsi gani inaweza kutumika vibaya kutokana na ingizo la mtumiaji.
> [!WARNING]
> Kumbuka kwamba kwa kawaida **Mfanyakazi anapewa URL** kama `..workers.dev`. Mtumiaji anaweza kuipatia **subdomain** lakini unaweza kila wakati kuipata kwa hiyo **URL ya asili** ikiwa unajua.
## R2
Katika kila R2 bucket kagua:
- [ ] Weka **CORS Policy**.
## Stream
TODO
## Images
TODO
## Security Center
- [ ] Ikiwezekana,endesha **`Security Insights`** **scan** na **`Infrastructure`** **scan**, kwani zitatoa **maelezo** ya kuvutia kuhusu **usalama**.
- [ ] Kagua tu **taarifa hii** kwa ajili ya mipangilio mibaya ya usalama na taarifa za kuvutia
## Turnstile
TODO
## **Zero Trust**
{{#ref}}
cloudflare-zero-trust-network.md
{{#endref}}
## Bulk Redirects
> [!NOTE]
> Tofauti na [Dynamic Redirects](https://developers.cloudflare.com/rules/url-forwarding/dynamic-redirects/), [**Bulk Redirects**](https://developers.cloudflare.com/rules/url-forwarding/bulk-redirects/) kimsingi ni za kudumu — hazisaidii **operesheni zozote za kubadilisha mfuatano** au matumizi ya kawaida. Hata hivyo, unaweza kuweka vigezo vya kuhamasisha URL vinavyoathiri tabia yao ya ulinganifu wa URL na tabia yao ya wakati wa kutekeleza.
- [ ] Kagua kwamba **mifano** na **mahitaji** ya kuhamasisha **yanamaanisha**.
- [ ] Kagua pia kwa **nukta za siri za siri** ambazo zina taarifa za kuvutia.
## Notifications
- [ ] Kagua **arifa.** Arifa hizi zinapendekezwa kwa usalama:
- `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`
- [ ] Kagua zote **sehemu**, kwani kunaweza kuwa na **taarifa nyeti** (misingi ya http auth) katika URLs za webhook. Hakikisha pia URLs za webhook zinatumia **HTTPS**
- [ ] Kama ukaguzi wa ziada, unaweza kujaribu **kujifanya kama arifa ya cloudflare** kwa chama cha tatu, labda unaweza kwa namna fulani **kuingiza kitu hatari**
## Manage Account
- [ ] Inawezekana kuona **nambari 4 za mwisho za kadi ya mkopo**, **muda wa kumalizika** na **anwani ya bili** katika **`Billing` -> `Payment info`**.
- [ ] Inawezekana kuona **aina ya mpango** inayotumika katika akaunti katika **`Billing` -> `Subscriptions`**.
- [ ] Katika **`Members`** inawezekana kuona wanachama wote wa akaunti na **nafasi zao**. Kumbuka kwamba ikiwa aina ya mpango si Enterprise, kuna nafasi 2 tu: Msimamizi na Msimamizi Mkuu. Lakini ikiwa **mpango unaotumika ni Enterprise**, [**nafasi zaidi**](https://developers.cloudflare.com/fundamentals/account-and-billing/account-setup/account-roles/) zinaweza kutumika kufuata kanuni ya chini ya kibali.
- Kwa hivyo, kila wakati inapowezekana ni **pendekezo** kutumia **mpango wa Enterprise**.
- [ ] Katika Wanachama inawezekana kukagua ni **wanachama** gani wana **2FA iliyoanzishwa**. **Kila** mtumiaji anapaswa kuwa nayo iliyoanzishwa.
> [!NOTE]
> Kumbuka kwamba kwa bahati mbaya nafasi **`Administrator`** haina ruhusa za kudhibiti uanachama (**haiwezi kuongeza mamlaka au kuwaleta** wanachama wapya)
## DDoS Investigation
[Check this part](cloudflare-domains.md#cloudflare-ddos-protection).
{{#include ../../banners/hacktricks-training.md}}