WordPress návody

Komplexní zabezpečení WordPressu pomocí iThemes Security

Autor příspěvku Martin H.

Nedávno jsem psal článek o zabezpečení WordPressu využitím souboru .htaccess. Pokud však plánujete svůj web učinit opravdu neprůstřelný, musíte se zamyslet nad dalšími možnostmi zabezpečení. Komplexní řešení nabízí plugin iThemes Security. Podíváme se na něj zblízka. Článek je poměrně rozsáhlý, proto raději uvádím i obsah.

Obsah článku

  1. Úvod k bezpečnosti pomocí iThemes Security
  2. Karta “Settings” – Nastavení
    1. Global Settings – základní nastavení
    2. 404 Detection – detekce chyb 404
    3. Away Mode – zablokování administrace v nepřítomnosti
    4. Banned Users – banování uživatelů
    5. Brute Force Protection – ochrana proti Brute Force útokům
    6. Database Backups – zálohy databáze
    7. File Change Detection – odhalení změn v souborech
    8. Hide Login Area – skrytí přihlašovacího formuláře
    9. Secure Socket Layers – SSL šifrování
    10. Strong Passwords – silná hesla
    11. System Tweaks – bezpečnostní rizika nastavení serveru
    12. WordPress Tweaks – bezpečnostní rizika WordPressu
  3. Karta Advanced – pokročilé možnosti zabezpečení
    1. Admin User – uživatel Admin
    2. Change Content Directory – změna názvu adresáře wp-content
    3. Change Database Prefix – změna prefixu databáze
  4. Karta Backups – zálohy
  5. Karta Logs – výpis bezpečnostních událostí
  6. Závěrem

Úvod k bezpečnosti pomocí iThemes Security


Po instalaci si můžete všimnout výzvy k zabezpečení, přejděte proto do nastavení pluginu kliknutím na novou podstránku administrace Security nebo kliknutím na tlačítko Secure Your Site Now, které se zobrazuje v celé administraci. Dostanete se na nástěnku iThemes Security, kde běžně najdete různé informace, ale při prvním přístupu na nástěnku se zobrazí výzva k provedení několika základních kroků zabezpečení. Zálohu databáze určitě proveďte, stačí kliknout na první tlačítko v Back up your site části. Dále můžete povolit zápis do souborů .htaccess a wp-config.php, aby tam za vás plugin mohl vkládat potřebné kódy. Třetí možností je zabezpečení na jedno kliknutí (tlačítko One-Click Secure) – doporučuji zatím nezapínat a všechna nastavení si krok za krokem projít a aktivovat funkce postupně podle článku. U každé funkce si pečlivě pročtěte, k čemu slouží a zvažte, zda ji chcete aktivovat.

Na nástěnce jinak najdete seznam bezpečnostních hrozeb na vašem webu. Ty jsou ještě roztříděné do 3 kategorií podle závažnosti a u každé hrozby najdete také tlačítko pro její napravení (Fix it). Na ta prozatím neklikejte (stejně jako po instalaci hned nezapínejte ochranu na jedno kliknutí), projdeme si postupně veškrá nastavení pluginu. Článek můžete brát i jako seznam důležitých kroků, které vedou k mnohonásobnému zvýšení bezpečnosti webu na WordPressu

Pod výpisem hrozeb se na nástěnce (Dashboard) ještě nachází informace o serveru, databázi, php a seznam aktuálně zabanovaných IP adres a uživatelů, které zde také můžete odblokovat. Na úplném konci nástěnky najdete ještě seznam zápisů do .htaccess a wp-config.php – pokud jste povolili pluginu do těchto souborů zapisovat, vše se nastaví automaticky, v opačném případě musíte soubory editovat manuálně a potřebný kód do nich zkopírovat.

Drtivou většinu bezpečnostních nastavení najdete v kartě Settings – nastavení.

Karta “Settings” – Nastavení

Na kartě Settings se nastavuje většina funkcí iThemes Security, takže i tato část článku bude zdaleka nejobsáhlejší. Sepsal jsem kompletní seznam funkcí s jejich českým popisem a přidal své komentáře.

Jak vidíte, seznam všech možností v kartě Settings je poměrně rozsáhlý, proto si je projdeme všechny pěkně postupně a v češtině, kterou jsem mimochodem pro plugin zatím neobjevil (proto jsme se rozhodli na ní začít pracovat). Veškerá nastavení doporučuji zapínat postupně a vždy otestovat funkčnost všech částí webu. To platí především u již běžících webů – některé funkce zabezpečení by mohly omezit funkčnost některých pluginů či šablon.

