Blog

Infraštruktúra 9 min čítania

Nastavenie Cloudflare pre firemné webové stránky: rýchlosť a bezpečnosť, krok za krokom

Zavedenie firemnej webovej stránky za Cloudflare zaberie popoludnie a odstráni celé kategórie problémov: pomalé stránky pre vzdialených návštevníkov, záplavy premávky, roboty, ktoré vám zatĺkajú prihlasovacie údaje. Predstavuje tiež nové spôsoby rozbitia vecí, ak sa to robí neopatrne. Táto príručka obsahuje poradie nastavenia, dôležité nastavenia a chyby, s ktorými sa stretávame najčastejšie.

Ilustrácia článku: Nastavenie Cloudflare pre firemné webové stránky: rýchlosť a bezpečnosť, krok za krokom

V skratke

  • Cloudflare za vás robí tri úlohy: DNS, globálnu vyrovnávaciu pamäť (CDN) a bezpečnostnú vrstvu pred vaším serverom (ochrana DDoS, pravidlá brány firewall, filtrovanie botov).
  • Používajte režim SSL Plný (prísny), nikdy nie flexibilný. Potom uzamknite svoj server, aby akceptoval webový prenos iba z Cloudflare, inak ho útočníci môžu jednoducho obísť.
  • Agresívne ukladať statické súbory do vyrovnávacej pamäte, nikdy neukladať súkromné alebo správcovské stránky do vyrovnávacej pamäte a pri nasadzovaní automaticky vymazávať vyrovnávaciu pamäť.
  • Pridajte niekoľko cielených pravidiel: obmedzenie prihlásenia a platby a oslobodenie platobných webhookov od výziev.
  • E-mailové záznamy musia zostať iba DNS a vaše denníky potrebujú obnoviť skutočnú IP adresu návštevníka. Tieto dva detaily spôsobujú väčšinu lístkov „po Cloudflare to prasklo“.

Cloudflare sedí medzi vašimi návštevníkmi a vaším serverom. Návštevníci sa pripájajú k neďalekému dátovému centru Cloudflare, ktoré priamo obsluhuje súbory uložené vo vyrovnávacej pamäti, filtruje nepriateľský prenos a zvyšok posiela na váš server. Pre firmu to znamená rýchlejšie stránky pre zákazníkov ďaleko od vášho hostiteľského miesta, ochranu pred jednoduchým odmietnutím služby a miesto na presadzovanie bezpečnostných pravidiel bez zmeny kódu aplikácie. Mnoho plánov začína zadarmo a platené plány pridávajú funkcie, preto si pred rozhodnutím skontrolujte porovnanie aktuálneho plánu.

Nie je náhradou za opravený softvér a bezpečný kód. Náš kontrolný zoznam zabezpečenia PHP stále platí. Predstavte si Cloudflare ako silné vchodové dvere, nie náhradu za zamykanie miestností vo vnútri.

Skôr ako začnete

  • Urobte si inventúru svojho DNS. Exportujte alebo vytvorte snímku obrazovky u vášho aktuálneho poskytovateľa DNS vrátane pošty (MX, SPF, DKIM, DMARC) a overovacích záznamov. Zmeškaný záznam je klasický spôsob, ako prelomiť e-mail počas migrácie.
  • Zistite, kto vlastní účet registrátora domény, a uistite sa, že ide o firemný účet s viacfaktorovým overením. Zmeníte tam menné servery.
  • Ak je to možné, znížte TTL svojich kľúčových záznamov deň vopred, aby sa zmeny šírili rýchlejšie.
  • Vyberte si pokojný čas a povedzte to tímu. Naplánujte návrat: staré menné servery, zapísané.

Krok 1: Pridajte stránku a skontrolujte DNS

Pridajte svoju doménu na hlavný panel Cloudflare. Skenuje existujúce záznamy. Porovnajte ich s inventárom a opravte medzery. Pre každý záznam si vyberte z dvoch režimov:

  • Proxed (oranžový cloud): prevádzka prechádza cez Cloudflare. Použite pre svoje webové stránky a názvy hostiteľov webových aplikácií.
  • Iba DNS (sivý cloud): Cloudflare iba odpovedá na dotaz DNS. Používa sa pre poštové servery, názvy hostiteľov SSH alebo FTP a všetko, čo nie je prenos HTTP alebo HTTPS.

