Browsed by
Category: Bezpečnost

Keepass a 2FA bezpečnost – část třetí

Keepass a 2FA bezpečnost – část třetí

Dnešní článek bude o dvoufaktorovém zabezpeční pomocí TOTP kódů. Článek navazuje na ten minulý, kde jsem ukázal, jak si pomocí Yubikey, Keepassu a Dropboxu udělat bezpečné a zálohované úložiště.

Nejprve trochu o tom, co je TOTP.  TOTP je zkratka “Time-based One-time Password” a jsou to takové ty klasické 2FA kódy, které Vám generuje mobil nebo nějaké zařízení a vy je přepisujete do aplikací a webových stránek. Jak už jsem totiž zmiňoval dříve, ačkoli jsou tu mnohem lepší způsoby zabezpečení (například challenge-response z minulého článku), když už nějaká služba podporuje 2FA, tak většinou využívá právě tyto časové kódy.

Úvod do těchto 2FA kódů a toho, jak fungují, jsem se věnoval v jednom z dřívějších článků, kde jsem také doporučoval aplikaci Authy. Ta sama o sobě nění špatná, ale znamená to věřit externí službě. A i když neříkám, že je Authy špatné, je vždy lepší mít 100% kontrolu nad tím, jak a kde jsou moje data skladována. A o tom bude dneční článek. Jak si udělat náhradu Authy, jak tyto kódy synchronizovat, jak je uchovávat a jak zálohovat.

Celé řešení staví na aplikaci Keepass představenou minule. Za pomocí dvou dalších pluginů rozšíříme Keepass tak, že nejen, že si do něj uložíme zálohovací kódy k 2FA generátorům, ale také Keepass naučíme tyto kódy generovat, ale především, naučíme Keepass generovat QR kódy, které pak můžete vyfotit například mobilem, abyste si tento generátor přenesli i tam. A o tomto si dovolím tvrdit, že nikdo jiný zatím nemá a nenapadlo ho to :).

Standardní postup s 2FA kódy je, že Vás web vyzve, abyste si do mobilu vyfotili QR kód, někam bokem zapsali záložní kód a pak do webu vyplnili pro kontrolu vygenerovaný 2FA kód z mobilní aplikace.

Celý tenhle postup má hned několik nedostatků. Pokud budete chtít kódy synchronizovat mezi více zařízeními, nebo si pořídíte nové zařízení, znamená to ručně bezpečnostní kód přepsat. U jednoho kódu o nic nejde, ale pokud jich máte 20+, je to opruz. Další problém je s bezpečným uložením těchto záložních kódů. A třetí problém je, že pokud používáte 2FA na desktopu, tak se buď upíšete, protože neustále přepisujete kódy z mobilu do počítače, nebo budete mít Authy na počítači, kterému ale co se týká zabezpečení a bezpečnosti uložených dat moc nevěřím.

A nyní, jak to vyřešit lépe.

Jak nascanovat QR kód na počítači

Jako první budeme potřebovat ještě jednu aplikaci. A tou je ShareX. Krom toho, že je ShareX snad nejlepší aplikace na screenshoty na Windows, umí ještě jednu supr věc. Umí vyfotit QR kód, který je kdekoli na PC a přeložit ho do textové podoby. A tady začíná to kouzlo :).

Klikněte pravým tlačítkem na ikonce ShareX, vyberte “Tools” a “QR Code”.

Ukáže se Vám okno, které umí překládat QR kód na text a dokonce i opačně. Vyberte záložku “Decode” a stiskněte tlačítko “Decode from screen”. Ukáže se vám výběrový obdélník, pomocí kterého označíte QR kód na obrazovce.

Takto vyfocený QR kód se Vám přeloží na uri adresu. Pokud například vyfotíte kód, který je na obrázku výše, získáte kód otpauth://totp/me2%40example.com?secret=RLVSCIGF5GOFGW6OEX6F34N432IJKGW3&issuer=DevMovieManager.

QR kódy a KeePass

Jako další si do KeePassu nainstalujte KeePassQRCodeView (link na přímé stažení zde). Po stažení nahrajte soubor KeePassQRCodeView.plgx  do adresáře KeePass/Plugins/KeePassQRCodeView.plgx

Restartujte KeePass a vytvořte novou položku, do které si chcete službu uložit. Po vyplnění základních údajů se přepněte na záložku Advanced a stiskněte Add.