Global Settings – základní nastavení

  • Write to Files – zápis do souborů – hned první možností je povolení zápisu do souborů wp-config.php a .htaccess. Lepší je zápis povolit, abyste nemuseli vždy sami editovat dané soubory.
  • Notification Email – notifikační emaily – jedná se o email, kam vám budou chodit bezpečnostní notifikace o problémech zjištěných pluginem.
  • Backup Delivery Email – email pro zálohy databáze – na tento email vám budou pravidelně chodit zálohy databáze.
  • Host Lockout Message – dočasné banování serverů – tato zpráva se zobrazí při zablkování serveru (IP adresy), můžete použít některé html tagy (jejich seznam je pod formulářem)
  • User Lockout Message – dočasné banování uživatelů – zpráva pro zablokovaného uživatele (obvykle, pokud je zabanovaný kvůli velkému množství neúspěšných pokusů o přihlášení).
  • Blacklist Repeat Offender – po opakovaném prohřešku přidat na černou listinu (trvalý ban) – pokud tuto možnost zaškrtnete, bude uživatel po určitém množství (nastavíte dále) dočasných banů přidán na černou listinu, to znamená, že bude zabanován navždy. Doporučuji zaškrtnout, někteří roboti jsou nepoučitelní a stále se vrací, tímto dojde k jejich úplnému zablokování.
    • Blacklist Threshold – po kolika blokacích (dočasných banech, lockoutech) dojde k přidání na černou listinu.
    • Blacklist Lookback Period – časové rozmezí, ve kterém musí uživatel daného počtu banů dosáhnout (např. 3x během týdne atd.).
  • Lockout Period – doba dočasného banu – čas, po který bude uživatel zabanován po dosažení limitu počtu přihlášení.
  • Lockout White List – seznam výjimek pro bany – seznam IP adres, které nemohou dostat dočasný ban. Tento seznam můžete využít pro své IP adresy, ze kterých spravujete WordPress, abyste se sami nezablokovali. Úplné zabanování těchto IP adres však stále bude možné, takže dávejte pozor, ať nespustíte nějakou událost, jenž by vás zablokovala navždy. Vkládejte jednu IP adresu na řádek, můžete zadávat i celé rozsahy adres v podobě: 111.111.111.* (hvězdičku vždy vkládejte od pravé strany, takže 111.111.*.* je možné, ale 111.111.*.111 už nikoliv).
  • Email Lockout Notifications – email pro oznámení dočasných banů – pokud tuto možnost zatrhnete, odešle se mail na výše uvedenou adresu (Notification Email) vždy, když někdo spustí událost dočasného banu.
  • Log Type – způsob logování – způsob logování událostí spuštěných pluginem iThemes Security. Můžete zvolit databázový log nebo souborový (případně obojí). Databázové logování se hodí spíše pro menší weby, při větším zatížení zvolte raději souborové logování.
  • Days to Keep Database Logs – počet dní, po které se budou uchovávat logy v databázi – toto platí, pokud zvolíte použití databáze pro logování událostí. Při použití souborových logů budou logy uchovány neomezeně (jste omezeni pouze prostorem na hostingu), soubory budou po 10MB rotovány (při dosažení velikosti logu 10MB dojde k vytvoření nového souboru s jiným názvem a nové logy se budou uchovávat do něj, opět až do 10MB velikosti).
  • Path to Log Files – cesta k souborovým logům – Plugin cestu nastaví sám podle hostingu, ale můžete si nastavit vlastní. Web musí mít právo zápisu do této složky.
  • Allow Data Tracking – povolit sledování dat – tímto jen povolíte sledování informací o využití pluginu (pro statistiky vývojáře), raději snad tuto možnost nechte vypnutou.
  • Disable File Locking – vypnout zamykání souborů – tuto možnost nechte vypnutou, pokud zamykání souborů na vašem hostingu nezpůsobuje žádné problémy.

404 Detection – detekce chyb 404

  • 404 Detection – detekce 404 chyb – tato funkce bude pátrat po uživatelích, kteří naráží na nezvykle velký počet 404 stránek. Může totiž jít například o robota, který systematicky pátrá po slabinách v zabezpečení a načítá mnohdy nesmyslné a samozřejmě neexistující adresy. Po zaškrtnutí můžete nastavení detekce 404 chyb specifikovat.
    • Minutes to Remember 404 Error (Check Period) – počet minut, po které si bude funkce pamatovat chybu 404 – pokud dojde k zaznamenání 404 chyby a stejný návštěvník znovu vygeneruje 404 chybu v tomto časovém limitu, bude chyba přičtena k celkovému počtu.
    • Error Threshold – zde nastavíte po kolika 404 chybách bude uživatel zablokován. Při nastavení 0 nedojde k zablokování, chyby budou pouze ukládány do logů, což se může hodit při debugování webu.
    • 404 File/Folder White List – výjimky pro 404 chyby – seznam souborů a adresářů, které nebudou počítány do celkového počtu pro ban. Některé soubory jsou častými původci 404 chyb, aniž by šlo o snahu narušit bezpečnost stránky. Můžete nechat původní hodnoty obsahující soubory jako favicon.ico, robots.txt atd., které často ani na webu nejsou, ale mnozí (i hodní) roboti by je mohli hledat, a tím generovat 404 chyby.
    • Ignored File Types – ignorované typy soborů – můžete specifikovat i celé typy souborů, které se nebudou počítat jako problematické při generování 404ky a nepovedou k banu (budou ale logovány). Mezi výchozími můžete vidět obrázky a .css soubory.

