WordPress darbina vairāk nekā 43% no visām pasaules mājaslapām, padarot to par iecienītāko mērķi hakeru automatizētajiem robotiem. Tipiskā administratoru reakcija ir uzstādīt divus vai trīs smagnējus 'drošības spraudņus', kas nemitīgi skenē failus, pārslogo datubāzi un palēnina lapas ielādi par vairākām sekundēm. Labākā un profesionālākā pieeja ir aizsargāt sistēmu pašos pamatos - servera konfigurācijā un koda līmenī.
🎯 Īsumā par svarīgāko
- Spraudņu paradokss: Lielie 'viss vienā' drošības spraudņi patērē ievērojamus servera resursus un paši mēdz saturēt ievainojamības; 80% aizsardzības var panākt servera līmenī.
- Failu un mapju atļauju drošība: Servera failiem jābūt 644, mapēm 755, bet wp-config.php failam 600 vai 640 režīmā, lai neviens ārējs process nevarētu tajos ierakstīt ļaunprātīgu kodu.
- XML-RPC atslēgšana: Vairāk nekā 90% brutālā spēka (Brute Force) uzbrukumu WordPress vietnēm notiek caur novecojušo xmlrpc.php failu, ko iespējams nobloķēt ar vienu rindiņu Nginx konfigurācijā.
- Divfaktoru autentifikācija (2FA): 2FA ieviešana administratoru kontiem praktiski pilnībā novērš ielaušanās risku caur nozagtiem vai uzminētiem lietotājvārdiem un parolēm.
Kāpēc smagie spraudņi kaitē un kāpēc mājaslapas ātruma optimizācija prasa tīru kodu
Spraudņi kā Wordfence vai iThemes Security piedāvā ērtu grafisko saskarni, taču tie darbojas WordPress lietojumprogrammas līmenī. Tas nozīmē, ka brīdī, kad robots veic simtiem uzbrukumu minūtē, WordPress un PHP tiek darbināti atkal un atkal, lai šos uzbrukumus atvairītu. Rezultātā servera procesors tiek noslogots līdz 100%, un parastie vietnes apmeklētāji saņem '504 Gateway Timeout' kļūdu.
Pareizais risinājums ir bloķēt uzbrucējus pirms pieprasījums vispār sasniedz PHP un WordPress - tīmekļa servera (Nginx vai Apache) un ugunsmūra līmenī.

Drošības pamats: uzticama mājaslapu uzturēšana un serveru drošība
Ieviešot šos piecus soļus, jūsu vietne kļūst droša pret 99% standarta uzbrukumu:
1. Bloķējiet piekļuvi xmlrpc.php failam: XML-RPC protokols tika radīts pirms desmit gadiem ārējām lietotnēm, taču šodien tas pamatā kalpo tikai Brute Force un DDoS uzbrukumiem. Nginx konfigurācijas blokā ievietojiet:
location = /xmlrpc.php { deny all; access_log off; log_not_found off; }
2. Aizsargājiet wp-config.php un slēptos failus: Failā wp-config.php glabājas jūsu datubāzes paroles un drošības atslēgas. Pārliecinieties, ka šim failam nav iespējams piekļūt caur pārlūku un tā failu atļaujas ir iestatītas uz 600 vai 640.
3. Atslēdziet PHP izpildi mapē /wp-content/uploads/: Augšupielāžu mape ir paredzēta tikai attēliem, PDF un citiem multivides failiem. Hakeri bieži mēģina tur ievietot kaitīgus .php skriptus. Nobloķējiet PHP izpildi šajā mapē ar servera likumu, liedzot izpildīt jebkuru kodu.
4. Paslēpiet WordPress versiju: Pēc noklusējuma WordPress lapas kodā ievieto meta tagu ar precīzu versijas numuru, kas ļauj hakeru skeneriem uzreiz uzzināt, kuras ievainojamības jūsu versijai ir aktuālas. Noņemiet šo tagu tēmas functions.php failā.
5. Ierobežojiet wp-login.php mēģinājumu skaitu ar Fail2ban: Servera līmeņa rīks Fail2ban automātiski nobloķē uzbrucēja IP adresi ugunsmūrī uz 24 stundām pēc pieciem neveiksmīgiem paroles ievades mēģinājumiem.
Failu sistēmas atļauju pārbaudes matrica
Pārliecinieties, ka serverī failu un mapju tiesības atbilst stingrākajiem drošības standartiem:
| Fails vai direktorija | Ieteicamās atļaujas | Īpašnieks | Drošības nozīme |
|---|---|---|---|
| Visas parastās mapes (/wp-content/) | 755 (drwxr-xr-x) | www-data:www-data | Tikai tīmekļa serveris var rakstīt, citi tikai lasīt |
| Visi parastie faili (.php, .css) | 644 (-rw-r--r--) | www-data:www-data | Faili nav izpildāmi kā programmas |
| wp-config.php | 600 vai 640 | www-data:www-data | Pilnīga datubāzes paroļu izolācija no citiem lietotājiem |
| .htaccess vai nginx.conf | 644 vai 444 | root:root | Aizsardzība pret servera konfigurācijas pārrakstīšanu |
Divfaktoru autentifikācija (2FA) un drošība (ko papildina mūsu ceļvedis par to, kā spraudņu pārpilnība un smagnējs dizains nogalina ātrumu)
Pat visspēcīgākā servera aizsardzība nepalīdzēs, ja administratora parole būs 'Admin2023!'. Obligāti ieviesiet divfaktoru autentifikāciju (2FA), izmantojot uzticamu un vieglu autentifikācijas lietotni (piemēram, Google Authenticator vai Bitwarden). Šādā veidā pat tad, ja administratora dators tiek kompromitēts, uzbrucējs nevar ielogoties bez laika koda no tālruņa.
Biežāk uzdotie jautājumi
Vai WordPress atjauninājumi ir svarīgi un kā to risina profesionāla WordPress mājaslapu izstrāde?
Jā, vairāk nekā 85% veiksmīgu uzbrukumu notiek novecojušu spraudņu vai tēmu dēļ, kurām jau sen ir pieejami drošības ielāpi. Ieslēdziet automātiskos drošības atjauninājumus.
Vai vajadzētu nomainīt wp-login.php adresi uz kaut ko citu?
Adreses maiņa (Security through Obscurity) palīdz samazināt prasto robotu radīto slodzi, taču tā neaizstāj īstu servera līmeņa aizsardzību un 2FA.
Cik bieži jāveido datubāzes rezerves kopijas?
Aktīvām vietnēm un e-veikaliem datubāzes rezerves kopijām jāveidojas automātiski vismaz reizi diennaktī, glabājot kopijas neatkarīgā ārējā mākoņkrātuvē.
Secinājumi un nākamie soļi
Drošība nav atsevišķs spraudnis, ko ieslēgt un aizmirst; tā ir sistēmiska disciplīna. Ieviešot Nginx aizsardzības likumus, sakārtojot failu piekļuves tiesības un atslēdzot nevajadzīgos protokolus, jūs padarāt savu mājaslapu necaursitami drošu un vienlaikus saglabājat maksimālu ielādes ātrumu.