Do “Name” vyplňte třeba “2FA QR” a do Value vložte získaný link (otpauth://……). Zaškrtněte ještě “Enable in-memory protection” pro ještě větší bezpečnost a stiskněte OK.

Celou položku nyní uložte dalším stisknutím OK. Tím máte v KeePassu uložený secret seed (česky řečeno tajný řetězec), ze kterého se pak odvozují časové kódy.

Nyní na nové položce stiskněte pravé tlačítko a v kontextovém menu zvolte QR Code a v něm 2FA QR.

A voila…. Máte QR kód, který můžete kdykoli znovu vyfotit a máte ho bezpečně uložený v KeePassu. Takže je zálohovaný v cloudu, zároveň bezpečně šifrovaný. Dostanete se k němu jen vy, případně kdokoli další, komu dáte do KeePassu skrz Yubikey a heslo přístup.

Generování časových kódů z Keepasu

Jak by řekl Horst Fuchs “To ale to stále není vše!”.

Nyní Keepass umí generovat QR kódy, ale my bychom chtěli, aby uměl také generovat časové kódy, abychom je mohli snadno vkládat do aplikací a webových stránek bez nutnosti je přepisovat z mobilu.

Pro tyto účely nainstalujeme další plugin s názvem Tray TOTP Plugin for KeePass2 ke stažení zde. Po stažení opět nahrát do KeePass/Plugins/TrayTotp.plgx. Po restartu KeePassu se v kontextovém menu jakéhokoli záznamu objeví nová položka  “Copy TOTP” a “Selected Entries->Setup TOTP”.

Jelikož se jedná o jiný plugin, je pro něj potřeba znovu vyplnit TOTP heslo generátoru, které jsme vyfotili z QR kódu. To uděláme tak, že na zvolené položce v kontextovém menu vybereme Selected Entries->Setup TOTP.

Nyní je potřeba projít a vyplnit parametry generátoru. Na první obrazovce dáme “Next”, na další obrazovce ponechte 30 second a zase “Next”. Na další pak vyplňte “6 lenght”, jelikož v 99% budete potřebovat šestimístné kódy.

Na další obrazovce je potřeba zadat tajný kod, který jsme předtím nascanovali pomocí aplikace ShareX z QR kódu. V našem případě to bude “RLVSCIGF5GOFGW6OEX6F34N432IJKGW3″  a opět potvrďte pomocí “Next”. Na další obrazovce nic nevyplňujte (jelikož to v pluginu asi teď nefunguje) a dejte opět “Next”. Na poslední obrazovce pak dejte “Proceed”. Tím máte generátor vyplňený.

Po tomto vyplnění lze nyní TOTP kód získat dvěma možnostmi. Tou první je v okně KeePassu zvolit položku, stisknout pravé tlačítko a dát “Copy TOTP” (případně stisknout CTRL+T v tomto okně). To není špatně, ale lze to ještě snadněji.

KeePass má totiž ještě ikonku v Tray oblasti (to je to ve Windowsech vpravo dole vedle hodin, kde jsou různé malé ikonky). Na té, když kliknete pravým tlačítkem, se nyní ukáže seznam všech nakonfigurovaných TOPT kódů. Stačí tak jen vybrat ze seznamu a do clipboardu (schránky) se Vám ihned kód nakopíruje.

Samozřejmě, pokud máte úložiště uzamčeno, ke kódům se ani přes Tray ikonu dostat nedá. Je potřeba nejprve odemknout úložiště heslem a Yubikey a pak až se Vám kódy vygenerují.

QR Kódy na mobilech

A o mobilech bude poslední část článku. Občas je totiž dobré mít 2FA kódy u sebe a bohužel, k takto uloženým a zabezpečeným kódům v KeePassu se na mobilu nedostanete. Je proto potřeba udělat ještě jeden krok.

Na mobilu lze mít Google Authenticator, ale ten není nijak zabezpečen. A jelikož 2FA má fungovat jako zvýšená bezpečnost, tuto variantu bych určitěn nedoporučoval. Další je Authy, ale jak jsem už psal, musíte věřit třetí straně a hlavně, toto celé děláme proto, abychom Authy nemuseli mít. A pak je tu ještě jedna aplikace – Yubico Authenticator.

Jde o 2FA TOTP generátor kódů pro mobilní zařízení (tuším, že mají i desktopové verze, ale ty už nepotřebujem), kdy kódy jsou zabezpečeny pomoci HW klíče od Yubico s NFC přístupem. Celé to funguje tak, že jsou 2FA kódy uložené někde u nich v cloudu, ale jsou zašifrované pouze Vaším klíčem. Díky tomu, když aplikaci na mobilu spustíte, tak neuvidíte žádná data. A podle toho, jaký klíč s NFC přiložíte, tak takové klíče se Vám na mobilu ukážou. Díky tomu, když HW klíč přiložíte na jiném mobilu, stále uvidíte své kliče.

Bohužel, na druhou stranu, pokud máte klíče dva, je nutné pro oba zadat TOTP kódy znovu. To nám ale nevadí, protože KeePass umí tyto QR kódy vygenerovat, takže přidat nový klíč je hračka.

Přidat klíče do Yubico Authenticatoru je opravdu snadné. Nainstalujte si jejich aplikaci z Android Store, spustťe aplikaci a dejte “Přidat QR kód”. Pro přidání je potřeba kód potvrdit přiložením NFC klíče k mobilu (v případě Samsungu přiložit doprostřed zad mobilu). Tím se klíč zašifruje a uloží.

Zkuste si aplikaci ukončit a znovu spusťit. Po spuštění je aplikace opět prázdná. Přiložte ale klíč k zádům mobilu a najednou uvidíte všechny uložené kódy. Toto je super vlastnost, na kterou jsem přišel až později při využívání Yubikey. Bohužel se o tom člověk na webu nedočte.

V případě ztráty mobilu stačí aplikaci znovu nainstalovat a přiložit klíč. Vše máte opět k dispozici. A v případě ztráty nebo poruchy Yubikey, stačí QR kódy znovu vyfotit z KeePassu.

Závěrem

Jak vidíte, vysoké zabezpečení v dnešní době bohužel obnáší i trochu té práce navíc. Spousta z kroků by se dala zjednodušit, sjednotit funkce pluginu do jednoho, atd. Na druhou stranu, buďme rádi, že to lze aspoň takto. Dalo mi to opravdu spoustu hledání a vymýšlení, než jsem našel způsob, jak udělat vše takto uceleně a s co nejméně externími aplikacemi.

I když je uložení a nastavení trochu složité a šlo by udělat lépe, díky tomuto postupu budete mít absolutní kontrolu nad Vašimi 2FA kódy, budete mít komfort focení QR kódů z mobilu, budete mít vše zaheslované a zálohované.

A to je pro dnešek vše. Tímto třetím článkem uzavírám tuto mini sérii zabezpečení. Předal jsem Vám mé kompletní know-how v zabezpečení a ukázal, jak máme zabezpečení u nás řešeno my. A jelikož mu opravdu věřím, nebojím se ho proto takto sdílet. Pokud by někdo viděl v tomto zabezpečení nějakou slabinu, určitě napište dolů pod článek. Rád se přiučím :).