Away Mode – zablokování administrace v nepřítomnosti

  • Away Mode – stav nepřítomnosti – obvykle nepřidáváte články na web 24 hodin denně, ale například pouze každou středu apod. Pokud víte, že v nejbližších dnech nebudete potřebovat dělat cokoliv v administraci WordPressu, není nutné, aby do ní měl kdokoliv přístup. Právě k tomu slouží away mode, který zajistí celkové znepřístupnění administrace po určenou dobu.
    • Type of Restriction – typ omezení – nastavte, zda chcete Away Mode aktivovat pouze jednorázově nebo v denních intervalech. Bohužel zde nejde nastavit více pravidel. Můžete ale zablokovat administraci například pro každý den v nočních hodinách od 23:00 do 8:00 ráno, kdy pravděpodobně spíte. Vhodná je také aktivace při odjezdu na dovolenou, kde jistě nebudete pracovat a přidávat články na web.
    • Start Time/Date – odkdy bude Away Mode aktivní. Celkem jasné, ale ať to máme kompletní 🙂
    • End Time/Date – dokdy bude Away Mode aktivní.

Banned Users – banování uživatelů

  • Default Blacklist – touto možností okamžitě zabanujete všechny IP adresy uvedené v seznamu, který dal dohromady Jim Walker z HackRepair.com. Jedná se o dobrý začátek při zamezování přístupu různým nebezpečným a otravným botům.
  • Ban Users – povolí trvalé banování.
    • Ban Hosts – banovat servery – do textového pole můžete vkládat IP adresy stejným způsobem jako u Lockout White List. Tyto adresy budou trvale zabanovány na vašem webu.
    • Ban User Agents – banovat User-Agenty – zde můžete vložit user agenty, které chcete zabanovat. Jedná se o informaci odesílanou stránce v hlavičce pomocí parametru User-Agent. Prohlížeče zpravidla začínají slovem Mozilla a například identifikace robota Googlu začíná Googlebot. Více o agentech se dočtete na Wikipedii zde: http://en.wikipedia.org/wiki/User_agent (anglicky).

Brute Force Protection – ochrana proti Brute Force útokům

  • Brute Force Protection – ochrana proti Brute Force – použití Brute Force metody k prolomení hesla je stále poměrně populární a WordPress je proti této metodě extrémně zranitelný, protože ve výchozím nastavení dovoluje uživateli učinit neomezený počet pokusů o přihlášení. A pokud má někdo nekonečné množství pokusů, jednou vaše heslo uhádne, ať je jakkoliv složité. Důrazně proto doporučuji ochranu zapnout.
    • Max Login Attempts Per Host – maximální počet pokusů o přihlášení než bude server (IP adresa uživatele) dočasně zabanován. Pokud nastavíte 0, nedojde k zablokování, pouze k logování událostí.
    • Max Login Attempts Per User – maximální počet pokusů daného uživatelského jména o přihlášení, než dojde k jeho dočasnému zablokování. Toto je efektivní, když útočník používá více IP adres pro pokusy o přihlášení. Bude-li se snažit přihlásit například pod vaším uživatelským jménem a použije více serverů, bude zabanován po vyčerpání Max Login Attempts Per User.
    • Minutes to Remember Bad Login (check period) – časový interval, po který bude pokus o přihlášení zapamatován. Po vypršení intervalu se počet pokusů opět vynuluje.

Database Backups – zálohy databáze

Protože základem bezpečnosti jakékoliv internetové stránky je právě zálohování, iThemes Security se dokáže postarat o automatické pravidelné zálohování databáze a odesílání záloh na email nebo ukládání na server (nebo nejlépe oboje).

  • Backup Full Database – zálohovat celou databázi – pokud toto zaškrtnete, dojde k zazálohování celé databáze, včetně tabulek, které nejsou spojeny s touto instalací WordPressu. Nedoporučuji u hostingů, na kterých máte všechny weby běžící pod jednou databází, soubor by mohl dosahovat velkých velikostí a rychle plnit disk serveru i vaši mailovou schránku.
  • Backup Method – metoda zálohování – můžete zvolit Email Only (pouze na email), Save Localy Only (uložit na disk serveru) nebo Save Localy and Email (na email i na disk). Vyberte podle uvážení, je však dobré mít zálohy i na emailu (nebo ve vlastním počítači atd.), kdyby došlo ke ztrátě dat z hostingu (nezapomeňte pravidelně zálohovat i data webu!).
  • Backup Location – umístění záloh – umístění adresáře, kam se budou ukládat zálohy (musí mít oprávnění pro zápis).
  • Backups to Retain – počet záloh – počet záloh, které budou uchovány na serveru.
  • Compress Backup Files – komprimovat zálohy – zaškrtněte, pokud chcete zálohy automaticky komprimovat do zipu. Kdyby s tím měl váš server problémy, tak raději vypněte.
  • Exclude Tables – nezálohovat tabulky – tabulky, které se nebudou zálohovat. Některé pluginy (např. iThemes Security) mohou do databáze ukládat obsáhlé logy, které obvykle není nutné zálohovat. Kliknutím na název tabulky ji přesunete do druhého sloupečku (v Tables for Backup jsou tabulky, které se budou zálohovat a v Excluded Tables pak ty, které budou ze záloh vyloučeny).
  • Schedule Database Backups – naplánovat zálohy – tímto zašrtávátkem zapnete pravidelné automatické zálohy, které jste nyní tak pečlivě nastavili.
    • Backup Interval – po kolika dnech si přejete databázi zálohovat.

