Brute-force napadi na WordPress

5.november.2013 | Igor

WordPress je čudovita brezplačna rešitev za vaš blog ali spletno stran. Domeno osebnega bloga je že zdavnaj prerasel. Danes WordPress poganja nešteto spletnih strani in blogov. Tudi večjih. Je precej lahek za uporabo in uporabniku prijazen. Možnosti razširitve so praktično neskončne, saj za vse kar si lahko zamislite, najverjetneje obstaja že plugin. Tudi za svoj blog oziroma spletno stran sem izbral WordPress. Všeč mi je njegova prilagodljivost, saj ga je precej enostavno prirediti po svoje. Seveda pa imajo vsi odprto kodni sistemi svojo veliko slabost. To je seveda večja ranljivost na najrazličnejše napade.

Kaj je brute force napad? Gre za napad, ki v zelo kratkih intervalih generira zahtevke na vašo spletno stran. Po navadi se ti napadi izvajajo iz veliko različnih IP naslovov, zato jih ne moremo blokirati preprosto z firewallom. Gre za najpreprostejšo metodo za pridobitev dostopa v vašo WordPress administracijo. Bot oziroma skripta z vsako poizvedbo uporabi drugačno geslo ali uporabniško ime, da bi odkrila prave podatke. Poskuša s pogosto uporabljenimi uporabniškimi imeni in gesli. Zato je zelo pomembno, da nimamo uporabniškega imena  zgolj admin in nekega preprostega gesla. Predvsem v zadnjih nekaj tednih so brute force napadi na WordPress instalacije precej pogosti ter povzročajo težave strežnikom, ki postanejo močno obremenjeni kar vodi v nestabilnost delovanja celotnega sistema.

Kadar gre za napad iz enega ali nekaj IP naslovov je zadeva preprosta in naslove preprosto blokiramo z firewallom. Ko pa napad poteka iz veliko IP naslovov imamo problem. Na srečo WordPress nudi kar nekaj pluginov, ki nudjo precej dobro zaščito proti brute force napadom. Seveda pa je prvi korak, da zamenjate uporabniško ime iz admin na neko drugo vrednost in nastavite močno  geslo, ki naj vsebuje vsaj 8 znakov.

Najpreprostejša rešitev je omejitev dostopa do datoteke wp-login.php in mape wp-admin s pomočjo htaccess-a. Htaccess konfigurirate tako, da bo vpis v administracijo omogočen samo iz IP naslovov, ki jih vi dovolite. Seveda je v tem primeru potrebno imeti statičen IP naslov. S spodnjimi rewrite ukazi  omejimo dostop do WordPress administracije samo na določen IP naslov. V tem primeru na naslov 123.321.123.321. Nedovoljenim naslovom vrnemo 403 napako.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^123\.321\.123\.321$
RewriteRule ^(.*)$ – [R=403,L]

 

V kolikor nimate statičnega IP naslova ali pa vam koda ne diši, so na voljo številni odlični plugini.

1. BruteProtect je čudovit plugin, ki ne zahteva veliko časa in konfiguracije ter svoje delo opravi precej dobro. Dobite ga lahko tukaj. Plugin deluje tako, da si konstantno posodablja podatkovno bazo naslovov, ki so napadali WordPress instalacije in so označeni kot nevarni. Baza se nahaja na strežnikih BruteProtecta in vedno ažurna. Ko plugin instalirate bo potrebno še pridobiti API ključ, ki ga lahko zahtevate kar direktno iz plugina. Sam ga uporabljam in deluje dobro. Preprečil mi je že preko 6000 poskusov napada.

2. Better WP Security je malce bolj napreden plugin, ki nudi zelo dobro zaščito vašega WordPressa. Plugin nudi odpravo najranljivejših delov WordPressa. Na primer spremembo Admin uporabnika, blokiranje določenih naslovov, blokiranje določenih brskalnikov, blokiranje naslova glede na število neveljavnih vpisov in še mnogo več. Potrebno je nekoliko več časa za konfiguracijo  a menim, da je vredno.

3. Clef je plugin, ki sem ga odkril šele pred kratkem. Z uporabo tega plugina vam ni več potrebno uporabljati gesel. Torej lahko na vašem WordPressu vpis z gesli izključite. Potrebujete pameten telefon z Androidom ali iOSom. Najprej plugin namestite v vaš WordPress in potem še na vaš telefon. Gesla so zamenjana z močno kriptirano avtentifikacijo z uporabo vašega telefona. Do vaše WordPress nadzorne plošče torej ni možno priti drugače kot s pomočjo vašega telefona in PIN kode, ki ste jo nastavili za dostop do aplikacije na vašem telefonu.

Objavljeno v torek, november 5th, 2013 ob 19:42

3 komentarjev

  1. Mitja pravi:

    Še enostavnejša “varjanta” je, da se preprosto preimenuje mapa “wp-admin” in pa da user “admin” ne obstaja. Pa naj se “hekerji” matrajo :)

  2. Mitja pravi:

    Se mi pa Clef zdi ful dobra ideja :)

  3. Igor pravi:

    @Mitja ja, ampak z vidika uporabnika, ki ni toliko “tehnicno” podkovan je veliko lazja uporaba enega izmed pluginov. :)

Dodaj komentar




  • Kategorije

  • Zadnji komentarji

  • Arhiv

  • Naroči se na e-obveščanje

    Bodi obveščen o mojem novem zapisu takoj, ko je ta objavljen. Potreben je le vpis veljavnega e-naslova.