SlideShare a Scribd company logo
1 of 51
http://lynt.cz
Bezpečnost WordPressu
pro začátečníky
Vláďa Smitka
vladimir.smitka@lynt.cz
@smitka
Lynt services s.r.o. @LyntCz
13. 6. 2015 1
http://lynt.cz13. 6. 2015 2
Síťová infrastruktura
• Servery
• Firewally
• WiFi
• …
Webová řešení
• Informační systémy
• Webové stránky
• E-shopy
On-line marketing
• PPC
• Analytika
• SEO
Jakub Kašparů
Právě teď přednáší na
BarCampu v Českých
Budějovicích o
systému práce s PPC
Vláďa Smitka
14 let v sítích a
webovém vývoji
http://lynt.cz
Minislovníček
HTTP – protokol, který přenáší obsah stránek, požadavek - odpověď
HTTPS – HTTP přenášené šifrovaně s SSL certifikátem (brání odposlechnutí komunikace)
PHP – programovací jazyk, který generuje stránku na serveru
MySQL – databázový systém, jsou zde uloženy nastavení webu a jeho obsah (články)
JavaScript – programovací jazyk, který běží v prohlížeči (jsou v něm dělány např. různé efekty)
AJAX – funkcionalita JavaScriptu, která umožňuje komunikaci se serverem bez přenačtení
stránky, často je zneužitá k útokům
.htaccess – soubor, ve kterém lze upravit vlastnosti webového serveru (např. zakázat přístup
ke konkrétním souborům, přesměrovávat, nastavovat PHP), úpravy mohou znefunkčnit web
wp-config.php – soubor, ve kterém je uloženo základní nastavení WP (připojení k databázi,
šifrovací klíče, adresa stránek), častý cíl hackerů
Query parameter – část adresy za ? - http://můj-webík.cz/?page_id=2 – aplikaci se tak
předávají různé parametry, lze je zneužít, pokud není aplikace dobře napsána
SQL injection (SQLi) – typ útoku, který pozmění dotaz do databáze a získá tak citlivé
informace
XSS – typ útoku, který umožní na stránce spustit cizí JavaScript (například přes komentáře)
CSRF – typ útoku, který prostřednictvím uživatele vykoná požadavek pocházející z cizího
zdroje (donutí uživatele kliknout na odkaz, který vede do administrace a tam něco provede)
13. 6. 2015 3
http://lynt.cz
Na co se dnes podíváme?
• Uživatelská práva ve WP
• Zjednodušení aktualizace
• Bezpečnostní plugin WordFence
• Zálohovací plugin BackWPup
• Co udělat po útoku?
„Každý bude dříve či později řešit bezpečnostní
incident, je dobré být připraven!“
• Budu se snažit neupravovat soubory WordPressu a
.htaccess
13. 6. 2015 4
http://lynt.cz
Checklist – co potřebujeme
• Nastavit správná práva uživatelům
• Silná hesla
• Odstranění zbytečností
• Blokace spamu
• Omezení chybných přihlášení (Brute force)
• Informace o aktualizacích a problémech
• Blokace známých útoků
• Zálohování
13. 6. 2015 5
http://lynt.cz
Kdo tvořil web před 5 lety?
13. 6. 2015 6
http://lynt.cz
Kdo tvoří web dnes?
13. 6. 2015 7
http://lynt.cz
Uživatelé
13. 6. 2015 8
Vyčítání uživatelských jmen:
http://naswp.cz/?author=2 => http://naswp.cz/author/bigdrobek/
???!!
Lákavý
cíl Potřebuje
admin práva?
Zřejmě
nepoužívaný
Používejte reálná
jména, ať víte kdo
uživatelé opravdu jsou.
http://lynt.cz
Práva uživatelů
13. 6. 2015 9
• Návštěvník (Subscriber)
– Může pouze číst obsah, editovat svůj profil. Má jednodušší práci s komentáři.
• Spolupracovník (Contributor)
– Může psát nové příspěvky, ale publikovat je může až Admin nebo Šéfredaktor.
Nemá přístup do galerie médií (může ale vkládat obrázky z externích zdrojů) –
guest blogging.
• Redaktor (Author)
– Může spravovat své příspěvky včetně správy komentářů, nahrávat soubory do
galerie médií. Nemůže pracovat se stránkami.
• Šéfredaktor (Editor)
– Může spravovat veškerý obsah – příspěvky, stránky, komentáře, kategorie, v
jeho komentářích může být javascript.
• Administrátor (Administrator)
– Může spravovat vše – obsah, pluginy, šablony, widgety.
• SuperAdministrátor (pro WP multisite) – spravuje síť webů
http://lynt.cz
Jak přejmenovat uživatele admin
1. Vytvořit nového
uživatele s právy
Administrátora
2. Přihlásit se na nového
uživatele
3. Smazat původního
uživatele admin
4. Příspěvky přesunout
pod nového uživatele
13. 6. 2015 10
http://lynt.cz
Hesla
1. admin
2. heslo
3. karel91
4. Admin1234
5. mamradsvickovouomackusknedlikem
6. 2dfsg*jrkKR!R6Htt5Kh
13. 6. 2015 11
Používejte správce
hesel – silnější hesla s
menším úsilím.
http://lynt.cz
Správce hesel
13. 6. 2015 12
KeePass
http://keepass.info/
http://lynt.cz
Správce hesel
13. 6. 2015 13
Alternativa:
LastPass
https://lastpass.com/cs/
http://lynt.cz
Přihlašování
• Nepřipojovat se z neznámých sítí (pokud máte v
mobilu, tabletu, notebooku uložené sítě, kam se lze
připojit bez hesla, smažte je!)
• Omezení počtu pokusů (probereme později)
• HTTPS - https://wordpress.org/plugins/wordpress-https/
• Omezení přístupu k /wp-login.php,
nebo /wp-admin (je však potřeba
udělat výjimky pro admin-ajax.php
a admin-post.php)
13. 6. 2015 14
Do .htaccess:
<Files wp-login.php>
Order Deny,Allow
Deny from All
Allow from x.x.x.x
</Files>
http://mojeip.cz
http://lynt.cz
Cut the crap!
13. 6. 2015 15
http://můj-webík.cz/?p=1 => Ahoj všichni! - povolené komentáře!
http://můj-webík.cz/?p=2 => Zkušební stránka – povolené komentáře!
http://lynt.cz
Cut the crap!
13. 6. 2015 16
Pluginy:
- Potřebuji neaktivní pluginy? (mohou obsahovat chyby)
- Potřebuji opravdu všechny aktivní pluginy? Vím, co dělají? Nejsou duplicitní?
Šablony:
- Vhodné nechat jen aktivní šablonu a jednu základní (např. twenty fifteen)
- Při odstraňování pozor na zděděné šablony (child themes), je třeba ponechat
rodičovskou
- Podrobnosti šablony:
Nejste si jisti, co jaký
plugin dělá? Zeptejte se
svého vývojáře
http://lynt.cz
Co mohou externí uživatelé?
Registrovat se?
Nastavení – Obecné:
13. 6. 2015 17
Vkládat komentáře?
Nastavení – Komentáře:
Změna se neaplikuje na již vytvořené stránky a příspěvky! (Ahoj všichni!, Zkušební stránka)
http://lynt.cz
Hromadné zakázání
komentářů u existujícího obsahu
13. 6. 2015 18
http://lynt.cz
Já ale komentáře chci!
• Schvalování
• AntiSpam plugin
– Akismet – provádí analýzu obsahu příspěvku (pro
nekomerční použití za libovolný poplatek – i nulový)
– NoSpamNX – přidává do formuláře nástrahy
• Kontrola, zda byl komentář opravdu vložen ze stránek
– Umí různé bezpečnostní pluginy, ukážeme si dále
13. 6. 2015 19
Externí řešení např. https://disqus.com/
http://lynt.cz
Aktualizace
„Aktualizace jsou u opensource řešení zásadní“
Jádro – aktualizuje se automaticky v minoritních verzích (např. 4.2.x),
většinou bez problémů. Major verze je třeba aktualizovat ručně (lze to
nechat ale i na automatice).
Jakou verzi používám? Vhodné verze: 4.2.2, 4.1.5., 4.0.5, 3.9.5 (3.8.8, 3.7.8). V patičce v administraci:
Pluginy – kvalita je různá, často obsahují bezpečnostní chyby, lze
updatovat automaticky, ale je riziko, že něco fungovat nebude.
Šablony – problém s aktualizací, pokud se dělají úpravy v originální
šabloně => child themes; některé prémiové obsahují další pluginy!
13. 6. 2015 20
http://lynt.cz
Jak si zjednodušit aktualizaci
• Notifikace o dostupných aktualizacích na mail:
– WP Updates Notifier
– Funkce bezpečnostních pluginů (např. WordFence)
• Hromadná správa
– ManageWP – základní verze do 5 stránek zdarma
– WP Remote – méně funkcí, zdarma neomezeně
– iThemes Sync – do 10 stránek zdarma
– InfiniteWP – řešení na vlastním serveru
13. 6. 2015 21
http://lynt.cz
WP Updates Notifier
13. 6. 2015 22
Nastavení – Updates notifier
(základní nastavení je ok)
http://lynt.cz
Checklist – co potřebujeme
Nastavit správná práva uživatelům
Silná hesla
Odstranění zbytečností
Blokace spamu
• Omezení chybných přihlášení (Brute force)
• Informace o aktualizacích a problémech
• Blokace známých útoků
• Zálohování
13. 6. 2015 23
http://lynt.cz
Tipy pro pluginy a šablony
• Používat pouze ověřené zdroje - wordpress.org, codecanyon, themeforest
(nikdy torrent, uloz.to a podobné, warez fóra, nulled plugins)
• Neupravovat šablony přímo – použít child theme nebo změny provést ve
vlastním pluginu
• Ověřit, zda nemám známé zranitelné pluginy:
– https://wordpress.org/plugins/plugin-vulnerabilities/
13. 6. 2015 24
http://lynt.cz
Bezpečnostní plugin
13. 6. 2015 25
https://wordpress.org/plugins/wordfence/
http://lynt.cz
WordFence – po instalaci
13. 6. 2015 26
Level 2: začne posílat více upozornění, snižují se limity chybných přihlášení
Level 3: začínají se uplatňovat omezení provozu
Level 4: okamžitě blokuje neplatná jména
http://lynt.cz
WordFence – Live Traffic
13. 6. 2015 27
http://lynt.cz
WordFence – detekce změn
13. 6. 2015 28
http://lynt.cz
WordFence - notifikace
13. 6. 2015 29
Mohou to zkoušet útočníci,
kteří získali přístup k mailu
uživatele.
Čím více reálný uživatel
hesla zapomíná, tím
jednodušší nová nastavuje.
http://lynt.cz
WordFence - notifikace
13. 6. 2015 30
Přihlásil se někdo s administrátorským přístupem:
This email was sent from your website "#### " by the Wordfence plugin at Tuesday 9th of June 2015 at
08:46:14 AM
The Wordfence administrative URL for this site is: https://####.eu/wp-admin/admin.php?page=Wordfence
A user with username "####" who has administrator access signed in to your WordPress site.
User IP: ##.##.##.##
User hostname: ####
User location: Pilsen, Czech Republic
Je dostupný update:
This email was sent from your website „####" by the Wordfence plugin.
Wordfence found the following new issues on "####".
Alert generated at Wednesday 3rd of June 2015 at 05:40:42 PM
Critical Problems:
* The Plugin "ManageWP - Worker" needs an upgrade.
Změnil se soubor:
This email was sent from your website "####" by the Wordfence plugin.
Wordfence found the following new issues on "####".
Alert generated at Wednesday 27th of May 2015 at 01:47:13 PM
Warnings:
* Modified plugin file: wp-content/plugins/block-bad-queries/block-bad-queries.php
http://lynt.cz
WordFence – omezování provozu
13. 6. 2015 31
Bezpečné intervaly pro většinu použití, lze zpřísňovat
http://lynt.cz
WordFence – bezpečnost přihlášení
13. 6. 2015 32
http://lynt.cz
WordFence – další nastavení
13. 6. 2015 33
http://mojeip.cz
http://lynt.cz
WordFence – další nastavení
13. 6. 2015 34
http://lynt.cz
WordFence Premium – Country blocking
13. 6. 2015 35
http://lynt.cz
BBQ: Bad Block Queries
• WordFence poskytuje aktivní ochranu a
blokuje nevhodné chování
• Jako prevenci lze přidat i blokaci dotazů, které
se často používají k útokům
• https://wordpress.org/plugins/block-bad-
queries/
• Malý plugin bez konfigurace
• Doplněk pro vyladění - https://github.com/LyntServices/bbq-gui
13. 6. 2015 36
http://lynt.cz
Zálohování
„Zálohování je alfou a omegou práce na počítači“
13. 6. 2015 37
• Zálohování poskytuje většina webhosterů v rámci webhostingu.
• Je vhodné ale mít vlastní systém záloh.
• Ruční zálohování: zkopírování obsahu FTP a export databáze.
• Zálohování pluginem
• Lze nastavit pravidelné automatické zálohování
• BackWPup, BackupBuddy
Zjistěte si od svého
webhostera, jak řeší
zálohování.
http://lynt.cz
Zálohovací plugin BackWPup
13. 6. 2015 38
https://wordpress.org/plugins/backwpup/
Čeština: https://github.com/lynt-smitka/BackWPup-CZ
http://lynt.cz
Nastavení BackWPup
13. 6. 2015 39
http://lynt.cz
Nastavení BackWPup
13. 6. 2015 40
http://lynt.cz
Nastavení BackWPup
13. 6. 2015 41
Kam zálohovat?
Do složky na serveru
- Ztracením přístupu přijdu i o zálohy
- Je třeba ošetřit, aby se k souboru
zálohy nikdo nedostal
Emailem
- Pokud se mi někdo nabourá do
mailu, získá zálohy
- Přenáší se nezabezpečeně
FTP
- Měl by se použít vyhrazený FTP
účet jen pro tento účel (heslo je
uložené ve WP)
- Přenáší se nezabezpečeně
Externí služby (Dropbox)
- Dobrá volba
- Opět je třeba zajistit, aby uložiště
bylo pouze k jednomu účelu
(Dropbox app – přistup pouze do
jedné složky)
http://lynt.cz
Nastavení BackWPup
13. 6. 2015 42
Jak často zálohovat?
Je vhodné mít zálohy minimálně
měsíc zpětně => je třeba zvolit
interval podle velikosti úložiště.
Denním zálohováním by tedy mělo
být uloženo alespoň 30 záloh, nebo
týdenním alespoň 4 zálohy.
Dobrá metoda je nastavit více úloh:
1. Denní zálohu DB
2. Týdenní zálohu souborů
Jak zálohu spuštět?
WP-cron – funguje pouze když je na
webu návštěvnost.
Speciální odkaz – lze vložit do cron
na serveru nebo využít službu typu
https://www.easycron.com
=> Je jistota, že se záloha provede
http://lynt.cz
Nastavení BackWPup
13. 6. 2015 43
_wfX - tabulky WordFence,
mimo _wfConfig není třeba
zálohovat
http://lynt.cz
Nastavení BackWPup
13. 6. 2015 44
Zde je možné zašrtnout
např. složky cache pluginů:
wfcache
cache
w3tc
http://lynt.cz
Nastavení BackWPup
13. 6. 2015 45
Ušetří trochu místa, po
obnově je třeba
přegenerovat náhledy:
https://wordpress.org/plugi
ns/regenerate-thumbnails/
http://lynt.cz
Nastavení BackWPup
13. 6. 2015 46
Nastavit vhodný počet záloh
dle dostupné velikosti a
intervalu záloh
http://lynt.cz
Nastavení BackWPup
13. 6. 2015 47
Nechceme zpřístupnit celý
náš Dropbox, využijeme App
http://lynt.cz
Checklist – co potřebujeme
Nastavit správná práva uživatelům
Silná hesla
Odstranění zbytečností
Blokace spamu
Omezení chybných přihlášení (Brute force)
Informace o aktualizacích a problémech
Blokace známých útoků
Zálohování
13. 6. 2015 48
http://lynt.cz
Co udělat po útoku?
• Obnova ze zálohy (smazat infikovaný web a DB)
• Odstranění příčiny (často aktualizace)
• Změna hesla na FTP
• Změna hesla do DB
• Změna hesel uživatelů
• Nové šifrovací klíče do wp-config.php:
https://api.wordpress.org/secret-key/1.1/salt/
• Kontrola souborů pluginem (Wordfence, Sucuri
Scanner)
13. 6. 2015 49
http://lynt.cz
Co udělat zítra?
□ Zkontrolovat práva uživatelů
□ Zkontrolovat, zda nemám zranitelné pluginy
□ Smazat pluginy, co nepoužívám/byly jen k
jednorázové činnosti
□ Smazat zbytečné šablony (nechat jen jednu
výchozí z instalace a případně rodičovskou)
□ Aktualizovat, co lze
□ Zazálohovat
13. 6. 2015 50
http://lynt.cz
A to je vše, přátelé.
13. 6. 2015 51
Přečtěte si, jak je na tom WordPress v České republice:
http://lynt.cz/blog/wordpress-v-cz-velky-pruzkum
Podívejte se na mé předchozí přednášky o bezpečnosti:
http://edu.lynt.cz/

