Vláďa Smitka – odpovědi na nezodpovězené dotazy

Během přednášky bylo položeno několik zajímavých dotazů na jejichž zodpovězení nezbyl čas.

Dotazy však byly zaznamenány a odpovědi na ně naleznete níže:

Vidíš nějaké řešení/vylepšení (tvůj názor) pro systém distribuce pluginů? (Předcházení šířeni hacknutých pluginů)

Nad tím jsem popravdě ještě nepřemýšlel, osobně beru jako samozřejmost používání důvěryhodných zdrojů. Pokud by se tato oblast měla nějak vylepšovat, tak by bylo například zajímavé automaticky kontrolovat hashe souborů z oficiálních zdrojů proti repozitáři – jednoduše by takto bylo možné najít ty změněné. Co se týká použití dalších zdrojů jako je code canyon, tak zde by mohli jejich provozovatele poskytnou něco podobného ve formě pluginu – každý by si tak mohl zkontrolovat, zda jsou jeho soubory v pořádku a nezměněné.

Jak řešíte izolaci webů proti vzájemnému napadení?

U nás na serverech používáme open basedir a několik instancí PHP (používáme nginx + PHP-FPM) s různými uživateli podle účelu. Většina bežných webů je však pod stejným uživatelem a izolovaná pouze pomocí openbase dir. Možností jak tohoto dosáhnout je však několik.

Pokud máme ze spamových komentářů založeno i tisíce uživatelů, máme je smazat?

Nejsem si jistý co znamená v tomto případě založený uživatel, ale obecně doporučuji vše nepotřebné smazat.

Jak jednoduše otestovat, že je wp web hacknutý?

Úplně jednoduché to není, nákaza se může projevovat mnoha způsoby. Pokud se nákaza projevuje vkládáním cizích kódů do frontendu webu, tak je mohu zkusit otestovat například na https://sitecheck.sucuri.net/, nebo https://www.virustotal.com/. Pokud se takto veřejně neprojevuje, je dobré se podívat do strojových PHP a JS souborů, zda v nich není nějaký podezřelý kód – dlouhé řetězce nesmyslných znaků. Často jsou infikovány všechny soubory daného typu, takže stačí namátkově zkontrolovat několik souborů. V tomto mohou pomoci také pluginy typu WordFence nebo Sucuri Security. Když ani toto nezabere, je potřeba prohledat web na podezřelé funkce, které se však mohou vyskytovat v běžných regulérních souborech… k tomu je potřeba už dost zkušeností. Nejčastěji se jedná o funkce:

eval, gzinflate, base64_decode, gzuncompress, move_uploaded_file, file_put_contents, fputs, exec, rawurldecode, strrev, ini_set, shell_exec, fopen, curl_exec, popen

S tím, že první tři jsou nejpoužívanější.

Hacknutý web mohu někdy poznat i z nestandardního chování jeho uživatelů. To mohu zaznamenávat například pluginem WP Security Audit Log. Známkou napadení je zvýšený počet odchozích emailových zpráv, to však často nejde jednoduše sledovat.

Dokáže už Seznam spolehlivě indexovat HTTPS?

Spolehlivě indexovat HTTPS umí Seznam už dlouho, měl však problémy s přeindexováním webu při přechodu z HTTP na HTTPS. Toto by však mělo být již vyřešené: http://fulltext.sblog.cz/2016/01/12/testujeme-rychlejsi-presmerovani-webu-na-nove-adresy-tedy-napriklad-na-https-2/

V posledních měsících jsme přechod několikrát řešili a nenastaly žádné závažné problémy.

Mohl byste rozvést, proč by administrátor neměl tvořit obsah?

Odpověď od jiného účastníka: Čím větší práva, tím větší do pak při odposlechu. Pluginy řeší jen admin.

S odpovědí samozřejmě souhlasím, dodal bych však, že se nejedná jen o odposlech, ale i náchylnost na různé další bezpečnostní chyby – viz příklad s XSS v přednášce. Další věcí je, že pokud admin nevytvoří žádný příspěvek, tak jeho uživatelské jméno nenajdeme jako autora nějakého obsahu webu – neprozradíme případnému útočníkovi půlku přihlašovacích údajů.

Mate zkušenost kolik lidí, co mají WordPress je zároveň administrátor a kolik lidí dělí a používá role na různé uživatelé / tj. skutečně další osoby?