Jak jsem už několikrát zmiňoval, v případě celého řešení nešlo jen o 100% bezpečnost, ale taky o zálohování a recovery proces. Díky všem těmto krokům budete mít Vaše data a klíče v bezpečí jak před útoky, tak proti případným živelným katastrofám, či při jiných nepředvítelných událostech. Pokud někam do bezpečné schránky uložíte přístup do Dropboxu spolu s jedním záložním Yubikey (nebo jiným U2F klíčem), bude se moci kdokoli oprávněný ke všem Vašim datům v případě potřeby dostat. (Z dropboxu stáhne KeePass, tam se dostane pomoci Yubikey, kde má pak všechny hesla, 2FA kódy a případně i třeba poznámky nebo Vaši závěť 🙂 ).

Článek pak zakončím stejně jako minule prosbou o podporu našeho blogu. Pokud Vám návod pomůže, zvažte zaslání nějaké té koruny na podporu našich článků. I tentokrát si jeho výroba vzala cca 4 hodiny a to nepočítám množství času, než jsem celý systém vymyslel a dal dohromady. Proto pokud Vás článek inspiroval a pomohl Vám s Vaším zabezpečením, budu rád, když nám nějakou korunu přispějete.

Přispět lze přes BTC Lighting network tlačítkem níže, nebo zasláním na BTC adresu 3QpS3ukfatRkpxi5dZH7Axk5T6kYdLspty, případně převodem na účet 1012036013/3030. Děkujeme.


Všechny články v sérii:

KeePass bezpečnost – část druhá

KeePass bezpečnost – část druhá

Minulý článek bylo takové nakousnutí toho, co všechno je potřeba pořešit pro kvalitní zabezpečení kritických dat. Dneska bych se chtěl věnovat tomu, jak vytvořit opravdu bezpečné úložiště pro Vaše data a přitom mít možnost ho mít kdekoli v cloudu. To jsou totiž většinou dva největší protiklady. Naštěstí je způsob, jak toto skloubit.

Odpovědí je aplikace KeePass a Dropbox (nebo kterékoli jiné synchronizované úložiště). Úplně slyším, jak teď většina z Vás říká cosi o tom, že je pěkná blbost dát do Dropboxu super-bezpečná data. Kupodivu to blbost není. Pojdmě na to.

Začnu KeePassem. Jak jsem už psal, jde o free a open-source bezpečnostní program, který umožňuje bezpečně a strukturovaně ukládat informace. KeePass tu je již řadu let a za tu dobu získal spoustu ocenění a certifikací, takže ho lze považovat za bezpečný.

V základu není KeePass nic jiného, než jakási kartotéka, kde můžete do složek přidávat položky. Ke každé položce můžete přiřadit uživatelské jméno, heslo, poznámku, url a pak hromadu dalších informací. Všechna zadaná data KeePass ukládá do jednoho souboru, který může (a měl by být) být zašifrován.

V základu umožňuje KeePass zašifrovat soubor pouze heslem, což není špatné, ale abychom dosáhli požadované super-bezpečnosti, muselo by být heslo raději opravdu dlouhé. Problém dlouhého a složitého hesla je pak v jeho zadávání. Je to zdlouhavé a otravné.

A tady přicházejí na řadu pluginy (rozšíření) do KeePassu. Díky nim lze do KeePassu doplnit obrovské množství dalších funkcí.

To, co jako první do KeePassu doplníme, je podpora pro Yubikey. Způsobů, jak Yubikey do KeePassu integrovat je více, ale nejlépe mi vychází integrace skrz Challenge-Response protocol, který Yubikey podporuje. Zároveň je možné nastavit stejné heslo do více Yubikey, takže není nutné přenášet jeden fyzický klíč, ale lze použít neomezené množství klíčů.

Abych trošku vysvětlil, o co jde. Zabezpečení Challenge-response spočívá v tom, že máte nějaký tajný klíč, který nahrajete jak do Vašeho Yubikey (viz dále), tak ho nastavíte do KeePassu. Během přihlašování pak KeePass vygeneruje náhodný řetězec, který do Yubikey pošle a nechá ho v Yubikey zašifrovat (klíčem, který jste tam původně nastavili). Yubikey poté náhodný řetězec vrátí a KeePass ho porovná s hodnotou, kterou sám vypočítal pomocí tajného klíče. Tím ověří, že Yubikey zná správné heslo. Zároveň ale toto tajné heslo nikdy neopustí ani KeePass, ani Yubikey. Prosté a jednoduché :).

