WordPressin tietoturva ei ole pelkästään lisäosien varassa. Yksi tehokkaimmista – ja usein alihyödynnetyistä – keinoista suojata sivusto on palvelintason konfiguraatio. .htaccess (Apache) ja nginx-konfiguraatiot mahdollistavat suoran kontrollin siihen, mitä pyyntöjä sallitaan, mitä estetään ja miten liikennettä käsitellään.
WordPress toimii PHP:n päällä, mutta kaikki HTTP-pyynnöt kulkevat ensin web-palvelimen kautta....
.htaccess on Apache-palvelimen konfiguraatiotiedosto, jolla voidaan:...
WordPress sisältää tiedostoja, joihin ei pitäisi olla julkista pääsyä....
Ilman suojausta palvelin voi näyttää hakemiston sisällön selaimessa....
Kaikkialla ei pitäisi voida ajaa PHP:tä....
Voit estää haitallisia pyyntöjä:...
wp-login.php on yksi yleisimmistä hyökkäyskohteista....
HTTP-headerit ovat tärkeä osa suojausta....
nginx ei käytä .htaccess-tiedostoja, vaan konfigurointi tehdään suoraan serveritasolla....
Samat periaatteet pätevät:...
Kyse ei ole siitä kumpi on turvallisempi, vaan:...
Tietoturva alkaa ennen WordPressiä. .htaccess ja nginx-konfiguraatiot antavat mahdollisuuden suojata sivusto jo ennen kuin yksikään rivi PHP:tä suoritetaan....
Tietoturva alkaa ennen WordPressiä. .htaccess ja nginx-konfiguraatiot antavat mahdollisuuden suojata sivusto jo ennen kuin yksikään rivi PHP:tä suoritetaan....
Tietoturva alkaa ennen WordPressiä. .htaccess ja nginx-konfiguraatiot antavat mahdollisuuden suojata sivusto jo ennen kuin yksikään rivi PHP:tä suoritetaan....
Kehittäjän näkökulmasta tämä on “ensimmäinen puolustuslinja”: ennen kuin WordPress edes ehtii käsitellä pyyntöä, palvelin voi jo blokata haitallisen liikenteen.
Miksi palvelintason suojaus on tärkeää?
WordPress toimii PHP:n päällä, mutta kaikki HTTP-pyynnöt kulkevat ensin web-palvelimen kautta.
Hyödyt:
- haitalliset pyynnöt voidaan estää ennen PHP:tä
- pienempi kuormitus palvelimelle
- vähemmän hyökkäyspintaa
- parempi suorituskyky
Tämä on sekä tietoturva- että performance-optimoitu ratkaisu.
.htaccess – Apache-ympäristön työkalu
.htaccess on Apache-palvelimen konfiguraatiotiedosto, jolla voidaan:
- ohjata URL-rakennetta
- estää pääsy tiedostoihin
- lisätä tietoturvasääntöjä
- määrittää header-asetuksia
Se toimii hakemistokohtaisesti ja on helppo ottaa käyttöön ilman pääsyä serverin pääkonfiguraatioon.
Herkkien tiedostojen suojaus
WordPress sisältää tiedostoja, joihin ei pitäisi olla julkista pääsyä.
Suojaa esimerkiksi:
- wp-config.php
- .htaccess itse
- debug- ja lokitiedostot
Tämä estää tietovuodot, jotka voivat paljastaa kriittisiä tietoja.
Hakemistojen listauksen estäminen
Ilman suojausta palvelin voi näyttää hakemiston sisällön selaimessa.
Tämä paljastaa:
- tiedostorakenteen
- pluginien nimet
- mahdolliset haavoittuvuudet
Estä listaus aina tuotannossa.
PHP-suorituksen rajoittaminen
Kaikkialla ei pitäisi voida ajaa PHP:tä.
Erityisesti:
- wp-content/uploads
Jos hyökkääjä saa ladattua PHP-tiedoston ja suorittaa sen, seuraukset ovat vakavat.
Ratkaisu:
- estä PHP-suoritus tietyissä kansioissa
Pyyntöjen rajoittaminen ja suojaus
Voit estää haitallisia pyyntöjä:
- epäilyttävät query stringit
- tunnetut hyökkäyskuviot
- väärät HTTP-metodit
Tämä auttaa torjumaan:
- SQL-injektiot
- XSS-hyökkäykset
- brute force -yritykset
Login-sivun suojaus
wp-login.php on yksi yleisimmistä hyökkäyskohteista.
Voit:
- rajoittaa pääsyn IP-osoitteella
- lisätä autentikointikerroksen
- rajoittaa pyyntöjen määrää
Tämä vähentää brute force -hyökkäyksiä merkittävästi.
Security headers
HTTP-headerit ovat tärkeä osa suojausta.
Tärkeitä asetuksia:
- Content-Security-Policy
- X-Frame-Options
- X-Content-Type-Options
- Strict-Transport-Security
Ne suojaavat selaintasolla mm.:
- XSS-hyökkäyksiltä
- clickjackingilta
nginx – tehokkaampi vaihtoehto?
nginx ei käytä .htaccess-tiedostoja, vaan konfigurointi tehdään suoraan serveritasolla.
Hyödyt:
- parempi suorituskyky
- vähemmän overheadia
- tarkempi kontrolli
Kaikki säännöt määritellään keskitetysti, mikä tekee hallinnasta selkeämpää isommissa ympäristöissä.
nginxin tietoturvakäytännöt
Samat periaatteet pätevät:
- estä pääsy herkkiin tiedostoihin
- rajoita PHP-suoritus
- suodata pyyntöjä
- lisää security headerit
Lisäksi nginxissä on helppo:
- rajoittaa request ratea
- estää botteja
- hallita cachea tehokkaasti
Apache vs nginx – kumpi turvallisempi?
Kyse ei ole siitä kumpi on turvallisempi, vaan:
- miten ne konfiguroidaan
nginx:
- tehokkaampi ja kevyempi
- joustavampi ja helpompi säätää
Molemmat voivat olla erittäin turvallisia oikein käytettynä.
Yleisimmät virheet
- ei suojata wp-config.php:ta
- jätetään hakemistot listattaviksi
- sallitaan PHP uploads-kansiossa
- ei käytetä security headereita
- luotetaan pelkkään WordPress-tasoon
Hyvät käytännöt
- estä kaikki, mitä et tarvitse
- minimoi julkinen pääsy tiedostoihin
- käytä HTTPS aina
- yhdistä palvelintason ja sovellustason suojaus
- testaa konfiguraatiot muutosten jälkeen
Yhteenveto
Tietoturva alkaa ennen WordPressiä. .htaccess ja nginx-konfiguraatiot antavat mahdollisuuden suojata sivusto jo ennen kuin yksikään rivi PHP:tä suoritetaan.
Kun kovennus tehdään oikein:
- hyökkäykset pysähtyvät aikaisemmin
- suorituskyky paranee
- riski pienenee merkittävästi
Ajattele näin:
paras hyökkäys on se, joka ei koskaan pääse WordPressiin asti.