Potom aktualizujte menné servery u svojho registrátora. Keď sa stránka zobrazí ako aktívna, skontrolujte ju a odošlite testovací e-mail.

Krok 2: správne nastavte šifrovanie

Toto je nastavenie, ktoré rozbije väčšinu stránok. Cloudflare má niekoľko režimov SSL/TLS:

  • Flexibilné: šifruje návštevníka do Cloudflare, ale odosiela prenos na váš server nešifrovaný. Vyzerá to, že to funguje, ale druhá vetva je otvorená a často spôsobuje slučky presmerovania. Vyhnite sa tomu.
  • Úplné: zašifruje obe časti, ale neoverí certifikát vášho servera.
  • Úplné (prísne): zašifruje obe časti a overí certifikát na vašom serveri. Toto je ten, ktorý sa má použiť.

Najprv si na svoj server nainštalujte platný certifikát. Funguje certifikát Cloudflare Origin CA alebo bezplatný certifikát Let's Encrypt. Potom prepnite na Full (strict), zapnite Always Use HTTPS, nastavte minimálnu verziu TLS 1.2 a povoľte HSTS až potom, čo všetko funguje cez HTTPS, pretože HSTS hovorí prehliadačom, aby odmietli obyčajný HTTP na dlhú dobu.

Krok 3: Znemožnite obídenie Cloudflare

Ak útočníci poznajú skutočnú IP adresu vášho servera, môžu naň posielať návštevnosť a preskočiť každú ochranu, ktorú ste nakonfigurovali. Opravte to dvoma spôsobmi:

  • Povoľte webový prenos na váš server iba z rozsahov IP publikovaných Cloudflare.
  • Obnovte skutočnú IP adresu návštevníka na svojom webovom serveri, pretože inak sa zdá, že každá požiadavka vo vašich denníkoch, limitoch sadzieb a analýzach pochádza z Cloudflare.
#!/usr/bin/env bash
# /opt/cf/update_cloudflare_ips.sh - run weekly from cron
set -euo pipefail
IPS="$(curl -fsS https://www.cloudflare.com/ips-v4) $(curl -fsS https://www.cloudflare.com/ips-v6)"

# 1) real visitor IP for Nginx
OUT=/etc/nginx/conf.d/cloudflare_real_ip.conf
{
  for r in $IPS; do echo "set_real_ip_from $r;"; done
  echo "real_ip_header CF-Connecting-IP;"
} > "$OUT.tmp" && mv "$OUT.tmp" "$OUT"
nginx -t && nginx -s reload

# 2) firewall: allow HTTPS only from Cloudflare (remove any generic "allow 443" rule first)
for r in $IPS; do ufw allow proto tcp from "$r" to any port 443 comment 'cloudflare'; done

Jeden dôležitý detail pre používateľov Docker: porty publikované Docker obchádzajú pravidlá ufw. Spojte kontajnery s localhostom za reverzným proxy alebo obmedzte prístup v reťazci brány firewall DOCKER-USER spoločnosti Docker. Pre silnejšiu izoláciu umožňuje Cloudflare Tunnel vášmu serveru vytvoriť iba odchádzajúce pripojenie, takže nepotrebuje žiadne otvorené prichádzajúce webové porty. V prípade platobných webhookov a iných integrácií server-to-server sa uistite, že pravidlá IP stále umožňujú týmto požiadavkám prejsť, ak neprechádzajú cez Cloudflare.

Krok 4: Pravidlá ukladania do vyrovnávacej pamäte

Cloudflare predvolene ukladá do vyrovnávacej pamäte statické súbory, ako sú obrázky, CSS a JavaScript, ale nie HTML. Rozumná politika pre typickú stránku PHP:

  • Statické aktíva: vyrovnávacia pamäť na dlhú dobu (mesiac alebo viac). Použite názvy súborov s verziou alebo reťazec dotazu, ako napríklad app.css?v=123, aby sa nové nasadenie okamžite prevzalo.
  • Verejné stránky HTML (marketingové stránky, blog): môžu byť uložené do vyrovnávacej pamäte niekoľko minút až hodín pomocou pravidla vyrovnávacej pamäte. Otestujte opatrne.
  • Nikdy do vyrovnávacej pamäte: správca, účet, košík, pokladňa, koncové body rozhrania API a akákoľvek stránka, ktorá závisí od prihlasovacieho súboru cookie. Vytvorte pravidlo obídenia pre tieto cesty a pre požiadavky nesúce váš súbor cookie relácie.

