Token pro běžné (soukromé) použití

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Token pro běžné (soukromé) použití
« kdy: 23. 03. 2018, 15:08:02 »
Ahoj všem,

nikdo neví vše - a já nevím nic o tokenech :-)

Ve zkratce: Rád bych nahradil privátní SSH klíč na disku něčím fyzickým, co bych musel tahat u sebe a nemít to roztroušené po strojích. Zároveň to ale nechci tahat na flashce, kterou můžu ztratit a být tak namydlený. Napadlo mě tedy, že bych si pořídil nějaký token nebo podobné zařízení, které by mi SSH klíč nahradilo. Pokud by to třeba umělo nejen uložený SSH klíč, ale třeba i ověřování hesel na webu (jednorázová hesla?), nestěžoval bych si. Koneckonců, pokud by SSH šlo spárovat s jednorázovými hesly, možná bych nepotřeboval privátní klíč...?

Ale protože o tom nevím nic, píšu sem. Dělá se něco takového? Dali byste mi nějaké příklady nebo srovnání více výrobců/typů? Výhody, nevýhody, cena...? Jak to jde rozběhat (budu používat na Linuxu (SSH část + jednorázová hesla) a dost možná na Windows (SSH ne, spíš ta hesla), přičemž na Windows by se hodilo, abych nemusel nic instalovat/nastavovat (pokud to vůbec jde) a v Linuxu je mi to téměř jedno, ale bylo by faj fungovat na libovolné desktopové distribuci bez potřeby zasahovat do ní (instalace, nastavování). Mám na mysli distra jako Ubuntu, Fedora, možná Arch...

Budu rád za jakékoliv nasměrování v této "problematice" - vůbec o tom nemám páru.


dbuisdn


MD

Re:Token pro běžné (soukromé) použití
« Odpověď #2 kdy: 23. 03. 2018, 16:17:55 »
YubiKey umí v zásadě to, co potřebujete (a o dost víc). Lze pořídit cca do tisíce korun (na Alze mají, ale podle mě vysokou marži, lepší je objednávat přímo od českého partnera - https://yubikey.cz/).

Umí to generovat, importovat klíče ve formátu používaném v GPG. Což pro vás znamená nutnost převádět veřejné klíče mezi SSH a GPG formátem (kupodivu to není zrovna příjemná věc).

Jelikož Putty na Windows neumí nativně pracovat s klíči v GPG tvaru (nevím, zda nativně umí smartcards, ale to možná ano), nějaké konfiguraci na Windows (ale i na Linuxu) se nevyhnete. Znamená to zejména nainstalovat GPG, spuštět jeho scdaemon, který v případě potřeby nutí ten token podepisovat či dešifrovat data.

Co se týče ostatních metod autentizace, umí to pár symetrických (tajemství je uloženo na obou stranách), které by asi nějak šly využít ke generování jednorázových hesel. Krom toho se můžete takto autentizovat přes SSH, ale bude potřeba nějaká konfigurace.

Umí to "generovat" i statické heslo. YubiKey se také chová jako HID klávesnice, takže při stisku tlačítka vyplivne statické heslo či nějaké jednorázové, pokud jej máte nastaveno pro symetrickou autentizaci.

Návody na konfiguraci:
https://developers.yubico.com/PGP/SSH_authentication/
Ale prohlédněte si ten obsah více do hloubky, jsou tam i další tutoriály (třeba jak tam uložit klíče atd.).

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Token pro běžné (soukromé) použití
« Odpověď #3 kdy: 23. 03. 2018, 16:33:27 »
Trezor

https://doc.satoshilabs.com/trezor-apps/sshagent.html
Jsme se asi nepochopili - nerad bych do toho tahal aplikaci/program, který je potřeba instalovat na každou mašinu, odkud se budu přihlašovat... Potřebuju něco, co budu mít s sebou, v kapse. Jen to vezmu, dám do USB a můžu se přihlásit odkudkoliv (za předpokladu, že jsou na tom PC dostupné klientské programy nebo třeba webový prohlížeč).

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Token pro běžné (soukromé) použití
« Odpověď #4 kdy: 23. 03. 2018, 16:35:18 »
...
Yubikey mi právě první vlítnul do hlavy, když jsem se nad tím zamyslel. Ale protože moje zkušenosti a znalosti = 0, raději se ptám.

Jde mi víceméně o to, že kdybych pořídil nějakou podobnou věcičku, chtěl bych ji používat (pokud to půjde) na co nejvíc věcí. Třeba i Google účet a jiné veřejné služby... Nejen to, co si sám nastavím.


valach

Re:Token pro běžné (soukromé) použití
« Odpověď #5 kdy: 23. 03. 2018, 16:40:12 »
+1 za Yubikey
Zkušenost: 10 kusů cca 2 roky - naprosto bez problémů, široké možnosti, jak popsáno výše.

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Token pro běžné (soukromé) použití
« Odpověď #6 kdy: 23. 03. 2018, 17:09:03 »
+1 za Yubikey
Zkušenost: 10 kusů cca 2 roky - naprosto bez problémů, široké možnosti, jak popsáno výše.
Můžete mi zkusit popsat, co bych potřeboval na klientu (nějaké běžné Linux distro, opět třeba Ubuntu, Fedora, Suse, Arch, ...) udělat, aby mi to vzalo Yubikey jako ověření pro SSH?

Na serveru a s nahráním klíče do Yubikey si poradím, jde mi ale o tu poslední fázi a to je samotné použití :-)

Jak moc je komplikované na stroji, kde jste s ním ještě nebyli? A jak je dosažitelné s běžnou SW výbavou Linux distra (má všechno potřebné již v sobě)? Jde mi o to, jestli vše zvládnu pod běžným uživatelem, bez nastavování nebo instalace něčeho dalšího...

karlik

Re:Token pro běžné (soukromé) použití
« Odpověď #7 kdy: 23. 03. 2018, 21:03:16 »
1. Je to komplikované v linuxu.  ;D
2. Ve windows stačí mít na flashdisku putty + upravená verze ssh-agenta paegant.
Strčíš flashdisk + Yubikey do WinXP nebo Win10 -> poklikáš na pageant http://smartcard-auth.de/ssh-en.html -> poklikáš na putty a jedeš.

V linuxu:
- Vypnutí služeb, které ovlivňují token (např. v prostředí Gnome -> vypnout "klíčenku", někdy se pohrabat v konfiguraci Xorg/GDM a vypnout automatické spuštění ssh-agenta).
- Instalace potřebných programů.
- Někdy upravit udev (špatná práva Yubikey).
- A další...

Bohužel. Jednodušší je použít klíče umístěné na flashdisku, pro paranoiky třeba na ironkey.



Tester

Re:Token pro běžné (soukromé) použití
« Odpověď #8 kdy: 23. 03. 2018, 21:06:28 »
Kedysi som uvazoval o https://www.nitrokey.com, ale koli "vacsej popularite" som siel do yubikey

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Token pro běžné (soukromé) použití
« Odpověď #9 kdy: 23. 03. 2018, 21:29:34 »
...
Bohužel. Jednodušší je použít klíče umístěné na flashdisku, pro paranoiky třeba na ironkey.
Já po tom pokukuju čistě z praktických důvodů - mít na klíčích (doslova) něco, co by šlapalo bez keců všude (myšleno Linux) a přitom to bylo k ničemu, kdybych to ztratil (pro toho, kdo to najde - za předpokladu, že mě nezná a neví, k jakým PC se s tím dostane, samozřejmě...). Flashka je pro tohle už nepraktická.

A protože jsem technickej nadšenec, rád dám peníze za podobný jednoúčelový zařízení ;)

