Date post: | 21-Feb-2017 |
Category: |
Technology |
Upload: | vladimir-smitka |
View: | 552 times |
Download: | 1 times |
@smitka Lynt services s.r.o.
Infrastruktura
Webová řešení
Marketing
WP – bezpečnost 3x3
Vláďa Smitkahttps://lynt.cz
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Co dnes uslyšíte?
• WP a bezpečnost?• 3 cíle útočníků• 3 nejčastější problémy• 3 preventivní opatření
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Jak je na tom WP s bezpečností?
• Velká komunita, která chyby napravuje• Velká „komunita“, která se je snaží zneužít• Soustavné bezpečnostní testování
„Veřejně známá bezpečnostní chyba v otevřeném systému je menší zlo,než chyba v uzavřeném systému, o které ví jen útočník.“
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
3 nejčastější cíle útočníků
1. SPAM / reklama2. Infikace návštěvníků3. Útoky na další weby
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
#1 Neaktualizované komponenty
„Aktualizace jsou u OpenSource zásadní!“
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Aktualizace jádraV základu:• V rámci minor verzí (4.5.x) probíhá aktualizace automaticky.• Major verze (4.X) je potřeba aktualizovat ručně.
wp-config.php:define( 'WP_AUTO_UPDATE_CORE', 'minor' );true – aktualizace i major verzífalse – vypne všechny automatické aktualizace
- lze to ale i filtrem v kódu
Důvody nefunkčnosti:• Zakázané aktualizace• Špatná práva
Čtení – 4Zápis – 2Spuštění – 1Uživatel, skupina, všichni
Někdy práva WP špatně detekuje při pokusu o nahrání po vás chce přístupy na FTPzkuste do wp-config.php:define( 'FS_METHOD', 'direct' );
Obecně:Soubory: 640Složky: 750
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Aktualizace šablon
Ruční zásah, lze ale zapnout automaticky v kódu:add_filter( 'auto_update_theme', '__return_true' );
Pokud provedete změny přímo v šabloně, aktualizací o ně přijdete.Správná cesta je použití „Child Themes“.
Pluginy pro vytvoření Child Theme:https://cs.wordpress.org/plugins/orbisius-child-theme-creator/
https://wordpress.org/plugins/one-click-child-theme/
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Ruční tvorba Child Theme
style.css (nepoužívá se z rodiče)/*Theme Name: Moje 2016Author: JáVersion: 1.0Template: twentysixteen*/
@import url("../twentysixteen/style.css");
/* vlastní úpravy */
functions.php (načítá se i z rodiče)<?php// vlastní úpravy?>
Další PHP soubory z hierarchie šablony, které chci upravit, např. header.php
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Aktualizace pluginů
Ruční zásah, lze ale zapnout automaticky v kódu:add_filter( 'auto_update_plugin', '__return_true' );
Bohužel neexistují „Child Plugins“… Některé pluginy však jde upravovat
pomocí hooků.
„Většina bezpečnostních problémů WP je způsobena pluginy.“
Používáte plugin se známou bezpečnostní chybou?https://wordpress.org/plugins/plugin-vulnerabilities/
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Správa aktualizací
https://wordpress.org/plugins/wp-updates-notifier/- Pošle vám e-mail, když je aktualizace dostupná.
https://mainwp.com/- Systém na správu více WP webů a jejich
aktualizaci.- Jeden vyhrazený WP web ovládá ostatní, kde je
nainstalovaný MainWP child plugin.- Lze nastavit automatický update vybraných
pluginů.- Zdarma + placené doplňky.- Umí zálohovat.- Je možné jím spravovat obsah.
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
MainWP
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Pozor na neoficiální zdroje!
Existují přeprodejci různých placených šablon a pluginů nebo warez stránky, kde jsou zdarma…
Použitím těchto zdrojů nemáte nárok ani na podporu od autora, ani na aktualizace. Přeprodejce navíc do produktu mohl vložit zadní vrátka!
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
#2 Nákaza z „multihostingu“
Slož
ka s
weby
Web1Web2Web3
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Ověření možností přístupudo cizích složek
https://github.com/lynt-smitka/PHP-Mini-File-Browser
mfb.php• Malý skript, kterým lze projít dostupné složky.• Protože zobrazuje důvěrné informace,
tak se hodinu po nahrání sám smaže (lze přenastavit).• Lze mu nastavit použití jména a hesla.
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
#3 Práva a hesla
Útočník se nejčastěji snaží uhádnout jména a hesla.Čím je vyšší role získaného uživatele, tím vyšší škodu může napáchat.
interval.cz/?author=1 => /clanky/author/admin/
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Základní role• 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. Ideálně by neměl tvořit
obsah.
• SuperAdministrátor (pro WP multisite) – spravuje síť webů
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Jak upravit práva?
$role_object = get_role( 'editor' );$role_object->add_cap( 'edit_theme_options' );
Nejčastější případ – šéfredaktor potřebuje upravovat menu a
widgety
https://cs.wordpress.org/plugins/user-role-editor/ (4.25+)
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
User role editor
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Jak je to s právy pluginů?
Ve WP je možné definovat vlastní role a oprávnění.Záleží na tvůrci pluginu, zda tuto možnost využil.
The Events
Calendar
WP Polls
User Role Editor
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
HTTPS
Pokud nepoužíváte HTTPS, lze hesla (a přihlašovací cookie) odposlechnout.
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Správce hesel
Pamatujete si jedno heslo, ostatní zná password manager.KeePasshttp://keepass.info/Zdarma, offline, možno sdílet soubor s hesly přes dropbox, onedrive…
LastPasshttps://lastpass.com/Základ zdarma, cloudová služba + doplněk do prohlížeče
Portadihttps://www.portadi.com/Firemní sdílení přístupů k vybraným službám.
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.22
#1 Bezpečnostní plugin
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.23
WordFence – po instalaci
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.24
WordFence – Live Traffic
Hezké, ale spotřebovává poměrně dost výkonu.
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.25
WordFence – detekce změn
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.26
WordFence – omezování provozu
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.27
WordFence – bezpečnost přihlášení
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.28
WordFence – další nastavení
Inspirace co zablokovat: https://github.com/zaproxy/zap-extensions/tree/master/src/org/zaproxy/zap/extension/fuzzdb/files/fuzzers/fuzzdb/discovery/predictable-filepaths/php
*
*
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.29
WordFence – další nastavení
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
WordFence - Firewall
Extended Protection
Funguje mimo jádro WP – chrání tak veškeré PHP soubory.
Vyžaduje direktivu auto_prepend_file v php.ini = nefunguje na většině webhostingů
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
WordFence - Firewall
Poměrně nová funkcionalita, občas zlobí.
Otestujte, zda funguje: vas-web/?test=<iframe>Pokud se vrátí chyba 403, funguje to
Signatury:wp-content/wflogs/rules.php
Pokud je soubor prázdný, nepodařilo se je pluginu stáhnout:https://tools.lynt.cz/wordfence/rules.php.txt
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
WordFence – prémiové funkce• Okamžité updaty firewallu – reakce na aktuální dění (free verze po 30 dnech).• Blokace zemí.• Kontroly reputace webu v externích službách.• Lepší antispam v komentářích.• Audit hesel.• Přihlašování přes SMS.
AlternativyBlokace zemí:https://wordpress.org/plugins/iq-block-country/ (je třeba stáhnout db zemí a správně nastavit)mod_geoIP (info sdělí webhoster, nastavuje se typicky přes .htaccess)
Antispam:https://cs.wordpress.org/plugins/akismet/ (vyžaduje klíč, aby fungoval)https://wordpress.org/plugins/nospamnx/
Dvoufaktorová autentifikace:https://wordpress.org/plugins/google-authenticator/https://wordpress.org/plugins/duo-wordpress/
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Alternativní firewall
BBQ: Block Bad Querieshttps://wordpress.org/plugins/block-bad-queries/
Pravidla do .htaccess:https://perishablepress.com/6g/
Tip: pokud ztratíte přístup k webu chybně nastaveným bezpečnostním pluginem, přejmenujte složku s pluginem na
FTP, tím jej deaktivujete.
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
#2 Zálohování
Bezpečnostní incident může potkat každého,pouze s různou pravděpodobností.
Na tuto situaci je nutné být připraven a mít funkční zálohu!
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Možnosti zálohování
Ruční – jednou za čas, stáhnete soubory z FTP a provedete export DB
V rámci hostingu – podrobnosti řekne webhoster
Zálohovací plugin – plugin ve WP provádí v zálohu dle plánu
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Zálohovací pluginy
BackWPup- Neumí obnovu, ale ta je možná poměrně jednoduše ručně- Umí zálohu na více úložišť, např. Dropbox- Lze spouštět speciální URL externě
Návod na nastavení:http://www.slideshare.net/vsmitka/bezpenost-wordpress-pro-zatenky/38Čeština:https://github.com/lynt-smitka/BackWPup-CZ
BackupBuddy- Placený- Spolehlivé řešení pro zálohy, obnovy i migraci
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
#3 Opatrnost
Člověk často bývá nejslabší článek.Zásady:• Používat silná hesla• Připojovat se pouze z důvěryhodných sítí
(případně přes VPN)• Používat antivir a aktualizovat OS i prohlížeč• Neukládat si v zařízeních nezabezpečené WiFi sítě• Kontrolovat správnost certifikátů• Nenaletět na Phishing
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Souhrn - Jak mít bezpečný web?
Nastavit správná práva uživatelůmPoužívat silná hesla (správce hesel)Odstranění zbytečných pluginů, šablon i obsahuPravidelně aktualizovat (systémy pro
správu/Updates Notifier)Blokace spamu (WF, NoSpamNX, Akismet)Omezení chybných přihlášení (WF)Blokace známých útoků (WF, BBQ)Využívání HTTPS a opatrnost v cizích sítíchZálohování (BackWPup)
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Co dělat po úspěšném útoku
• Odstavení webu (např. pomocí .htaccess)• Obnova ze zálohy (smazat infikovaný web a DB)• Odstranění příčiny (často aktualizace)• Kontrola souborů pluginem (Wordfence, Sucuri Scanner)• 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/
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Úkoly na zítra
□ Zkontrolovat práva uživatelů□ 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) a příspěvky
□ Aktualizovat, co lze□ Zvážit použití bezpečnostního pluginu□ Zazálohovat
Infrastruktura
Webová řešení
Marketing
@smitka Lynt services s.r.o.
Děkuji za pozornost!
Další zdroje:https://lynt.cz/blog/10-nejcastejsich-problemu-modernich-webu
https://lynt.cz/blog/wordpress-v-cz-velky-pruzkumhttp://www.slideshare.net/vsmitka/https://www.wordfence.com/blog/
https://blog.sucuri.net/https://wpvulndb.com/