WordPressin suojaaminen CloudFlare Accessilla

WordPressin suojaaminen CloudFlare Accessilla

Päivitetty artikkeli Cloudflare Zero Trust -alustan mukaan. Ohjeet ovat taas ajan tasalla.

5.1.2023

Cloudflare Access on hyvin nerokas tapa suojata eri palveluiden kriittisiä osia, kuten ylläpidon kirjautumissivut. Cloudflare access on palvelu, joka useassa tapauksessa voi korvata yritysten sisäisten VPN palveluiden käytön. Jos Cloudflare on sinulle vielä tuntematon, niin suosittelen lukemaan aikaisemman artikkelimme Cloudflaren käyttöönotosta.

Cloudflare Access teknisestä näkökulmasta

Jos sinua ei tekniikka kiinnosta, mutta haluat nostaa esimerkiksi WordPress -sivustosi tietoturvan uudelle tasolle niin skippaa tämä kohta.

Cloudflare Access on tunnistautumisjärjestelmä, joka istuu sinun ja palvelimesi välissä. Sen tehtävä on estää tuntemattomien tahojen pääsy verkkopalvelusi kriittisiin osiin. Käyttäjän tulee siis tunnistautua ensin - ennen kuin hän pääsee edes navigoimaan selaimella sivuston kirjautumisruutuun. Cloudflare matkii Googlen BeyondCorp järjestelmää ja tuo BeyondCorpin hyvät puolet kaikkien saataville.

cloudflare access

Tunnistautuminen

Tunnistautuminen tapahtuu esimerkiksi Google -tilin, Azure Active Directoryn tai Okta:n avulla. Cloudflare Access tukee siis suurimpia ja yleisimpiä tunnistautumismenettelyjä. Voit myös halutessasi käyttää sähköpostia tunnistautumiseen.

WordPress hallintapaneelin suojaus

Cloudflare Accessin avulla voi suojata lähes kaikki verkossa olevat sivut, joiden pääsyä tulee rajoittaa. WordPressin kirjautumissivu ei ole kovin turvallinen vakiona. /wp-admin/ -sivu joutuu lähes poikkeuksetta verkossa automaattisten skannereiden hyökkäysten kohteeksi päivittäin. Tämä sivu tulisi siis suojata mahdollisimman hyvin. Todella hyvä salasana ja salasanamanageri parantavat jo merkittävästi turvallisuutta, mutta raskaiden skannereiden jatkuvat tunkeutumisyritykset saattavat hidastaa koko sivuston toimivuutta. Cloudflare Accessin avulla suojaat sivuston näiltä hyökkäyksiltä, sillä skannerit tai muut tunkeutujat eivät pääse edes yhdistämään sivustosi /wp-admin/ -sivulle. Hyökkääjän vieraillessa hallintapaneelin kirjautumissivulla, löytävät he itsensä ensin Cloudflaren tunnistautumissivulta. Mikäli hyökkääjä yrittää murtaa tätä sivua, tekevät he hyökkäyksen Cloudflarea vastaan, eivätkä sinun sivuasi vastaan.

Cloudflare Access käyttöönotto

HUOM! Tämä ohje olettaa, että olet aktivoinut Cloudflaren jo sivustollesi käyttöön. Mikäli et ole tehnyt tätä niin voit seurata meidän Cloudflare käyttöönotto blogikirjoitusta.

Cloudflare Zero Trust hallintapaneeli

