Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

WordCamp Brno 2017 - rychlý a bezpečný web

1 309 vues

Publié le

Slidy z přednášky na WordCamp Brno 2017 - Hlavní kroky pro bezpečný a rychlý web. HTTPS, omezování přístupu, hesla, cache, měření.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

WordCamp Brno 2017 - rychlý a bezpečný web

  1. 1. https://lynt.cz Hlavní kroky pro bezpečný a rychlý web Vláďa Smitka vladimir.smitka@lynt.cz @smitka Lynt services s.r.o. 21. 10. 2017 1 WordCamp Brno 2017
  2. 2. https://lynt.cz Máme nainstalováno 21. 10. 2017 2
  3. 3. https://lynt.cz21. 10. 2017 3 • Ideální je začít nový web rovnou na HTTPS (i na vývoji) • Využít hlavičku HSTS na produkci • Přesměrování patří do konfigurace, ne do pluginu • Generátor konfigurace: • https://mozilla.github.io/server-side-tls/ssl-config-generator/ • Svou konfiguraci si vyzkoušejte na https://www.ssllabs.com/ssltest/
  4. 4. https://lynt.cz21. 10. 2017 4 „Když spustíš nový web bez HTTPS, umře jednorožec!!!“
  5. 5. https://lynt.cz Co se ještě mohlo pokazit? 21. 10. 2017 5
  6. 6. https://lynt.cz Co se ještě mohlo pokazit? • Uživatelské jméno? Admin • Silné heslo? • Prefix tabulek? (může někdy pomoci) • Šifrovací klíče u one-click instalátoru? (https://api.wordpress.org/secret-key/1.1/salt/) 21. 10. 2017 6
  7. 7. https://lynt.cz Hesla Počty kombinací: http://projects.lambry.com/elpassword/ 21. 10. 2017 7 GTX 1050 MD5 PHPASS (MD5) Bcrypt Hash/s 5 863 MH/s 1 880 kH/s 3 959 H/s Doba louskání - 8 znaků 35 s 31 hod 610 dní Typ hesla Počet kombinací 6 znaků (malá písmena) 308 915 776 8 znaků 208 827 064 576 8 znaků + čísla 2 821 109 907 456 8 znaků (velká/malá) + čísla 218 340 105 584 896 8 znaků (v/m) + čísla + speciál 6 634 204 312 890 625
  8. 8. https://lynt.cz Jak na hesla? • Password Manager – KeePass, LastPass, 1password, DashLane, RoboForm 21. 10. 2017 8 • Jak heslo poslat klientovi: ‒ Šifrovaný mail (PGP, S/MIME) ‒ Jednorázové sdílení (https://secure.lynt.cz/), pro soubory https://send.firefox.com/ ‒ Šifrovaný archiv + heslo SMS
  9. 9. https://lynt.cz První zlepšení • Lepší hashování hesel - bcrypt • Vrácení chyby 403 při chybném přihlášení • Odfiltrování citlivých dat z Rest API např. /wp-json/wp/v2/users – mail v md5 • https://u.lynt.cz/mu1 21. 10. 2017 9
  10. 10. https://lynt.cz Omezení přístupu 21. 10. 2017 10
  11. 11. https://lynt.cz Omezení přístupu • Přístup k wp-login.php pouze z ČR/SK (ideálně pouze z VPN) • Fail2Ban blokující chybná přihlášení z chyb 403 • Zákaz XML-RPC (je nutný pro JetPack, některé další pluginy a aplikace pro správu WP) • Blokace známých útoků • Zjišťování uživatelských jmen • Mnoho vyřeší WordFence • https://www.slideshare.net/vsmitka/wordfence-2016 21. 10. 2017 11
  12. 12. https://lynt.cz Aktualizace • Systém pro hromadnou správu – MainWP • https://mainwp.com/ • 1 vyhrazený web s dashboardem • Na ostatní instalace MainWP Child 21. 10. 2017 12
  13. 13. https://lynt.cz Main WP 21. 10. 2017 13
  14. 14. https://lynt.cz Main WP 21. 10. 2017 14
  15. 15. https://lynt.cz Main WP 21. 10. 2017 15 https://mainwp.com/extension/vulnerability-checker/ CVE-2017-8295
  16. 16. https://lynt.cz21. 10. 2017 16
  17. 17. https://lynt.cz Antispam pro komentáře 21. 10. 2017 17
  18. 18. https://lynt.cz Antispam pro komentáře • Akismet – je třeba aktivovat na https://akismet.com/ • NoSpamNX • https://u.lynt.cz/antispam - vyžaduje registraci na http://www.projecthoneypot.org • Nezapomeňte také smazat vzorové příspěvky ;-) 21. 10. 2017 18
  19. 19. https://lynt.cz Cachování 21. 10. 2017 19 OP code cache Transientní cache Stránková cache Cache prohlížeče Objektová cache Disková cache Proxy cache
  20. 20. https://lynt.cz Cachování • Disková cache – Linux využívá volnou RAM pro rychlejší přístup k souborům = je dobré mít hodně RAM • OP code cache – PHP do RAM ukládá zpracovaný PHP kód (PHP 5.6+, starší s rozšířením) • Transientní cache – při použití WP ukládá výsledky složitých operací do DB (https://codex.wordpress.org/Transients_API) • Objektová cache – ukládá výsledky složitých operací do jiného úložiště – lze použít jako úložiště pro transienty – je třeba podpora serveru a drop-in do WP (Memcache, Redis, Xcache, APC, APCu) 21. 10. 2017 20
  21. 21. https://lynt.cz Cachování • Stránková cache – uloží výsledek pracování skriptu do statického souboru – např. WP SuperCache • Proxy – reverzní na straně serveru/„dopředná“ na straně lokální sítě – ukládá statický soubor, aby se nemusel znova stahovat/generovat (varnish, nginx microcache/squid) • Cache prohlížeče – řídí se expires hlavičkami, pokud nejsou, snaží se je odvodit (většinou podle stáří souboru) 21. 10. 2017 21
  22. 22. https://lynt.cz Změření rychlosti • https://gtmetrix.com/ • http://www.webpagetest.org (speed index < 3000) 21. 10. 2017 22
  23. 23. https://lynt.cz Jak vypadá naše typická infrastruktura • Fyzické servery s hodně RAM nebo více VPS s oddělenou funkcionalitou • PHP 7.1 s OP cache • APCu pro Object Cache (případně Redis) • WP SuperCache – 12 hodin (kvůli nonce) • Reverzní Nginx proxy cache (Microcache) – několik minut • HTTP/2 – pro lepší stahování zdrojů • https://u.lynt.cz/nginx 21. 10. 2017 23
  24. 24. https://lynt.cz .htaccess • Připravená běžná pravidla: https://u.lynt.cz/htaccess • Bezpečnostní hlavičky • Cachování statických souborů • Gzip • Blokace souborů, GEO blokace • Přesměrování HTTP na HTTPS, bez www na www 21. 10. 2017 24
  25. 25. https://lynt.cz Checklist  HTTPS, správné přesměrování a HSTS - otestovat  Generovaná hesla + password manager  Ochrana před zkoušením hesel (omezení na vybrané adresy, Fail2ban na serveru, bezpečnostní plugin – např. WordFence)  Hromadná správa + zálohy – např. MainWP  Antispamový plugin (pokud mám komentáře)  PHP 7+, HTTP/2  Object cache drop-in (pokud lze – info od hostingu)  Stránková cache - např. WP SuperCache  Otestovat rychlost 21. 10. 2017 25
  26. 26. https://lynt.cz Další tipy • https://lynt.cz/blog/10-nejcastejsich-problemu- modernich-webu • https://lynt.cz/blog/optimalizace-vykonu-webovych- aplikaci-na-co-se-zamerit • https://lynt.cz/blog/verze-wordpress-skryvat-nebo-ne • https://lynt.cz/blog/wordpress-v-cz-velky-pruzkum • https://www.slideshare.net/vsmitka • A můj Twitter ;-) https://twitter.com/smitka 21. 10. 2017 26
  27. 27. https://lynt.cz A to je vše, přátelé. 21. 10. 2017 27

×