File Change Detection – detelce změn v souborech

Funkce, která detekuje změny v souborech vaší WordPress instalace. Po její aktivaci se vám může zobrazit upozornění, že při aktuálním nastavení maximální paměti pro php skripty může dojít k deaktivaci webu právě kvůli chybě při nedostatku paměti. Na bězném hostingu asi bude s touto funkcí problém. Pokud máte VPS s alespoň 256MB php paměti nemělo by dojít k potížím. Musíte si však funkci otestovat na vašem nastavení.

  • File Change Detection – detekce změn v souborech – zaškrtněte pro aktivaci detekce změn v souborech. Funkce bude odhalovat jakékoliv změny provedené v souborech aktuální WordPress instalace. Detekce porovná aktuální stav oproti předchozímu uloženému stavu a zobrazí případné rozdíly. Pokud jste změny neprovedli vy, pravděpodobně došlo k narušení bezpečnosti a vaše soubory teď obsahují škodlivý kód.
    • Split File Scanning – rozložit kontrolu změn – rozdělí kontrolu do 7 částí (pluginy, šablony, wp-admin, wp-includes, uploads, zbytek wp-content a ostatní soubory). Kontroly budou rozložené do celého dne, aby se předešlo náhlému zatížení serveru. Doporučuji zapnout u slabších hostingů.
    • Include/Exclude Files and Folders – zahrnout/nezahrnout sobory a adresáře – můžete vybrat Include (včetně) nebo Exclude (kromě) souborů uvedených níže v Files and Folders List – seznam adresářů a souborů. Ponechte Include Selected a v Files and Folders List vše nezměněné pro kompletní kontrolu vašeho WordPressu.
    • Ignore File Types – ignorovat souborové typy – můžete ingorovat různé koncovky souborů. Pokud ale máte dostatečně výkonný hosting a vysoké požadavky na bezpečnost doporučuji výchozí nastavení smazat a kontrolovat i obrázky a překladové .po .mo soubory, protože mohou obsahovat škodlivý kód (některé hacky používají právě obrázkové koncovky jako zdroj šifrovaného php kódu).
    • Email File Change Notifications – notifikovat emailem při odhalení změn – zaškrtněte, pokud si přejete dostávat upozornění emailem na detekované změny v souborech.
    • Display file change admin warning – zobrazit upozornění v administraci – zapne/vypne upozornění na změnu v administraci WordPressu na nástěnce pluginu. Pokud vypnete upozornění na nástěnce i přes email, jedinou cestou, jak zjistit, zda došlo ke změnám v souborech, bude manuální kontrola logů.

Hide Login Area – skrytí přihlašovacího formuláře

Přesun přihlašovacího formuláře na jinou adresu než /wp-admin, wp-login.php a další výchozí adresy WordPressu je jedním ze základních prvků obrany proti hackerům a různým botům. WordPress je dnes už notoricky známým systémem pro všechny, kteří mají co do činění s tvorbou webu, takže každý ví, kde se přihlašovací obrazovka nachází. Abychom hodili další klacek pod nohy všem hackerům, změníme si adresu pro login do administrace.

  • Hide Backend – skrýt administraci – aktivujte pro “ukrytí” všech formulářů pro přihlášení.
    • Login Slug – slovo, které bude použito pro stránku s přihlašovacím formulářem. Výchozí je “wplogin” – doporučuji nastavit na jiné slovo jako “logintowp”, “wpprihlaseni” apod. V případě “logintowp” byste pak přihlášení do administrace našli na adrese www.vasedomena.cz/logintowp.
    • Enable Theme Compatibility – zapnout kompatibilitu šablon – eliminuje případné chyby při zobrazování /wp-admin v některých šablonách.
    • Theme Compatibility Slug – pokud máte zaškrtnuté Enable Theme Compatibility, budou uživatelé pokoušející se přistoupit na /wp-admin automaticky přesměrováni na adresu s Theme Compatibility Slug, například tedy www.vasedomena.cz/not_found.
    • Custom Login Action – vlastní akce přihlášení – WordPress používá pro obsluhu přihlašování/odhlašování proměnnou action, která může nabývat nejrůznějších hodnot. iThemes Security zvládá ty základní, ale některé šablony nebo pluginy mohou vyžadovat vlastní akci. Pokud o nějaké takové akci víte, můžete ji přidat (obvykle to nebude potřeba).