More Related Content

What's hot

What's hot (20)

WP výkon a jeho profilování
WP výkon a jeho profilováníWP výkon a jeho profilování
WP výkon a jeho profilování
 
Wordfence 2016
Wordfence 2016Wordfence 2016
Wordfence 2016
 
Základní pluginy pro WordPress
Základní pluginy pro WordPressZákladní pluginy pro WordPress
Základní pluginy pro WordPress
 
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
 
Instalace WordPress
Instalace WordPressInstalace WordPress
Instalace WordPress
 
Sysops tipy pro lepší WP
Sysops tipy pro lepší WPSysops tipy pro lepší WP
Sysops tipy pro lepší WP
 
Najčastejšie problémy WordPress webov
Najčastejšie problémy WordPress webovNajčastejšie problémy WordPress webov
Najčastejšie problémy WordPress webov
 
Google Tag Manager a analytika ve WordPress
Google Tag Manager a analytika ve WordPressGoogle Tag Manager a analytika ve WordPress
Google Tag Manager a analytika ve WordPress
 
Wordpress_DOD
Wordpress_DODWordpress_DOD
Wordpress_DOD
 
WordCamp Bratislava 2019 - Cache!
WordCamp Bratislava 2019 - Cache!WordCamp Bratislava 2019 - Cache!
WordCamp Bratislava 2019 - Cache!
 
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
WordPress šablony a  rychlost načítání (WordCamp Praha 2017)WordPress šablony a  rychlost načítání (WordCamp Praha 2017)
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
 
