Pátek , 21 Září 2018
Domů / OpenSource / WordPress / Jak zabezpečit WordPress pro začátečníky
zabezpečení wordpress

Jak zabezpečit WordPress pro začátečníky

Denně je napadeno 30.000 nových prezentací běžících na redakčním systému WordPress. Dřív či později bude každý začínající uživatel řešit bezpečnostní problém a útok na jeho prezentaci. Vytvářet web je spousta práce a času, která může být zmařena. Během několika vteřin může dojít k zavirování celé prezentace.

Nepodceňte zabezpečení WordPressu a chraňte se prevencí. Zabezpečená prezentace bude obtížnější k napadení a donutí útočníka přejít na méně zabezpečený web.

Dodržujte základní pravidla zabezpečení wordpress :

  • Nikdy nepoužívejte účet admin s heslem admin pokud je na Vašem WordPressu vytvořen účet admin, ihned ho smažte. Jednoduše ho smažete tak, že vytvoříte další administrátorský účet do kterého se přihlásíte a smažete uživatele admin. Všechno nastavení se převede na nového administrátora.
  • Používejte silná hesla a správce hesel – přečtěte si jak vytvořit silné heslo a pamatovat si ho.
  • Nepřipojujte se z neznámých sítí – Veřejné a cizí Wi-Fi sítě lze odposlouchávat.
  • Omezte práva uživatelům – Nastavte redaktorům a zákazníkům nejnižší možná práva. Nebo úplně zakažte přihlášení a vytváření uživatelů, pokud je nepotřebujete. Nikomu jinému nepřiřazujte právo admin nebo superadmin.
  • Aktualizujte – WordPress nabízí automatickou aktualizaci bezpečnostních chyb a používaných pluginů. Aktualizace WP na novější subverze nezpůsobuje většinou žádné potíže. Aktualizaci pluginu třetích stran může dojít k znefunkčnění pluginu nebo celého webu, proto doporučuji aktualizovat ručně, nebo používat pouze ověřené zdroje (wordpress.org, codecanyon, themeforest).
  • Zálohujte – Před každou změnou nastavení, zásahu do aplikace, instalování pluginu a jiných změň si zazálohujte databázi a web. Předejdete tak ztrátě dat. Kvalitní webhostéři dělají denní zálohy za Vás. Navíc Vám dají možnost zazálohovat si data sami a mít je kdykoliv k dispozici.
    Pro ty co nemají možnost zálohovat web rovnou na hostingu, existují pro WordPress placené a neplacené pluginy, které se o zálohování postarají za Vás (BackWPup, BackupBuddy…a další).
  • Jedna doména jeden WP – Pokud máte starší testovací WordPress na subdoméně např. test.vasedomena.cz a dojde k jeho prolomení, napadený web na subdoméně infikuje i hlavní web. Pokud ho nepoužíváte a neaktualizujete – smazat.
  • Smažte co nepotřebujete – Nepoužívané a neaktualizované pluginy mohou obsahovat bezpečnostní chyby, přes které může dojít k napadení celé prezentace. Deaktivované nepoužívané pluginy smažte.
  • Smažte neaktivní šablony – Nechte si pouze jednu aktivní šablonu, kterou používáte a nastavte si její automatickou aktualizaci. Starší nepoužívaná šablona může obsahovat bezpečnostní chyby.
  • Smažte zkušební stránku a příspěvek „Ahoj Světe“ – WordPress při instalaci automaticky vytvoří jednu zkušební stránku a jeden příspěvek „Ahoj Světe, Ahoj Všichni!“ Stránky mají povolené nezabezpečené komentáře. Obě smazat dřív než na ně zapomenete. I když stránky nebudou ve frontendu vidět, pořád jsou součástí aplikace a útočníci to vědí.
  • Používejte SSL certifikát a porotokol HTTPS – V červnu 2018 dojde ze strany Google k ukončení podpory zobrazování nezabezpečených stránek HTTP v prohlížeči Chrom. Nezabezpečené stránky bez certifikátu se nadále nebudou zobrazovat ve vyhledávačích. SSL certifikát je nutno nasadit na server, na kterém běží web. Přesměrování na protokol HTTPS zajistí pro WordPress plugin Realy Simple SSL (nebo jiný).
  • Vypněte XML-RPC pingbacky – Pingbacky slouží k propojení blogovacích klientů s WordPressem. Bohužel tyto soubory jsou často zneužívány k DDOS a jiným útokům. O vypnutí se postará plugin Disable XML-RPC Pingback. XML-RPC využívají jiné aplikace (Jetpack) a vypnutím může dojít k potížím. Proto ho nevypínejte úplně ale pouze zakažte pingbacky a trackbacky.
  • Omezte XML-RPC soubor – Ten je nejčastějším terčem útoků, proto doporučuji nastavit si přístup k tomuto souboru pouze z ověřených IP adres (nastavení se provádí přidáním kódu do .htaccess, což není zásah pro začátečníky, neboť může dojít ke spadnutí webu).
  • Omezete počet přihlášení (Brute Force attack) –  Nastavíte si například v rámci 5 minut maximální počet špatných přihlášení na 5. Pokud někdo zadá pošesté špatné heslo dostane ban na IP adresu a 30 minut se nelze přihlásit z dané IP adresy. Neuvěřitelné množství robotů projíždí WordPress weby a zkouší prolomit přihlašovacího jméno a heslo. Plugin pro nastavení ochrany je například Wordfense.
  • Změňte prefix databáze – Základní prefix pro databázové tabulky WordPress „wp_“ změňte na cokoliv jiného, například „ga6_“. Zpětnou změnu na existující instalaci provedete přes plugin, nebo změnou v wp-config.php a přepsáním v databázi.