Secure Socket Layers – SSL šifrování

SSL šifrování je technologie používaná pro šifrování dat posílaných při komunikaci mezi uživatelem (prohlížečem) a serverem. Při použítí SSL je pro hackera prakticky nemožné se současnou technologií nabourat citlivá data uživatele/serveru při přenosu. iThemes Security nabízí možnost aktivovat SSL šifrování pro celý web nebo pouze pro administraci. Váš hosting však musí SSL funkci podporovat a mít správně nastavenou.

  • Front End SSL Mode – SSL na front-endu – můžete buďto nechat front-end SSL na Off (vypnuté), nastavit Per Content (podle obsahu) nebo Whole Site (celý web). Při Per Content budete volit zapnutí/vypnutí SSL vždy u konkrétní stránky/článku.
  • SSL for Login – SSL pro přihlašování – zapne SSL šifrování pro veškeré přihlašování.
  • SSL for Dashboard – SSL pro administraci – zapne šifrování pro celou administraci (pravděpodobně, netestoval jsem, kdyžtak napište do komentářů).

Strong Passwords – silná hesla

  • Strong Passwords – silná hesla – po aktivaci budou uživatelé při registraci donuceni zvolit silné heslo (podle WordPress meteru).
  • Select Role for Strong Passwords – minimální oprávnění, které musí použít silné heslo.

System Tweaks – bezpečnostní rizika nastavení serveru

  • System Files – systémové soubory – touto funkcí zamezíte komukoliv zobrazit soubory readme.html, readme.txt, wp-config.php, install.php, wp-includes a .htaccess, které mohou prozradit důležité informace (například verzi WordPressu).
  • Directory Browsing – procházení adresářů – zamezí uživatelům zobrazovat adresáře, kde není žádný index soubor. Zamezí hackerům poznat adresářovou strukturu vašeho webu. Tuto znalost by mohl zkušený hacker zneužít.
  • Request Methods – vypne http metody track, trace a delete, které pro dobrého hackera představují vstupní vrátka k citlivým datům. Tyto metody se často využívají pro tzv. cross-site scripting – podstrčení škodlivého skriptu.
  • Suspicious Query Strings – podezřelé URL parametry – hledá podezřelé řetězce v URL požadavcích (adresách), které by mohly představovat pokusy o narušení bezpečnosti (různé PHP/MySQL apod. injekce). Opět nezapomeňte vyzkoušet, zda tato funkce nezpůsobí nefunkčnost některého z pluginů nebo šablony.
  • Non-English Characters – neanglické znaky – hledá jiné než anglické znaky v URL adresách (v query strings). Funguje pouze s aktivovaným Suspicious Query Strings, na českém webu ale nemá příliš smysl (české znaky se vyskytnou v url např. při vyhledávání atd.).
  • Long URL Strings – dlouhé URL – omezí délku URL adres (někteří hackeři zneužívají extrémně dlouhé URL adresy pro injekce kódů).
  • File Writing Permissions – práva zápisu do souborů – zamezí přístupu uživatelů k souborům .htaccess a wp-config.php (pluginům apod. přístup zůstane). Nastaví souborům unixová práva na 0444 z původních 0664 (unixová práva na wikipedii).
  • Uploads – velmi užitečná bezpečnostní funkce, která zabrání vykonávání PHP skriptů umístěných v adresáři pro nahrané soubory (/uploads). Rozhodně doporučuji zapnout.

