Siirry pääsisältöön

Pääsyn rajoittaminen

Erilaisia tapoja rajoittaa pääsy sivustolle

Päivitetty tällä viikolla

Pääsyn rajoittaminen WordPressin sisäänrakennetuilla ominaisuuksilla

WordPress tarjoaa lukuisia käyttäjien hallintaan ja pääsynvalvontaan liittyviä ominaisuuksia. Suosittelemme lämpimästi, että käytät niitä ensisijaisena pääsynhallinnan keinona. Voit esimerkiksi suojata yksittäiset sivut ja viestit helposti salasanalla asettamalla viestien näkyvyyden WP-hallinnassa asetukseksi ”Salasanasuojattu”. Voit myös aktivoida huoltotilan ja sallia vain valituille käyttäjille pääsyn koko sivustolle.

Monimutkaisemmissa tilanteissa voit asentaa BuddyPressin tai käyttää joitakin ryhmälaajennuksia.

Nginx-pohjaisten pääsynvalvontamenetelmien kanssa leikkiminen tulisi olla viimeinen keino. WordPressin ominaisuuksien ja PHP-koodin käyttö on aina joustavampi, käyttäjä- ja kehittäjäystävällisempi vaihtoehto sekä suositeltavin tapa hallita todennusta ja valvoa pääsyä.

Pääsyn rajoittaminen HTTP-perusautentikoinnilla

Huom: Tämä koskee vain staattisia HTML-sivuja. Jos haluat rajoittaa pääsyä tiettyihin WordPress-sivuille tai -osioihin, käytä WordPress-laajennusta tai PHP-koodia sen toteuttamiseen.

HTTP-autentikoinnin otsikkopohjainen järjestelmä on melko vanhanaikainen salaustekniikan kannalta. Käyttäjätunnusten ja salasanojen luetteloa on ylläpidettävä manuaalisesti htpasswd-komentoriviohjelman avulla. Luo ensin tiedosto -c -vaihtoehdolla ja lisää sitten käyttäjiä tarpeen mukaan:

htpasswd -bc /data/wordpress/nginx/htpasswd-file-example username1 adminpassword 
htpasswd -b /data/wordpress/nginx/htpasswd-file-example username2 userpassword

Kun olet luonut htpasswd-tiedoston, voit aktivoida sen tietylle polulle esimerkiksi luomalla tiedoston /data/wordpress/nginx/htauth.conf seuraavasti:

location ^~ /restricted-section/ { 
auth_basic "Arbitrary realm name";
auth_basic_user_file /data/wordpress/nginx/htpasswd-file-example;
}

Muista suorittaa komento wp-restart-nginx, jotta uusi Nginx-määritystiedosto tulee voimaan.

Varoitus: Älä aktivoi HTTP-autentikointia koko sivustolle. Muuten wp-test -testi muuttuu käyttökelvottomaksi, sivustosi automaattinen valvonta lakkaa toimimasta ja Seravon järjestelmänvalvojat eivät voi enää päästä sivustollesi tarkistamaan ja ylläpitämään sitä.

IP-osoitteen avulla tapahtuva pääsyn rajoittaminen

Jos sivustollasi on osa, jonka pitäisi olla näkyvissä vain esimerkiksi tietyn aliverkon kävijöille, tyypillisesti jonkinlainen intranet- tai ekstranet-sivu, voit käyttää IP-osoitteeseen perustuvia pääsyn rajoituksia. Huomaa kuitenkin, että tämän toteuttaminen on todella vaikeaa. Toisin kuin verkkotunnukset, IP-osoitteet vaihtuvat jatkuvasti, ja sinun on pidettävä IP-osoiteluettelot manuaalisesti ajan tasalla. IP-osoitteita ei tulisi käyttää erittäin arkaluontoisen sisällön yhteydessä, koska yleisiä IP-pääsyoikeussääntöjä käytettäessä ei muodostu minkäänlaista käyttäjäkohtaista kirjausketjua.

On hyvä tarjota käyttäjille myös salasanalla todennettu pääsytapa, jotta käyttäjät voivat kirjautua myös muualta esimerkiksi mobiililaitteilla. Sivustolla ei tulisi koskaan olla vaikeita IP-rajoituksia, joita on mahdoton kiertää.

location ^~ /restricted-section/ { 
allow 1.2.3.4;
allow 5.6.7.8;
deny all;
}

Varoitus: Älä aktivoi myöskään IP-osoitteeseen perustuvia rajoituksia koko sivustolle. Muuten wp-test -testi muuttuu käyttökelvottomaksi, sivustosi automaattinen valvonta lakkaa toimimasta ja Seravon järjestelmänvalvojat eivät voi enää päästä sivustollesi tarkistamaan ja ylläpitämään sitä.

Käytä kaksivaiheista autentikointia äläkä tuhlaa aikaasi IP-pohjaisten rajoitusten käyttöönottoon

Monet haluavat IP-pohjaisia rajoituksia, koska he pelkäävät käyttäjien käyttävän heikkolaatuisia salasanoja tai haluavat muista syistä lisätä esteitä luvattomalle pääsylle. IP-pohjaisten rajoitusten sijaan kannattaa tutkia WordPress-laajennuksia, jotka toteuttavat kaksivaiheisen autentikoinnin (2FA). Ensisijainen laajennus, jota kannattaa tutkia, on Two Factor, joka on WordPress Core -projektin ominaisuus. Se tulee todennäköisesti olemaan osa WordPressiä itseään tulevaisuudessa.

WordPress-hallintapaneelin (wp-admin) käyttöoikeuden rajoittaminen

Joskus WordPress-verkkosivustojen kehittäjät haluavat sallia käyttäjien kirjautua sivustolle, mutta estää heitä näkemästä WordPress-hallinta-aluetta (/wp-admin) tai hallintapalkkia. Tämä on ominaisuus, jota WordPress ei ole virallisesti suunnitellut, mutta haluttu käyttökokemus voidaan saavuttaa sopivilla käyttäjärooleilla ja joillakin CSS-säännöillä, joilla hallinta-alue piilotetaan.

Olemassa olevien rajoitusten välttäminen

Turvallisuussyistä Seravo käyttää joukkoa rajoituksia, jotka on suunniteltu siten, että ne eivät koskaan häiritse minkään WordPress-sivuston oikeutettua käyttöä. Joissakin harvinaisissa tapauksissa tietyt virheellisesti toimivat WordPress-laajennukset voivat kuitenkin saavuttaa Seravon turvallisuusrajat, jos kaikki alla luetellut ehdot täyttyvät samanaikaisesti:

  • tulee yli 200 HTTP-pyyntöä minuutissa

  • kohdentuen WordPress/PHP-skripteihin

  • samasta IP-osoitteesta.

Jos tämä raja saavutetaan, tuloksena on HTTP-vastaus koodilla 429 selaimelle/botille ja varoitukset PHP-tulvarajoituksista lokissa /data/log/nginx-error.log. Jos saavutat nämä rajat jostain syystä, tutki HTTP-käyttöliikennelokeista, mitä pyynnöt ovat ja miksi laajennus tai muu koodi pommittaa sivustoa niin monilla pyynnöillä.

Laillisella käyttäjällä tai WordPress-laajennuksella ei pitäisi koskaan olla todellista tarvetta ylittää tätä rajaa. Huomaa, että tämä rajoitus ei koske staattisia resursseja (JS, CSS, kuvat) eikä välimuistissa olevia PHP-vastauksia.

Vastasiko tämä kysymykseesi?