WordPress sa za posledné roky extrémne rozšíril, beží na ňom značná časť svetovej „populácie“ webov. To ho robí dobrým terčom pre útočníkov s rozličnými zámermi. Ak máte jeden WordPress webov, alebo viac, mali by ste zbystriť. Na bezpečnosť určite nezabúdajte. V tomto článku vás v rýchlosti prevediem základným a veľmi jednoduchým zabezpečením.
1. Nepoužívajte administračný login „admin“
Ak zakladáte novú WordPress stránku, proste zvolte iný, niečo neštandardné. Ak už stránku máte a máte login admin, vytvorte si ďalší administračný účet a následne pôvodný „admin“ zmažte (dajte pozor aby ste všetky články priradené k adminovi presunuli k novému administračnému účtu, poslúži napr. tento návod).
Ako heslo nikdy nevoľte nič bežné, vygenerujte si heslo zložené zo znakov, čísiel, veľkých a malých písmen. V dnešnej dobe si browsery ľahko poradia so „zapamätaním“ hesiel. V prípade zabudnutia hesla nie je problém s obnovou, takže sa nemusíte báť že o niečo prídete.
2. Zmente si URL adresu pre prihlasovanie do administrácie
Ak si zmeníte URL adresu, pomocou ktorej sa do administrácie prihlasujete, dáte totálne KO všetkým robotom, ktoré sa pokúšajú automaticky prihlasovať do vášho účtu (tzv. brute force). Použite plugin Better WP Security. Po jeho inštalácii sa v administračnom menu zjaví položka Security, kde zvoľte Hide Backend, zaškrtnite Enable Hide Backend a vyplňte 3 príslušné polia (myslím, že ich účel je zrejmý). Po uložení a odhlásení si môžete nový admin URL vyskúšať.
3. Ban za zlý login
V prípade, že nechete, z nejakého dôvodu, používať zmenené administračné URL, je tu možnosť zablokovať „skúšanie“ prihlasovania po určitom počte zlých prihlásení. Osobne roky používam Login LockDown (aj keď plugin dlhšiu dobu nebol aktualizovaný, funguje dobre a správne).
Login LockDown funguje okamžite po jeho aktivovaní a prakticky netreba nastavovať nič. Štandardne po 3 zlých prihláseniach počias 5tich minút zapíše IP adresu „útočníka“ do zoznamu zablokovaných a tá v tomto zozname ostáva 60 minút. Je naozaj mizivá šanca, že by cez tento systém dakto dokázal „uhádnuť“ váš login a heslo. Šancu tlačí k bodu mrazu spomínaný bod 1. tohoto článku.
Nevýhodou by mohlo byť zaťaženie databázi pri útoku z rozličných IP v danom momente, ale to je veľmi nepravdepodobný scenár (pokiaľ nevlastníte medzinárodne známy veľký web).
4. Bojujte proti spamu
Na boj proti (vo väčšine prípadov komentárového) spamu pravdepodobne všetci používate Akismet (ak nie, určite začnite). Po jeho aktivácii je nutné zadať kľúč, ktorý získate po registrácii/prihlásení na akismet.com/signup. Toto berte ako povinnosť, ak vlastníte web, na ktorom máte formuláre (komentáre, TDO Mini Forms, Gravity Forms).
Čerešnička na torte je plugin Bad Behavior. Je to ďalší security-must-have plugin. Bad Behavior analyzuje a v prípade podozrenia zastaví spam botov ešte pred vložením komentára. Kdežto Akismet posudzuje komentáre až po tom, čo sú vložené a následne ich (v prípade podozrenia) označuje ako spam, Bad Behavior to robí ešte predtým. Tým odbremeňuje vašu databázu od zbytočného obsahu. Okrem toho zachytáva a blokuje aj tzv. email harvestre, roboty, ktoré odchytávajú emailové adresy na vašom webe pre ďalšie spam použitie. Plugin toho robí viac, ale toto je najpodstatnejšie. Stačí ho len aktivovať a o ostatné sa už postará.
Bad Behavior + Akismet sa postará o 99,9% všetkého bordelu, ktorý na vašu WordPress stránku smeruje.
5. Aktualizujte
Ja viem že to všetci všade píšu, ale je to tak a nikdy na to nezabúdajte. Nové verziu WordPress ako aj pluginov vychádzaju často preto, že v starých boli objavené expolity a možnosť určitým spôsobom preníknúť do vášho webu a zničiť jeho obsah. Časté sú aj prípady, kedy na vonok nerozoznáte, že váš web bol napadnutý, ale vložený útočný script zdetekujú browsre, prípadne vyhľadávače a váš web označia ako závadný a nebezpečný. A to samozrejme nechcete – tak aktualizujte!
Máte veľa WordPress webov? Existujú riešenia – ManageWP, InfiniteWP, WP Remote a ďalšie. Ich popis je ale na samostatný článok (o InfiniteWP písal Depi). Ich funkcionalita je rôznorodá, ale čo je pre nás dôležité je to, že dokážu z jedného miesta aktualizovať všetky vaše WordPress weby.
6. Zabezpečený a overený hosting
Pokiaľ používate hosting pochybných kvalít, o ktorý nie je dostatočne administratívne postarané (neaktualizované súčasti operačného systému, staré verzie PHP, MySQL, Apache a pod.), môže to byť jednoduchá cesta k záhube vášho WordPress webu. Ako poznáte kvalitný hosting? Napr. na základe dlhodobých referencií, reakcií zákazníkov (diskusné fóra, Facebook, komentáre na blogoch a pod.), vlastného testovania (výpadky, rýchlosť reakcie a dostupnosť supportu na tel. a emaile).
Ja sám už 5 rokov používam vlastný firemný server, ale počas tejto doby som alternatívne využíval aj vysoko profesionálne služby Yegonu či PremiumHostingu, či Elbiahosting.sk. Výborné referencie má aj Webglobe.sk, ten som však osobne netestoval. (Aktualizácia: Webglobe a Yegon sa po novom spojili a nájdete ich na https://wy.sk) Všetky tieto spoločnosti promptne reagujú na rozličné problémy a security majú na vysokej úrovni.
7. Cache
Možno to priamo s bezpečnosťou nesúvisí, ale ak máte väčší web s návštevnosťou okolo 1000 UIP / deň, mali by ste začať (ak ste už nezačali) používať jeden z cache modulov. Inak hrozí spomalenie webu (v závislosti od hostingu), výpadky, prípadne varovanie zo strany samotného hostingu. Roky úspešne používam Hyper Cache (je použiteľný bez nejakých prídavných nastavení), niekde W3 Total Cache.
Dúfam, že vám článok trochu pomohol a prispel aj k slovenskej WordPress bezpečnosti :-).
môžte skúsiť aj platformu …
Alebo môžete skúsiť nespamovať lacným komentom 6 rocný WP post. Keby si aspoň dáte záležať na kvalitnom prínosnom komentári, plnom zaujímavých faktov… ach jaj.
Skúšal som schovať tip 2 – schovať login URL, ale nefunguje to. Vždy som sa prihlasoval do webu cez …/wp-login aleo …/wp-adming. Urobil som všetko podľa tvojho návodu, ale tie nové adresy nefungujú a tieto staré áno. Čo robím zle?
Je možné, že nemáš povolený zápis do súboru .htaccess, cez FTP client mu nastav práva 777 a skús nastavenia znova.
A nie je nastavenie 777 nebezpečné?
Nastav 777, použi môj návod a potom zmeň naspäť na 644 (myslím že 644 býva default).
Ak nepotrebujete admin funkcie pre uzivatelov, je vhodne ochranit adresar wp-admin pomocou .htaccess
Zmenit admin usera ide aj cez ten plugin Better WP Security a je to kusok jednoduchsie ako to klikat bez neho – len sa zada novy login, netreba menit email, resp zadavat novy, a zostane rovno aj zobrazovany nick „admin“ – login samozrejme bude iny, toto je len nick ktory uvidia useri na webe. Ked to clovek klika rucne tak tam beha ako trulo :)
Ešte môžem doporučit zálohovanie celého webu ako prevenciu pred hacknutím. Sám na to používam WP Backup to Dropbox (http://wordpress.org/plugins/wordpress-backup-to-dropbox/) a plus si ešte čas od času zálohujem aj súbory v Dropboxe.