Díky tomu přidáváte velkou část zabezpečení, aniž byste museli cokoli složitého psát. Zároveň se ale nelze obejít úplně bez hesla. Důvod je, že (alespoň u nás doma) zůstavají Yubikey zastrčené v PC. Představa přenášení a neustálého odpojování nebyla akceptována z důvodu snadného použití. Proto je potřeba pořešit ještě situace, kdy by Vám někdo ukradl notebook včetně Yubikey. Bez hesla by najednou existoval způsob, jak se Vám do Vašich dat dostat.

A proto je potřeba přidat ještě heslo. Ale to už nemusí být extra složité. A to ze dvou důvodů. Zaprvé, díky Yubikey klíči už nelze tak snadno použít brute-force útok (automatické tipování miliard kombinací), jelikož pro každé vygenerování hesla z Yubikey je potřeba ručně stlačit tlačítko na klíči. A zadruhé, v případě krádeže se o ni pravděpodobně vcelku rychle dozvíte a můžete provést náležitá protiopatření, takže i kdyby se nějaký útok uskutečnil, než proláme i to jednoduché heslo, vy už budete mít dávno kritické přístupy změněny.

Třetí obrovský benefit napojení Yubikey na KeePass je v tom, že se do KeePassu nelze přihlásit na dálku. Představme si scénář, kdy se Vám do počítače dostane škodlivý kód, který odposlouchává všechny Vaše stisky kláves a zároveň umožňuje ovládání Vašeho počítače někomu cizímu. I když tento účastník uvidí, co píšete za heslo, tak on nebude schopný se na dálku do Vašeho KeePasu dostat. Je to proto, že aby Yubikey vygeneroval challenge-response heslo, je nutné se fyzicky dotknout klíče. A tím totálně eliminuje vzdálený útok.

Jak vidíte, zabezpečení KeePassu jen heslem je o dost méně bezpečné.

  • Kdokoli může zkoušet náhodný útok přes všechny možné hesla. A i když to bude trvat, udělat takový útok lze.
  • Kdokoli, kdo odposlechne stisky Vaši klávesnice, se může poté na dálku přihlásit do Vašeho KeePasu.
  • Heslo je potřeba mít dostatečně dlouhé a složité, což ale zase dost komplikuje jeho využití, když ho máte zadávat několikrát denně.

Poslední, co zbývá je synchronizace KeePassu. A tady přichází na řadu zmíněný Dropbox. Věřím, že po přečtení předchozích řádků je Vám jasné, že je úplně jedno, kam svůj datový soubor s hesly umístíte. Díky Yubikey a heslu je totiž šifrovaný tak dobře, že se do něj nikdo a nijak nedostane. V extrému byste ho mohli vyvěsit klidně veřejně na webu. Samozřejmě je stále lepší ho držet alespoň trochu rozumně bezpečně, ale, teoreticky by to mělo být opravdu jedno.

A proto si můžeme dovolit použít Dropbox. I když i ten by měl být sám o sobě bezpečný, už to znamená mít své věci někde v cloudu. Tam k nim teoreticky může mít přístup kdekdo, navíc stále existuje riziko, že Vám Dropbox můžou hacknout. Proto i s ostatními daty v něm opatrně.

Pro naše účely je ale Dropbox naopak naprosto ideální. Uložíme si na něj zaheslovaný KeePass soubor a díky tomu k němu můžeme přistupovat odkudkoli, kde budeme mít Yubikey klíčenku. Díky tomu jsem schopný se doma do dat dostat jak z pracovního PC, tak z jakéhokoli notebooku.

Jak nastavit Yubikey

Teorii máme za sebou, pojďme nastavovat. Jako první nakonfigurujeme Yubikey, konkrétně jeho slot2 (každý Yubikey má dva programovatelné sloty). Na to je nutné stáhnout a nainstalovat Yubikey Personalisation Tool.

 

V aplikaci pak zvolíme “Challenge-Response” položku v horním menu a zvolíme variantu HMAC-SHA1.

V následujícím okně pak zvolíte, že chcete programovat slot 2,  že chcete využít fixed 64byte input, že se má vyžadovat user input (aby bylo nutné fyzicky kliknout na Yubikey) a stisknete tlačítko “Generate”

Heslo, které se Vám vygenerovalo, si uložte rovnou do KeePass, nebo dočasně někam do souboru na počítači, kde ho ho ale poté musíte 100% zlikvidovat. Jde totiž právě o ono super-bezpečné heslo, pomocí kterého se bude Váš KeePass synchronizovat s Yubikey. A proto se Vám k němu nesmí nikdo dostat.

Až budete mít heslo uloženo, stistkněte tlačítko Write Configuration. Ještě před samotným zápisem Vám aplikace nabídne uložit jakýsi CSV soubor, který obsahuje právě toto zmíněné heslo. Zde zvolte “Cancel”, protože rozhodně nepotřebujete, aby bylo heslo uloženo ještě v nějakém dalším souboru.

Tím máte Yubikey nakonfigurovaný. Pokud v budoucnu budete chtít spárovat další yubikey, stačí postupovat přesně stejným postupem jen s tím rozdílem, že namísto tlačítka “Generate” zkopírujete Vaše heslo do políčka Secret Key (v mém případě 61 4a 11 19 d0 14 85 75 db ce 85 07 ba bf a0 28 f3 e5 e1 eb). Takto můžete spárovat tolik klíčenek, kolik budete potřebovat.

Jak nastavit KeePass

