KeePass Advanced Using of Application with global auto-type. Presentation from online presentation.
Pokročilé využití aplikace KeePass včetně globálního samodoplňování. Prezentace z online přednášky.
Link for online presentation: https://www.michalzobec.cz/zaznam-z-prednasky-keepass-zaklady-pokrocile-vyuziti-a-keepass-enterprise-ctvrtek-14-4-2022-8593
3. Michal ZOBEC
On-Premise & Cloud
Senior IT Consultant / IT Project Manager / IT Architect
PowerShell Developer / Packages Developer
• 20 let praxe v IT oboru
• 10 let praxe v mezinárodních korporacích
Reference: https://zob.ec/mylinktree
3
4. Obsah prezentace
• Seznámení s KeePass
• Proč KeePass používat
• Výhody
• Nevýhody
• Ukázky
• Manuální přihlášení
• Samodoplnění
• Globální samodoplnění
• Globální samodoplnění: Základy
• Globálního samodoplnění: Pokročilé možnosti
• Tipy
4
6. Seznámení s KeePass
• Správce hesel, nebo i jiných tajemství.
• Autorem je Dominik Reichl.
• Vývoj od roku 2003.
• Podporuje mnoho jazyků, včetně češtiny a slovenštiny
• Open-source:
• Licence GNU GPL v2.
• Zcela zdarma, včetně použití v komerčním prostředí;
• Můžete tedy používat i doma na svém počítači;
• Zdrojové kódy jsou k dispozici.
6
7. Proč KeePass používat
KeePass vám pomůže ohledně práce s hesly
• Správa hesel.
• Generování hesel.
• Automatizace procesu přihlašování.
• Generování přihlašovacího jména (login).
• V některých typech prostředí téměř nutnost:
• Outsourcing IT služeb,
• Poskytování uživatelské podpory,
• Správa infrastruktury,
• Správa aplikací,
• Všude tam, kde využíváte více identit, nebo dokonce identity vytváříte a
spravujete.
7
8. Výhody
• Budete si muset pamatovat již pouze dvě hesla:
• do Windows, a
• do KeePassu.
• Automaticky se zvedne úroveň vaší bezpečnosti, pokud začnete používat hesla, generovaná
KeePassem.
• Heslo do každé z aplikací můžete mít skutečně jiné, aniž byste se báli, že jej zapomenete.
• Hesla můžete mít „standardizované“ délky 20 znaků, náhodně vygenerovaná.
• Zrychlí a zjednoduší se vám práce při procesu přihlašování do aplikací.
• Můžete získat přehled o pravidelnosti změn hesel.
• Můžete získat přehled o historii změn hesel.
• Podporuje automatické vyplňování hesel ve všech aplikacích včetně webových aplikací.
• V případě správného použití aplikace by nemělo dojít k úniku chráněných informací.*
*Nesmí být užita metoda manuálního přihlášení, viz dále v této prezentaci.
8
9. Nevýhody
• Pokud heslo do KeePass zapomenete, není šance nouzového
obnovení hesla, nebo přístupu. O databázi hesel jste
nenávratně přišli.
• KeePass je pouze databáze hesel. O dodržování
bezpečnostních standardů se musíte postarat sami.
• Není integrován s webovým prohlížečem.*
• Neexistuje oficiální port pro mobilní zařízení.*
*Lze vyřešit jiným způsobem.
9
10. Nevýhody
• Pokud heslo do KeePass zapomenete, není šance nouzového
obnovení hesla, nebo přístupu. O databázi hesel jste
nenávratně přišli.
• KeePass je pouze databáze hesel. O dodržování
bezpečnostních standardů se musíte postarat sami.
• Hesla pouze eviduje. Neumí měnit sám hesla ve zdrojových
aplikacích/systémech/webech.
10
11. Podnikové využití
• KeePass je určen spíše pro jednotlivce a týmy.
• KeePass není Enterprise Level Password Manager.
• KeePass neumí:
• auditování přístupů.
• řízení oprávnění jen ke konkrétním záznamům v databázi,
• režim pro čtení.
• Nicméně do jisté míry je možné omezeně řešit omezení
přístupů k některým informacím následně:
• rozdělení informací do samostatných databází.
• režim pouze pro čtení řešit na úrovni oprávnění souborového
systému.
11
12. Bezpečnost KeePassu (vlastnosti)
• Pro šifrování se používá šifrovací algoritmus AES (Rijndael).
• Tento šifrovací algoritmus schvaluje pro ochranu přísně tajných informací například agentura NSA.
• Šifrování dat je posíleno použitím náhodné soli (salt), tedy doplněním dalších náhodných dat,
které komplikují dešifrování.
• Tím je znemožněno použití slovníkových útoků, nebo předem vypočítaných klíčů.
• Zadávání hlavního hesla může být vynuceno pro zadání v zabezpečené ploše Windows
(Secured Desktop/UAC).
• Tato funkce zvyšuje odolnost proti keylogerů.
• Ochrana informací v paměti. Všechny operace se záznamy v paměti probíhají šifrovaně
(Windows Data Protection API).
• Obfuskace hesel při využití funkce Globální samodoplňování.
• Databáze hesel KDBX je odolná proti hádání hesel a slovníkovým útokům.
• Databázi hesel KDBX lze zabezpečit použitím více faktorů pro ochranu, například:
• Hlavní heslo (master password) databáze,
• Šifrovací klíč (certifikát),
• Vazba databáze na konkrétní účet ve Windows.
12
13. Bezpečnost KeePassu (kvalita)
• KeePass byl auditován (zdrojové kódy) v rámci projektu
Evropské komise Free and Open Source Software Auditing
(EU-FOSSA 1). Nebyly nalezeny žádné bezpečnostní
problémy.
• Evropská komise sponzorovala odměny za nalezení
bezpečnostních zranitelností v KeePass 2.x (projekt EU-
FOSSA 2) v letech 2019–2020. Bylo nalezeno a opraveno
několik menších problémů.
13
14. Bezpečnost KeePassu (doporučení)
• KeePass doporučují tři evropské bezpečnostní agentury:
• German Federal Office for Information Security (Bundesamt für
Sicherheit in der Informationstechnik).
• Swiss Federal Office of Information Technology, Systems and
Telecommunication and the Federal IT Steering Unit.
• French Network and Information Security Agency.
• KeePass také doporučuje český Národní úřad pro
kybernetickou a informační bezpečnost (NÚKIB).
14
15. Uživatelé KeePassu
• Švýcarsko. KeePass je standardní součástí všech počítačů
federální vlády Švýcarska.
• Korporace:
• E.ON
• NN Pojišťovna
• Novartis
15
16. Možná rizika a možnosti „napadení“
KeePassu
• Oblíbená mystifikace (bezpečnostní problém) úpravou konfiguračního
souboru aplikace:
• Úprava konfiguračního souboru tak, aby s pomocí triggeru uložil/exportoval všechny
informace z databáze do externího nešifrovaného souboru.
• Komentář:
• Je to podobné, jako říkat, že jsou aplikace Office totálně nebezpečné, protože umožňují s
pomocí maker (VBA) injektovat na disk škodlivý kód, nebo samy provádět škodlivé aktivity.
• Konfigurační soubor se nachází ve složce %ProgramFiles%, kde uživatelé mají pouze práva čtení.
• Načtení chráněných dat do paměti v otevřené (nešifrované podobě).
• Ano, toto se děje, ale pouze v následujících případech:
• překopíruji přihlašovací údaje do schránky Windows, nebo
• zobrazím (odkryji) přihlašovací údaje, nebo
• použiji funkci Globální samodoplnění s voláním externí aplikace, jíž předám přihlašovací údaje v
podobě argumentů příkazové řádky.
• Nestane se tak v následujících případech:
• využiji funkci Samodoplnění, nebo
• využiji funkci Globální samodoplnění (ne s voláním externí aplikace).
16
17. Verze KeePassu
• KeePass Classic (verze 1.x)
• Původní verze, vyvíjená pro staré systémy Windows 9x, 2000
• Stále podporovaná, Minimálně rozvíjená.
• Cca 1-2 aktualizací ročně.
• KeePass Professional (verze 2.x)
• Zcela nová verze napsaná v C# (.NET)
• Intenzivně rozvíjená.
• Nový formát databáze KDBX.
• Umožňuje současnou práci více uživatelů nad jednou databází.
• Podporuje nové šifrovací algoritmy.
• Plná podpora Unicode.
• Cca 3-5 aktualizací ročně.
17
18. KeePass pro různé platformy
• Microsoft Windows Client
• Microsoft Windows Server
• Linux
• Apple macOS
KeePass je založen na Microsoft .NET Framework a díky
projektu Mono (portace Microsoft .NET Framework na *nix
systémy) umí běžet i na jiných OS, než Windows.
18
19. Forky aplikace KeePass
• Pro KeePass existuje mnoho forků, například:
• KeePassXC
• Fork KeePass oficiálně multiplatformní pro Windows, macOS a Linux.
• Integrace s webovými prohlížeči (Edge, Chrome, Firefox, a další.).
• Integrace s Windows Hello.
• Integrovaná kontrola a reportování záznamů v KDBX jako HIBP, kvalita hesel, apod.
• Otevřený kód dostupný na GitHub.
• Keepass2Android.
• Fork KeePass pro Android.
• KeePassium
• Fork KeePass pro iOS.
• Nevýhodou všech uvedených i neuvedených forků
• Nedůvěryhodnost.
• Neznámý autor/původ;
• Neproběhl žádný audit;
• Není jistota že vydané binárky obsahují jen to, co je ve zdrojových kódech;
• V některých případech i nedostupnost jejich zdrojových kódů.
19
20. Systémové požadavky pro KeePass ve
Windows
Systémové požadavky
• Windows 7, nebo novější.
• Microsoft .NET Framework 2.0, nebo novější.
KeePass Portable
KeePass existuje i oficiálně v portable variantě. Stačí tedy jen
stáhnout, rozbalit ZIP archiv a spustit.
20
21. Jaká data lze v KeePass ukládat?
• Typický scénář
• Přihlašovací údaje
• Doplňkové přihlašovací údaje
• SSH/API klíče
• Ostatní typy přihlašovacích údajů
• Další možnosti
• Licenční produktové klíče (Product Key)
• Platební karty
• Další jiné chráněné údaje
21
22. Manuální přihlášení
Co to je a co mi to přinese?
• Ručně vložíte požadované přihlašovací údaje.
• Jednoduché.
• Zdlouhavé.
• Nevyžaduje konfiguraci.
• Kdekoli, kde je složité, či nemožné použít funkci
Samodoplnění.
22
23. Manuální přihlášení
Kde použít nelze
• Bez omezení
Negativa
• Tato metoda přenáší data v nešifrované podobě do schránky Windows.
• Možnost ukradení nešifrovaných dat z paměti.
Shrnutí
Doporučuji tedy NEPOUŽÍVAT tuto metodu, protože je potencionálně
NEBEZPEČNÁ z důvodu nešifrované podobě chráněných dat v paměti.
23
25. Samodoplnění
Co to je a co mi to přinese?
• Automatické přihlášení.
• Jednoduchá dialogová okna pro přihlášení.
• Nevyžaduje konfiguraci.
• Ideální pro použití v okně ve vzdálené ploše (RDS).
• Použitá zabezpečená data nelze odposlechnout.
25
26. Samodoplnění
Kde použít nelze
• Dialogy pro přihlášení, které
• nepodporují uživatelský vstup z klávesnice, včetně přepínání mezi
jednotlivými poli.
• obsahují více vstupních polí, než Login a Password.
Shrnutí
Doporučuji používat přednostně tuto metodu z důvodu její
bezpečnosti.
26
28. Globální samodoplnění
Co to je a co mi to přinese?
• Plně automatické přihlášení, včetně volitelného doplnění
požadovaných informací.
• Nevyžaduje přepínání do aplikace KeePass. Umožňuje
aktivaci kdykoli při práci.
• Jednoduchá až středně složité přihlašovací dialogy.
• Vyžaduje počáteční konfiguraci.
28
29. Globální samodoplnění
Kde použít nelze
• Dialogy pro přihlášení, které
• Nepodporují uživatelský vstup z klávesnice, včetně přepínání mezi
jednotlivými poli.
• Dynamicky se měnící vstupní pole, které se přizpůsobuje zadanému
obsahu.
• Vyžaduje doplňkový způsob autentizace jako OTP, 2FA, či MFA.
29
30. Globální samodoplnění: Základy
Základní konfigurace Globálního samodoplnění
• Vytvořte si nový Záznam, či otevřete stávající Záznam.
• Přepněte se v Záznamu do záložky Samodoplňování.
• V části Používat vlastní sekvence pro konkrétní okna stiskněte tlačítko Přidat.
• V poli Cílové okno v rozbalovacím menu vyberte požadované okno dle názvu
titulku.
Například „Přihlásit se - Atlassian Confluence - Google Chrome“.
• V případě, že chcete, aby přihlašování fungovalo i v jiném prohlížeči, například
Microsoft Edge, vymažte v názvu titulku název prohlížeče a nahraďte jej
hvězdičkou.
Například „Přihlásit se - Atlassian Confluence*“
• Klepněte na tlačítko OK pro potvrzení uložení nového záznamu. Opět klepněte
na tlačítko OK v Záznamu pro uložení změn.
30
31. Globální samodoplnění: Jak aktivovat
Globální samodoplnění?
• Přejděte do dialogového okna pro přihlášení a klepněte do
pole pro zadání Loginu.
• Stiskněte klávesovou zkratku Ctrl+Alt+A pro aktivaci funkce
Globální samodoplnění.
• Pokud je vše správně nastaveno akce Globálního
samodoplnění se provede.
• Pokud se název titulku okna shoduje s více Záznamy v
aplikaci KeePass, zobrazí se vám dialog s dotazem pro výběr
odpovídajícího Záznamu pro jeho aktivaci. Vyberte příslušný
záznam a potvrďte jej klepnutím na něj kurzorem myši.
31
33. Globální samodoplnění: Pokročilé
možnosti
• Jakékoli dialogy, které neobsahují standardní přihlašovací
dialog (Login, Password) je třeba „naprogramovat“ a
přizpůsobit se tak obsahu přihlašovacího dialogu.
• „Programování“ je jen sdělení informací KeePassu jaké má
použít sekvence nutné pro automatické přihlašování.
33
34. Globální samodoplnění: Proč to
nefunguje?
• Nestane se vůbec nic: Název titulku okna se neshoduje s
titulkem v Záznamu.
• Je třeba zkontrolovat a opravit název titulku okna.
• Částečně se provede sekvence přihlášení, ale následně pak
zůstane viset: Přihlašovací dialog obsahuje nějaký prvek
navíc, na který reaguje ovládání s pomocí klávesnice (klávesa
TAB).
• Je třeba vyzkoušet ovládání s pomocí klávesnice a zjistit, zda
neexistuje nějaký uživatelský prvek navíc, na který aplikace KeePass
reaguje.
34
35. Demo
• Ukázka vytvoření jednoduchého záznamu a přiřazení pro
funkci Globální samodoplnění.
• Ukázka vytvoření záznamu s volitelnou sekvencí vstupu a
přiřazení pro funkci Globální samodoplnění.
35
36. Integrace do prohlížeče
Možnost propojení přihlašovacích údajů v KeePass s webovým prohlížečem.
• Jakékoli stránky, které obsahují přihlašovací údaje
Výhody
• Velmi příjemná uživatelská zkušenost (UX)
Nevýhody
• Nefunguje částečně, či zcela v případě problematické webové aplikace:
• Pokud vývojář aplikace použil nestandardní pole, či názvy polí, je nutné pomoci KeePassu s pomocí editu polí.
• Někdy to nefunguje vůbec i při sebevětší snaze. Přitom skrze Globální samodoplnění je přihlašování možné.
• Nelze používat ve víceuživatelském prostředí, například terminálové servery, nebo stanice, na které se střídá více lidí (směnný
provoz). Je to kvůli technickém omezení běhu části integrace jako služba, která nemůže běžet ve více instancích.
• Není úplně vhodné do řízeného prostředí, kvůli závislosti na verzi KeePass vs verze prohlížeče vs verze doplňku.
• Nejsem si zcela jist jak je to bezpečné. Technicky je řešeno jako služba na kterou se připojí doplněk prohlížeče a načítá z KeePassu
přihlašovací údaje. Bohužel toto není nijak popsané, zejména chybí informace o způsob zabezpečení komunikace mezi doplňkem
do prohlížeče a KeePassem a jak se pracuje s chráněnými daty v paměti.
• Tuto funkci dovede zcela zastoupit (spolehlivě) stávající funkce Globální samodoplnění.
• Nevýhodou může být pro některé uživatele, aby si pamatovali, že v prohlížeči KeePass nemusí používat, tedy až na webové
aplikace, kde integrace nefunguje, v ostatních případech se KeePass používá.
• Ve výsledku kvůli výše uvedeným nevýhodám jsem tuto funkci po cca 2 letech používání opustil.
36
37. Tipy: Sdílení mezi více uživateli
• KeePass podporuje současnou práci více uživatelů nad
databází hesel, podobně jako Excel, či Word.
• V jednom okamžiku lze číst a měnit jednotlivé záznamy v
databázi současně více uživateli.
• Pro sdílení databází je nutné použít nástroj třetí strany,
typicky:
• Microsoft OneDrive (osobní databáze),
• Microsoft SharePoint (mezi týmy),
• Google Drive,
• DropBox, apod.
37
37
38. Tipy: Sdílení mezi více uživateli
• KeePass nepodporuje řízení přístupů, kdokoli se znalostí
hesla, získá přístup ke všem informacím, v ní obsažené.
• KeePass nepodporuje auditování přístupů, nebo jakékoli jiné
pokročilé funkce a mechanizmy pro sledování využívání
jednotlivých přístupů.
• Nejedná se tedy o Enterprise Level Password Manager.
38
39. Tipy: Jak třídit data
• Je vhodné třídit data dle povahy informací. Například podle
aplikací, projektů, apod.
• KeePass umí vyhledávat ;)
39
41. Časté otázky a odpovědi
• Co mám dělat, pokud zapomenu heslo ke své databázi?
• Modlit se a pokusit se vzpomenout si na heslo ☺
• Pokud modlení nepomůže, musíte si vytvořit novou databázi.
• Mohu začít používat KeePass doma pro soukromé užití?
• KeePass je zcela zdarma, ano můžete jej používat doma i v práci.
41