Hesla a vícefaktorová autentizace ve WP
Hesla a vícefaktorová autentizace ve WPHesla a vícefaktorová autentizace ve WP
Hesla a vícefaktorová autentizace ve WP
 
WP Weekend 2018
WP Weekend 2018WP Weekend 2018
WP Weekend 2018
 
Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016Základní pluginy pro WordPress 25-6-2016
Základní pluginy pro WordPress 25-6-2016
 
Webmeetup #3
Webmeetup #3Webmeetup #3
Webmeetup #3
 
Jak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webuJak zlepšit zabezpečení čtvrtiny celého webu
Jak zlepšit zabezpečení čtvrtiny celého webu
 
Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)
 
Drobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vazDrobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vaz
 
Co musíte udělat po instalaci WordPressu?, Vlastimil Ott
Co musíte udělat po instalaci WordPressu?, Vlastimil OttCo musíte udělat po instalaci WordPressu?, Vlastimil Ott
Co musíte udělat po instalaci WordPressu?, Vlastimil Ott
 
WordPress ve školském prostředí
WordPress ve školském prostředíWordPress ve školském prostředí
WordPress ve školském prostředí
 

Similar to Bezpečnost WordPress pro začátečníky

20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
Jiří Mareš
 
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011
Jan Mittner
 
06 prez2(tvorba webu)
06 prez2(tvorba webu)06 prez2(tvorba webu)
06 prez2(tvorba webu)
olc_user
 