WordPress Tweaks – bezpečnostní rizika WordPressu

  • Generator Meta Tag – skryje informaci, že stránku vygeneroval WordPress (<meta name="generator" content="WordPress [version]" />). Hackeři v meta tagu neuvidí verzi WordPressu a bude pro ně náročnější odhalit případné bezpečnostní nedostatky.
  • Windows Live Writer Header – odstraní hlavičku Windows Live Writeru. Osobně jsem tento program nikdy nepoužil, ale pokud ho používáte, s touto funkcí se o tom alespoň nikdo nedozví.
  • EditURI Header – skryje Really Simple Discovery informaci z hlavičky. I když se nejedná o vážnou bezpečnostní hrozbu, pokud nevyužíváte žádnou RSD službu, je lepší tuto informaci schovat (čím méně toho o vás hacker ví, tím lépe pro vás).
  • Comment Spam – automaticky zablokuje komentáře od uživatelů bez user-agenta a referrera (často se jedná právě o různé spamovací boty).
  • Display Random Version – zobrazovat náhodou verzi – šikovná funkce, která zobrazí náhodnou verzi WordPressu všude tam, kde je ji nelze odstranit úplně.
  • File Editor – editor souborů – základní bezpečnostní funkce, která vypne editor kódu v administraci.
  • XML-RPCXML-PRC můžete buďto deaktivovat zcela (Completely Disable XMLRPC), vypnout pouze Trackbacky/Pingbacky (Only Disable Trackbacks/Pingbacks) nebo nechat povolené (Off). Nejbezpečnější možností je Completely Disable XMLRPC, ale pak nebudou fungovat některé pluginy, které XML-PRC vyžadují (např. JetPack).
  • Replace jQuery With a Safe Version – verze jQuery – pouze zobrazí verzi jQuery, kterou aktuálně používáte (je lepší používat verzi, která je v instalačním balíčku dané verze WordPressu).
  • Login Error Messages – chyby při přihlašování – vypne zobrazování chybových hlášek při nesprávném pokusu o přihlášení. Uživatel sice nebude vědět, proč se nepřihlásil (což mu snad dojde), ale nebude to vědět ani případný robot hackující vaší stránku.
  • Force Unique Nickname – nutnost použít unikátní nick – při registraci a aktualizaci profilu bude WordPress vyžadovat unikátní uživatelské jméno.
  • Disable Extra User Archives – vypnout zbytečné profily uživatelů – vypne zobrazování profilů uživatelů (Author Page), kteří na vaši stránku nepřispívají, tím se zamezí shromažďování uživatelských jmen různými roboty.

Karta Advanced – pokročilé možnosti zabezpečení

Konečně přecházíme do pokročilých nastavení iThemes Security, kterých není zdaleka tolik jako v sekci Settings. Nachází se zde vlastně pouze 3 funkce: změna uživatele “Admin”, změna názvu adresáře wp-content a změna prefixu databáze. Opět se jim podíváme na zoubek. Před provedením jakýkoliv změn na této kartě se ujistěte, že máte dostatečné zálohy.

Admin User – uživatel Admin

Mnohokrát už bylo v článku zmíněno, že pokud případný hacker disponuje jakoukoliv informací o vaší stránce, není to dobře. Proto ani znalost uživatelského jména administrátora by neměla padnout do špatných rukou. Jistě budete souhlasit, že použití administrátorského účtu Admin nebude nejmoudřejší volbou. Pokud takového uživatele v systému WordPressu máte, měli byste ho raději přejmenovat. Zakliknutím možnosti Enable Change Admin User povolíte změnu jména v profilu Admina.

Druhou možností je Change User ID 1. Při jejím zaškrtnutí dojde ke změně ID hodnoty u prvního uživatele v databázi (pravděpodobně administrátor). Fakt, že většina webů používá pro administrátorský účet ID = 1 také nahrává lstivým internetovým pirátům. Této informace lze snadno zneužít při podstrčení nějaké kódové injekce (např. MySQL injection). Proto rozhodně doporučuji změnu provést.

Change Content Directory – změna názvu adresáře wp-content

Další veřejně známou hodnotou WordPressu je název adresáře pro uchování důležitého obsahu jako jsou pluginy nebo šablony – tedy wp-content. Změnou názvu tohoto adresáře opět trochu ztížíte hackerům život. iThemes Security uvádí upozornění, že pokud dojde ke změně názvu wp-content, nemusí se to líbit některým pluginům a šablonám, které mají cestu k adresáři natvrdo uvedenou v kódu. Pak by nezbývalo než tyto části kódu vyhledat a uvedenou cestu nahradit dynamickým voláním nebo nepoužívat postižené plugin/šablony. Pro provedení změny zaškrtněte Enable Change Directory Name a klikněte na tlačítko Change Content Directory.

Change Database Prefix – změna prefixu databáze

Databáze je asi nejdůležitějším prvkem celé WordPress instalace, a proto se její bezpečnost nedoporučuje podceňovat. Jedním ze základních zabezpečovacích kroků je uvedení jiného než výchozího prefixu tabulek (“wp_”). Jiný prefix byste měli volit už při samotné instalaci WordPressu, kde k tomu máte možnost. Pokud jste tak neučinili, silně doporučuji učinit tak nyní. Zaškrtněte Change Table Prefix a potvrďte tlačítkem Change Database Prefix. Tím dojde k vygenerování náhodného prefixu a jeho nastavení v databázi.

Karta Backups – zálohy

Na této kartě máte možnost provést zálohu databáze podle nastavení uvedených na kartě Settings – Nastavení v sekci záloh. Dále zde najdete pouze upozornění, že byste měli zálohovat nejen databázi ale i data. K tomu je uvedený odkaz na produkt autora iThemes Security BackupBuddy.

Karta Logs – výpis bezpečnostních událostí