Nejprve si KeePass stáhněte z oficiálních stránek (nikdy nestahuje odjinud, nemáte jistotu, že není kód jakkoli upraven ve Váš neprospěch).

A ze seznamu “Plugins” si stáhněte KeeChallenge plugin (https://keepass.info/plugins.html), případně ho lze stáhnout rovnou zde http://richardbenjaminrush.com/keechallenge/. Plugin rozbalte a umístěte do podsložky “Plugins” ve složce KeePass.

To, že jste plugin aktivovali správně, poznátek tak, že vyberete menu Tools->Plugins a uvidíte v seznamu pluginů KeeChallenge.

Pokud máte plugin nainstalovaný, pojďme se pustit do vytvoření bezpečného úložiště. Z menu zvolte “File” a “New”.

A potvrďte následující okno, kde Vás KeePass informuje, že si máte dobře zapamatovat heslo, které zadáte 🙂

V dalším kroku zvolte, kde se má soubor uložit a jak se má jmenovat. Já osobně ho mám uložený přímo ve složce s KeePassem, který mám celý v Dropboxu. Výhoda tohoto řešení je, že se mi krom samotného datového souboru synchronizuje i celé nastavení Dropboxu se všemu pluginy. Nemusím se proto starat o každý počítač zvlášť, ale všude mám stále stejné nastavení.

A teď se dostáváme k tomu zajímavému. V následujícím okně nyní zvolte Vaše “Master password”, tzn. heslo, které budete zadávat. Krom toho ale zaškrtněte ještě volbu “Show export options”

Po zaškrtnutí “Show expert options” se Vám ukáží další volby k nastavení. Vy dále zaškrtněte “Key file / provider” a ze seznamu vyberte “Yubikey challenge-response”.

A volbu potvrďte stisknutím “OK”.

Zobrazí se Vám další okno, kam nyní zadáte Vaše tajné heslo, které jste si vygenerovali v Yubikey.

V mém případě tak zadávám “61 4a 11 19 d0 14 85 75 db ce 85 07 ba bf a0 28 f3 e5 e1 eb”. Volbu “Variable Length Challenge” nechte odškrtlou. Opět stiskněte OK.

Nyní se Vám rozsvítí Váš Yubikey a vyskočí okno, kde běží časový odpočet. Klikněte na tlačítko na Yubikey. Tím je spárování dokončeno.

 

V tomto kroku můžete nyní nastavit parametry Vašeho KeePass souboru. Krom jeho popisu a názvu lze ještě dále upravit způsoby šifrování. Osobně využívám v defaultním nastavení. Toto lze v budoucny kdykoli změnit. Opět potvrďte OK.

V dalším kroku Vám KeePass nabídne vytisknutí formuláře, kam si můžete poznamenat veškeré bezpečností nastavení a hesla, která jste zvolili. Osobně dávám Skip a hesla ukládám jinam.

A tím je hotovo. Máte vytvořený bezpečnostní soubor, kam se Vám nikdo nedostane.

Nyní aplikaci zavřete a zkuste ji znovu pustit a přihlásit se. Ať si ověříte, že vše funguje jak má.

Po zadání hesla a jeho potvrzení byste měli opět vidět výzvu na stisknutí tlačítka na Yubikey spolu s rozsvícením Yubikey.

Dodatečná nastavení KeePass

Tak, máme nastavený Yubikey a KeePass, nyní ještě nastavíme pár dalších věcí v KeePassu. V základu totiž KeePass po odemknutí úložiště zůstane odemknut. Takže pokud počítač usne / zapne spořič a vy odejdete, tak je databáze stále odemknuta a někdo by se Vám fyzicky mohl k datům stále dostat.

I toto naštěstí umí KeePass vyřešit. Lze nastavit, aby se KeePass automaticky zpět zahesloval po x-minutách neaktivity, nebo při usnutí PC, nebo při spuštění screensaveru, nebo při stisku klávesy ESC v případě, že už víte, že přístup nebudete potřebovat. Díky tomu jsou data odemknuta po opravdu minimální nezbytnou dobu a jinak jsou data zaheslována a nepřístupná.

V menu Opitions najdete hromadu voleb, včetně:

  • “Lock workspace when computer is about to be suspended”, která říká, že má KeePass být zamčen při usnutí.
  • “Lock workspace after global user inactivity”, která říká, za jak dlouho KeePass sam zamkne, pokud se na PC nic neděje

Je toho opravdu spousta, co lze nastvit. Ostatní položky ponechám k vlastnímu studiu, jelikož už záleží na vkusu uživatele. Například, zda se má KeePass zobrazovat jako běžící aplikace nebo v Tray, zda Close tlačítko zavírá aplikaci, nebo ji jen minimalizuje do Tray, atd.

Obnova přístupu k datům

Poslední kapitola bude už dříve zmiňované “coby-kdyby”. Jak zajistit, že se k těmto datům dostanou i jiní v případě nouze. Já to pro tyto účely mám řešeno následovně.

  • Je potřeba si na papír poznamenat heslo, které je zadáno do Yubikey (tzn 61 4a 11….), dále pak heslo, které se zadává přímo do KeePassu (v případě tohoto dema “heslo”).
  • Kromě toho je pak potřeba ještě uživatel a heslo do Dropboxu.
  • A k tomu nějaký návod, jak vše obnovit. V mém případě link na tento článek 🙂

Tyto údaje jsou zapsané na papíru, odkud je nelze nijak elektronicky zcizit. Papír pak lze dle uvážení vložit do bezpečnostní schránky banky, kde ke schránce nastavíte přístup i dalším osobám, případně jej zakopat někde na zahradě a lokaci sdělit ostantím. Případně poslední varianta je pak zalepená obálka, kterou uschováte u důvěryhodných osob pro případ nouze.

Všechna další data, závěti nebo krizové plány již můžete průběžně ukládat a měnit v KeePasu. To hodně usnadňuje distribuci těchto kritických informací. Jediné, kdy musíte obsah obálky a schránky aktualizovat, je, když změníte Yubikey heslo, KeePass heslo, nebo přístup do Dropboxu.

Závěrem

Tak, další část návodu mám za sebou. Stále je toho spousta, jak zabezpečit vše ostatní. Primárně právě 2FA ochrana, o které budu mluvit příště. Jak ale vidíte, jen samotné zabezpečení KeePassu je kapitola sama o sobě. Když se to ale udělá správně, je to úložiště naprosto bezpečné, zároveň synchronizované a k tomu obnovitelné v případě nouze.

Pokud Vám návod pomůže, zvažte zaslání nějaké té koruny na podporu našeho blogu. Jen pro představu, článek jako je tento jsem zpracovával dnes 3 hodiny. Je fajn ostatním pomáhat, ale je i fajn vidět, že to lidé dokáží ocenit. Díky!

Adresa pro příspěvky v BTC je 3QpS3ukfatRkpxi5dZH7Axk5T6kYdLspty, případně převodem na účet 1012036013/3030. Děkujeme.


Všechny články v sérii:

 

Bezpečnost účtů – část první

Bezpečnost účtů – část první

Už několik týdnů, možná spíš měsíců, řeším zabezpečení svých účtů. A i když jsem předpokládal, že v dnešní době všudepřítomné osvěty o bezpečnosti to bude hračka, tak bohužel ani omylem. Navíc, vše musí být tak jednoduché, aby řešení používala i má žena. Jinak by celá bezpečnost byla ta tam.  A jako třešnička na dortu, celé zabezpečení musí být udělané tak, aby se v případě živelné katastofy, nebo kdyby se mi nedejbože něco stalo, dalo stále ke všem účtům a penězům (a kryptoměn) dále dostat.

Dnešní stav bezpečnosti je slušně řečeno smutný. Na jedné straně tady máme USB tokeny jako je třeba Yubikey, Trezor a další a na druhé straně pak poskytovatele služeb, kde je vrchol zabezpečení šestimístné heslo. Do toho vše zhoršuje ještě fakt, že se většina uživatelů potřebuje přihlašovat na více zařízeních s více různými operačními systémy. Pak už je to úplná katastrofa.

A tak jsem opravdu dlouhou dobu řešil, jak zabezpečit své pracovní PC postavené na Widnows, přitom mít možnost pracovat občas i na OSX a do toho mít přístup k datům i z Android telefonu. Jakmile totiž chce člověk opravdu dobré zabezpečení, je to problém.

Původně jsem používal kombinaci Lastpass a Authy. V Lastpass jsem měl všechna hesla a měl je chráněné pomocí 2FA TOTP (dvoufázová autentizace založená na časových kódech). Tyto 2FA kódy jsem generoval původně přes Google Authenticator, později pak přes Authy.

Celé řešení má ale hned několik problémů. Zaprvé, Lastpassu se prostě nedá věřit na 100%. Pořád jsou data uložena někde v cloudu (i když šifrovaná) a pořád se dá k datům v prohlížeči teoreticky dostat. Pár průšvihů už Lastpass mělo a hlavně, data jsou v určitou chvíli rozkódovaná v pluginu prohlížeče, kde je může vyluxovat někdo dalši.

A to stejné platí o 2FA kódech v Authy. Ačkoli je authy zaheslované masterpasswordem, tak jsem používal cloudsync, abych mohl 2FA kódy používat jak na pracovním PC, tak notebook a mobilu. A všude tak hrozilo, že se k těmto kódům nějaká další cizí aplikace dostane (a bohužel to nelze vyloučit nikdy).

Moje původní představa, jak z toho ven, byla, že si pořídím HW klíč a vše už bude jenom krásné. Bohužel, záhy člověk zjistí, že podpora HW klíču je opravdu tristní. Velcí hráči ala Google, Microsoft, Dropbox a další už ji mají, ale 95% (možná i 99%) ostatních webů vůbec. Když už nějaké zabezpečení, tak v lepším případě časové 2FA TOTP kódy, v horším případě potvrzení přes email, v nejhorším případě nic.

A tak jsem začal vymýšlet, co by se s tím dalo v rámci možností udělat, aby to splňovalo bezpečnost, ale zároveň i komfort použití. Jako první je potřeba si definovat cíl zabezpečení. Cílem není mít 100% bezpečnost u všech služeb. Cílem je mít 100% bezpečné kritické věci a u těch ostatních se spokojit s 99%.

Za kritickou službu číslo jedna považuju email. Konkrétně Gmail a GoogleApps email. Pokud by se mi někdo dostal do emailu, je konec. Přes něj už se dokáže dostat skoro všude, vynutit si změnu hesla u ostatních služeb atd.

Mezi další kritické služby samozřejmě patří Lastpass, kde jsou všechna hesla, dále pak Crypto burzy, Trezor na kryptoměny, … zkrátka takové služby, kde fakt nechcete, aby byl někdo cizí.

A zde je zatím to nejlepší, co jsem vymyslel –  HW Key Yubikey, KeePass, Lastpass, Yubico Authenticator a na kryptoměny Trezor. Jak jsem psal, není to úplně triviální. Bohužel je dnes potřeba několika aplikací a zařízení, aby byla ochrana ideální.

Nejlepší na synchronizaci hesel je stále Lastpass. Potřebuji přístup k heslům jak na Windows, tak OSX a Androidu a to ve více různých prohlížečích. Jelikož ale Lastpassu úplně nevěřím, všechny kritické služby krom hesla mají nějakou další formu 2FA. Tím pádem, pokud mi Lastpass hesla vyluxují, dostanou se sice třeba na vodniky, ale do kritických služeb nikoli.

Na 2FA kódy jsem ale Authy zavrhl. Ne, že by s ním byl problém, ale je to služba třetí strany, které úplně nevěřím. A tak jsem řešil, kam s 2FA. Nakonec se mi povedlo zjistit, že se 2FA kódy dají generovat pomocí určitých pluginů i v aplikace Keepass.

Samotné zabezpečení KeePassu je také kapitola sama pro sebe. Opět, díky pluginům, lze dosáhnout velmi kvalitního zabezpečení. A to díky Challenge-response protokolu a tajnému klíči, který je nahraný do Yubikey. O tom později.

Bohužel, Keepass je jen pro Windows (ten původní Keepass). Existuje několik alternativ KeePassu, které umí fungovat i na OSX či Linuxu. Jenže tam už nemáte tu jistotu bezpečí, navíc, nepodporují pluginy. Například KeePassX jich má pár implementovaných v sobě, ale není to úplně ono.

A pak tu máme android. Rozhodně jsem nechtěl mít generátor 2FA TOTP klíčů na Androidu nechráněný. Takže nějaká read-only databáze KeePassu nepřipadala v úvahu. Stejně tak GoogleAuthenticator neumožňuje žádné zabezpečení. Naštěstí jsem narazil na Yubico Authenticator for Android, který umí zadat klíče do Androidu, ale jsou přitom šifrované konkrétním Yubikey klíčem.

A to je hrubý nástin toho, jaké aplikace jsem se rozhodl použít. Bohužel, jen o aplikacích to není. Je potřeba do Keepasu hodně věcí doinstalovat a nastavit a nebo vymyslet workflow tak, aby ho zvládla používat i žena. Například přenos 2FA TOTP  klíčů mezi Android a Windows, způsob generování 2FA klíčů pomocí Keepassu, zůsob zálohování Yubikey, jelikož jeden klíč je málo, způsob zabezpečení Keepassu, ….

Je toho opravdu hodně. A aby toho nebylo málo, je tam ještě ten jeden požadavek. Toto všechno se musí dát nějak jednoduše popsat tak, aby to mohlo být uloženo v bezpečnostní schránce v bance, aby kdyby se něco stalo, tak se šlo stále ke všemu dostat. Jak zajistit, že se nebude muset obsah schránky neustále aktualizovat. Jak vyřešit, že některé věci musí být jen fyzicky na HW klíči, atd. kryptoměnám a dalším elektronickým statkům by se totiž v případě mého zmizení či demence už nemusel nikdo další k majetku dostat. A proto jsem začal dávat dohromady rovnou i recovery plán.

A o tom budou další články. Uvidím, jak na tom budu s časem, protože tyhle články bohužel nejsou na pár minut. Pokusím se postupně sepsat návod na všechny oblasti zabezpečení, ukázat jak si vše nastavit a rozběhat. A to tak, aby Vaše emaily, účty i Bitcoiny byly v bezpečí :).