Webový front-end ve službách mobilního vývojáře
Webový front-end  ve službách mobilního  vývojáře Webový front-end  ve službách mobilního  vývojáře
Webový front-end ve službách mobilního vývojáře
Martin Michálek
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
Pavel Růžička
 

Similar to Bezpečnost WordPress pro začátečníky (20)

Wordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentaceWordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentace
 
Pavel Ondřej: WordPress z pohledu hostingového poskytovatele
Pavel Ondřej: WordPress z pohledu hostingového poskytovatelePavel Ondřej: WordPress z pohledu hostingového poskytovatele
Pavel Ondřej: WordPress z pohledu hostingového poskytovatele
 
Přístupnost a slabiny WWW stránek obcí
Přístupnost a slabiny WWW stránek obcíPřístupnost a slabiny WWW stránek obcí
Přístupnost a slabiny WWW stránek obcí
 
10 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 2014
10 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 201410 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 2014
10 tipů pro lepší zabezpečení WordPressu - 2. Wordpress konference Hluboká 2014
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webů
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
 
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011
 
TNPW2-2016-05
TNPW2-2016-05TNPW2-2016-05
TNPW2-2016-05
 
Proč je WordPress tak populární? Vlastimil Ott
Proč je WordPress tak populární? Vlastimil OttProč je WordPress tak populární? Vlastimil Ott
Proč je WordPress tak populární? Vlastimil Ott
 