Čistí sa automaticky po každom nasadení, takže zákazníci nikdy neuvidia zastarané súbory. Vytvorte token rozhrania API iba s povolením „Vyčistenie vyrovnávacej pamäte“ pre túto zónu a zavolajte ho zo skriptu nasadenia:

# purge selected files after a deployment
curl -sS -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
  -H "Authorization: Bearer $CF_API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"files":["https://example.com/css/app.css","https://example.com/js/app.js"]}'

Rýchlejšie stránky pomáhajú aj pri vyhľadávaní a konverziách. Pozrite si našu príručku Core Web Vitals pre stránky PHP, kde nájdete informácie o tom, čo treba opraviť na strane servera, keď bude CDN na svojom mieste.

Krok 5: Firewall, roboty a obmedzenie rýchlosti

  • Zapnite spravované pravidlá WAF dostupné vo vašom pláne. Blokujú bežné vzory útokov skôr, ako sa dostanú do vášho kódu.
  • Povoľte ochranu robotov vhodnú pre váš plán a sledujte analýzy predtým, ako niečo sprísnite.
  • Hodnotiť limit citlivé koncové body: prihlásenie, reset hesla, registrácia a platba. Útoky hrubou silou a testovaním kariet sa zameriavajú presne na tieto.
  • Oslobodená prevádzka dôveryhodného stroja: webhooky poskytovateľov platieb, monitorovacie služby a vaše vlastné integrácie nesmú byť zasiahnuté výzvami prehliadača, pretože stránka s výzvou vrátená do webhooku vyzerá ako zlyhanie.
# Custom rule 1: block probes for secrets and repositories (action: Block)
(http.request.uri.path contains "/.env" or http.request.uri.path contains "/.git" or http.request.uri.path contains "wp-config")

# Custom rule 2: let payment webhooks through (action: Skip, security features)
(http.request.uri.path in {"/webhooks/stripe" "/webhooks/paypal"})

# Rate limiting rule: at most 10 login attempts per minute per IP
(http.request.uri.path eq "/login" and http.request.method eq "POST")  =>  10 requests / 1 minute / IP

Syntax pravidla a dostupné polia sa líšia v závislosti od plánu, preto ich berte ako šablóny a najskôr ich otestujte v režime „log“. Zachovajte aj ochranu na úrovni aplikácie: kontroly podpisov webhookov, ako v našom sprievodcovi webhookmi Stripe, nikdy nezávisia len od pravidiel siete.

Krok 6: overte nastavenie

# is traffic going through Cloudflare?
curl -sI https://example.com | grep -iE "^(server|cf-cache-status|cf-ray)"

# does the origin refuse direct access? (replace with your server IP; expect a timeout or refusal)
curl -sI --max-time 8 https://203.0.113.10 -H "Host: example.com" -k

# are the nameservers and mail records right?
dig NS example.com +short
dig MX example.com +short
dig TXT example.com +short

Dvakrát skontrolujte statický súbor: druhá odpoveď by mala zobrazovať cf-cache-status: HIT. Pomocou skutočného prehliadača skontrolujte prihlasovacie, platobné a správcovské toky a odošlite a prijmite testovací e-mail.

Časté chyby

  • Flexibilné SSL a nasledujúce slučky presmerovania.
  • Zastupovanie názvu hostiteľa pošty (musí to byť iba DNS) alebo zabudnutie záznamu pošty počas presunu.
  • Ukladanie súkromných stránok do vyrovnávacej pamäte, aby jeden zákazník videl stránku účtu iného zákazníka. Vždy obísť vyrovnávaciu pamäť pre prihlásenú prevádzku.
  • Ponechanie odhaleného pôvodu: skutočná adresa IP je viditeľná v starých záznamoch DNS, hlavičkách e-mailov alebo protokoloch certifikátov. Obmedzte firewall a zvážte zmenu IP, ak unikla.
  • Neobnovenie skutočnej IP, čo porušuje limity rýchlosti, protokoly a kontroly podvodov.
  • Náročné webhooky a rozhrania API, ktoré spôsobujú tiché zlyhania platieb a integrácií.
  • Obmedzenia veľkosti požiadaviek: žiadosti s proxy majú maximálnu veľkosť tela v závislosti od plánu. Ak vaša aplikácia akceptuje veľké nahrávanie, skontrolujte aktuálny limit.
  • Zabúdanie na monitorovanie. Pridajte upozornenia na vypršanie platnosti certifikátu a domény a udržujte kontroly dostupnosti, ako je popísané v našom sprievodcovi zálohovaním a monitorovaním.