Všechny články v sérii:

Co je a jak používat dvoufaktorovou autentizaci

Co je a jak používat dvoufaktorovou autentizaci

Dneska tu mám jeden mininávod z oblasti bezpečnosti. Text měl být původně jen pár odstavci v jiném článku, ale nakonec se mi to dost rozrostlo, takže vydávám jako samotatný návod.

Ačkoli jsem o 2FA začal původně psát v kontextu zabezpečení kryptoburz, je 2FA autentizace ideální nástroj pro zabezpečení také například emailových účtů (například Gmail či další), nebo LastPassu, Skrillu, Coinbase či dalších služeb. Osobně používám 2FA naprosto všude, kde to jde.

Ani sebelepší a sebebezpečnější služba totiž není sama o sobě zárukou bezpečnosti.  Je potřeba si svůj účet pořádně zabezpečit. A tím nemyslím jen nepoužívat hesla jako 123Password a podobně. Samozřejmostí by mělo být unikátní heslo pro každou službu (ideálně pomocí LastPass, které hesla generuje i ukládá), ale ani to nemusí stačit.

Proto to nejlepší, co pro svůj účet můžete udělat, je začít využívat také dvoufaktorovou autentizaci. To znamená, že na přihlášení nestačí jen uživatelské jméno a heslo, ale ještě pak nějaká další externí informace, kterou prokáže, že jste to opravdu vy. (Takže pak ani krádež hesla či celého LastPass účtu s Vašimi hesly by nijak nevadila, jelikož bez 2FA se dovnitř prostě nedostanou).