Kvalitní hostingové služby využívají k instalaci WordPressu aplikaci Installatron. Instalací WP přes Installatron si zajistíte hned několik bezpečnostních prvků. Automaticky vytvoří administrátorský účet jiný než admin, změní prefix databáze a nastaví zálohování. Vše vyřešeno jedním kliknutím.

Neodborným zásahem do souboru .htaccess může dojít ke spadnutí webu. Před zásahem si zálohujte web a hlavně tento soubor. V případě spadnutí webu tento soubor obnovte za zálohy.

Proti útoku na soubory wp-login.php a xmlrpc.php přidejte do souboru .htaccess tento kód. Přístup bude odepřen ze zahraničních IP adres a povolen pouze pro CZ a SK.

<IfModule mod_geoip.c>
  <FilesMatch "wp-login.php|xmlrpc.php">
    RewriteEngine on
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(CZ|SK)$
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE_V6} !^(CZ|SK)$
    RewriteRule ^(.*)$ - [F,L]
  </FilesMatch>
</IfModule>

Vložením kódu níže do souboru .htaccess zakážete spouštění php skriptů ve složce /uploads/.

<FilesMatch \.php$>
Order allow,deny
Deny from all
</FilesMatch>

Pomocí kódu níže zablokujete zjištění uživatelského jména pomocí ?author=1. Útočníkovi stačí zjistit uživatelské jméno a pak už jen tipuje heslo (Brute Force). Tuto funkci si můžete na svém webu ověřit zadaním do adresního řádku : www.vasestranka.cz/?author=1

RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ http://www.DOMENA.cz/? [L,R=301]

Omezení přístupu na přihlašovací stránku wp-login.php z povolené IP adresy.  Stačí vyplnit Vaší IP adresu do řádku Allow from.

ErrorDocument 401 default
ErrorDocument 403 default

<Files wp-login.php>
Order deny,allow
Deny from all
Allow from 198.101.159.98 localhost
</Files>

Bohužel není možné zajistit 100% ochranu webu, neboť útočníci stále přicházejí na nové a nové způsoby, jak potrápit běžného uživatele, zneužít jeho web a rozesílat z něj spam. Pomocí výše uvedených bodů můžete toto riziko výrazně snížit bez pomoci programátora či webmastera.

Jediné řešení nápravy pro již kompletně napadenou prezentaci je smazat a obnovit ze zálohy.

Napsal Stanislav Král

Bloguje pro normální lidi zajímající se o webové stránky a e-shopy. Snaží se odpovědět na otázku jak založit e-shop, vybudovat web a nastartovat podnikání. Rád nahlíží za oponu internetu a hledá souvislosti mezi jednotlivými kusy kódu. Kryptografie a kryptoměny jsou jeho koníčkem, protože bezpečí a anonymita bude hrát klíčovou roli v budoucím světě.

Tohle checkuj

Indexovat webové stránky

Jak přidat stránky do vyhledávačů a indexovat obsah?

Umístit webovou stránku na internet nestačí, je to jako ztroskotat sám na pustém ostrově. Jenom Vy víte, kde se nacházíte, ale bohužel k Vám nevede žádná cesta.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *