Poslední den BLACK FRIDAY! Slevy až 80 % jsou všude. Tak rychle ještě přejdi do rostoucího IT oboru!
The real BF 2020

Lekce 7 - Bezpečnost ve WordPressu

V minulé lekci, Nový editor Gutenberg vs starý TinyMCE, jsme si představili editor Gutenberg a udělali si takové menší srovnání.

Dnes se podíváme na to, jak je to s bezpečností Wordpressu.

WordPress.org (nikoliv WordPress.com) má jednu obrovskou výhodu a zároveň nevýhodu v jednom. A tou je, že je open-source službou.

V čem tedy problém tkví?

Chybám se nevyhne nikdo a odhalení chyb není tak náročné, když téměř 1/3 internetu daný systém používá. Pravidelně tudíž vidím různé podněty ke zlepšení jádra, návody, jak obejít přihlášení nebo přímo ukázky kódu, s nímž lze využít specifickou část WordPressu pro nekalé účely.

Nicméně výhoda je zřejmá - velmi rychlé nalezení chyb a u těch akutních i rychlá oprava. Ale když se řekne A, musí se říci i B. V našem případě pluginy.

V dnešním článku se tak zaměříme na 4 hlavní body zabezpečení - WordPress sám, pluginy, šablony a uživatelé.

WordPress

CMS jako takové už za ta léta poměrně uzrálo a až na pár nedokonalostí si vede celkem dobře. Dovnitř se dostat lze poměrně obtížně a bez toho, aniž by se jednalo o opravdu ostříleného hackera, se nemusíte bát.

Aktuálně si tak nejsem vědom žádných snadných metod a ty složité jsou na půl hodinové video návody s přímou ukázkou. Pro nás tedy stačí vědět - silné heslo na databázi, silné heslo na FTP (ideálně použít SSH) a u instalace WordPressu zvolit jiný prefix tabulek, než wp_.

Jiný prefix tabulek se hodí vždy, protože při nových verzích útočníci hledají u pluginů a šablony chyby. Tudíž změna prefixu jim ztíží postup a to může ledacos zachránit.

Avšak do backendu mají přístup uživatelé.

Uživatelé

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Ano, jedním z největších problémů jsou vždy uživatelé. Často u svých klientů narážím na to, že heslo je typu nazevwebu2018 nebo anicka123 a v ideálním případě se přihlašovací jméno heslu dost podobá.

Taková hesla okamžitě měníme a zavádíme nové procesy, aby heslo opravdu bylo ve tvaru:

  • 12 (a více) znaků
  • znaková sada [a-ž],[A-Ž],[0-9],[@#$^&*-+-*]

A samozřejmě se heslo nechává generovat. Obvykle bereme 3. náhodně vygenerované. V ideálním případě se ihned zavede jakýkoliv správce hesel.

Důležité je též přihlašovací jméno. Útočníci běžně zkoušejí název webu, nebo “admin” atp. Viz ukázka níže.

Co já dělám je to, že vytvářím například jmeno_prijmeni, web_jmeno nebo prefix_jmeno. A zatím se mi nestalo, že by to někdo prolomil a to spravuji weby s tisícovkami aktivních uživatelů denně. Čili tento postup (spolu s dalšími v tomto článku) se zdá být užitečný.

Pluginy

Nyní se podíváme, jak se chránit a jaké nezbytné kroky musíte udělat pro ochranu svého webu. Až budete mít web na produkčním prostředí (tzn. na finální doméně), aktivace bezpečnostního pluginu je první krok.

Za sebe mohu doporučit WordFence, který kontroluje pluginy, WordPress a různé verze souborů v jádru. Pokud se liší, dá okamžitě vědět. Pokud se tam vyskytuje soubor, který na daném místě nemá co dělat, víte to ihned. Má i další funkce jako fail2ban (po X pokusech zablokuje uživatele), whitelist různých funkcí (pokud nějaká akce webu není prokazatelně validní, radši zablokuje) a plno dalších vychytávek.

Zablokování funkcí a průběhu událostí je běžná věc. WordFence vás informuje a pokud danou akci spustíte vy (nebo jiný admin), máte možnost ji povolit a přidat do onoho whitelistu.

Dalším krokem, který ovšem probíhá nonstop, je výběr a ověřování pluginů. Některé menší i větší mají chyby, a proto je jasné doporučení:

Vybírejte obezřetně. Placené pluginy lze těžko ověřit oproti těm v repozitáři wordpress.org. Vždy koukejte na hodnocení, odpovědi na dotazy a poslední aktualizaci.

Velmi zvažte každý plugin, který má být na vašem webu nasazen. Data, která každý plugin s sebou nosí, se postupně budou kupit s dalšími.

Šablony

U šablon je to v podstatě to samé v bledě modrém. Akorát je zde navíc důležitá i životnost a funkce, protože na šabloně stojí celý web. Vybírejte středně staré (max rok zpět) a hlavně pravidelně aktualizované. Co se týká placených šablon, s nimi je vždy těžké počínání.

Nikdy totiž nelze říci, jakou šablonu zvolit. Je to téměř nemožné. Prakticky je to šance 50/50, že učiníte dobrý nákup.

Aktualizace

Ať už půjdete cestou placených pluginů, šablon, nebo všeho zdarma, důležité je vždy jedno. Aktualizujte. Často, vždy a vše. Pokud měsíc nebudete aktualizovat, můžete stát, že se přehodil systém ukládání dat a web padne. A pak už vás zachrání jen odborná pomoc.

Nutno dodat, že toto se často nestává. Ale při správě velkých webů je každá aktualizace utrpení, protože spoléháte, že 3. strana odvedla svou práci dobře.

Závěr

Závěrem tedy mohu říci jen toto: aktualizujte, pečlivě vybírejte a volte silná hesla. Vše popsané výše je minimální snaha, s níž ale máte obrovskou šanci nezabřednout do problémů, o nichž se dá běžně přečíst v článcích s názvem “Proč nevolit WordPress a jeho problémy”.

Každá z rad výše zabere 5 minut času a zachrání hodiny a hodiny obnovování souborů a databáze.

To je pro dnešní lekci vše.

Kdo stojí za článkem?

Ahoj, jmenuji se Pavel Mareš a od roku 2012 pracuji v digitálním prostředí. Prošel jsem si kódováním, vývojem webů, grafikou a v tuto chvíli pomáhám svým klientům tvořit kvalitní stránky na míru.

Nabízím služby - UX, UI (grafika), kódování (Gulp, SASS, HTML5, CSS3, JS) a nasazení webu na WordPress (vlastní šablony). Můžete se podívat na mé reference.

Rychlý kontakt: +420 776 256 020 / info@mares-pavel.cz

V příštím díle, Optimalizace a cache, se podíváme na optimalizaci a cache.


 

Předchozí článek
Nový editor Gutenberg vs starý TinyMCE
Všechny články v sekci
WordPress - Tvorba webů snadno a rychle
Článek pro vás napsal Pavel Mareš
Avatar
Jak se ti líbí článek?
1 hlasů
Autor se věnuje tvorbě webových prezentací na míru
Aktivity (5)

 

 

Komentáře

Avatar
davmysak
Člen
Avatar
davmysak:3. dubna 8:27

Čau, nějak ti zde uniklo, že získat všechna uživatelská jména z Wordpress lze přes jeho REST API do 5 vteřin, a to ve výchozím nastavení. Je to normální chování, a Wordpress vývojáři se k tomu staví tak, že pokud máte dostatečně dobré heslo, nastavené omezení pokusů o přihlášení, či možnost loginu jen z definovaných IP, ani nedoporučují tento endopoint, který vrací uživatelská jména, zakazovat (nicméně zakázat to jde).

Reference k API https://developer.wordpress.org/…rence/users/

Přístup k uživatelských jménům lze pak přes tento endpoint exapmle.com/wp-json/wp/v2/users

Jak postupovat při implementaci zákazu (zda je vůbec potřebný, já toto chování nevypínám, často přes REST k těmto údajům přistupuji přes public requesty, a uživatelům zakazuji slabá hesla).

https://maintainsupportprotect.com/…rdpress-4-7/
nebo
https://www.wordfence.com/…-api-wp-4-7/

V praxi pak https://sklepnavyhlidce.cz/…/wp/v2/users resp. https://sklepnavyhlidce.cz/…p/v2/users/1

Ale jak jsem napsal, sami vývojáři WP doporučují nechávat toto chování ve výchozím nastavení, samozřejmě za předpokladu, že dodržíte základní pravidla pro složitost hesla a nastavíte limit pokusů o přístupy.

 
Odpovědět
3. dubna 8:27
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Pavel Mareš
Redaktor
Avatar
Odpovídá na davmysak
Pavel Mareš:3. dubna 8:58

Neuniklo, záměrně jsem vynechal, protože to pro bezpečnost WordPress webů pro 99.9 % uživatelů nemá význam řešit.

Samozřejmě díky za doplnění, ale takhle bych mohl vypsat dalších 10 cest jak získat seznamy uživatelů nebo jak na exploit loginu a registrace.

Samotné API by pak vyžadovalo vlastní článek, protože je to z mého pohledu zajímavý téma. Ale tyhle články mají nějaké zaměření a nerad bych sem tahal informace, který většina uživatelů nevyužije.

Odpovědět
3. dubna 8:58
Však ono půjde ...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.