Vordpres je trenutno jedna od najzastupljenijih platformi za blogove i sajtove kako personalne tako i komercijalne, te je samim tim i veoma zanimljiv hakerima koji bi da svoje znanje iskale na vašem sajtu, te ću sa vama podeliti par trikova za povećanje bezbednosti istih.

Napominjem da nisam ultimativni vebmaster bog univezuma zaštite i odbrane i da sam i sam bio meta hakerskog napada i difejsovanju, doduše krivicom nezaštićenog servera kod hosting provajdera ali ajd sad da ne sitničarimo.

…isto napominjem da idealna zaštita ne postoji te da se uvek otvaraju rupe za upade ne samo na personalnim sajtovima već i na sajtovima velikih kompanija poput Sonija, Tvitera i sličnih.

Read-only privilegije gde god je to moguće

Svi fajlovi i folderi sem onih koji se konstatno menjaju staviti na READ-ONLY mod, odnosno na takozvani chmod 444 sem onih koji sadrze poverljive informacije poput wp_config.php. Tom fajlu vidljivost smanjiti na 400, odnosno da bude vidljiv samo vama kao korisniku (bačite pogled, možda vam posle ove permisije neće raditi sajt, a ako se to desiti dati mu privilegiju 440). Takođe privilegije na 400 treba spustiti i fajlovima readme.html, licence.txt, xmlrpc.php i wp_admin/install.php

Po difoltu je postavljeno da se u svi fajlovi mogu menjati od strane korisnika, te ako je taj korisnik uhakovan neko će lako da modifikuje sam fajl. Ovo sa sobom nosi jedan problemčić, a to je taj da ćete ovo morati raditi svaki put kada radite ažuriranje Vordpresa, koji ćete morati da radite ručno, odnosno, moraćete sami sebi dati privilegije da možete da menjate fajlove, pa onda da brišete foldere wp-admin i wp-include kao i fajlove koji se nalaze na root-u.

Vordpres fajl editor

Onemogućiti fajl editor unutar Vordpresa te time zabraniti onome ko se ulogovao da može da menja ista od wp ili plagin fajlova direktno kroz panel. U principu, ovo je već onemogućeno ako ste odradili ovo pod stavkom 1, ali neka ga, ne jede leba.
Ovo se radi tako što ćete u vaš wp-config fajl dodati dve linije:

define( 'DISALLOW_FILE_EDIT', true );
define( 'DISALLOW_FILE_MODS', true );

Skrivanje lokacije za logovanje

Pod tim mislim da standardni www.mojsajt.com/wp-admin zamenite sa www.mojsajt.com/milance_radosavljevic_je_car. Džaba nekome ko bi nasumičnim gađanjem lozinke (takozvanom brute_force metodom) provalio u nas nalog, ako ne zna ni gde treba da ide da se uloguje.
Ovo je u principu najlakše odraditi Vordpres pluginom koji se zove „Rename wp-login.php“ ili sa nekim od dole navedenih plaginova.

Još jedna od stvari koju morate znati jeste da vam se neko može ušunjati brute-force tehnikom i putem xmlrpc.php fajla. Zaštitite taj fajl u .htaccess fajlu.
recimo kod za totalnu zabranu pristupa tom fajlu bi bio:

<FilesMatch "^(xmlrpc\.php)">
Order Deny,Allow
Deny from all
</FilesMatch>

Skrivanje arhive autora i njegovog korisničkog imena

Zašto? Pa eto tako, ako odete na url vašeg bloga www.mojsajt.com/?author=1 u samom urlu sajta će se videti vaše korisnićko ime. Time ste otkrili polovinu vaših podataka.
Recimo, primera radi, namom omiljenom sajtu njuz.net ovom metodom mogu da ustanovim da postoji korisnik admin, jer www.njuz.net/?author=1 vodi na http://www.njuz.net/author/admin/

Istina jeste da se vaše korisničko ime može naći u komentarima, ali eto, makar je malo otežano robotima da vas uhvate nespremne. Ovo skrivanje ćete odraditi prostim dodavanjem reda u vaš root .htaccess fajl (unutar rewrite moda):

RewriteRule ^author/(.*)$ http://www.nazivsajta.com/ [R,L]

Zabrana šetanja po folderima

Pa ne mora svako da vidi koje sve plaginove imate instalirane. Ovo radite tako što u .htaccess fajl ubacite i red:

# directory browsing
Options All -Indexes

Security dodaci

Ukratko, postoje trenutno 4 plugina koja su keva kad je u pitanju bezbednost Vordpres sajta, ali morate obratiti pažnju jer i oni su sami po sebi meta, te treba s vremena na vreme otići na neki od sajtova poput exploit-db.com ili 1337day.com i proveriti da li je neki od ovih (ili bilo kojih drugih plaginova) postao nebezbedan, te ako jeste preći na sledeci dok se ovaj „ne opravi“ 🙂

Takođe, pre instalacije ovih plaginova bi bilo dobro napraviti pun bekap baze i fajlova, jer se može desiti da vam isti nešto prejebu na sajtu, te ukoliko ste dibidus početnik biće vam teško vratiti se na početno stanje. Većini ovih plaginova se sve svodi na izmenu .htaccess fajlova te i modifikacije samih WP fajlova.

Dakle pluginovi koje preporučujem su:
Wordfence Security
Better WP Security
BulletProofSecurity
All In One WP Security & Firewall

Većina od ovih plaginova nudi i zaštitu od brute-force napada, tako da ovo neću navoditi kao dodatnu zaštitu.

Zaštita .htaccess-om foldera wp-admin, wp-includes, wp-content i wp-uploads

Suviše je ovo detaljna tematika tako da neću o njoj pisati sad, pronađite privremeno na Guglu 🙂
Sem .htaccess fajla svaki od ovih foldera treba da ima i jedan prazan index.php fajl sa read-only permisijama (chmod 400)

Limitiranje privilegija DB korisnika na MySQL bazi

Ukratko, DB korisnik kojim se kačite na bazu ne treba da ima pune (full) privilegije, kao što ih svaki korisnik i ima po difoltu. Dovoljno je SELECT, INSERT, UPDATE, DELETE, ALTER, CREATE i ćao. Ovo možete podesiti kad se ulogujete kroz cPanel na vaš phpMyAdmin.

Sve što ne koristite od tema i plaginova – DELETE

To što ste ih isključili ne znači da je dovoljno. Dovoljno je samo ako ih obrišete

Standardna smaranja o kojima vas ja neću smarati, ali ih se morate pridržavati:

  • Ultra-zajebana lozinka za cPanel, WP login, DB korisnika, FTP korisnike sa minimum 3 velika, 3 mala slova, 3 broja, 3 specijalna karaktera.
  • Redovan bekap fajlova i baze na lokalni računar ili neki klaud servis poput Dropbox-a
  • Skrivanje verzije Vordpresa
  • Pravilan odabir hosting provajdera, po mogućstvu uzeti hosting na nekom od najvecih provajdera poput recimo GoDaddy-ja
  • Redovno ažuriranje svih instaliranih plaginova, tema i samog Vordpresa na poslednju izdatu verziju.
  • Odjebaus prefiksu wp_ kad su tabele u bazi u pitanju
  • Logovati se samo sa proverenih i zaštićenih mreža
  • Praćenje 404 grešaka, kako bi videli legitimne ali i sumnjive pokušaje pristupa sajtu
  • Zaštita vama bitnih foldera lozinkom (može i preko Password Protect Directories unutar vašeg cPanela)
  • CAPTCHA za login i komentare da vas spameri ne bi ubili u mozak