# Cloudflare Security
{{#include ../../banners/hacktricks-training.md}}
U Cloudflare nalogu postoje neka **opšta podešavanja i usluge** koja se mogu konfigurisati. Na ovoj stranici ćemo **analizirati podešavanja vezana za sigurnost svake sekcije:**
## Websites
Pregledajte svako sa:
{{#ref}}
cloudflare-domains.md
{{#endref}}
### Domain Registration
- [ ] U **`Transfer Domains`** proverite da li nije moguće preneti bilo koji domen.
Pregledajte svako sa:
{{#ref}}
cloudflare-domains.md
{{#endref}}
## Analytics
_Nisam mogao pronaći ništa za proveru bezbednosti konfiguracije._
## Pages
Na svakoj Cloudflare stranici:
- [ ] Proverite za **osetljive informacije** u **`Build log`**.
- [ ] Proverite za **osetljive informacije** u **Github repozitorijumu** dodeljenom stranicama.
- [ ] Proverite za potencijalno kompromitovanje github repozitorijuma putem **workflow command injection** ili `pull_request_target` kompromitovanja. Više informacija na [**Github Security page**](../github-security/).
- [ ] Proverite za **ranjive funkcije** u direktorijumu `/fuctions` (ako ih ima), proverite **preusmeravanja** u datoteci `_redirects` (ako ih ima) i **pogrešno konfigurisane zaglavlja** u datoteci `_headers` (ako ih ima).
- [ ] Proverite za **ranjivosti** na **web stranici** putem **blackbox** ili **whitebox** ako možete **pristupiti kodu**
- [ ] U detaljima svake stranice `//pages/view/blocklist/settings/functions`. Proverite za **osetljive informacije** u **`Environment variables`**.
- [ ] U detaljima stranice proverite takođe **build command** i **root directory** za **potencijalne injekcije** koje bi mogle kompromitovati stranicu.
## **Workers**
Na svakom Cloudflare radniku proverite:
- [ ] Okidače: Šta pokreće radnika? Može li **korisnik poslati podatke** koji će biti **korišćeni** od strane radnika?
- [ ] U **`Settings`**, proverite za **`Variables`** koje sadrže **osetljive informacije**
- [ ] Proverite **kod radnika** i tražite **ranjivosti** (posebno na mestima gde korisnik može upravljati unosom)
- Proverite za SSRFs koji vraćaju označenu stranicu koju možete kontrolisati
- Proverite XSS koji izvršavaju JS unutar svg slike
- Moguće je da radnik komunicira sa drugim internim uslugama. Na primer, radnik može komunicirati sa R2 bucket-om koji čuva informacije dobijene iz unosa. U tom slučaju, potrebno je proveriti koje mogućnosti radnik ima nad R2 bucket-om i kako bi to moglo biti zloupotrebljeno iz korisničkog unosa.
> [!WARNING]
> Imajte na umu da po defaultu **Radniku se dodeljuje URL** kao što je `..workers.dev`. Korisnik može postaviti na **subdomen** ali uvek možete pristupiti sa tim **originalnim URL-om** ako ga znate.
## R2
Na svakom R2 bucket-u proverite:
- [ ] Konfigurišite **CORS Policy**.
## Stream
TODO
## Images
TODO
## Security Center
- [ ] Ako je moguće, pokrenite **`Security Insights`** **skaniranje** i **`Infrastructure`** **skaniranje**, jer će **istaknuti** zanimljive informacije **vezane za sigurnost**.
- [ ] Samo **proverite ove informacije** za bezbednosne pogrešne konfiguracije i zanimljive informacije
## Turnstile
TODO
## **Zero Trust**
{{#ref}}
cloudflare-zero-trust-network.md
{{#endref}}
## Bulk Redirects
> [!NOTE]
> Za razliku od [Dynamic Redirects](https://developers.cloudflare.com/rules/url-forwarding/dynamic-redirects/), [**Bulk Redirects**](https://developers.cloudflare.com/rules/url-forwarding/bulk-redirects/) su suštinski statični — ne podržavaju **nikakve operacije zamene stringova** ili regularne izraze. Međutim, možete konfigurisati parametre URL preusmeravanja koji utiču na njihovo ponašanje u vezi sa usklađivanjem URL-a i njihovim ponašanjem tokom izvršavanja.
- [ ] Proverite da **izrazi** i **zahtevi** za preusmeravanja **ima smisla**.
- [ ] Proverite takođe za **osetljive skrivene krajnje tačke** koje sadrže zanimljive informacije.
## Notifications
- [ ] Proverite **obaveštenja.** Ova obaveštenja se preporučuju za bezbednost:
- `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`
- [ ] Proverite sve **odredišne tačke**, jer može biti **osetljivih informacija** (osnovna http autentifikacija) u webhook URL-ovima. Takođe se pobrinite da webhook URL-ovi koriste **HTTPS**
- [ ] Kao dodatnu proveru, mogli biste pokušati da **imitirate Cloudflare obaveštenje** trećoj strani, možda možete nekako **ubaciti nešto opasno**
## Manage Account
- [ ] Moguće je videti **poslednje 4 cifre kreditne kartice**, **datum isteka** i **adresu za naplatu** u **`Billing` -> `Payment info`**.
- [ ] Moguće je videti **tip plana** koji se koristi u nalogu u **`Billing` -> `Subscriptions`**.
- [ ] U **`Members`** moguće je videti sve članove naloga i njihovu **ulogu**. Imajte na umu da ako tip plana nije Enterprise, postoje samo 2 uloge: Administrator i Super Administrator. Ali ako je korišćen **plan Enterprise**, [**više uloga**](https://developers.cloudflare.com/fundamentals/account-and-billing/account-setup/account-roles/) može se koristiti da se prati princip minimalnih privilegija.
- Stoga, kada god je to moguće, **preporučuje se** korišćenje **Enterprise plana**.
- [ ] U članovima je moguće proveriti koji **članovi** imaju **2FA omogućeno**. **Svaki** korisnik bi trebao imati omogućeno.
> [!NOTE]
> Imajte na umu da srećom uloga **`Administrator`** ne daje dozvole za upravljanje članstvima (**ne može povećati privilegije ili pozvati** nove članove)
## DDoS Investigation
[Proverite ovaj deo](cloudflare-domains.md#cloudflare-ddos-protection).
{{#include ../../banners/hacktricks-training.md}}