Dodatna zaščita WordPressa: dovoljenja, wp-config in .htaccess
Posodobitve, močno geslo in dvostopenjsko preverjanje so osnova varnega spletnega mesta WordPress. Utrjevanje (hardening) je nadgradnja tega: spletno mesto nastavite tako, da lahko varnostna luknja ali prevzet račun povzroči čim manj škode. Tukaj preberete, katere nastavitve so to in kako jih uredite na svojem paketu gostovanja.
Kaj je na strežniku že urejeno
Del zaščite je na naših strežnikih že urejen. xmlrpc.php je privzeto zaprt (WordPress: dostop do xmlrpc.php ne deluje), nevarne funkcije PHP so izklopljene (Varnost PHP: onemogočene funkcije), poleg tega delujeta požarni zid za spletni promet in pregledovalnik zlonamerne programske opreme. Oglejte si Požarni zid za spletne aplikacije in Imunify360: pregled Vaše spletne strani za zlonamerno programsko opremo. Spodnje korake izvedete sami, na svojem spletnem mestu.
Vse datoteke urejate v DirectAdminu z orodjem File Manager. Datoteke, ki se začnejo s piko, na primer .htaccess, vidite šele, ko vklopite prikaz skritih datotek: glejte Prikaz in urejanje skritih datotek, kot je .htaccess. Pred urejanjem vsake datoteke najprej naredite kopijo in jo shranite zunaj mape public_html.
1. Brez urejanja kode iz skrbniškega vmesnika
Odprite wp-config.php v mapi domains/example.com/public_html in to vrstico vstavite nad vrstico z besedilom »nehajte urejati« (That's all, stop editing!):
define( 'DISALLOW_FILE_EDIT', true );
Urejevalnika datotek tem in vtičnikov tako izgineta iz skrbniškega vmesnika. Kdor prevzame skrbniški račun, potem ne more z nekaj kliki vstaviti zlonamerne kode v Vašo temo. Nameščanje in posodabljanje vtičnikov deluje še naprej kot običajno. V isti datoteki nastavite WP_DEBUG na false, da se sporočila o napakah nikoli ne prikažejo obiskovalcem.
2. Brez PHP v mapi uploads
V mapo wp-content/uploads sodijo slike in dokumenti, ne PHP. Vsiljivec, ki lahko prek varnostne luknje naloži datoteko, poskuša prav tja postaviti datoteko PHP in jo nato zagnati. V mapi wp-content/uploads ustvarite datoteko .htaccess z vsebino:
<Files *.php> Require all denied </Files>
Nato preverite, ali Vaše spletno mesto, obrazci in knjižnica predstavnosti še delujejo.
3. Brez seznama map
Če v mapi ni datoteke index.php ali index.html, lahko spletni strežnik prikaže seznam vseh datotek. Na vrh datoteke .htaccess v mapi public_html dodajte:
Options -Indexes
To preizkusite tako, da odprete mapo brez indeksne datoteke, na primer https://example.com/wp-content/uploads/. Prikazati bi se morala stran z napako (403 ali 404), ne seznam.
4. Pravice datotek in map
| Kaj | Pravice |
|---|---|
| Mape | 755 |
| Datoteke | 644 |
wp-config.php | Strožje: 600 ali 640. Poskusite 600 in preverite, ali Vaše spletno mesto še deluje. |
Nikoli ne uporabljajte 777: takrat lahko v to mapo piše vsakdo na strežniku. Če navodila trdijo, da je to potrebno za delovanje nalaganja, je vzrok drugje. Spreminjanje pravic: glejte Pravice datotek in map (chmod).
5. Brez ostankov v spletni mapi
Vse v mapi public_html je dostopno prek spleta. Zato pospravite:
- kopije datoteke
wp-config.php, na primerwp-config.php.bakaliwp-config.old. Vsebujejo geslo Vaše podatkovne zbirke in se pošljejo kot navadno besedilo; - varnostne kopije, kot sta
backup.zipalidatabase.sql; - mapo
.git, ki jo je pustil razvijalec; wp-content/debug.log;- testne datoteke, kot je
info.phps funkcijophpinfo().
Če želite onemogočiti dostop do posamezne datoteke, glejte Blokiranje datotek prek .htaccess.
6. Glave in prijava
- Varnostne glave brskalniku povedo, kako naj ravna z Vašim spletnim mestom. Glejte HSTS in varnostne glave za Vašo spletno stran.
- Prijavno stran omejite na svoj naslov IP z navodili Zaščita datoteke wp-login.php v WordPressu.
- Dvostopenjsko preverjanje za skrbnike: glejte Nastavitev dvostopenjskega preverjanja za WordPress.
Skrivanje različice WordPressa je pospravljanje, ne zaščita: napadalni programi varnostno luknjo preprosto preizkusijo. Luknjo zapre samo posodobitev.
Kaj pa varnostni vtičnik?
Varnostni vtičnik pogosto združuje požarni zid, pregledovalnik in zaščito prijave. Požarni zid v vtičniku začne delovati šele, ko WordPress že teče; požarni zid na strežniku zahteve ustavi prej. Vtičnik je torej dopolnilo, predvsem za dvostopenjsko preverjanje in omejevanje poskusov prijave. Uporabljajte največ enega: dva varnostna vtičnika hkrati si pogosto nasprotujeta.
.htaccess ali wp-config.php onesposobi celotno spletno mesto. Glejte Napaka 500 ali »kritična napaka« na Vaši spletni strani (tudi po posodobitvi WordPressa).Več branja
- Hardening WordPress (developer.wordpress.org, v angleščini)
Želite izvedeti več? Sledite brezplačnemu tečaju WordPressa, lekcija 7.4 Utrjevanje spletnega mesta: pravice, glave in varnostni vtičniki.
