WordPressin lisäsuojaus: oikeudet, wp-config ja .htaccess
Päivitykset, vahva salasana ja kaksivaiheinen tunnistautuminen ovat turvallisen WordPress-sivuston perusta. Koventaminen (hardening) tulee niiden lisäksi: määrität sivuston niin, että tietoturva-aukko tai kaapattu tili pystyy aiheuttamaan vähemmän vahinkoa. Tästä näet, mitkä asetukset ovat kyseessä ja miten otat ne käyttöön webhotellissasi.
Mitä palvelimella on jo tehty
Osa asioista on jo hoidettu palvelimillamme. xmlrpc.php on oletuksena suljettu (WordPress: xmlrpc.php ei ole käytettävissä), vaaralliset PHP-funktiot on poistettu käytöstä (PHP-tietoturva: käytöstä poistetut funktiot), ja käytössä ovat verkkoliikenteen palomuuri sekä haittaohjelmaskanneri. Katso Web Application Firewall ja Imunify360: verkkosivuston skannaus haittaohjelmien varalta. Alla olevat vaiheet teet itse omalla sivustollasi.
Kaikkia tiedostoja muokataan DirectAdminissa Tiedostonhallinnalla (File Manager). Pisteellä alkavat tiedostot, kuten .htaccess, näkyvät vasta, kun näytät piilotetut tiedostot: katso Piilotettujen tiedostojen, kuten .htaccess, näyttäminen ja muokkaaminen. Tee jokaisesta tiedostosta ensin kopio ja tallenna se public_html-kansion ulkopuolelle.
1. Ei koodin muokkausta hallintapaneelista
Avaa wp-config.php kansiossa domains/example.com/public_html ja lisää tämä rivi ennen riviä, jossa lukee "lopeta muokkaus" (That's all, stop editing!):
define( 'DISALLOW_FILE_EDIT', true );
Teema- ja lisäosatiedostojen editorit katoavat silloin hallintapaneelista. Ylläpitäjän tilin kaapannut ei näin voi muutamalla klikkauksella lisätä haitallista koodia teemaasi. Lisäosien asentaminen ja päivittäminen toimivat edelleen normaalisti. Aseta samassa tiedostossa WP_DEBUG arvoon false, jotta virheilmoitukset eivät koskaan näy kävijöiden näytöllä.
2. Ei PHP:tä uploads-kansiossa
Kansioon wp-content/uploads kuuluvat kuvat ja dokumentit, ei PHP. Murtautuja, joka pystyy tietoturva-aukon kautta lataamaan tiedoston, yrittää juuri sinne tallentaa PHP-tiedoston ja avata sen. Luo kansioon wp-content/uploads tiedosto .htaccess, jonka sisältö on:
<Files *.php> Require all denied </Files>
Tarkista sen jälkeen, että sivustosi, lomakkeesi ja mediakirjastosi toimivat edelleen.
3. Ei kansiolistausta
Jos kansiossa ei ole tiedostoa index.php tai index.html, verkkopalvelin voi näyttää listan kaikista sen tiedostoista. Lisää public_html-kansion .htaccess-tiedoston alkuun:
Options -Indexes
Voit testata asian avaamalla kansion, jossa ei ole indeksitiedostoa, esimerkiksi https://example.com/wp-content/uploads/. Sinun pitäisi nähdä virhesivu (403 tai 404), ei listaa.
4. Tiedostojen ja kansioiden oikeudet
| Mikä | Oikeudet |
|---|---|
| Kansiot | 755 |
| Tiedostot | 644 |
wp-config.php | Tiukemmat: 600 tai 640. Kokeile arvoa 600 ja tarkista, että sivustosi toimii edelleen. |
Älä koskaan käytä arvoa 777: silloin kuka tahansa palvelimella saa kirjoittaa kyseiseen kansioon. Jos ohjeessa sanotaan, että sitä tarvitaan latausten toimimiseen, syy on jossain muualla. Oikeuksien muuttaminen: katso Tiedostojen ja kansioiden oikeudet (chmod).
5. Ei ylimääräisiä tiedostoja verkkokansiossa
Kaikki public_html-kansiossa oleva on avattavissa verkon kautta. Siivoa siksi pois:
- tiedoston
wp-config.phpkopiot, kutenwp-config.php.baktaiwp-config.old. Niissä on tietokantasi salasana, ja ne lähetetään tavallisena tekstinä; - varmuuskopiot, kuten
backup.ziptaidatabase.sql; - kehittäjän jättämä
.git-kansio; wp-content/debug.log;- testitiedostot, kuten
info.php, jossa onphpinfo().
Jos haluat estää pääsyn yksittäiseen tiedostoon, katso Tiedostojen estäminen .htaccess-tiedostolla.
6. Otsakkeet ja kirjautuminen
- Tietoturvaotsakkeet kertovat selaimelle, miten sen tulee käsitellä sivustoasi. Katso HSTS ja tietoturvaotsakkeet verkkosivustollesi.
- Kirjautumissivun voit rajata omaan IP-osoitteeseesi ohjeella WordPressin wp-login.php-sivun suojaaminen.
- Kaksivaiheinen tunnistautuminen ylläpitäjille: katso Kaksivaiheisen tunnistautumisen käyttöönotto WordPressissä.
WordPress-version piilottaminen on siivoamista, ei tietoturvaa: hyökkäysohjelmat yksinkertaisesti kokeilevat tietoturva-aukkoa. Vain päivittäminen korjaa aukon.
Entä tietoturvalisäosa?
Tietoturvalisäosa yhdistää usein palomuurin, skannerin ja kirjautumissuojauksen. Lisäosan palomuuri toimii vasta, kun WordPress on jo käynnissä; palvelimen palomuuri pysäyttää pyynnöt aikaisemmin. Lisäosa on siis täydennys, erityisesti kaksivaiheista tunnistautumista ja kirjautumisyritysten rajoittamista varten. Käytä niitä korkeintaan yhtä: kaksi rinnakkaista tietoturvalisäosaa menevät usein ristiin.
.htaccess tai wp-config.php kaataa koko sivuston. Katso Virhe 500 tai "kriittinen virhe" verkkosivustollasi (myös WordPress-päivityksen jälkeen).Lue lisää
- Hardening WordPress (developer.wordpress.org, englanniksi)
Haluatko oppia lisää? Osallistu ilmaiselle WordPress-kurssille, oppitunti 7.4 Sivuston koventaminen: oikeudet, otsakkeet ja tietoturvalisäosat.