Bohužel se nyní hojně využívá a chybně označuje jako dvoufaktorová autentizace SMS kód. To ovšem 2FA není. Problém totiž je, že se SIM karta dá snadno zkopírovat a kód poslat kamkoli. Na to teď například doplatil  i nějaký Američan, co žaluje AT&T operátora, jelikož mu tak někdo díky kopii SIM karty (kterou získal diky vydávání se za něj) ukrad $24.000.000 v jeho kryptoměnách.

No, takže SMS klíč rozhodně ne. To co je ideální je generátor náhodných kódů. Tyto kódy generuje nějaké zařízení a generuje stejné kódy jako služba, kterou máte takto zabezpečenou. Generátor je synchronizován pouze s Vašim zařízením, navíc je zaheslovaný Vaším heslem. Takže se nikdo jiný nemůže za Vás vydávat a napáchat tak nějaké škody na Vašich účtěch.

První rozšířená aplikace na 2FA přihlašování byl Google authentizátor. Bohužel, ačkoli je to aplikace od Googlu, neumí se zálohovat ani synchronizovat na jiná zařízení. Takže když ztratíte nebo se Vám rozbije mobil, máte problém. Sice né neřešitelný, ale dost to komplikuje život (o tom dále).

Naštěstí je tu o dost vymazlenější aplikace s názvem Authy. Ta umí přesně to stejné, co Google autentizátor, ale navíc to umí zálohovat do cloudu, zabezpečit vše heslem a synchronizovat na více zařízeních. Takže přesně to, co byste od takové aplikace očekávali.