Zabezpečení Slevomatu
Zabezpečení SlevomatuZabezpečení Slevomatu
Zabezpečení Slevomatu
 
06 prez2(tvorba webu)
06 prez2(tvorba webu)06 prez2(tvorba webu)
06 prez2(tvorba webu)
 
WordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin HlaváčWordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin Hlaváč
 
TNPW2-2011-04
TNPW2-2011-04TNPW2-2011-04
TNPW2-2011-04
 
Webový front-end ve službách mobilního vývojáře
Webový front-end  ve službách mobilního  vývojáře Webový front-end  ve službách mobilního  vývojáře
Webový front-end ve službách mobilního vývojáře
 
Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojáře
Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojářeRychlejší web snadno a rychle: Nové technologie a nástroje pro vývojáře
Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojáře
 
Rizika použití WordPressu
Rizika použití WordPressuRizika použití WordPressu
Rizika použití WordPressu
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
 
TNPW2-2014-05
TNPW2-2014-05TNPW2-2014-05
TNPW2-2014-05
 
KeePass: Základy, pokročilé využití a KeePass Enterprise (čtvrtek, 14.4.2022)
KeePass: Základy, pokročilé využití a KeePass Enterprise (čtvrtek, 14.4.2022)KeePass: Základy, pokročilé využití a KeePass Enterprise (čtvrtek, 14.4.2022)
KeePass: Základy, pokročilé využití a KeePass Enterprise (čtvrtek, 14.4.2022)
 
KeePass: Využití ve firmách a KeePass Enterprise (čtvrtek, 28.7.2022)
KeePass: Využití ve firmách a KeePass Enterprise (čtvrtek, 28.7.2022)KeePass: Využití ve firmách a KeePass Enterprise (čtvrtek, 28.7.2022)
KeePass: Využití ve firmách a KeePass Enterprise (čtvrtek, 28.7.2022)
 

More from Vladimír Smitka

More from Vladimír Smitka (9)

Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?
 
Http/2 vs Image Sprites
Http/2 vs Image SpritesHttp/2 vs Image Sprites
Http/2 vs Image Sprites
 
Ansible
AnsibleAnsible
Ansible
 
WordPress Security: Defend yourself against digital invaders
WordPress Security:Defend yourself against digital invadersWordPress Security:Defend yourself against digital invaders
WordPress Security: Defend yourself against digital invaders
 
WordPress performance tuning
WordPress performance tuningWordPress performance tuning
WordPress performance tuning
 
WordPress security for everyone
WordPress security for everyoneWordPress security for everyone
WordPress security for everyone
 
České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)
 
Dijskrův algoritmus
Dijskrův algoritmusDijskrův algoritmus
Dijskrův algoritmus
 
Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014
 

