Wordpress varnost

Na začetku aprila so mi pohackali par strani. Organic mobile promet je bil redirectan na hackerjev CPA offer in izgubljal sem 50% prometa. Prej nisem dal nič na varnost. Če pa koga zanima, to so ugotovitve in uporabni plugini:

  • Sucuri security: Preveri malware in beleži login attempte. Prav na vseh straneh, pa naj imajo 500 ali pa 5 UV na dan, me bruteforcajo dnevno. Verjetno je to razširjeno po celem spletu.

  • Remove author pages: Na najpomembnejši strani sem po čistki opazil, da se poskušajo logirat z mojim pravim unikatnim admin uporabniškim imenom. Spremenil sem ga v Phpmyadmin in ugotovil, da so takoj prešaltali na novonastali admin username. Nekatere WP teme imajo to slabost, da URL domena.com/?author=1 preusmeri na adminove objave in na URL v katerem piše username. Remove author pages plugin reši ta problem, redirect v htaccessu ga pa ne, ker se zlahka ugotovi "vmesna postaja" redirecta preko redirect-checker.org recimo.

  • Limit login attempts: 3je napačni logini = ban IPja za določen čas. Problemu se hackerji izognejo s proxiji, ampak ponavadi jih nimajo dovolj. Vsaj tisti ne, ki se jim je vredno ukvarjat s stranmi, ki ne nesejo nekega ogromnega denarja.

Še boljša opcija se mi zdi nekako premakniti/preimenovati wp-admin in wp-login strani in zadeva je rešena.

26 odgovorov

a ni še najbolj varno, če dostop v admin omeniš na tvoje ip-je ?

1

iThemes Security ima večino teh možnosti in lep vmesnik, s katerim lahko te ukrepe naklikaš.

Seveda pa ni alternative za:
1. redno posodabljanje jedra, tem in vtičnikov ter
2. ne-uporabljanje premium vtičnikov in tem, ki so na voljo na P2P omrežjih, ker so večinoma vsi okuženi.

1

Jaz uporabljam Wordfence Security , kjer nastavim blokado in obveščanje po nekaj neuspelih poskusih logiranja in obveščanje ob uspešnih logiranjih (logiram se samo jaz). Ko sem spremljal delovanje, so se večinoma poskušali logirati z uporabniškimi imeni admin in administrator (teh uporabniških imen seveda ne uporabljam) in dele domen. Plugin tudi enkrat tedensko primerja datoteke na strežniku z datotekami v repositoriju in mi teži, če pozabim kaj updejtat. :-)

Ker sem se naveličal obvestil o blokadah, sem dodal še WP Login reCAPTCHA in od takrat ni bilo neuspelih logiranj.

Zaenkrat nisem opazil anomalij, je pa res, da skrbim za nekaj strani, ki so dokaj nezanimive za hekerje, tako da poskušajo vdreti le z avtomatiziranimi skriptami.

3

Na vseh wp instalcijah imam IP omejitev (samo svoj IP) in ni nobenih težav. Tudi z admin uporabniškim imenom ne ...

Točno to kar pravi Balonar. V .htaccessu imam to:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$
RewriteRule ^(.*)$ - [L,R=404]
ErrorDocument 404 default
</IfModule>

Na ta način je wp-login.php in wp-admin dosegljiv samo določenemu IP naslovu, v tem primeru 111.222.333.444. Vsem ostalim wp-login in wp-admin vrača 404.

1

1qay1qay:
a ni še najbolj varno, če dostop v admin omeniš na tvoje ip-je ?

Kako pa lahko uredim to v primeru, da uporabljam dinamični IP? Potem bi verjetno potreboval nek range ip-jev. Je to potem še sploh koliko-toliko varno?

Sicer berem in iščem napotke glede varovanja WP strani in sem naletel na tole. Avtor sicer večkrat omenja iThemes Security plugin in druge, potem pa berem dalje, da so tudi plugini lahko šibka točka.
Če pogledam realno, je teh varnostnih nastavitev za eno morje. Kateri ukrepi so po vašem mnenju "zadostni"?

Za preprečitev 99% vdorov je dovolj:

  • Spremeniš ime wp-admin direktorija na nekaj drugega
  • Omejiš dostop admin URLja samo iz slovenskih IPjev
  • Uporabljaš samo preizkušene plugine in izklopiš tiste, ki jih ne potrebuješ

Če imaš dostop do root pravic na strežniku si skonfiguriraj še (velja za vse aplikacije na strežniku, ne samo za Wordpress):

  • modsecurity za Apache ali naxsi za Nginx
  • Linux Malware Detector
  • v php.ini izklopi določene funkcije: disablefunctions = pcntlalarm,pcntlfork,pcntlwaitpid,pcntlwait,pcntlwifexited,pcntlwifstopped,pcntlwifsignaled, pcntlwexitstatus,pcntlwtermsig,pcntlwstopsig,pcntlsignal,pcntlsignaldispatch,pcntlgetlasterror, pcntlstrerror,pcntlsigprocmask,pcntlsigwaitinfo,pcntlsigtimedwait,pcntlexec,pcntlgetpriority, pcntlsetpriority,system,exec,**shellexec,passthru,procclose,procgetstatus,procnice,procopen, procterminate,popen,pclose,eval**
  • uporabljaj basedir
2

Živjo mqss!

Hvala za nasvete glede Remove author pages. Ravno to sem iskal. :-)

Super plugin, ki ga priporočam za varnost je All In One WP Security & Firewall.

LP

Tudi jaz opažam, da se poskušajo logirat v admin. Kako bi lahko login omejil na slovenske IP?

Kljub spodnji kodi mi še vedno priletijo tuji logini. Obstaja še kakšen login url, ki ga s tem nisem pokril?

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin(.*)$
RewriteCond %{REMOTE_ADDR} !^193(.+)$
RewriteCond %{REMOTE_ADDR} !^92(.+)$
RewriteRule ^(.*)$ - [L,R=404]
ErrorDocument 404 default
</IfModule>