Aplikaci si nejpre nainstalujte na Váš mobil a zvolte si bezpečnostní heslo. Pod tímto heslem budou zašifrována Vaše data a toto heslo musíte zadat na všech zařízeních, kde budete chtít mít ke generátoru přístup.

Po instalaci pak můžete rovnou přejít k registraci služby, na které jde 2FA zapnout. Jako ukázku jsem si vybral můj účet na BitMEXu, ale samotné zapnutí a využívání je velmi podobné i kdekoli jinde.

V sekci Security najděte položu Enable Two-Factor Auth. Na výběr jsou většinou dva typy 2FA. Tím jedním je Google Authenticator, tzn formát, o kterém zde píšu. A tím druhým pak Yubikey. To je samostatné zařízení, které rovněž generuje kódy. Jen má trochu jiný generátor, takže spolu s Google Authenticatorem nejsou kompatabilní.

Po vybrání Google Authenticator se Vám ukáže nějaká takováto tabulka. Samozřejmě bude službu od služby trochu jiná, ale podstata zůstavá.

Důležité jsou tu tři věci. Tím prvním je čárový kód, který pomocí Authy aplikace vyfotíte. Tím se spáruje webová služba s Vaším generátorem, takže budou obě schopné generovat stejné klíče a tím ověřit, že jste to opravdy Vy.

Než ovšem čárový kód nascanujete, zapiště si někam na super-bezpečné místo kód uvedený v horní části obrazovky. Tento kód totiž obsahuje stejné informace jako čárový kód. A pokud by se Vám například poškodily data v Authy, pomocí tohoto kódu jste schopni znovu telefon (nebo jiné zařízení) spárovat s generátorem kódu.

Další variantou pak je vytisknout celou obrazovku včetně čárového kódu a někam bezpečně založit. Když píšu bezpečně, znamená to někam, kam se Vám nikdo nedostane. Pokud totiž k tomuto kódu získá kdokoli přístup, dostane se pak kamkoli kam vy.

Takže, pokud máte kód bezpečně zazálohovaný, vyfoťte čárový kód a přidejte si danou aplikaci do Vaší Authy aplikace.

Potvrďtě přidání a na další obrazovce se Vám již zobrazí první vygenerovaný kód. Ten se bude každých cca 30 sekund automaticky měnit.

Takto vygenerovaný kód pak zadejte do dolního boxu na webové stránce. Tím ověříte, že je Váš telefon správně spárován s cílovou službou.

Po zapnutí 2FA Vás obvykle služba odhlásí a donutí Vás znovu přihlásit již za použití 2FA kódu. Jak můžete vidět dole na obrázku, nyní zadávám svůj email, heslo a 2FA token z mobilu.

A tím máte Váš účet zabezpečený. Od teď, i když Vám někdo ukradne Vaše heslo, se do účtu nedostane.

Další velká výhoda 2FA je, že Vás ochrání proti podvodným stránkám, kdy někdo udělá vizuální kopii zabezpečené stránky se snahou z Vás vylákat Váš email a heslo. Ovšem díky 2FA to není takový problém. I když mu totiž zadáte Váš 2FA kód, tak ten platí jen 30 sekund a navíc se dá použít jen jednou. Většina služeb má ale všechny kritické operace chráněné 2FA klíčem. Takže například na burze, i kdyby se Vám dostal do účtu, tak už neprovede žádný výběr nebo převod peněz. Na to by totiž potřeboval už další kód a ten mít nebude.

Jak vidíte, je 2FA opravdu velmi účinný prostředek, jak zabezpečit Vaše účty. Za cenu trochu malého nepohodlí ve formě zadávání 2FA klíče získáte absolutní ochranu před neoprávněným vstupem do Vašich účtů. Navíc 2FA kód většinou nezadáváte vždy, ale jen jednou za čas na novém zařízení, nebo po uplynutí nějaké doby.

Doufám, že dnešní mininávod donutil alespoň pár čtenářů zi 2FA zapnout a začít používat. Pokud ano, měl smysl :).