MD

Re:Token pro běžné (soukromé) použití
« Odpověď #10 kdy: 23. 03. 2018, 21:58:11 »
Citace
přitom to bylo k ničemu, kdybych to ztratil (pro toho, kdo to najde - za předpokladu, že mě nezná a neví, k jakým PC se s tím dostane
Pokud své YubiKey ztratíte či vám jej někdo vezme, ještě musí uhodnout PIN (jedná se vlastně o heslo, není omezeno jen na číslice a může být myslím hodně dlouhé). Pokud neuhodne do tří pokusů (půjde nstavit), tak se ta karta zamkne, a myslím, že pokud si tam nezapnete recovery heslo, tak se dá pak už klíč jen vymazat, ale ne použít.

Citace
2. Ve windows stačí mít na flashdisku putty + upravená verze ssh-agenta paegant.
Strčíš flashdisk + Yubikey do WinXP nebo Win10 -> poklikáš na pageant http://smartcard-auth.de/ssh-en.html -> poklikáš na putty a jedeš.

Pokud na cílovém stroji není třeba mít ani GPG, je to super. O speciálním agentu pro smartcards vím, ale jelikož mám všude GPG, jaksi jsem jej nemusel použít.

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Token pro běžné (soukromé) použití
« Odpověď #11 kdy: 23. 03. 2018, 23:36:58 »
Pro mě jako Linuxáka je ale Yubikey spíše problémem (vzhledem ke zbytečným složitostem na straně klienta) :(

motyq

Re:Token pro běžné (soukromé) použití
« Odpověď #12 kdy: 26. 03. 2018, 00:04:05 »
a co klasickou flashku naformatovanou jako luks. Na gui (windows/linux desktop) se to zepta po vlozeni na heslo - ubuntu a podobne to umi sami, windows je potreba nejake udelatko navic - coz jde resit oddilem na te flashce, ktera nebude sifrovana a tam mit pripadne nastroje.
No a pak uz na tom luksu mit jen ty klice?
Nebo to vidim moc slozite? Luks mam na nekolika flashkach ciste pro dokumenty/dulezitejsi veci, na ssh klice jsem to jeste nezkousel, ale nevidim v tom problem.
Osobne pouzivam gemalto klicenku, ale je neskutecne pomala, takze nejaky clusterssh nebo parallelssh je s ni nepouzitelne.

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Token pro běžné (soukromé) použití
« Odpověď #13 kdy: 26. 03. 2018, 18:55:54 »
a co klasickou flashku naformatovanou jako luks...
To nezní úplně špatně. Na to se přinejmenším mrknu.

karlik

Re:Token pro běžné (soukromé) použití
« Odpověď #14 kdy: 26. 03. 2018, 19:33:18 »
Místo luks můžeš použít třeba encfs, který taky otevřeš všude.
Jenže když potom přijdeš k PC s linuxem nebo Win -> instalovat software.
To už si radši kup ten ironkey.
Funguje všude, pro "odemknutí" jen zadáš pin na hardwarové klávesnici, která je na té flešce.
Nemusíš instalovat žádný software.
Když to někdo ukradne, 3x zadá špatné pin a data jsou pryč (počet pokusů se dá nastavit).
Nevýhoda je jen cena a proprietárnost řešení (šifrování).
Používaj ho například chlupatý.

Možná lepší řešení by bylo mít celý systém + hardware ve tvaru flashdisku.
Něco takového se už prodává a dokonce vyvíjí jako opensource řešení.
Ovšem peníze budou někde jinde...