V logách můžete najít veškeré problémy zjištěné pluginem iThemes Security. Pokud například někdo provede neúspěšný pokus o přihlášení, uvidíte to zde. Objeví-li se někomu 404 chyba, hlášení bude v logu také. Čas od času je dobré se do logů podívat, i přesto, že o důležitých událostech budete notifikováni emailem (pokud jste si tak nastavili v Settings – Nastavení).

Závěrem

Zabezpečení WordPressu by se určitě nemělo podceňovat a iThemes Security je skvělý plugin schopný odstranit široké spektrum bezpečnostních problémů, kterými WordPress trpí. Doufám, že článek vám trochu pomůže s nastavením bezpečnosti na vlastním webu. Budu rád za jakékoliv připomínky a upozornění na chyby či nepřenosti v textu, přece jenom jde o poměrně dlouhý článek. Budu se snažit pracovat i na češtině pro plugin a co nejdříve jí dodat, prozatím prosím použijte tento článek jako vodítko.

O autorovi

Martin H.

Hobby programátor, IT nadšenec a nepoučitelný kritik.

34 komentářů

  • Škoda, že jsem nenašel váš článek dříve. Provozuji 15 webů a musel jsem přistoupit ke kvalitnímu řešení zabezpečení. iThemes je opravdu profesionální řešení a nemohu si ho se službou BackupBuddy a Sync (10 webů zdarma – http://ithemes.com/sync/) vynachválit. Mám teď klidné spaní a vím, že web je stále monitorován.

  • 1) Zdá se mi, že nastavení “Enable local brute force protection” a “Max Login Attempts Per Host” dělá vlastně to samé jako nastavení “Blacklist Repeat Offender”, “Blacklist Threshold” a “Blacklist Lookback Period”.
    2) V Dashboard jsou uvedeni jen dočasně zabanovaní? Když loguji do databáze, ukládají se tam dočasně i trvale banovaní? Jak jsou v databázi odlišeni?
    3) Můžete vysvětlit tabulky “xxx_itsec_lockouts”, “xxx_itsec_log” a “xxx_itsec_temp” ?

    Díky za článek a případné odpovědi.

    • Něco podobného se mi stalo u hostingu (blueboard), který měl problémy s úpravou .htaccess. Vrátit zpět to šlo ruční úpravou tohoto souboru do výchozího WordPressového.

    • Zdravím,
      zmíněný plugin jsem testovala na svých webových stránkách, a na první pokus vše šlapalo jako hodinky.

      Autorovi bych chtěla poděkovat za skvělý článek. Díky tomu jste mi hodně pomohl s nastavením tohoto pluginu. Budu se těšit na vydanou češtinu k pluginu.

  • Já musel vypnout “Enable Theme Compatibility” a pak celý “Hide Backend”. Je ale zajímavé, že s tím má problém jen Mozzilla….

  • Nevíte náhodou jaké ip ma googlebot, bohužel se mi zapnutím 404 Detection a Baned Users asi podařilo zablokovat přístup robotům a naše stránky úplně zmizely z vyhledávání google. Nebo nevíte někdo čím by to ješte mohlo být?

  • Dobrý den! Po dnešním campu (děkuji), zkouším použít plugin iThemes Security. Bohužel, po zatržení Default Blacklist jsem ztratil možnost přístupu do administrace. Je nějaké řešení pro návrat, prosím?
    Děkuji Vám

  • Vyřešeno 🙂 Po importu zálohy databáze jsem zjistil, že jsem byl v administraci zrovna v časovém pásmu, které jsem zakázal – Away mode nastaven od půlnoci… to pak skutečně prostě nejde 🙂

    Aleš

  • Dobrý den, jakou máte zkušenost se zaškrtnutím pole Enable Malware Scanning? Co přesně tahle funkce dělá? Díky. Lucie

  • Skvělá práce. Objevil jsem váš web náhodou, ale čtu tady kde co 🙂 Jen tak dál a díky za tento článek.

  • Plugin jsem nainstaloval na všech mých webech. Bohužel se vyskytl problém při vkládání linku z youtube při psaní příspěvku, že se video nezobrazí a zůstane jenom vložený link. Nevíte kde může být zakopaný pes? Procházel jsem podporu pluginu, ale o nezobrazování videí jsem nic nenašel. Díky moc za pomoc.

  • Tak už je vše v pořádku. Zrovna nedávno jsem si říkal, že jsem ještě žádný útok nezaznamenal. WP jsem začal v lednu, takže moje weby jsou dosti mladé.
    Předevčírem přes 550 přihlášení pomocí adminu z různých ip adres, během 10 minut. Vše mi přišlo na mail.
    Alespoň jsem se přesvědčil, že bezpečnost a záloha je základ každého webu.
    Díky moc za kvalitní příspěvky, které určitě pomohou každému uživateli.

  • Dobrý den,
    plugin je výborný, používám jej často, nicméně včera jsem zjistila, že blokuje robots.txt a sitemaps. Zkoušela jsem různá nastavení, ale po analýze zdrojového kódu stále hlásí to samé: neexistuje. Pokud plugin vypnu, tak je toto v pořádku. Máte někdo z touto chybou zkušenosti? Díky. Lucie

    • Takže jsem zjistila, co chybu způsobuje – zaškrtnuté pole Default Blacklist. Pokud toto pole je zaškrtnuté, pak se blokují sitemaps a robots.txt, nezobrazuje se také autor. Pokud pole odškrtnete, uložte změny. Plugin deaktivujte a opětovně aktivujte. U pár webů jsem provedla opravu a následná seo analýza již vše ukazuje.

      • Pozor skutečně na nastavení – IThemes způsobil zákaz vstupu robotů Seznam.cz a následné vyřazení z indexace. Nesmí být zaškrtnuto pole Default Blacklist – alespoň to tak zatím vypadá.

  • Dobrý den!
    Používám tento plugin již delší čas. Až ale cca dva měsíce dozadu jsem zjistil, že v SEO analýze (http://seo-servis.cz/source-zdrojovy-kod/12267219) se nezobrazuje robots.txt a sitemap. Fyzicky tam jsou, google nemá problém s indexováním, všechno funguje. Jen nerozumím tomu, proč se nezobrazují v analýze.
    Nemáte s tím, prosím, nějaké zkušenosti?

    Děkuji Vám

    Aleš

  • Dobrý den Tomáši,
    máte zkušenost s tím, že nejde v iThemes udělat záloha databáze? Po kliknutí na vytvořit zálohu mam bílo a nic se nestane, dokonce se mi ani neposílá dle nastavení… 🙁 díky!

  • V nejaktuálnější verzi pluginu chybí možnost nastavení Hide Backend – přejmenování přístupové stránky do administrace, což mi velice chybí. Našli jste někdo nějaké řešení, popř. jiné nastavení, které jsem přehlédla, jež by tuto možnost umožňovalo? Díky. Lucie

    • Teď budu dělat chytrého (sám jsem to totiž také hledal), ale nechybí. Stačí si úplně nahoře vpravo při otevření nastavení buď zobrazit všechny možnosti (All), nebo kliknout na Advanced.

  • Ahoj,

    aktuálně řeším na některých svých WordPress webech tento problém. Google navštěvuje můj web a kromě publikovaných stránek se snaží jít taky na stránky, které na webu nejsou – což způsobuje error 404 (netuším proč a moc by mi někdo pomohl, kdyby mi to vysvětlil).
    Díky velkému počtu 404 errorů zablokoval plugin iThemes Security IP adresy GoogleBota a tím pádem se web přestal indexovat. Což je docela zásadní problém. Tak kdyby to někoho potkalo taky, měl by dočasně vypnout iThemes security nebo jeho části (Banned Users + .htaccess pravidla, která blokují přístupy dle IP).

    Webmaster tools mi to pak ukazuje takto:
    Adresa http://www.hodinkyboccia.cz/designs-ad434-for-backyards (očividný bullshit) je odkazována z jiného bullshitu http://www.hodinkyboccia.cz/simple-medieval-ad434-costume

    Více je vidět na screenshotu:
    https://www.dropbox.com/s/8chad6lgwbt9tsu/Screenshot%202016-09-20%2014.14.57.png?dl=0

    Něco podobného někdo už řešil například zde: https://wordpress.org/support/topic/itheme-security-blocked-google-crawler/

  • Od verze 5.3.7 (pravděpodobně) až po verzi současnou 6.0 v podstatě nefunguje důležitá funkce přejmenování přístupové stránky do administrace. Pokud máte tuto funkci aktivovanou, tak přesto se dostanete do administrace pomocí vasedomena/wp-login. Pro vasedomena/wp-admin to přejmenování funguje. Ve verzi 5.3.0 to funguje dobře. Dělám někde chybu já anebo to je chyba v pluginu? Nemáte někdo, prosím, zkušenost? Děkuji Aleš

    • používám již dlouho u všech webů přejmenování přístupové stránky. Ještě jsem neměla problém. Používám Chrome…

  • poslední dobou mi díky nainstalování iThemes Security nefunguje jeden plugin na tvorbu šablony. Zmizí mi z levého menu v administraci. Občas se do něj ještě dostanu přes Šablony. Každopádně, když iThemes deaktivuji, tak mi plugin opět vyskočí a funguje.
    Nevíte co kde v iThemes nastavit, aby mi plugin (Themler) opět fungoval? Dřív to nebývalo 🙁
    Moc díky za radu.

Zanechat komentář

Získejte více informací o WordPress!

Připojte se do našeho emailového seznamu a nenechte si ujít informace, novinky a návody ze světa WordPressu.

Úspěšně jste se zapsali do našeho newsletteru. Děkujeme!