Přesná čísla bohužel nemám, takže se mohu pouze domnívat na základě několika vzorků. V případě, že web spravuje pouze jedna osoba, tak je v naprosté většině případů administrátorem – nepoužívá druhou roli pouze pro publikaci. U webů s větším počtem uživatelů se často setkávám s dělením na role, nejčastěji jeden administrátor a ostatní jako šéfredaktoři. Speciální kapitolou jsou guestposty, kdy je běžnou praxí dávat externím přispěvovatelům roli editora.

Tip od účastníka: Mám zkušenosti z analýzy zkoušených hesel hackery: název webu, doména, doména bez .cz apod. Takže na to taky pozor!

Váš názor: Je lepší řešit zabezpečení přes vlastní setupy do .htaccess nebo používat pluginy jako iThemes Security apod. ?

Na svých serverech bezpečnostní pluginy příliš nepoužíváme – většinu jejich funkcionalit se nám podařilo zajistit již na straně serveru. Přiznám se však, že základ našeho .htaccess (ekvivalentní pravidla máme v konfiguraci nginx) vychází právě z pluginu iThemes Security – stačí si jej nastavit a prohlédnout si vygenerovaný .htaccess – tyto pravidla pak můžete jednoduše použít na dalších webech. bezepčnostní pluginy však přináší další funkce – například blokování uživatele po určitém počtu chybných přihlášení. Pokud tyto funkce nemáme vyřešeny jinak, tak doporučuji spíše využít bezpečnostní pluginy.

Jaký máte názor na různé techniky skrývání faktu, že používáte WP?

Osobně si myslím, že je to trochu zbytečné (ale i přes to to částečně dělám 🙂 ). Pokud mám aktuální verzi WP, tak si myslím, že nemám důvod to skrývat. Dokonalé skrytí WP webu je velmi složité a je potřeba vynaložit dost úsilí. I když zakáži readme.html, /feed/, skryji meta generator, přejmenuji wp-content a podobné, tak lze stále zjistit, že se jedná o WP – například ze skriptů a css, která načítá a podle jejich tvaru jde i poměrně přesně určit verze.

Názor na přesunutí wp-config.php o složku výše?

Osobně to neodporučuji. Toto doporučení vzniklo když chyba v systému Plesk (správa serveru) mohla znefunkčnit vykonávání PHP a tak byl tento soubor, obsahujíc například hesla do databáze, veřejně čitelný. To je však již velmi dlouhá doba a podobné problémy se příliš neobjevují. Fakt, že WP má přistup mimo svou složku, pokud wp-config.php přesunu výše, mi přijde potenciálně více nebezpečný.

Hi, Lynt, bude Vase prezentace ke stazeni?

Samozřejmě: https://www.slideshare.net/vsmitka/wordcamp-praha-2016-bezpenost-wordpress 😉

3 nejdůležitější rady pro zabezpečení WP

  1. aktualizovat
  2. zálohovat
  3. používat bezpečnostní plugin

+ mít dobrá hesla spravovaní password managerem

Pokud máte nějaké další dotazy, ptejte se v komentářích, rád na ně odpovím.

Můžete mne také sledovat na twitteru.

Vláďa Smitka

4 komentáře u „Vláďa Smitka – odpovědi na nezodpovězené dotazy“

  1. Přímo to nelze, heslo je zakódováno jednosměrně (hash – používá http://www.openwall.com/phpass/). Nicméně při znalosti řetězce se zakódovaným heslem může útočník provést na heslo útok hrubou silou mnohem rychleji lokálně, než pokud by to zkoušel zasláním požadavku do administrace. Software oclHashcat je umožňuje zkoušet i pomocí grafické karty, takže pokud není použito dostatečně silné heslo, může to být otázka několika hodin.

    Znalost hashe hesla také pomůže při generování autentifikačního cookie (především ve verzích pod 4.0 a použití nezměněných defaultních šifrovacích klíčů v wp-config.php).

  2. Jak mohu hromadně zjistit, které weby používají plugin WP Slider Revolution? 🙂

  3. Těžko 🙂 Já jsem si musel napsat hledacího robota, který procházel internet a hledal a hledal 😉

Komentáře nejsou povoleny.

WordCamp Praha 20. 2. 2016 is over. Check out the next edition!