Bezpečnost WordPress pro začátečníky

  • 1. http://lynt.cz Bezpečnost WordPressu pro začátečníky Vláďa Smitka vladimir.smitka@lynt.cz @smitka Lynt services s.r.o. @LyntCz 13. 6. 2015 1
  • 2. http://lynt.cz13. 6. 2015 2 Síťová infrastruktura • Servery • Firewally • WiFi • … Webová řešení • Informační systémy • Webové stránky • E-shopy On-line marketing • PPC • Analytika • SEO Jakub Kašparů Právě teď přednáší na BarCampu v Českých Budějovicích o systému práce s PPC Vláďa Smitka 14 let v sítích a webovém vývoji
  • 3. http://lynt.cz Minislovníček HTTP – protokol, který přenáší obsah stránek, požadavek - odpověď HTTPS – HTTP přenášené šifrovaně s SSL certifikátem (brání odposlechnutí komunikace) PHP – programovací jazyk, který generuje stránku na serveru MySQL – databázový systém, jsou zde uloženy nastavení webu a jeho obsah (články) JavaScript – programovací jazyk, který běží v prohlížeči (jsou v něm dělány např. různé efekty) AJAX – funkcionalita JavaScriptu, která umožňuje komunikaci se serverem bez přenačtení stránky, často je zneužitá k útokům .htaccess – soubor, ve kterém lze upravit vlastnosti webového serveru (např. zakázat přístup ke konkrétním souborům, přesměrovávat, nastavovat PHP), úpravy mohou znefunkčnit web wp-config.php – soubor, ve kterém je uloženo základní nastavení WP (připojení k databázi, šifrovací klíče, adresa stránek), častý cíl hackerů Query parameter – část adresy za ? - http://můj-webík.cz/?page_id=2 – aplikaci se tak předávají různé parametry, lze je zneužít, pokud není aplikace dobře napsána SQL injection (SQLi) – typ útoku, který pozmění dotaz do databáze a získá tak citlivé informace XSS – typ útoku, který umožní na stránce spustit cizí JavaScript (například přes komentáře) CSRF – typ útoku, který prostřednictvím uživatele vykoná požadavek pocházející z cizího zdroje (donutí uživatele kliknout na odkaz, který vede do administrace a tam něco provede) 13. 6. 2015 3
  • 4. http://lynt.cz Na co se dnes podíváme? • Uživatelská práva ve WP • Zjednodušení aktualizace • Bezpečnostní plugin WordFence • Zálohovací plugin BackWPup • Co udělat po útoku? „Každý bude dříve či později řešit bezpečnostní incident, je dobré být připraven!“ • Budu se snažit neupravovat soubory WordPressu a .htaccess 13. 6. 2015 4
  • 5. http://lynt.cz Checklist – co potřebujeme • Nastavit správná práva uživatelům • Silná hesla • Odstranění zbytečností • Blokace spamu • Omezení chybných přihlášení (Brute force) • Informace o aktualizacích a problémech • Blokace známých útoků • Zálohování 13. 6. 2015 5
  • 6. http://lynt.cz Kdo tvořil web před 5 lety? 13. 6. 2015 6
  • 7. http://lynt.cz Kdo tvoří web dnes? 13. 6. 2015 7
  • 8. http://lynt.cz Uživatelé 13. 6. 2015 8 Vyčítání uživatelských jmen: http://naswp.cz/?author=2 => http://naswp.cz/author/bigdrobek/ ???!! Lákavý cíl Potřebuje admin práva? Zřejmě nepoužívaný Používejte reálná jména, ať víte kdo uživatelé opravdu jsou.
  • 9. http://lynt.cz Práva uživatelů 13. 6. 2015 9 • Návštěvník (Subscriber) – Může pouze číst obsah, editovat svůj profil. Má jednodušší práci s komentáři. • Spolupracovník (Contributor) – Může psát nové příspěvky, ale publikovat je může až Admin nebo Šéfredaktor. Nemá přístup do galerie médií (může ale vkládat obrázky z externích zdrojů) – guest blogging. • Redaktor (Author) – Může spravovat své příspěvky včetně správy komentářů, nahrávat soubory do galerie médií. Nemůže pracovat se stránkami. • Šéfredaktor (Editor) – Může spravovat veškerý obsah – příspěvky, stránky, komentáře, kategorie, v jeho komentářích může být javascript. • Administrátor (Administrator) – Může spravovat vše – obsah, pluginy, šablony, widgety. • SuperAdministrátor (pro WP multisite) – spravuje síť webů
  • 10. http://lynt.cz Jak přejmenovat uživatele admin 1. Vytvořit nového uživatele s právy Administrátora 2. Přihlásit se na nového uživatele 3. Smazat původního uživatele admin 4. Příspěvky přesunout pod nového uživatele 13. 6. 2015 10
  • 11. http://lynt.cz Hesla 1. admin 2. heslo 3. karel91 4. Admin1234 5. mamradsvickovouomackusknedlikem 6. 2dfsg*jrkKR!R6Htt5Kh 13. 6. 2015 11 Používejte správce hesel – silnější hesla s menším úsilím.
  • 12. http://lynt.cz Správce hesel 13. 6. 2015 12 KeePass http://keepass.info/
  • 13. http://lynt.cz Správce hesel 13. 6. 2015 13 Alternativa: LastPass https://lastpass.com/cs/
  • 14. http://lynt.cz Přihlašování • Nepřipojovat se z neznámých sítí (pokud máte v mobilu, tabletu, notebooku uložené sítě, kam se lze připojit bez hesla, smažte je!) • Omezení počtu pokusů (probereme později) • HTTPS - https://wordpress.org/plugins/wordpress-https/ • Omezení přístupu k /wp-login.php, nebo /wp-admin (je však potřeba udělat výjimky pro admin-ajax.php a admin-post.php) 13. 6. 2015 14 Do .htaccess: <Files wp-login.php> Order Deny,Allow Deny from All Allow from x.x.x.x </Files> http://mojeip.cz
  • 15. http://lynt.cz Cut the crap! 13. 6. 2015 15 http://můj-webík.cz/?p=1 => Ahoj všichni! - povolené komentáře! http://můj-webík.cz/?p=2 => Zkušební stránka – povolené komentáře!
  • 16. http://lynt.cz Cut the crap! 13. 6. 2015 16 Pluginy: - Potřebuji neaktivní pluginy? (mohou obsahovat chyby) - Potřebuji opravdu všechny aktivní pluginy? Vím, co dělají? Nejsou duplicitní? Šablony: - Vhodné nechat jen aktivní šablonu a jednu základní (např. twenty fifteen) - Při odstraňování pozor na zděděné šablony (child themes), je třeba ponechat rodičovskou - Podrobnosti šablony: Nejste si jisti, co jaký plugin dělá? Zeptejte se svého vývojáře
  • 17. http://lynt.cz Co mohou externí uživatelé? Registrovat se? Nastavení – Obecné: 13. 6. 2015 17 Vkládat komentáře? Nastavení – Komentáře: Změna se neaplikuje na již vytvořené stránky a příspěvky! (Ahoj všichni!, Zkušební stránka)
  • 18. http://lynt.cz Hromadné zakázání komentářů u existujícího obsahu 13. 6. 2015 18
  • 19. http://lynt.cz Já ale komentáře chci! • Schvalování • AntiSpam plugin – Akismet – provádí analýzu obsahu příspěvku (pro nekomerční použití za libovolný poplatek – i nulový) – NoSpamNX – přidává do formuláře nástrahy • Kontrola, zda byl komentář opravdu vložen ze stránek – Umí různé bezpečnostní pluginy, ukážeme si dále 13. 6. 2015 19 Externí řešení např. https://disqus.com/
  • 20. http://lynt.cz Aktualizace „Aktualizace jsou u opensource řešení zásadní“ Jádro – aktualizuje se automaticky v minoritních verzích (např. 4.2.x), většinou bez problémů. Major verze je třeba aktualizovat ručně (lze to nechat ale i na automatice). Jakou verzi používám? Vhodné verze: 4.2.2, 4.1.5., 4.0.5, 3.9.5 (3.8.8, 3.7.8). V patičce v administraci: Pluginy – kvalita je různá, často obsahují bezpečnostní chyby, lze updatovat automaticky, ale je riziko, že něco fungovat nebude. Šablony – problém s aktualizací, pokud se dělají úpravy v originální šabloně => child themes; některé prémiové obsahují další pluginy! 13. 6. 2015 20
  • 21. http://lynt.cz Jak si zjednodušit aktualizaci • Notifikace o dostupných aktualizacích na mail: – WP Updates Notifier – Funkce bezpečnostních pluginů (např. WordFence) • Hromadná správa – ManageWP – základní verze do 5 stránek zdarma – WP Remote – méně funkcí, zdarma neomezeně – iThemes Sync – do 10 stránek zdarma – InfiniteWP – řešení na vlastním serveru 13. 6. 2015 21
  • 22. http://lynt.cz WP Updates Notifier 13. 6. 2015 22 Nastavení – Updates notifier (základní nastavení je ok)
  • 23. http://lynt.cz Checklist – co potřebujeme Nastavit správná práva uživatelům Silná hesla Odstranění zbytečností Blokace spamu • Omezení chybných přihlášení (Brute force) • Informace o aktualizacích a problémech • Blokace známých útoků • Zálohování 13. 6. 2015 23
  • 24. http://lynt.cz Tipy pro pluginy a šablony • Používat pouze ověřené zdroje - wordpress.org, codecanyon, themeforest (nikdy torrent, uloz.to a podobné, warez fóra, nulled plugins) • Neupravovat šablony přímo – použít child theme nebo změny provést ve vlastním pluginu • Ověřit, zda nemám známé zranitelné pluginy: – https://wordpress.org/plugins/plugin-vulnerabilities/ 13. 6. 2015 24
  • 25. http://lynt.cz Bezpečnostní plugin 13. 6. 2015 25 https://wordpress.org/plugins/wordfence/
  • 26. http://lynt.cz WordFence – po instalaci 13. 6. 2015 26 Level 2: začne posílat více upozornění, snižují se limity chybných přihlášení Level 3: začínají se uplatňovat omezení provozu Level 4: okamžitě blokuje neplatná jména
  • 27. http://lynt.cz WordFence – Live Traffic 13. 6. 2015 27
  • 28. http://lynt.cz WordFence – detekce změn 13. 6. 2015 28
  • 29. http://lynt.cz WordFence - notifikace 13. 6. 2015 29 Mohou to zkoušet útočníci, kteří získali přístup k mailu uživatele. Čím více reálný uživatel hesla zapomíná, tím jednodušší nová nastavuje.
  • 30. http://lynt.cz WordFence - notifikace 13. 6. 2015 30 Přihlásil se někdo s administrátorským přístupem: This email was sent from your website "#### " by the Wordfence plugin at Tuesday 9th of June 2015 at 08:46:14 AM The Wordfence administrative URL for this site is: https://####.eu/wp-admin/admin.php?page=Wordfence A user with username "####" who has administrator access signed in to your WordPress site. User IP: ##.##.##.## User hostname: #### User location: Pilsen, Czech Republic Je dostupný update: This email was sent from your website „####" by the Wordfence plugin. Wordfence found the following new issues on "####". Alert generated at Wednesday 3rd of June 2015 at 05:40:42 PM Critical Problems: * The Plugin "ManageWP - Worker" needs an upgrade. Změnil se soubor: This email was sent from your website "####" by the Wordfence plugin. Wordfence found the following new issues on "####". Alert generated at Wednesday 27th of May 2015 at 01:47:13 PM Warnings: * Modified plugin file: wp-content/plugins/block-bad-queries/block-bad-queries.php
  • 31. http://lynt.cz WordFence – omezování provozu 13. 6. 2015 31 Bezpečné intervaly pro většinu použití, lze zpřísňovat
  • 32. http://lynt.cz WordFence – bezpečnost přihlášení 13. 6. 2015 32
  • 33. http://lynt.cz WordFence – další nastavení 13. 6. 2015 33 http://mojeip.cz
  • 34. http://lynt.cz WordFence – další nastavení 13. 6. 2015 34
  • 35. http://lynt.cz WordFence Premium – Country blocking 13. 6. 2015 35
  • 36. http://lynt.cz BBQ: Bad Block Queries • WordFence poskytuje aktivní ochranu a blokuje nevhodné chování • Jako prevenci lze přidat i blokaci dotazů, které se často používají k útokům • https://wordpress.org/plugins/block-bad- queries/ • Malý plugin bez konfigurace • Doplněk pro vyladění - https://github.com/LyntServices/bbq-gui 13. 6. 2015 36
  • 37. http://lynt.cz Zálohování „Zálohování je alfou a omegou práce na počítači“ 13. 6. 2015 37 • Zálohování poskytuje většina webhosterů v rámci webhostingu. • Je vhodné ale mít vlastní systém záloh. • Ruční zálohování: zkopírování obsahu FTP a export databáze. • Zálohování pluginem • Lze nastavit pravidelné automatické zálohování • BackWPup, BackupBuddy Zjistěte si od svého webhostera, jak řeší zálohování.
  • 38. http://lynt.cz Zálohovací plugin BackWPup 13. 6. 2015 38 https://wordpress.org/plugins/backwpup/ Čeština: https://github.com/lynt-smitka/BackWPup-CZ
  • 41. http://lynt.cz Nastavení BackWPup 13. 6. 2015 41 Kam zálohovat? Do složky na serveru - Ztracením přístupu přijdu i o zálohy - Je třeba ošetřit, aby se k souboru zálohy nikdo nedostal Emailem - Pokud se mi někdo nabourá do mailu, získá zálohy - Přenáší se nezabezpečeně FTP - Měl by se použít vyhrazený FTP účet jen pro tento účel (heslo je uložené ve WP) - Přenáší se nezabezpečeně Externí služby (Dropbox) - Dobrá volba - Opět je třeba zajistit, aby uložiště bylo pouze k jednomu účelu (Dropbox app – přistup pouze do jedné složky)
  • 42. http://lynt.cz Nastavení BackWPup 13. 6. 2015 42 Jak často zálohovat? Je vhodné mít zálohy minimálně měsíc zpětně => je třeba zvolit interval podle velikosti úložiště. Denním zálohováním by tedy mělo být uloženo alespoň 30 záloh, nebo týdenním alespoň 4 zálohy. Dobrá metoda je nastavit více úloh: 1. Denní zálohu DB 2. Týdenní zálohu souborů Jak zálohu spuštět? WP-cron – funguje pouze když je na webu návštěvnost. Speciální odkaz – lze vložit do cron na serveru nebo využít službu typu https://www.easycron.com => Je jistota, že se záloha provede
  • 43. http://lynt.cz Nastavení BackWPup 13. 6. 2015 43 _wfX - tabulky WordFence, mimo _wfConfig není třeba zálohovat
  • 44. http://lynt.cz Nastavení BackWPup 13. 6. 2015 44 Zde je možné zašrtnout např. složky cache pluginů: wfcache cache w3tc
  • 45. http://lynt.cz Nastavení BackWPup 13. 6. 2015 45 Ušetří trochu místa, po obnově je třeba přegenerovat náhledy: https://wordpress.org/plugi ns/regenerate-thumbnails/
  • 46. http://lynt.cz Nastavení BackWPup 13. 6. 2015 46 Nastavit vhodný počet záloh dle dostupné velikosti a intervalu záloh
  • 47. http://lynt.cz Nastavení BackWPup 13. 6. 2015 47 Nechceme zpřístupnit celý náš Dropbox, využijeme App
  • 48. http://lynt.cz Checklist – co potřebujeme Nastavit správná práva uživatelům Silná hesla Odstranění zbytečností Blokace spamu Omezení chybných přihlášení (Brute force) Informace o aktualizacích a problémech Blokace známých útoků Zálohování 13. 6. 2015 48
  • 49. http://lynt.cz Co udělat po útoku? • Obnova ze zálohy (smazat infikovaný web a DB) • Odstranění příčiny (často aktualizace) • Změna hesla na FTP • Změna hesla do DB • Změna hesel uživatelů • Nové šifrovací klíče do wp-config.php: https://api.wordpress.org/secret-key/1.1/salt/ • Kontrola souborů pluginem (Wordfence, Sucuri Scanner) 13. 6. 2015 49
  • 50. http://lynt.cz Co udělat zítra? □ Zkontrolovat práva uživatelů □ Zkontrolovat, zda nemám zranitelné pluginy □ Smazat pluginy, co nepoužívám/byly jen k jednorázové činnosti □ Smazat zbytečné šablony (nechat jen jednu výchozí z instalace a případně rodičovskou) □ Aktualizovat, co lze □ Zazálohovat 13. 6. 2015 50
  • 51. http://lynt.cz A to je vše, přátelé. 13. 6. 2015 51 Přečtěte si, jak je na tom WordPress v České republice: http://lynt.cz/blog/wordpress-v-cz-velky-pruzkum Podívejte se na mé předchozí přednášky o bezpečnosti: http://edu.lynt.cz/