Bezpečnost webu: praktický průvodce
Většina webů není napadena cíleně. Najdou je automatické skenery, které prohledávají internet na známé zranitelnosti a slabá hesla. To je dobrá zpráva, protože to znamená, že základní opatření zastaví většinu útoků.
Tento průvodce prochází tato opatření, zhruba v pořadí, kolik rizika odstraní na vloženou námahu.
Přístupy: kde většina napadení začíná#
Ukradené nebo uhádnuté přihlašovací údaje jsou nejčastějším způsobem, jak malé weby padnou — častějším než jakákoli technická zranitelnost.
- Dvoufaktorové ověření u každého administrátorského účtu, bez výjimky.
- Unikátní hesla ze správce hesel; opakovaně použitá hesla uniknou jinde a testují se tady.
- Odstraňte účty lidí, kteří odešli, a starých agentur — na tohle se téměř vždy zapomíná.
- Dávejte minimální potřebná oprávnění; redaktor nemusí být administrátor.
- Omezte pokusy o přihlášení a blokujte po opakovaných neúspěších.
- Chraňte i okolí: hosting, DNS, registrátora domény a e-mail. Ztratit DNS je horší než ztratit web.
- Používejte SFTP nebo SSH klíče, nikdy prosté FTP s heslem.
Registrátor domény je účet, který nejčastěji zůstává bez druhého faktoru a který napáchá nejvíc škody, když padne.
Aktualizace a plocha útoku#
Každý nainstalovaný software je něco, co musí zůstat aktuální. Nejlevnější bezpečnostní práce je odstranit to, co nepoužíváte.
| Opatření | Proč na tom záleží |
|---|---|
| Aktuální jádro CMS | Známé zranitelnosti se skenují během dnů |
| Aktuální rozšíření | Nejčastější cesta dovnitř u WordPress webů |
| Odstranit nepoužívaná rozšíření | Vypnuté není bezpečné; kód tam pořád je |
| Odstranit nepoužívané šablony | Stejný důvod, ještě častěji zapomínané |
| Podporovaná verze PHP | Staré verze nedostávají bezpečnostní opravy |
| Aktuální serverové balíčky | U řízeného hostingu to dělá poskytovatel — ověřte |
| Závislosti ve vlastním kódu | Knihovny také stárnou |
Spouštějte aktualizace v testovacím prostředí a pak otestujte formuláře a v e-shopu nákupní cestu. Aktualizace, která tiše rozbije formulář, je vlastní druh výpadku.
Ochrana aplikace a serveru#
Opatření, která pokrývají technické zranitelnosti místo přístupů.
- Validujte a sanitizujte veškeré vstupy na serveru. Kontrola v prohlížeči je pohodlí, ne bezpečnost.
- Používejte připravené dotazy u veškerého přístupu k databázi — to uzavře SQL injection.
- Escapujte výstup při zobrazení, abyste zabránili cross-site scriptingu.
- HTTPS všude, s HSTS a automaticky obnovovaným certifikátem.
- Nastavte bezpečnostní hlavičky: Content-Security-Policy, X-Content-Type-Options, Referrer-Policy.
- Omezte nahrávání souborů podle typu a velikosti a ukládejte je mimo veřejný adresář.
- Vypněte zobrazování chyb v produkci; chybové hlášky útočníkovi řeknou, co běží.
- Zvažte webový aplikační firewall u CMS s mnoha rozšířeními.
Zálohy a zotavení po napadení#
Bezpečnost občas selže. Co se pak stane, závisí zcela na tom, co jste připravili předem.
- Ukládejte zálohy mimo server. Záloha na témž stroji se zašifruje nebo smaže se zbytkem.
- Držte několik generací. Pokud se napadení odhalí až po dvou týdnech, včerejší záloha je také nakažená.
- Testujte obnovu čtvrtletně. To je krok, který nejčastěji chybí.
- Při napadení: stáhněte web nebo ho dejte do režimu údržby dřív, než uděláte cokoli jiného.
- Změňte všechna hesla — CMS, hosting, databáze, FTP, DNS — než začnete obnovovat.
- Obnovte ze zálohy před napadením a všechno aktualizujte, než půjdete znovu online.
- Zjistěte, jak se dostali dovnitř. Obnovit bez nalezení příčiny znamená, že se to bude opakovat.
Při úniku osobních údajů platí ohlašovací povinnosti s krátkými lhůtami. Vězte předem, kdo to posoudí, ne až během incidentu.
Časté dotazy
Je WordPress nebezpečný?
Jádro je rozumně udržované; riziko leží téměř vždy v rozšířeních, šablonách a slabých administrátorských heslech. WordPress web s dvoufaktorem, málo rozšířeními a aktuálními verzemi je v pořádku. Web se čtyřiceti rozšířeními, z nichž polovina nebyla dva roky aktualizována, je otázkou času.
Potřebuji bezpečnostní rozšíření?
Jsou užitečná pro omezení přihlášení, dohled nad soubory a upozornění, ale nenahradí nic ze seznamu výše. Bezpečnostní rozšíření na webu se zastaralými rozšířeními a sdíleným heslem skutečný problém neřeší. Berte ho jako hlásič kouře, ne jako protipožární konstrukci.
Co dělat, když je můj web napaden?
Stáhněte ho, změňte všechna hesla včetně hostingu a DNS, a pak obnovte z čisté zálohy před napadením. Než půjdete znovu online, všechno aktualizujte a zjistěte, jak se dostali dovnitř — jinak se to během týdnů zopakuje. Pokud jde o osobní údaje, platí ohlašovací povinnosti s krátkými lhůtami.
Chrání HTTPS můj web před hackery?
Ne, a je to častý omyl. HTTPS šifruje provoz mezi návštěvníkem a serverem, což brání odposlechu a manipulaci na cestě. Nedělá nic proti slabým heslům, zastaralým rozšířením nebo SQL injection. Je nezbytné a naprosto nedostačující.
bezpečnost webuochrana před napadenímbezpečnost wordpressussl certifikátbezpečnostní hlavičkynapadený web