Ovaj članak bavi se servisom Cloudflare (link ka CF sajtu). Šta je to, kako radi i na koji način se sajt može zaštititi pomoću njihovih servisa.
Sadržaj:
- Šta je to Cloudflare?
- Kako to radi?
- Vrste usluga
- Kako podesiti Cloudflare za jedan WordPress sajt
- Moje iskustvo
- Moje lično mišljenje i napomena
1. Šta je to Cloudflare?
U suštini to je servis koji se postavlja između hosting servera sajta i posetilaca. Pri tome može vršiti višestruku funkciju: DNS, CDN (obrnuti proksi) i zaštita od DDoS napada (Wiki link).
Nudi se više različitih nivoa usluga: od potpuno besplatnog, do “enterprise” koji košta preko više stotina američkih dolara mesečno. Pri tome je i besplatni nivo sasvim upotrebljiv za mnoge manje, srednje, pa čak i neke veće sajtove. Politika kompanije je da dozvoli ljudima besplatno testiranje servisa (istovremeno ih koristeći za testiranje samih servisa), znajući da će oni biti voljni da plate za još onoga što im se dopadne.
Primer ove politike cena: u članku o redirekcijama, objasnio sam podešavanje istih pomoću Cloudflare Pravila Stranica. Besplatan servis daje 3 Pravila Stranica, dok svakih dodatnih 5 košta 5$ mesečno.
Ako pročitate ovaj izveštaj o pokušaju phishing napada na Cloudflare (link ka njihovom sajtu), shvatićete zašto mislim da je zaštita u Cloudflare-u iznad proseka.
2. Kako to radi?
Postoji velika mreža Cloudflare servera širom cele planete. Saobraćaj namenjen sajtu koji koristi ove usluge, obično bude prvo usmeren na (posetiocu) najbliži server.
Serveri sadrže kopiju statičkog sadržaja sajtova. Dok za ažuriranje dinamičkog sadržaja koriste brze linkove (skuplji paketi koriste specijalnu tehnologiju “Railgun“, koju je Cloudflare razvio uz pomoć nekoliko IS provajdera).
Da bi ovo sve radilo, tj. da bi se saobraćaj usmeravao uvek prvo na Cloudflare server, potrebno je, prilikom korištenja njihovih usluga, podesiti domen da koristi Cloudflare-ov DNS. Za uzvrat, pored keširanja i brzog DNS servisa, Cloudflare će vršiti i zaštitu od napada na sajt – praktično sakrivajući server iza svoje mreže.
3. Vrste usluga
Postoje četiri cenovna nivoa, a usluge svakog su skup svih usluga prethodnih nivoa, plus dodatne za taj nivou. Bez ulaženja u detalje, skuplji planovi nude: viši nivo DDoS i Firewall zaštite, bolje mogućnosti keširanja sadržaja, više prilagođavanja potrebama korisnika, kao i brži odgovor na pitanja u vezi tehničke podrške i sl. Detaljnije o cenama i paketima usluga piše na sajtu Cloudflare-a.
“Free” (besplatni) paket je sasvim OK za početak, a kada Vam zatreba nešto više, znaćete i sami. Daje vam:
- Veću brzinu – zahvaljujući boljem rutiranju i (rudimentarnom u besplatnom paketu) CDN servisu.
- Veću bezbednost – radi kao firewall između vašeg hosting servera i “spoljnog sveta,” a uz to i sakriva IP adresu vašeg servera.
- Lakše održavanje sajta – Cloudflare DNS promene se propagiraju super-brzo. Za razliku od “normalnih” DNS-ova gde propagacija traje i do 24 časa, Cloudflare to reši za par minuta.
4. Kako podesiti Cloudflare za jedan WordPress sajt
Ovo uputstvo podrazumeva da koristite SSL (mnogi hosting provajderi danas pružaju Let’s Encrypt besplatni SSL), što je svakako uputno. Sve opcije koje nisu napomenute treba ostaviti kakve su bile (po “default-u”).
Napravite nalog na Cloudflare.com i kliknite na dugme: “+ Add a Site”. Tada, nakon unošenja imena domena, dobićete dva nameservera koje treba uneti umesto postojećih na registraru domena. U zavisnosti od registrara koji koristite, sam meni može izgledati drugačije od slike 2:
Poseban članak objašnjava kako podesiti nameservere.
Naravno, morate podesiti i Cloudflare DNS (poseban članak koji to objašnjava).
Ostatak ovog poglavlja je zastareo. Cloudflare je izmenio svoje menije i opcije, tako da sam napisao poseban članak o tome kako podesiti Cloudflare za WordPress sajt.
Možete skočiti na 5. poglavlje, da pročitate o mom iskustvu i završnim napomenama (upozorenja).
Napravite pravila stranice za SSL i da se ne kešira prilikom administratorskog pristupa sajtu (naravno, “example.com” deo zameniti domenom Vašeg sajta):
Uvođenjem ova dva pravila, sprečava se da iko pristupi sajtu bez SSL enkripcije, kao i da se prilikom administriranja sajta uvek vidi aktuelna verzija sadržaja, bez ikakvog keširanja. Nakon toga, mogu se podesiti ostale opcije, redom, iz Cloudflare menija. Ovako sam ih ja podesio za svoj(e) sajt(ove):
U ovom meniju, ako sajt poseduje SSL sertifikat, uglavnom će raditi sa “Full (strict)” opcijom. Ako nema SSL sertifikata, ili taj sertifikat nije neki opšte priznat (i od strane Cloudflare-a), onda će opcija “Full” raditi, dok je “Flexible” za servere bez SSL-a (kada komunikacija od Cloudflare servera do hosting servera neće biti kriptovana). Detaljnije objašnjeno na Cloudflare podršci.
Ostale opcije koje ovde treba podesiti su, bez obrazlaganja zašto:
- Always Use HTTPS: On
- Authenticated Origin Pulls: Off ako server nije podešen za ovo ili/i ako se koristi RailGun – Info.
- Minimum TLS Version: TLS 1.2
- Opportunistic Encryption: On
- Onion Routing: On
- TLS 1.3: Enabled+0RTT
- Enable Universal SSL (osim ako se ne kupuje Cloudflare Dedicated SSL)
Firewall meni, opet ukratko:
- Security Level: Medium
- Challenge Passage: 1 day
- Privacy Pass Support: On
Speed meni:
- Auto Minify: sve otkačiti
- Enable Accelerated Mobile Links: On
- Brotli: On
- Rocket Loader™: On
Caching meni:
- Caching Level: Standard
- Browser Cache Expiration: Respect Existing Headers (ako je keširanje na sajtu podešeno)
- Always Online™: On
Scrape Shield meni:
- Hotlink protection: On
U posebnom članku objasnio sam kako podesiti Cloudflare DNS.
5. Moje iskustvo
Od leta 2018. godine bikegremlin.com koristi Cloudflare (moje Cloudflare podešavanje). Za sada lepo služi. Primećujem za nijansu bolje prosečno vreme otvaranja stranica i manje opterećenje servera kada se koristi Cloudflare. Ozbiljnijih napada za sad nisam imao, ali računam da i dodatni nivo zaštite sigurno nije na odmet (ažuriranje: da, i zaštita od napada radi dobro). Slike 5 i 6 prikazuju neke statistike od prošlog meseca:
6. Moje lično mišljenje i napomena
Informacije date u ovom poglavlju shvatite kao moje lično mišljenje, odnosno: “koliko ja znam”.
Važno: odnosi se na sve podatke koji se kriptuju na putu sa vašeg hosting servera i ka njemu pomoću SSL/TLS enkripcije (https protokol). Svi podaci se dekriptuju na Cloudflare proxy serverima (osim ako koristite “sivi oblačić”, kada Cloudflare radi kao običan DNS). Zatim se ponovo kriptuju na putu ka i od posetilaca sajta. U suprotnom keširanje i zaštita ne bi mogli da rade. To znači da Cloudflare (tj. njegovi vlasnici) mogu videti sve podatke. Mogu ih snimiti, kao i podeliti sa drugima. Mogu ih čak i menjati ako to žele – tj. ponašati se kao man-in-the-middle napadač.
Da li Cloudflare ovo radi? Kunu se da ne rade. To bi svakako srušilo svu reputaciju koju su izgradili. Takođe, poslovni model im je baziran na prodaji dodatnih usluga, meni deluje da je dobar i da nemaju potrebu rizikovati sa prodajom podataka korisnika (za razliku od nekih drugih velikih kompanija). Ipak, mislim da je pošteno da kažem, kad već to znam, da su tehnički u poziciji da mogu to uraditi. Kao i Google, Cloudlfare je veliki brat koji se (za sada) ljubazno smeši i nudi nam puno super stvari za džabe. Ja ga koristim, ali su mi sajtovi namešteni tako da lako mogu raditi i bez Cloudflare.
Nešto opširnije o načinu rada, podešavanja i zaštita koje nudi dao sam u članku o podešavanju Cloudflare DNS-a.
Ažuriranje: Napisao sam poseban članak o tome kako podesiti Cloudflare za WordPress sajt?