Iako niti jedan CMS nije 100% siguran, zadaća svakog web developera je da taj postotak poveća koliko god je moguće. Smatrajte stoga ovu “checklistu” postupkom kojim ćemo smanjiti vjerojatnost upada na WordPress sjedište, no imajte na umu da ona rješava samo tehnološke postupke, tj. ukradeni laptop ili iPhone sa spremljenim šiframa poništava sve ove točke pa držite barem jedno oko otvorenim.
Prije instalacije...
1. Preuzmite najnoviju stabilnu verziju WordPressa sa službene stranice
Staro softveraško pravilo nalaže da se u produkciju ne ide sa verzijama software-a koje završavaju sa “0”, a to vrijedi i za WordPress. Na primjer, nije mudro živu stranicu nadograditi na WP 3.5.0. Bolje je da pričekate tjedan, dva, tri dok community nije upozorio i otklonio propuste koji su nastali pri velikim doradama sustava. Tipični kandidati za produkcijsku instalaciju su npr. 3.4.9 verzije pošto su na njima sve značajke temeljito istestirane i ispravljene. Pročitajte Wiki ukoliko želite saznati više informacija o verzioniranju software-a.
2. Osigurajte web server ili cloud platformu
Šifre koje čuvaju “LAMP stack” moraju biti “randomizirane” riječi (npr. “c7Xke96H18jQ35”) kako bi se spriječili dictionary napadi, a otvorite samo one portove koji su potrebni za nesmetano funkcioniranje web sjedišta. Također, uklonite software koji operativno ne koristite na serveru te izvršavajte regularni update cijelog sustava. Osiguravanje Linux servera je tema preopsežna za ovakav članak pa vas upućujemo na Google ukoliko sami održavate hosting platformu. Sretno vam na tom putu jer do današnjeg dana Google sadržava preko 498.000.000 tematskih odgovora :)
3. Kreirajte sigurnu MySQL bazu podataka
Kod kreiranja baze potrebno je odrediti naziv same baze podataka, korisničko ime te lozinku za pristup. Neka sve tri riječi budu “randomizirani” hashevi, a kreirane šifre čuvajte pomoću odličnog i besplatnog alata -> http://keepass.info/
Inače, ovakav način obrane zove se “Security through obscurity”, a više informacija pronađite u opsežnom Wiki članku-
4. Promijenite tajne WP Salt ključeve
WordPress osigurava svoje lozinke tako da “zasoli” sve što vi unesete kao lozinku. Ti tajni ključevi koje služe za “soljenje” se nalaze unutar wp-config.php datoteke, a nove možete kreirati na službenom WP sjedištu.
5. Uklonite “kod” koji prikazuje verziju WordPressa u temi
Ovaj korak možete napraviti pri izgradnji teme no istu stvar možete napraviti i pomoću dodatnih sigurnosnih alata koje ćemo instalirati nakon core WP instalacije.
Tijekom instalacije...
6. Prefiksacija WP tablica
WordPress prilikom instalacije nudi na izbor tzv. table_prefix. Odaberite neki random skup brojeva i slova npr. “c7Xke96H18jQ35”. Što se time postiže? Osoba koja izvršava napad na WP sada ne zna kako se zovu vaše tablice u bazi (te i to mora pogađati). Samim time smo dodali još jedan sloj obrane :)
7. Ne koristite “Admin” za naziv administratorskog korisnika
Odaberite neko smisleno ime npr. “MisoKovac” ili slično. Kao i u točki 6, haker će sada morati dodatno pogađati kako se zove administrator da bi dobio pristup WordPressu.
8. Koristite jake šifre
Ovo pravilo se odnosi na cijelu checklistu, a glasi:
- lozinka mora sadržavati barem 15 slova i barem 5 brojeva
- slova moraju biti kombinacija malih i VELIKIH
- ne unosite brojevne ili slovne slijedove npr. “12345” ili “abcdef”
- primjer dobre lozinke: “l2Ap7mDp502BkeLap10f5”
Odmah nakon instalacije...
9. Instalirajte sigurnosne alate (pluginove)
- WP security scan - http://wordpress.org/extend/plugins/wp-security-scan/
- WordPress exploit scanner - http://wordpress.org/extend/plugins/exploit-scanner/
- Website defender - http://wordpress.org/extend/plugins/websitedefender-wordpress-security/
- XCloner - http://wordpress.org/extend/plugins/xcloner-backup-and-restore/
Svaki od ovih alata ima svoje postavke koje morate dodatno proučiti te primjeniti. XCloner doduše služi samo za backup cijelog sustava, dok prva tri služe za analizu i popravak postojeće instalacije. Svi pluginovi su ažurirani na dnevnoj bazi te ekstenzivno korišteni od zajednice, a biti će vam velika pomoć pri osiguravanju WP sjedišta. Provjerite i našu internu listu pluginova ukoliko vam treba i neka druga funkcionalnost.
10. Osigurajte WP admin sučelje
WP-Admin sučelje se može osigurati s gore navedenim alatima, a neki od načina su: dozvoljavanje pristupa samo određenim IP adresama, locking-out korisnika koji više od tri puta unesu krivu lozinku i sl.
11. Minimizirajte FTP dopuštenja
Počnite sa “755” za direktorije te za datoteke namjestite dopuštenja na “644”. Povećajte dopuštenja samo ukoliko ne možete nešto ”uploadati” ili uređivati.
12. Promijenite putanju do wp-config.php datoteke
Od WP verzije 2.6, wp-config.php je moguće premjestiti jedan level iznad root mape. Tako svim domain-level napadima onemogućavate pristup do wp-config datoteke tj. dodajete još jedan sigurnosni sloj.
Za vrijeme korištenja stranice...
13. Uklonite nepotrebne teme i pluginove
Pluginovi i teme su jednostavna stražnja ulazna vrata na WP instalaciju stoga svakako uklonite nekorištene pluginove i onemogućene teme. Administriranje i “backupiranje” će biti čišće, brže i jednostavnije pa time dobivate i dodatni razlog da krenete u “purge” akciju.
14. Regularno nadograđujte WP sjedište
Pratite verzije te osvježavajte WP instalaciju. Uglavnom, opće uvriježeno mišljenje je da se kod velike većine napada radi upravo o starim verzijama WP sustava, no sjetite se pravila br.1 … oprezno i mudro s “0” verzijama.
15. Prijavite sigurnosne propuste
Napravite WP zajednici uslugu i prijavite sumnjivo ponašanje čim naiđete na njega (bilo kod originalnih datoteka ili raznovrsnih pluginova) na security@wordpress.org ili plugins@wordpress.org.
Krešimir Končić, Neuralab
Mislite li da je ovo potpuni pregled koraka za osiguravanje Wordpressa? Komentirajte, pišite ili tweetajte na @transmeettv...
Neuralab je digitalno-kreativna agencija koja niže jedinice i nule od 2007.godine. Kreira web projekte, mobilne i facebook aplikacije, producira video uratke kroz Transmeet.Tv sub-brand te zajedno s klijentima realizira cjelokupnu online strategiju.