Avaa Cloudflare hallintapaneeli ja navigoi kohtaan "Zero Trust". (Löytyy myös osoitteesta: https://one.dash.cloudflare.com/)

Tunnistautumistapojen lisääminen

Selaa seuraavaan kohtaan "Settings". Kohdasta: "Login Methods", paina: "Add", lisätäksesi uuden tunnistautumistavan. Käytämme esimerkkinä sähköpostia ja Google -tiliä. Sähköpostin avulla tunnistautuminen tapahtuu "One-Time pin" -tunnistautumisella. One-Time pin ei vaadi sen kummempaa määritystä tässä vaiheessa. Google -tunnistautuminen vaatii toimia Google Cloud consolessa. Jos et halua käyttää Google -tunnistautumista niin voit siirtyä seuraavaan kohtaan.

Google -tilillä tunnistautuminen

Jos haluat tunnistautua Cloudflare Accessiin Google-tilin avulla niin seuraa näitä ohjeita.

  1. Kirjaudu sisään Google Cloud consolen API management puolelle.
  2. Luo uusi projekti painamalla "Create".
  3. Nimeä projekti esimerkiksi "Cloudflare Access" ja paina "Create".
  4. Paina kohdasta "Create Credentials" ja valitse "OAuth Client ID".
  5. Jos näet ilmoituksen, jossa lukee "Configure Consent Screen", paina sitä ja seuraa ohjeita.
  6. Täytä "Product Name" -kenttä ja paina tallenna. Product Name näkyy tunnistautumisen yhteydessä käyttäjille.
  7. Valitse "Application Type" -kohdasta "Web Application". Anna sovellukselle nimi ja kohtaan "Authorized Javascript Origins" täytä "https://omadomain.cloudflareaccess.com" (korvaa "omadomain" sillä, minkä olet määrittänyt "Login Page Domain" -kohtaan Cloudflare access sivulla).
  8. "Authorized redirect URIs" -kohtaan täytä seuraava: "https://omadomain.cloudflareaccess.com/cdn-cgi/access/callback" ja paina "Create".
  9. Kopioi molemmat: "client ID", sekä "secret" Cloudflare Accessin määrityksiin.

WordPressin suojaaminen

Klikkaa "Access" ja valitse "Applications". Cloudflare Access on ilmainen pienille ryhmille, mutta muuttuu maksulliseksi jos käyttäjiä on paljon. Seuraa Cloudflaren ohjeita, mikäli tarvitsette laajemman käyttäjäkunnan toimialueellenne.

Tässä näkymässä näkyy kaikki sovellukset, jossa käytätte Cloudflaren kirjautumis rajapintaa eli Accessia. Klikatkaa "Add an application".

cloudflare access for applications

Valitkaa tässä kohtaa "Self-hosted" WordPress asennusta varten. Tämä Zero Trust -työkalu taipuu moneen ja moni SaaS -palvelu on esimerkiksi integroitavissa tähän työkaluun. Voisitte siis halutessanne suojata teidän yrityksen Slack Workspacen samalla autentikaatiolla. Myös kokonaisia verkkoja saa suojattua samalla menettelyllä, mutta se vaatii jo laajemmin teknistä osaamista.

3. Suojaaminen ja oikeuksien määritys

Aloitamme WordPress /wp-admin/ -sivun suojaamisen. Estämme kirjautumissivulle pääsyn, mikäli käyttäjä ei onnistu tunnistautumaan aikaisemmin määritetyillä tavoilla.

  1. Täytä "Application Name" -kohtaan sivuston nimi. Esimerkiksi "omadomain.fi WordPress admin".
  2. "Application Domain" -kohdan "path" -kenttään syötä "wp-admin". Mikäli käytät jotain subdomainia niin täytä se myös oikein.
  3. "Session duration" -kohtaan sinun tulee määritellä, kuinka pitkän ajan käyttäjän tunnistautuminen on voimassa.
  4. "Policies" -kohdassa kirjoita ensimmäisen säännön nimeksi esimerkiksi "Salli IT-adminien pääsy" ja valitse "Decision" -kohdasta "Allow".
  5. "Include" -kohdasta valitse "Email" tai jos haluat sallia koko organisaation, niin "Emails Ending in" ja kirjoita sen henkilön sähköpostiosoite kenelle haluat antaa pääsyn.
  6. Haluamme myös toisen säännön, joka estää muiden pääsyn sivulle. Paina "Add new policy" -painiketta.
  7. Nimeä sääntö "Estä pääsy" ja valitse "Decission" -kohdasta "Deny".
  8. Kohdassa: "Include", valitse "Everyone". Lopuksi paina "Save" -painiketta.

Testaa Cloudflare accessin toimivuus

Kun olet saanut säännöt tallennettua, voit mennä kokeilemaan WordPress hallintapaneeliin pääsyä. Kun yrität /wp-admin/ -sivulle, niin selaimesi ohjautuu Cloudflare access tunnistautumissivulle. Tunnistaudu ja pääset jatkamaan normaalisti WordPress kirjautumiseen.

Cloudflare Access on todella tehokas tapa suojata yrityksen kriittiset sivut ilman, että teidän tarvitsee rakentaa monimutkaista VPN-verkkoa. Saman ohjeen kanssa voit suojata myös muita sivustoja. Korvaat vain osoitteen sen sivun osoitteella, jonka haluat suojata.