Heslová politika by měla ztížit kompromitaci účtů, aniž by zbytečně komplikovala bezpečné chování uživatelů. Nejlepší pravidla jsou jasná, praktická a odpovídají tomu, jak lidé skutečně pracují. Podporují dlouhá a unikátní hesla, schvalují používání správce hesel, vyžadují vícestupňové ověřování tam, kde je to vhodné, a ruší stará pravidla, která uživatele nutí k předvídatelnému chování.
Tento článek vysvětluje, co by měla moderní heslová politika obsahovat, čemu se vyhýbat, osvědčené postupy a nabízí šablonu, kterou si můžete upravit dle potřeb vaší organizace.
Heslová politika je soubor pravidel určujících, jak jsou hesla vytvářena, ukládána, používána, sdílena, měněna a chráněna. Platí pro zaměstnance, dodavatele, administrátory, servisní účty a někdy i zákazníky v závislosti na daných systémech.
Dobrá heslová politika odpovídá na praktické otázky:
Cílem není vytvořit nejsložitější sadu pravidel, ale snížit skutečné riziko.
Délka hesla je jednou z největších obran proti hádání či útokům hrubou silou. Jedno minimální pravidlo pro celou organizaci je často snazší pro uživatele i IT tým než rozlišování mezi běžnými, administrátorskými a speciálními účty. Praktickým výchozím bodem je požadavek na minimálně 16 znaků pro všechny účty lidských uživatelů. Delší hesla jsou lepší, obzvlášť pokud je uživatelé vytváří pomocí správce hesel nebo nahodilých přístupových frází.
Uživatelé by měli mít možnost používat hesla mnohem delší než minimální požadavek. Vyhněte se nízkým maximům, například 16 nebo 20 znaků. Maximální délka by měla být alespoň 64 znaků, mnohé systémy snesou i více.
Přístupové fráze by měly být povoleny, pokud jsou dlouhé a nejsou založené na známých citátech, textech písní, názvu firmy nebo předvídatelných frázích. Například fráze sestavená z několika náhodných slov je obvykle lepší než krátké heslo s nucenými záměnami znaků.
Každý účet by měl mít unikátní heslo. Znovupoužívání hesel patří mezi hlavní příčiny, proč prolomení jednoho účtu vede k převzetí dalších. Správce hesel umožňuje jedinečná hesla bez nutnosti je pamatovat.
Vaše politika by měla výslovně povolovat a podporovat schválené správce hesel. Uživatelé by měli mít možnost vkládat hesla do formulářů, používat automatické vyplnění a generovat náhodná hesla. Blokování vkládání působí sice ochranitelsky, ale ve skutečnosti často odrazuje od používání silných hesel ze správce.
Hesla by měla být odmítnuta, pokud se nacházejí ve veřejných seznamech uniklých hesel, často používaných hesel nebo na firemním seznamu "zakázaných" hesel. Toto je užitečnější než vynucovat např. jedno velké písmeno, číslici a symbol.
Vícestupňové ověření (MFA) má být povoleno, kdekoliv je to technicky možné, zvláště pro administrátory, vzdálený přístup, cloudové služby, e-maily, správce hesel a finance či jiné citlivé systémy. MFA nenahrazuje silná hesla, ale snižuje dopady při úniku přihlašovacích údajů.
Preferujte MFA odolné vůči phishingu, například přihlašování pomocí bezpečnostních klíčů, passkeys nebo autentizátorů integrovaných v zařízení. Aplikace pro autentizaci jsou lepší než SMS. Ověření pomocí SMS by se nikdy nemělo používat, pokud je technicky dostupný jiný způsob, protože telefonní čísla mohou být přesměrována, převedena na jiného operátora či zneužita během obnovy účtu.
Nejde jen o teorii. V roce 2018 Reddit zveřejnil, že útočníci zachytili SMS ověření a získali přístup k interním systémům: https://www.reddit.com/r/announcements/comments/93qnm5/wehadasecurityincidenthereswhatyouneed_to/. V roce 2021 Coinbase nahlásil, že útočníci zneužili údaje a slabé místo v SMS obnově, aby získali kryptoměny minimálně 6 000 zákazníků: https://www.reuters.com/technology/coinbase-says-hackers-stole-cryptocurrency-least-6000-customers-2021-10-01/.
Hesla je třeba změnit, když existuje důkaz nebo důvodné podezření na kompromitaci. Například po phishingu, malwaru na zařízení uživatele, úniku přihlašovacích údajů, podezřelé aktivitě nebo nechtěném zveřejnění hesla.
Pokud je možné použít individuální účet, sdílená hesla by se měla vyvarovat. Jsou-li sdílené přihlašovací údaje nevyhnutelné, uchovávejte je pouze ve schváleném správci hesel, přístup omezte na oprávněné osoby a sdílení zaznamenávejte.
Obnova hesla je často nejslabším bodem zabezpečení účtu. Ověřujte identitu uživatele, expirujte odkazy pro reset rychle, používejte jednorázové tokeny a informujte uživatele o změně hesla.
Povinná změna hesel každých 30, 60 nebo 90 dní často vede ke slabším heslům. Uživatelé dělají drobné předvídatelné změny, například přidají číslo nebo změní roční období. NIST již rutinní expirační intervaly nedoporučuje, místo toho požaduje změnu po podezření na kompromitaci. Viz sekce 3.1.1.2: https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver. Požadujte změnu hesla pouze po podezření na kompromitaci, změně role, obnově účtu nebo když heslo již nesplňuje aktuální politiku.
Pravidla typu "musí obsahovat velké písmeno, malé písmeno, číslici a symbol" nezaručují sílu hesla. Password1! vyhovuje mnohým z těchto pravidel, přesto je slabé. Přednost dejte délce, jedinečnosti, náhodnosti a kontrole proti uniklým heslům.
Zakázání vkládání hesla komplikuje používání správce hesel. To může uživatele vést ke krátkým, snadno zapamatovatelným heslům. Povolte vkládání a automatické vyplnění, pokud k tomu není jasný a dokumentovaný bezpečnostní důvod.
Nápovědy často prozradí příliš mnoho. Pokud si uživatel podle nápovědy heslo vzpomene, útočník to často zvládne také. Využijte raději zabezpečené resetovací procesy.
Systémy nikdy nesmí ukládat hesla v otevřeném textu nebo reverzibilně zašifrovaná. Hesla musí být hashována moderním, pomalým a "soleným" algoritmem, jako jsou Argon2id, bcrypt, scrypt nebo PBKDF2, dle systému a regulací.
Rychlé obecné hashovací algoritmy jako MD5, SHA-1, SHA-256 či SHA-512 nejsou pro ukládání hesel vhodné. Jsou navržené na rychlost, což útočníkům při úniku databáze usnadňuje prolomení hesel. Další informace najdete v našem článku o vývoji hashování hesel.
Hesla nikdy neposílejte e-mailem, chatem, přes tikety, dokumenty či screenshoty. Používejte správce hesel s bezpečným sdílením a řízením přístupu.
Hesla nesmí obsahovat jména, data narození, názvy firem, vzory na klávesnici, opakující znaky ani běžné zástupné znaky, jako je @ místo a a 0 místo o. Útočníci tyto vzory testují na začátku.
Vyžadujte požadavky, kterým uživatelé rozumí:
Administrátorské účty, servisní účty a výroba vyžadují přísnější kontrolu. Vynucujte silnější hesla, MFA, omezený přístup, monitoring a okamžitou rotaci přístupů při změně.
Silná hesla nenahradí přehnaně široká oprávnění. Každý by měl mít přístup jen tam, kde je to nezbytné pro jeho roli.
Detekujte neobvyklé pokusy o přihlášení, nemožné cestování, opakované neúspěšné pokusy, přihlášení z nových zemí či mimo běžnou pracovní dobu. Heslovou politiku doplňte monitorováním a reakcí na incidenty.
Školení by mělo být zaměřeno na znovupoužívání hesel, phishing, falešné přihlašovací stránky, únavu z MFA, bezpečné sdílení a jak hlásit podezření na kompromitaci. Neobviňujte uživatele – podpořte bezpečné chování.
Heslová politika by měla být pochopitelná. Příliš dlouhá, vágní či přísná politika vede uživatele k jejímu obcházení. Nejlepší politika je ta, která lze efektivně uplatnit a dodržet.
Použijte tuto šablonu jako výchozí bod. Upravte části v hranatých závorkách podle vaší organizace, systémů, úrovně rizika a legislativy.
Heslová politika
Verze: [1.0]
Vlastník: [Bezpečnostní / IT oddělení]
Datum platnosti: [RRRR-MM-DD]
Perioda revize: [každých 12 měsíců]
1. Účel
Tato politika definuje požadavky na tvorbu, používání, ukládání, sdílení a změnu hesel pro [Název organizace]. Cílem je snížení rizika neoprávněného přístupu, krádeže přihlašovacích údajů, převzetí účtu a ztráty dat.
2. Rozsah
Tato politika se vztahuje na všechny zaměstnance, dodavatele, dočasné pracovníky, poskytovatele služeb a další uživatele, kteří přistupují k systémům, aplikacím, sítím, cloudovým službám nebo datům [Název organizace].
Vztahuje se na běžné uživatelské účty, privilegované účty, servisní účty, sdílené účty a na všechny systémy, kde jsou hesla používána k ověření identity.
3. Požadavky na tvorbu hesel
Všechna hesla musí splňovat následující:
- Lidské účty musí mít heslo o délce minimálně 16 znaků.
- Hesla musí být jedinečná a nesmí být používána napříč pracovními a osobními účty.
- Hesla nesmí obsahovat jména, uživatelská jména, názvy firem, data narození, vzory na klávesnici, opakující se znaky nebo jiné snadno odhadnutelné informace.
- Hesla nesmí být založena na běžných frázích, citátech, textech písní ani předvídatelných zástupných znacích.
- Hesla se nesmí nacházet v seznamu kompromitovaných či často používaných hesel.
- Hesla mohou obsahovat mezery, symboly, číslice, velká i malá písmena.
- Přístupové fráze jsou povoleny, pokud jsou dlouhé, jedinečné a nejsou založené na veřejně známých či předvídatelných frázích.
4. Správci hesel
[Název organizace] vyžaduje nebo silně doporučuje používání schváleného správce hesel pro tvorbu, uchovávání a sdílení hesel.
Uživatelé mohou využívat generátor hesel, automatické vyplňování a funkci kopírování/vkládání ze schváleného správce hesel. Hesla nesmí být ukládána do prohlížečů, tabulek, dokumentů, poznámkových aplikací, e-mailů, chatů, screenshotů ani jiných neschválených nástrojů.
5. Vícestupňové ověření
Vícestupňové ověření (MFA) musí být povoleno všude, kde je to technicky možné, včetně (ale nejen):
- E-mailové účty
- Systémy pro vzdálený přístup
- Účty správce hesel
- Cloudové služby
- Administrátorské účty
- Finanční, HR a další vysoce rizikové systémy
- Jakýkoliv systém klasifikovaný jako [důvěrný / kritický]
Kde je to možné, musí uživatelé využívat MFA odolné vůči phishingu (např. passkeys, bezpečnostní klíče nebo autentizátory zařízení). Aplikace pro autentizaci jsou preferované před SMS. Ověření pomocí SMS je zakázáno, pokud je technicky dostupná silnější varianta, a smí být použito jen v případě, že jiný způsob není technicky možný.
6. Změna hesel
Hesla musí být neprodleně změněna, když:
- Je heslo známo nebo existuje podezření na jeho kompromitaci.
- Uživatel zadal heslo na podezřelou/phishingovou stránku.
- Heslo bylo sdíleno s neoprávněnou osobou.
- Byla zjištěna infekce malwarem nebo neautorizovaný přístup k zařízení uživatele.
- Heslo se objeví v databázi uniklých dat.
- Privilegovanému uživateli se změní role nebo ukončí zaměstnání.
- IT/Bezpečnost nařídí uživateli změnit heslo.
Pravidelná expirační lhůta není požadována, pokud to nevyžaduje legislativa, smlouva nebo technické omezení systému. Hesla nesmí být měněna drobnými předvídatelnými změnami původního hesla.
7. Sdílení hesel
Hesla nesmí být sdílena prostřednictvím e-mailu, chatu, tiketů, dokumentů, screenshotů, telefonických hovorů ani ústně.
Sdílené přihlašovací údaje jsou povoleny pouze tehdy, kdy není možné individuální řešení nebo jsou výslovně schváleny [Bezpečností/IT]. Schválené sdílené údaje musí být uchovávány a sdíleny pouze přes schváleného správce hesel s omezeným přístupem.
8. Privilegované účty
Privilegované účty musí používat jedinečná hesla, která nejsou využívána pro běžné uživatelské účty. Musí využívat MFA kdekoliv je to možné a být pravidelně prověřovány.
Hesla privilegovaných účtů musí být změněna při odchodu administrátora, změně role, ztrátě oprávnění nebo podezření na kompromitaci.
9. Servisní účty a aplikační tajemství
Hesla servisních účtů, API klíče, tokeny a aplikační klíče je třeba ukládat do schváleného systému pro správu tajemství nebo správce hesel.
Přihlašovací údaje servisních účtů nesmí být vkládány do zdrojových kódů, konfiguračních souborů, obrázků, dokumentací či skriptů, pokud nejsou chráněny schváleným systémem pro správu tajemství.
10. Reset hesla a obnova účtu
Procesy pro reset hesla musí ověřit identitu uživatele před obnovením přístupu. Resetovací odkazy a dočasná hesla musí být jednorázová, s rychlou expirací, a přenášena pouze schváleným způsobem.
Uživatelé musí být informováni o změně nebo resetu hesla. Dočasná hesla musí být změněna při prvním přihlášení.
11. Technické požadavky
Systémy, které ukládají nebo zpracovávají hesla musí:
- Nikdy neukládat hesla v čistém textu.
- Hashovat hesla moderním "soleným" algoritmem: PBKDF2, scrypt, bcrypt nebo Argon2.
- Nepoužívat samostatně MD5, SHA-1, SHA-256, SHA-512 ani jiné rychlé hashovací algoritmy pro hesla.
- Chránit autentizační koncové body omezením počtu pokusů nebo ekvivalentními opatřeními.
- Odmítat běžně používaná, slabá nebo kompromitovaná hesla.
- Povolit vkládání hesel ze správce hesel.
- Podporovat rozumnou délku hesel a minimálně 64 znaků, pokud je to technicky možné.
- Logovat bezpečnostně relevantní události týkající se ověřování.
12. Hlášení podezření na kompromitaci
Uživatelé musí okamžitě hlásit podezření na kompromitaci hesla, phishing, neobvyklé výzvy k přihlášení, výzvy k MFA, které nevyvolali, nebo náhodné zveřejnění hesla kontaktu [Bezpečnost / IT].
13. Výjimky
Výjimky z této politiky musí být zdokumentovány, posouzeny z pohledu rizik, časově omezeny a schváleny [vedením Bezpečnosti / IT]. Musí být zavedeny náhradní kontrolní opatření, pokud je to možné.
14. Vymáhání
Nedodržení této politiky může znamenat odebrání přístupu, povinné proškolení, kárná opatření nebo jiné kroky v souladu s politikou [Název organizace] a platnými zákony.
15. Revize
Tato politika musí být přezkoumávána minimálně jednou ročně nebo po významné změně systémů, hrozeb, zákonů či fungování firmy.
Silná heslová politika není o tom, udělat z hesel "trest". Jde o odstranění slabých zvyků, podporu správce hesel, použití MFA a rychlé reakce při úniku přihlašovacích údajů. Držte se praktických, vymahatelných pravidel a zaměřte se na reálné útoky jako je phishing, znovuvyužití hesel, credential stuffing a kompromitované účty.