Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

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

1.310 Aufrufe

Veröffentlicht am

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í.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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

×