Jednostranový kontrolný zoznam

  1. Inventár DNS exportovaný, účet registrátora zabezpečený.
  2. Stránka bola pridaná, záznamy skontrolované, proxy len pre názvy webových hostiteľov.
  3. Nainštalovaný pôvodný certifikát, režim SSL Plný (prísny), Vždy používať HTTPS zapnuté.
  4. Firewall obmedzený na rozsahy Cloudflare, skutočná IP adresa návštevníka bola obnovená.
  5. Pravidlá vyrovnávacej pamäte pre statické aktíva, obídenie súkromných ciest, čistenie v skripte nasadenia.
  6. Spravované WAF zapnuté, limity sadzieb pre prihlásenie a platbu, vyňaté webhooky.
  7. Verifikačné príkazy sú spustené, výstrahy nakonfigurované, vrátenie zdokumentované.

Ako môžeme pomôcť

Nakonfigurujeme Cloudflare, hosting a nasadzovacie kanály pre PHP aplikácie a pripojíme ich k platobným, CRM a messagingovým systémom. Prečítajte si o našej integračnej službe alebo si rezervujte krátky hovor a my skontrolujeme vaše nastavenie DNS, SSL a ukladania do vyrovnávacej pamäte podľa tohto kontrolného zoznamu.

Časté otázky

Stojí Cloudflare za web pre malú firmu?

Pre väčšinu verejných webových stránok áno. Rýchlejšie doručovanie statických súborov, ochrana DDoS, bezplatné spravované DNS a jednoduché HTTPS sú cenné aj na bezplatnom pláne. Platené plány pridávajú silnejší firewall, robot a výkonové funkcie. Pozrite si porovnanie aktuálneho plánu, čo potrebujete.

Ktorý režim SSL by som mal použiť?

Plný (prísny). Šifruje komunikáciu medzi návštevníkom a Cloudflare a medzi Cloudflare a vaším serverom a overuje certifikát vášho servera. Vyhnite sa flexibilnému, ktorý ponecháva pripojenie k vášmu serveru nezašifrované a často spôsobuje slučky presmerovania.

Môžu útočníci obísť Cloudflare ?

Áno, ak nájdu skutočnú IP vášho servera a akceptuje prenos odkiaľkoľvek. Obmedzte svoj firewall na publikované rozsahy IP Cloudflare alebo použite Cloudflare Tunnel a zmeňte IP, ak unikla.

Prečo môj e-mail prestal fungovať po presunutí DNS do Cloudflare ?

Zvyčajne pri migrácii chýbal záznam pošty alebo bol názov hostiteľa pošty nastavený na proxy. Musia byť prítomné e-mailové záznamy ako MX, SPF, DKIM a DMARC a názov hostiteľa poštového servera musí byť iba DNS.

Mám stránky HTML uložiť do vyrovnávacej pamäte na Cloudflare ?

Môžete to urobiť pre verejné stránky, ako je marketing a obsah blogu, pomocou pravidiel vyrovnávacej pamäte a rozumného vypršania platnosti. Nikdy neukladajte do vyrovnávacej pamäte správcu, účet, košík, pokladňu ani žiadnu personalizovanú stránku a vyrovnávaciu pamäť vymažte pri každom nasadení.

Bezplatný objavovací hovor

Prineste chaotický stack alebo zaseknutú integráciu - Integrono namapuje najmúdrejší prvý krok.

Dostanete seniorský pohľad na rozpočtové pasce, závislosti a na to, či kúpiť, zlepiť alebo postaviť - kým nezačne platená práca. CEO ostáva v okruhu.