O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

4.696 visualizações

Publicada em

Prezentace z přednášky o bezpečnosti na 5. WordPress konferenci.

Publicada em: Tecnologia

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

  1. 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. 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. 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. 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. 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. 6. http://lynt.cz Kdo tvořil web před 5 lety? 13. 6. 2015 6
  7. 7. http://lynt.cz Kdo tvoří web dnes? 13. 6. 2015 7
  8. 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. 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. 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. 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. 12. http://lynt.cz Správce hesel 13. 6. 2015 12 KeePass http://keepass.info/
  13. 13. http://lynt.cz Správce hesel 13. 6. 2015 13 Alternativa: LastPass https://lastpass.com/cs/
  14. 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. 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. 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. 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. 18. http://lynt.cz Hromadné zakázání komentářů u existujícího obsahu 13. 6. 2015 18
  19. 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. 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. 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. 22. http://lynt.cz WP Updates Notifier 13. 6. 2015 22 Nastavení – Updates notifier (základní nastavení je ok)
  23. 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. 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. 25. http://lynt.cz Bezpečnostní plugin 13. 6. 2015 25 https://wordpress.org/plugins/wordfence/
  26. 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. 27. http://lynt.cz WordFence – Live Traffic 13. 6. 2015 27
  28. 28. http://lynt.cz WordFence – detekce změn 13. 6. 2015 28
  29. 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. 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. 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. 32. http://lynt.cz WordFence – bezpečnost přihlášení 13. 6. 2015 32
  33. 33. http://lynt.cz WordFence – další nastavení 13. 6. 2015 33 http://mojeip.cz
  34. 34. http://lynt.cz WordFence – další nastavení 13. 6. 2015 34
  35. 35. http://lynt.cz WordFence Premium – Country blocking 13. 6. 2015 35
  36. 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. 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. 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
  39. 39. http://lynt.cz Nastavení BackWPup 13. 6. 2015 39
  40. 40. http://lynt.cz Nastavení BackWPup 13. 6. 2015 40
  41. 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. 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. 43. http://lynt.cz Nastavení BackWPup 13. 6. 2015 43 _wfX - tabulky WordFence, mimo _wfConfig není třeba zálohovat
  44. 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. 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. 46. http://lynt.cz Nastavení BackWPup 13. 6. 2015 46 Nastavit vhodný počet záloh dle dostupné velikosti a intervalu záloh
  47. 47. http://lynt.cz Nastavení BackWPup 13. 6. 2015 47 Nechceme zpřístupnit celý náš Dropbox, využijeme App
  48. 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. 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. 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. 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/

×