www.SAMURAJ-cz.com 

12.11.2018 Benedikt Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Bezpečná evidence přístupových údajů - SecureAnyBox

Neděle, 21.10.2018 09:21 | Samuraj - Petr Bouška |
V posledních letech se vymýšlí způsoby, jak řešit přihlašování do informačních systémů, protože jich užíváme stále větší množství. Převládající jsou přesto stále hesla. Ta mají řadu nevýhod, jako jednoduché heslo je možno rychle prolomit, složité heslo se hůře pamatuje. Pokud do všech systémů použijeme stejné heslo, tak pokud jej útočník získá, tak nám může kompromitovat mnoho systémů najednou. Takže je třeba používat pro každý systém/účet jiné heslo a hesla dostatečně složitá. Ta si většinou nedokážeme pamatovat, takže do hry přichází nějaký správce hesel nebo honosněji systém na správu přístupových (přihlašovacích) údajů. V první polovině článku probereme obecné věci, v druhé si popíšeme jednu speciální aplikaci.

Složitější je situace ve firmě, kde se sice snažíme používat jednotnou identitu pro většinu interních informačních systémů. Ale pořád je mnoho praktických situací, kde to nelze. Máme různé účty, které potřebujeme sdílet pro více uživatelů. Někteří zaměstnanci vytváří externí účty za firmu, například do e-shopů, a pokud ukončí pracovní poměr, tak potřebuje tento přístup získat jejich nástupce, atd.

Přístupové údaje

Nejprve si zkusíme určit, co jsou to přístupové údaje, rozdělit je na různé typy a kategorie, s kterými se v praxi setkáváme.

Co jsou to přístupové údaje

Obecné termíny, které souvisí s přihlašováním uživatelů pomocí účtů. V nejčastějším případě se jedná o uživatelské jméno a heslo, ale možností je více.

Ověřování uživatelů

  • Autentizace (Authentication) - ověření identity, jde o potvrzení, že osoba je ta, za kterou se vydává
  • Autorizace (Authorization) - oprávnění, jde o ověření, že osoba má oprávnění provést o co se snaží

Faktory ověření uživatele

  • znalostní faktor - něco, co uživatel zná, třeba uživatelské jméno a heslo
  • faktor vlastnictví - něco, co uživatel má, třeba přístupová karta, smart card, SSH klíč, certifikát
  • inherentní faktor - něco, čím uživatel je, třeba biometrie (otisk palce, sítnice, apod.)

Typy autentizace

  • jednofaktorová (Single-factor) - pro ověření se použije pouze jedna komponenta z jedné kategorie faktorů (třeba jméno a heslo)
  • dvoufaktorová (Two-factor) - použijeme dvě nezávislé kategorie, například čipová karta (certifikát) a PIN (musíme něco mít a něco znát)
  • multifaktorová (Multi-factor) - používá dva nebo více faktorů

Přístupové (přihlašovací) údaje (Logon Information), jinak řečeno pověření (Credentials), slouží pro autentizaci a získání přístupu k informacím či jiným zdrojům.

Různé typy přístupových údajů

Uživatelské účty mohou být

  • sdílené - obecný účet, který využívá více lidí
  • firemní - sdílený účet na jméno firmy
  • personalizované - účet vystavený na jméno osoby, který by měla používat pouze ona

Typy účtů dle účelu

  • lokální účet pro správu (účet správce) na serveru, systému, aktivním prvku, zařízení (tiskárna, GW, projektor, kamera), diskové pole - příklad Administrator, Root, Enterprise Administrator, Cisco
  • účet pro správu aplikace - DB server, monitoring, zálohování, FTP sever, Jira, SCCM, VMware - příklad SA, Oracle, admin, backup
  • sdílený klíč - Shared Secret pro RADIUS, AD DS Restore Mode Password, heslo k certifikátu
  • účelový účet - odesílání pošty z aplikace, čtení uživatelů z AD, účet pro cluster
  • servisní účet (service account) pro běh služby
  • účet pro nákup - v systému dodavatele
  • účet pro support - v systému dodavatele
  • účet pro vzdálený přístup - VPN do firmy nebo k zákazníkům
  • přístupová karta - fyzický prvek
  • přístupový token - fyzický prvek
  • přístupový certifikát - certifikát v souboru či na kartě a heslo či PIN

Bezpečnost hesel

Textové heslo je nejčastější metoda zabezpečení přístupového účtu. Abychom udrželi určitou bezpečnost účtu, tak bychom pro každý systém měli používat jiné heslo a heslo by mělo být dostatečně složité.

Existují různé algoritmy, které vypočítávají, jak bezpečné heslo je. Primárně jde o to, zda je možné heslo prolomit v reálně použitelném čase na současném HW (v praxi je možno použít více počítačů najednou). Prolomení znamená využití hrubé síly (vyzkoušení všech možných kombinací), ale také inteligentnějších technik, kdy se využívá slovníků a nejprve se zkoušejí nejčastější varianty. Podle toho se pak určuje kategorie typu weak, good, strong, apod. Samozřejmě různé systémy mohou chránit přístup tím, že po určitém počtu chybně zadaných hesel se účet zablokuje.

Z toho plyne, že existují určitá doporučení, jak by mělo heslo vypadat (z čeho se skládat). Základem je, aby bylo komplexní, to znamená, že obsahuje znaky z různých skupin (malá písmena, velká písmena, číslice, speciální znaky). A aby mělo určitou minimální délku. Dále by nemělo obsahovat nějaký odhadnutelný text, opakující se znaky, jméno účtu, apod. V české legislativě existuje vyhláška (zjednodušeně) o kybernetické bezpečnosti Vyhláška č. 316/2014 Sb., kde jsou uvedeny minimální požadavky na kvalitu hesla. K běžným účtům je uvedena minimální délka 8 znaků, ale bezpečnější je délka 15 znaků.

V praxi hraje také roli věc, kterou asi neovlivníme, a to různé zranitelnosti v aplikaci, protokolu či algoritmu, kde účet používáme. Třeba NTLM používá pro uložení hesel hash. Existují různé metody, jak tyto hashe získat a pak se snažit najít k němu heslo.

Situace, které v praxi řešíme

  • bezpečné uchování a údržba (zadání změn) přístupových údajů
  • bezpečné předání sdílených přístupových údajů
  • odchod zaměstnance, který měl přístup k určitým přístupovým údajům
    • změnit heslo všude, kde jej viděl
    • zrušit všechny jeho personalizované účty
    • vrátit přístupové karty, apod.
    • pokud měl přístupy k zákazníkům, zařídit zrušení

Pozn.: Je třeba si uvědomit, že ukládání hesel do běžného souboru (text, Excel, Word, atd.), a snažit se jej zabezpečit pouze řízením přístupu, není dostatečná ochrana. Pro zabezpečení je třeba využít šifrování s dostatečnou silou.

Máme určité jasné přístupové údaje. Osobní účet zaměstnance v AD DS je pouze jeho a nikomu by neměl sdělit svoje přihlašovací údaje. Při odchodu jej zrušíme. Pokud někdo jiný potřebuje získat přístupy, které tato osoba měla, tak je Domain Admin přidělí nebo se přiřadí v daném IS. Sdílený účelový účet pro odesílání pošty z určité aplikace. Heslo zná správce aplikace, pokud odejde, tak jej předáme jeho nástupci.

Pak existují složitější situace. Třeba různé účty u dodavatelů či partnerů. Většinou se nevytváří nějaký obecný účet pro firmu, ale rovnou účty na jméno určité osoby. První účet se stává správcem partnerského/obchodního účtu pro celou společnost. Zaměstnanec tam vyplňuje svoje osobní údaje, tak většinou nechce sdělit přístup k tomuto účtu. Pokud odejde z firmy, tak musíme dohlédnout, aby stanovil správcem někoho jiného či změnil svůj účet na jinou osobu. Nebo pak situaci řešit s dodavatelem/partnerem, což bývá problém.

Aplikace pro správu přístupových údajů

Z výše uvedeného plyne, že dnes každý potřebuje nějakou aplikaci pro správu přístupových údajů. Hledal jsem na internetu, co je k dispozici. Přitom jsem se zaměřoval na firemní využití. Obecně se dají nalézt dvě kategorie aplikací. A to cloudové, které využíváme online a nemusíme nic instalovat. Sice uvádí, že uložené údaje jsou šifrovány pouze naším heslem (zjednodušeně řečeno), takže poskytovatel nemá v žádném případě přístup. Ale údaje o firemních účtech jsou to nejcitlivější, takže mimo prostory firmy bych to neumístil. Proto jsem se zaměřil na on-premises řešení, které umísťujeme/instalujeme u sebe.

Obecně nám aplikace pro správu hesel řeší to, že do ní umístíme informace o účtech (včetně hesel), a ona tyto údaje šifrovaně uloží. Pro dešifrování se využívá náš přístupový klíč/heslo. Složitost pamatování spousty hesel se zjednoduší na pouze jedno heslo (může být i multifaktorová autentizace), ale z toho plyne i nebezpečí, že nám jedno heslo chrání všechny účty. Proto musíme dostatečně zabezpečit systém pro správu přístupových údajů a hlavně použít dostatečně bezpečné hlavní heslo.

Překvapilo mne, že aplikací k dispozici není mnoho. A aby splnili moje požadavky (které jsou uvedeny dále) je velký problém. Přehled níže je pouze velmi stručný.

Řešení zdarma

  • KeePass - OpenSource, pouze lokálně bez řešení oprávnění a reportů, patrně dnes nejrozšířenější, podrobněji níže
  • PINs - první aplikace, kterou jsem používal pro ukládání hesel, je to již velmi dávno a dnes se nevyvíjí
  • Passbolt - OpenSource, Community Edition zdarma, každý uživatel si generuje šifrovací klíč, pouze základní funkce, jednoduché sdílení, žádné reporty, skupiny (na všem se pracuje, ale asi již dlouho)

Placené produkty

  • SecureAnyBox - podrobně se této aplikaci věnuje druhá polovina článku
  • Passwordstate - 250 uživatelů stojí 5 170 USD (107 000 Kč), zajímavý, dashboard, statistiky, skupiny neomezeně, práva a dědění přes uživatele i skupiny, bohaté reporty včetně plánovaného generování a zaslání, detailní nastavování záznamů (položek pro záznam, včetně mých vlastních), expirace záznamů, různé skripty pro automatické změny hesel, automatické přihlašování do webů, SSH, RDP…
  • TeamPasswordManager - neomezeně 2 999 USD, nejen pro hesla, ale i projekty - hesla se musí vázat na projekt, méně přehledné, žádné skupiny, žádné reporty
  • Password Manager Pro - 200 uživatelů 10 795 USD, je to nejen správa účtů, ale také PIM - bezpečné přihlašování a změny hesel
  • Passwork - neomezeně 1 990 USD, málo informací, zvláštní pojetí sdílení hesel pomocí odkazů (jako Dropbox)
  • Dashlane - 250 uživatelů 10 000 USD / rok, patrně pouze online
  • Pleasant Password Server - na tento produkt jsem narazil až dodatečně

KeePass Password Safe

Velmi rozšířená aplikace, pro uchování přístupových údajů, je KeePass. Myslím, že je dostatečná pro řadu praktických situací, ale pro firemní použití ji chybí víceuživatelské možnosti. Jedná se o Open Source aplikaci pro správu hesel, která má řadu dobrých vlastností:

  • vytváříme soubory KeePass Password Safe, které jsou šifrovány pomocí AES 256
  • chráněny mohou být heslem, klíčem, Windows účtem (případně OTP, certifikát, Smart Card)
  • v nich můžeme vytvářet složky a záznamy
  • záznam má řadu atributů, hlavní je heslo, ale můžeme vložit i soubor
  • u záznamů vidíme datum vytvoření, změny, přístupu
  • ukládá se kompletní historie změn
  • můžeme rychle kopírovat přihlašovací údaje (data jsou ve schránce pouze na omezenou dobu)
  • jednoduché a kvalitní vyhledávání
  • export dat do XML, CSV, HTML
  • verze KeePass 1.x používá soubory KDB, modernější verze 2.x soubory KDBX
  • základ je Windows aplikace, ale k dispozici jsou aplikace pro různá OS včetně mobilních

Nevýhody

  • jedná se o jednouživatelskou aplikaci - nemůžeme řešit oprávnění uvnitř souboru
  • kdo získá soubor a zná přístupové heslo, tak získává všechna obsažená hesla a může je zobrazit kdykoliv v budoucnu, případně se může snažit prolomit přístupové heslo
  • protože se nepracuje s uživateli a může vzniknout mnoho kopií souboru, tak nevím, kdo si co zobrazil

Požadavky na nástroj pro evidenci přístupových údajů

Hrubý seznam požadavků na aplikaci pro firemní použití:

  • bezpečné (šifrované) uložení údajů
  • záznamy s dostatečným množstvím položek (atributů) nebo možnost je definovat
  • databáze s údaji se nachází pouze na serveru a žádný uživatel ji nemůže získat, stejně tak nemůže zkopírovat z aplikace hromadně více záznamů (otázka jsou oprávněné exporty určitých skupin údajů)
  • seskupování záznamů a nastavování přístupů a oprávnění pro uživatele
  • správce systému může získat přístup ke všem záznamům a řídit ho (případně možnost ukládat privátní údaje, ke kterým má přístup pouze uživatel)
  • veškeré operace se logují/auditují a můžeme si vypsat seznam všech záznamů, které si zobrazil určitý uživatel nebo seznam všech uživatelů, kteří si zobrazili daný záznam
  • správce systému může obnovit všechny odstraněné záznamy
  • uchovává se historie hesel (když u záznamu změníme, tak můžeme zobrazit všechny předchozí)
  • audit hesel, kde se nachází slabé heslo, u kterých systémů je použito stejné heslo
  • upozornění na expiraci záznamu
  • nastavení upozornění na záznamu, že si jej někdo zobrazil
  • generátor hesel

SecureAnyBox

Z aplikací výše mi přijdou nejlepší Passwordstate a SecureAnyBox. Naše vedení se rozhodlo pro SecureAnyBox, který nefunguje úplně tak, jak bych si představoval, ale jednáme s výrobcem a přislíbil řadu věcí doplnit. Tato aplikace má dvě části, jedna je správa přístupových údajů, druhá správa lokálních účtů na počítačích (tuto část nevyužíváme).

Vlastnosti SecureAnyBox

SecureAnyBox je řešení pro bezpečné uchovávání a případné sdílení přístupových údajů (účty, hesla, apod.) pro jednotlivce, týmy, oddělení či jiné skupiny uživatelů. Níže je můj popis vlastností aplikace a základního fungování.

  • bezpečné a šifrované uložení údajů
    • umožňuje uchovávat údaje o účtech (jméno, heslo, adresa, popis), platebních kartách, soubory, certifikáty
    • každý záznam (jeho citlivá část) je šifrován samostatně pomocí AES 128, uživatel má vlastní instanci AES klíče pro každý trezor, která je šifrována pomocí RSA s veřejným klíčem uživatele, privátní RSA klíč uživatele je šifrován pomocí AES přístupovým kódem uživatele (Access Code)
    • když sdílím trezor s jiným uživatelem, tak se vygeneruje jeho instance AES klíče a zašifruje jeho veřejným RSA klíčem
    • když přistupuji k šifrovaným datům, tak pomocí přístupového kódu rozšifruji svůj privátní RSA klíč, pomocí něj rozšifruji AES klíč pro daný trezor
    • při přístupu zadáváme pouze svůj přístupový kód, ostatní se děje na serveru
    • každý záznam je šifrován samostatně, takže při zadání přístupového kódu nedojde k rozšifrování všech záznamů
    • buď musíme zadávat přístupový kód při přístupu ke každému záznamu, nebo se nastaví jeho kešování na serveru po určitou dobu
    • pro přístup do aplikace se používá jméno a heslo (účet - řeší přístupová oprávnění), pro šifrování citlivých dat přístupový kód
    • při opakovaném zadání chybného hesla pro přihlášení nebo přístupového kódu se účet na čas zablokuje
  • databáze s údaji se nachází pouze na serveru a žádný uživatel ji nemůže získat, stejně tak nemůže zkopírovat z aplikace hromadně více záznamů
  • seskupování údajů a řízení přístupu
    • citlivé informace (jednotlivé záznamy) ukládáme do trezoru (Safe Box) a ty můžeme seskupit do trezorových skupin (Safe Box Group)
    • na trezor můžeme nastavovat přístupová oprávnění, pro aktivované uživatele, detailně na jednotlivé operace, nastavení je vždy přes jednotlivé uživatele (nejde zadat skupina uživatelů)
    • práva můžeme nastavit na trezorovou skupinu a ta se pak dědí na trezory
    • pokud trezor/skupinu vytvoříme jako sdílené, tak se k záznamům dostane hlavní správcovský účet a v případě problémů může přidělit oprávnění
  • veškeré operace se logují
    • hlavně zobrazení hesla či jiné šifrované informace
    • můžeme dostat informaci, že došlo ke změně šifrované části záznamu
    • můžeme si zobrazit různé reporty, třeba jaké záznamy si určitý uživatel zobrazil, kam má uživatel přístup, historie změn hesel (včetně všech starých hesel), audit hesel (síla hesla, duplicita, poslední změna), seznam všech uživatelů, kteří si zobrazili daný záznam
  • uchovává se historie hesel (když u záznamu změníme heslo, tak můžeme zobrazit všechny předchozí)
  • smazané záznamy se přesunou do složky Smazané (Deleted), odkud je lze obnovit, dokud se úplně neodstraní
  • uživatelé se přebírají z AD DS a vůči AD probíhá ověření při přihlášení, pro šifrování je třeba přístupový kód
  • aplikace SecureAnyBox Launcher umožňuje spustit aplikaci PuTTy, RDC nebo WinSCP a automaticky se připojit ke službě SSH, RDP, SCP, SFTP
  • obsahuje konfigurovatelný generátor hesel
  • možnost vytvářet soukromé trezory (Private Safe Box), které jsou šifrovány pouze přístupovým kódem uživatele, a nikdo jiný se do nich nedostane (pokud zapomeneme kód, jsou data ztracena)
  • jednoduché a přehledné webové rozhraní
  • vyhledávání ve všech nešifrovaných položkách, kde mám přístup
  • určitá možnost importu záznamů z CSV nebo KeePass

Instalace

Instalace na Linuxu (a patrně i na Windows) je velmi jednoduchá. HW nároky nejsou velké. Potřebujeme Oracle Java JRE min 1.8.0_74 (je součástí aplikace) s Unlimited encryption policies a Linux Standard Base. Využijeme instalátor, který na konci zobrazí kód pro první přihlášení. Dále pokračujeme ve webovém rozhraní. Nastavíme uživatele admin. Nastavíme důvěryhodný certifikát, port pro aplikaci a hostname. Dále již můžeme změnit defaultní parametry pro fungování aplikace.

Aplikace se může připojit k LDAP adresáři, tedy můžeme přebírat uživatele z Active Directory Domain Services a zde probíhá také autentizace.  

Moje doporučení pro evidenci přístupových údajů

Trezory (Safe Box) jsou nejmenší jednotkou, kde můžeme nastavit přístupová oprávnění, takže jednotlivé trezory vytváříme dle skupin uživatelů, kterým chceme přidělit přístup, a podle logického členění. Pokud chceme logicky seskupit více trezorů, tak využijeme Trezorové skupiny (Safe Box Group). Na jednotlivých trezorech v rámci skupiny, se dají upravovat oprávnění, ale jednodušší je využít skupiny, pokud máme na podřízených trezorech stejné přístupy, které se standardně dědí.

Pokud vytváříme trezor nebo skupinu v kořeni, tak je dobré použít nějaké přehledné jméno. Například jméno oddělení či projektu, pokud potřebujeme více trezorů, tak můžeme doplnit další rozlišující text. U trezorů v rámci skupiny není jméno tolik důležité.

Všechny skupiny a trezory, které obsahují sdílené firemní záznamy, se vytváří jako sdílené (Shared). Pro soukromé záznamy si můžeme vytvořit osobní (Private) trezor/skupinu.

Nejčastější typ záznamu uvnitř trezoru je účet (Account). Vzhledem k omezením SecureAnyBoxu (unikátní jméno, pouze omezené položky, které se zobrazí v seznamu záznamů) může být vhodné následující využití položek/atributů. Detaily samozřejmě záleží, zda zaznamenáváme účet pro server či nějaké speciální přístupové údaje.

  • Název (Name) - jméno serveru - jméno uživatele nebo popisný název
  • Adresa (Address) - adresa serveru/služby, může jít o IP adresu, DNS, URL s určením protokolu a případně i portu (ssh://root@www.firma.local:22)
  • Přihlašovací jméno (Login) - jméno používané pro přihlášení
  • Popis (Description) - další popis pro identifikaci systému, může se jednat pouze o jeden řádek, zobrazuje se v seznamu
  • Štítky (Tags) - klíčová slova mají sloužit k vyhledávání, podle mne nemají význam, protože vyhledávání funguje podle všech nešifrovaných položek
  • Vzor hesla (Password pattern) - pro generování hesla
  • Poznámka (Note) - poznámka může obsahovat více řádků, ale stále má omezení na maximální délku 8 kB v Unicode (reálně 2 kB)
  • Typ připojení (Connection Type) - pokud chceme používat SecureAnyBox Launcher a jde o připojení RDP, SSH, SFTP nebo SCP, tak zde zvolíme, v adrese musíme mít IP adresu nebo DNS, případně s portem
  • Heslo (Password) - vlastní šifrované heslo pro účet

Základní použití a principy SecureAnyBox

Základní informace

  • přihlášení doménovým jménem a heslem
  • při prvním přihlášení se nastavuje přístupový kód
  • nastavení jazyka - menu v pravém horním rohu - Change language
  • nastavení pro uživatele - menu v pravém horním rohu - Change preferences - zde můžeme nastavit vzor pro generování hesla, notifikace změn záznamů
  • nápověda - menu v pravém horním rohu - Documentation, na většině stránek se nachází tlačítko Help, které zobrazí nápovědu k aktuálnímu nastavení
SecureAnyBox 01

Hlavní termíny

Podrobněji popsáno v dalších kapitolách.

  • Safe Box = bezpečnostní schránka - trezor pro uložení záznamů
  • Safe Box Group = skupina bezpečnostních schránek - trezorová skupina pro uložení/seskupení trezorů
  • Access Code = přístupový kód - kód použitý pro šifrování dat
  • Private = soukromá - nedědí práva z kořene
  • Shared = sdílená - dědí práva z kořene (má přístup účet správce systému)
  • Records = záznamy - informace ukládané do trezorů (Account, Secret Account, File, Certificate, Credit Card)
  • Account = účet - přístupové údaje k určitému účtu na serveru/službě
  • Identification = identifikace - část záznamu s identifikačními údaji, ty jsou uloženy nešifrované a lze podle nich vyhledávat
  • Secure = zabezpečené - šifrovaná část záznamu, pro Account jde o heslo, pro Secret Account adresa, uživatelské jméno, heslo, poznámka

Zapomenutí přístupového kódu

Pokud uživatel zapomene svůj přístupový kód (Access Code), tak jsou všechna data, která jsou šifrována pouze jeho kódem, ztracena. Pokud měl k trezoru nebo skupině přístup někdo další (u sdílených trezorů jde také o hlavního správce), tak může přístup přidělit.

Při zapomenutí přístupového kódu je možné pouze nastavit nový.

  • menu v pravém horním rohu - Reset Access Code

Pozn.: Pokud chceme změnit náš přístupový kód (a známe současný), tak můžeme jednoduše v menu položka Change Access Code.

Záznamy - Records

Uvnitř trezoru můžeme vytvářet různé typy záznamů. To, co se při zadávání nachází v části Secure, bude zašifrováno a pro zobrazení je třeba Access Code, také se pomocí těchto údajů nevyhledává.

  • Account - pro uložení přístupových údajů, zadáváme název pro identifikaci, adresu, přihlašovací jméno, popis (pouze jeden řádek), štítky (tag), vzor hesla, poznámku (více řádků, ale omezená délka), připojení (RDP, SSH, SCP) pro využití SecureAnyBox Launcher, heslo (to jediné je zašifrované)
  • Secret Account - obdoba jako Account, ale zašifrovaně se ukládá také adresa, přihlašovací jméno a skrytá poznámka
  • File - pro bezpečné uložení souboru (třeba konfigurace), pouze malé soubory
  • Certificate - uložení certifikátu spolu s heslem
  • Credit Card - údaje o platební kartě
SecureAnyBox 02

Trezor - Safe Box

Slouží k ukládání jednotlivých záznamů. Na trezor se nastavují přístupová oprávnění, která jsou shodná pro všechny záznamy. Trezor můžeme použít pro uložení všech záznamů k jednomu serveru, skupině serverů, záznamů týkajících se určitého zákazníka, účty používané společně v rámci oddělení. Rozdělení trezorů bychom měli řešit z nějakého logického hlediska kvůli přehlednosti, ale také prakticky podle toho jak chceme skupinu záznamů sdílet s uživateli.

Běžné trezory, které chceme sdílet s dalšími uživateli, bychom měli vytvářet jako sdílené - Shared. K nim můžeme přiřadit různé uživatele a detailně jim specifikovat oprávnění. Pokud chceme uložit pouze osobní záznamy, tak můžeme vytvořit trezor jako Private. Pro šifrování se využije pouze náš přístupový kód, a pokud jej zapomeneme, tak se k datům nikdo nedostane. I osobní trezor je možno sdílet s jiným uživatelem.

Jméno sdílených trezorů a skupin v kořeni musí být unikátní.

Trezorová skupina - Safe Box Group

Pokud se nám to logicky či administračně hodí, tak můžeme seskupit více trezorů v rámci trezorové skupiny. Uvnitř skupiny můžeme vytvářet pouze trezory. Na skupinu nastavujeme oprávnění, která se automaticky dědí na trezory uvnitř. Práva na trezorech můžeme ručně upravit.

Skupiny využijeme třeba pro oddělení, které sdílí mnoho přístupových údajů různých typů. Uvnitř vytvoříme trezory pro různé typy serverů. Nebo pro outsourcing zákazníků, kdy má společná skupina přístup ke všem údajům, ale organizačně vytvoříme trezory pro každého zákazníka.

Struktura nadřízenosti a dědění

Standardně se oprávnění dědí z vyšší úrovně na nižší. Níže je naznačení variant trezorů a skupin, které můžeme vytvořit.

  • Root level of domain
  • Safe Box - Private Safe Box
  • Safe Box Group > Safe Box - Private Safe Box Group
  • Root Level > Safe Box - Shared Safe Box
  • Root Level > Safe Box Group > Safe Box - Shared Safe Box Group

Práva na Root Level má nastaven pouze speciální chráněný uživatelský účet, který se běžně nevyužívá. Tento účet má přístup ke všem sdíleným trezorům a skupinám. Využije se pro problematické situace, kdy by se přišlo o všechny přístupy do trezoru.

Oprávnění - Sharing & Permissions

Oprávnění nastavujeme na trezor a ta se projeví na všech záznamech uvnitř trezoru. Nebo na trezorovou skupinu a ta se standardně dědí na vnořené trezory. Tímto způsobem sdílíme záznamy s určitými uživateli. Možná oprávnění jsou:

  • Read - prohlížení záznamů, trezorů
  • Create - vytváření záznamů, trezorů
  • Modify - změny záznamů, trezorů
  • Delete - mazání záznamů, trezorů
  • Access Control - možnost spravovat oprávnění na trezor nebo skupinu
  • Inherited - na skupině nastavuje dědění na podřízené trezory

Podobná oprávnění nastavujeme na uživatelské účty, čímž dáváme uživatelům globální oprávnění. Speciální práva jsou pro účty jsou:

  • Inherited - uživatel má práva na Root, takže získá práva na všechny sdílené trezory a skupiny, standardně má toto právo admin
  • Private Boxes - uživatel může vytvářet soukromé trezory a skupiny
SecureAnyBox 03

Generování hesel

Textové heslo je nejčastější metoda zabezpečení přístupového účtu. S bezpečným uchováváním hesel nám pomůže tato aplikace. Abychom udrželi určitou bezpečnost účtu, tak bychom pro každý systém měli používat jiné heslo a heslo by mělo být dostatečně složité. V tom nám také pomáhá tato aplikace, protože může generovat bezpečná hesla. Hesla si nemusíme pamatovat, ale pouze je při použití zkopírujeme.

SecureAnyBox umí pro účet vygenerovat heslo podle zadaného vzoru (pattern), který si můžeme detailně nastavit. Globálně máme nastaven vzor CVCVsdddsCVCsCVdC, který generuje komplexní hesla o délce 17 znaků. Vzor pro heslo můžeme změnit na trezoru či skupině nebo na jednotlivém účtu. Případně pro svůj účet v uživatelském nastavení. Pokud není vzor nastaven, tak se přebírá z vyšší úrovně.

Když pak vytváříme účet (nebo editujeme heslo), tak můžeme použít tlačítko Generate password. V detailu hesla vidíme jeho složitost.

SecureAnyBox 04

Zobrazení, editace a hledání záznamů

Procházení položek - Safe Boxes - Browse

Zde můžeme procházet trezorové skupiny, trezory a záznamy, na které máme oprávnění. Uvnitř trezoru vidíme seznam záznamů, jejich jméno, popis, datum poslední změny a případně link pro připojení pomocí SecureAnyBox Launcher. Zde také můžeme záznam odstranit (přesunout do smazaných) pomocí křížku (pokud máme oprávnění).

Nad seznamem trezorů/záznamů se nachází filtr, kterým můžeme omezit zobrazené položky.

SecureAnyBox 05

Jednotlivé záznamy můžeme otevřít a zobrazí se všechny nešifrované části, což může být i adresa a přihlašovací jméno. Pokud adresu zadáme jako URL link, tak na ni můžeme klinout. Při najetí na přihlašovací jméno se nabídne kopírování do schránky. Pokud chceme zobrazit šifrované údaje (nejčastěji heslo), tak musíme zadat svůj přístupový kód (pokud není nakešovaný).

SecureAnyBox 06

Heslo se zobrazí pouze při najetí myší. Mohu jej také zkopírovat do schránky. Zároveň se vytvoří auditní záznam, že uživatel zobrazil šifrované údaje (pro Account GET PASSWORD, pro Secret Account VIEW RECORD, GET PASSWORD). Pokud mám nakešovaný přístupový kód, tak se při zobrazení záznamu rovnou rozšifrují všechny části a vytvoří záznamy.

SecureAnyBox 07
SecureAnyBox 08

Úprava záznamu

Pokud chceme změnit nějaké položky záznamu, tak při zobrazeném záznamu, použijeme tlačítko Edit. Pokud chceme změnit heslo, tak musíme použít tlačítko Change password.

Historie hesel

U záznamu je také tlačítko Password history, které zobrazí všechna hesla, které byla u záznamu nastavena. Kliknutím na řádek si můžeme zobrazit heslo.

SecureAnyBox 09

Hledání záznamů - Safe Boxes - Search

Do pole Search zadáme slova nebo jejich části, hledá se pak mezi trezory, skupinami a záznamy v rámci všech nešifrovaných údajů. Text se hledá pouze od začátku jednotlivých slov, pokud chceme hledat uvnitř slov, tak musíme na začátek vložit znak * (příklad *base najde i slovo OKbase).

V příkladu na obrázku se nalezl záznam, který má slovo účet v popisu (Description).

SecureAnyBox 10

Mazání záznamů

Jednotlivé záznamy (nebo celé trezory či skupiny) můžeme smazat (pomocí křížku v pravém sloupci seznamu). Pak dojde k jejich přesunu do smazaných položek Safe Boxes - Deleted. Zde je možno vše obnovit. To může provést každý, kdo měl na záznam patřičná oprávnění. U sdílených trezorů to může být hlavní správce. Zde je také možno záznamy úplně odstranit.

SecureAnyBox 11

Audit, reporty a upozornění

Safe Boxes - Audit Log

Všechny provedené operace se ukládají do logu. Správce systému vidí veškeré provedené operace i na osobních trezorech. Tímto způsobem nevidí žádný šifrovaný údaj, pouze log událostí. Ostatní uživatelé vidí operace, které se týkají trezorů, skupin a záznamů, na která mají oprávnění. Do logu se ukládá datum, IP adresa, uživatel, popis operace.

SecureAnyBox 12

Reports

Reporty se nachází v samostatné sekci Reports a máme k dispozici:

  • Access to Records - pro zvoleného uživatele zobrazí všechny jeho přístupy k šifrovaným záznamům
  • Access to Safe Box - pro určitý trezor zobrazí všechny přístupy k jeho šifrovaným záznamům
  • Permissions - pro zvoleného uživatele zobrazí všechna oprávnění k trezorům a skupinám
  • Passwords Audit - provede audit hesel v určité skupině, složitost hesel, čas na prolomení, duplicity, poslední změna

Reporty může využít každý uživatel, ale týkají se pouze záznamů, ke kterým má oprávnění. Ani správce nevidí v reportech osobní trezory.

SecureAnyBox 13

Zasílání mailových upozornění

Globálně se povoluje zasílání emailů ze SecureAnyBox, které odchází ze adresy zadané adresy. Maily se změnami se posílají agregovaně za zadanou dobu. Uživatel si může zasílání upozornění povolit/zakázat v osobním nastavení (menu v pravém horním rohu - Change preferences).

Standardně je nastaveno, že se zasílají informace o změnách pouze šifrovaných částí záznamů, a neposílají se uživateli, který sám změnu provedl. V nastavení se volí, zda se upozornění posílají pouze u trezorů, kde si uživatel nastavil sledování. A zda se na záznamech, které vytvoří, automaticky zapne sledování. Na jednotlivých trezorech a záznamech pak můžeme zapínat (Start Watching) nebo vypínat (Stop Watching) sledování.

Upozornění se zasílají při změně nebo smazání určitého záznamu. Bohužel nelze nastavit upozornění, že si někdo záznam pouze zobrazil.

Import záznamů

SecureAnyBox má k dispozici Windows aplikace pro import záznamůCSV nebo souboru KeePass. Obě aplikace mají řadu omezení. Stáhnout je můžeme přímo v SecureAnyBox - Safe Boxes - Downloads. Aplikace stačí rozbalit a spustit.

Import CSV - CSVtoSAB

Připravíme si CSV soubor (do CSV můžeme exportovat i data z KeePass), který bude mít ve sloupcích hodnoty, které chceme importovat. Soubor otevřeme v aplikaci. Musíme určit kódování a případně oddělovač sloupců. Poté musíme přiřadit sloupce k jednotlivým položkám SecureAnyBox. To můžeme udělat ručně podle písmen sloupce nebo dole využít tlačítko Field map, kde vidíme náhled souboru. Můžeme také určit, na jakém řádku se začíná (pokud je první řádek popis sloupců, tak začínáme na druhém) a končí (řádky, které chceme importovat, můžeme volit i v aplikaci). Poté použijeme tlačítko Load pro načtení hodnot.

Bohužel aplikace neumí pracovat s hodnotami, které obsahují ENTER a jsou tudíž na více řádků (což je běžné u popisů a v CSV je to korektní). Aplikace zahlásí, že chybí uzavírací uvozovky. Také nezvládá, pokud jsou v políčku uvozovky (ty se ukládají standardně escapované \").

V SecureAnyBox musí být jména záznamů unikátní, takže pokud v CSV souboru máme někde stejná, tak se doplní číslice v závorce.

Pro import musíme vyplnit adresu serveru, doménu, naše uživatelské jméno, heslo a přístupový kód. U položky Target Safe Box klikneme na ikonu procházení a zobrazí se nám dostupné trezory, případně můžeme vytvořit nový. Tlačítkem Import spustíme vložení dat do SecureAnyBox. Tímto způsobem můžeme importovat pouze do jednoho trezoru (není možné vytvořit skupinu a automaticky vložit záznamy do různých trezorů).

SecureAnyBox 14

Import KeePass - KeePassToSAB

Import souboru z KeePass vyžaduje na stanici instalovaný KeePass 2.x, protože použije jeho knihovnu KeePassLibC32.dll. Ale přitom neumí (nová verze by to již měla umět, ale netestoval jsem) importovat formát KDBX (KeePass 2.x), ale pouze KDB (KeePass 1.x) nebo XML. Takže pokud používáme KeePass 2.x, tak musíme provést export. Také umí provést import pouze do jednoho trezoru, takže skupiny (složky) v KeePassu nepoužije jako jednotlivé trezory, ale jejich jméno vloží jako tag. A pokud máme stejné názvy (Title), tak za ně doplní číslo v závorce.

V aplikaci nalezneme KeePass knihovnu, zvolíme kdb soubor a zadáme jeho heslo. Pak tlačítkem Load načteme náhled záznamů. Další použití je shodné jako u importu CSV.

Pokud chceme importovat různé složky KeePassu do různých trezorů (třeba v rámci stejné skupiny), tak musíme provést v KeePassu export jednotlivých skupin (klikneme pravým tlačítkem na skupinu a zvolíme Export).

SecureAnyBox Launcher

Poslední aplikace, kterou můžeme stáhnout v Safe Boxes - Downloads, je SecureAnyBox Launcher. Jedná se o MSI balíček, který musíme nainstalovat (vyžaduje .NET Framework 4.5.2 či novější). Po spuštění vidíme ikonu aplikace na systémové liště. Aplikace si zaregistruje vlastní schéma URI odkazů sab://. V SecureAnyBox můžeme u účtu nastavit typ připojení (RDP/SSH/SCP/SFTP) a následně kliknutím na tlačítko Connect se přes prohlížeč předají údaje do aplikace SAB Launcher, která provede připojení.

V nastavení SAB Launcher musíme určit cestu k PuTTy a WinSCP a definujeme parametry RDP. Při připojování se pak automaticky použije odpovídající aplikace a předají se údaje (adresa, uživatel, heslo).

Chybějící či nevyhovující vlastnosti

Během nasazení a při pilotním provozu jsme dali dohromady seznam vlastností, které by mohly fungovat jinak či v aplikaci nejsou. Probírali jsme je s výrobcem a hodně z nich mají v plánu realizovat. Některé věci plynou ze zkušeností s aplikací KeePass.

  • uživatel (pokud má oprávnění) může vše smazat, pak se to přesune mezi smazané a zde může trvale odstranit - nemělo by jít záznamy trvale odstranit (jedině po odsouhlasení vedoucím/správcem), standardně by měl správce systému mít možnost všechny odstraněné záznamy obnovit - je možnost nedat uživatelům právo Delete
  • možnost na některých záznamech nastavit expiraci a posílat upozornění - třeba, že se heslo musí pravidelně měnit, končí platnost certifikátu či přístupové karty
  • možnost na některých záznamech nastavit sledovaní, že si někdo zobrazil šifrovanou část záznamu (ne jen současné, že někdo editoval heslo) - důležitý účet, kde potřebuji nechat někomu přístup pro krizovou situaci, ale potřebuji o tom vědět (tak se třeba řeší zapečetěné obálky s heslem, kde pravidelně kontroluji její otevření)
  • mnoho operací se musí provádět po jednom, ve větším prostředí je to příliš složité
    • správa uživatelů - nastavení oprávnění (Safe Box Permissions) a rolí (Roles) pro více uživatelů najednou
    • Sharing & Permissions - vytváření skupin uživatelů a pomocí nich nastavování práv na trezor/skupinu
    • Sharing & Permissions - když nejde nastavit práva na trezor pomocí skupiny, tak alespoň přidat jedno oprávnění jedním kliknutím všem přiřazeným uživatelům - při editaci oprávnění by nad ním mohlo být zatržítko, které nastaví celý sloupec (uživatelé se přidají najednou, ale pak musím každému zvlášť klikat každou položku oprávnění - pokud budu chtít dát přístup 1000 uživatelů, tak asi těžko)
    • Sharing & Permissions - při přidávání uživatelů se zobrazí pouze seznam jmen a username, pokud budu mít tisíce zaměstnanců, tak je to dost nepřehledné a chtělo by to další info, jako oddělení, pozice
    • trezor - mazání více záznamů najednou (stejně, jako v Deleted jich mohu odstranit více najednou)
  • pro zobrazení záznamů v trezoru by se hodila možnost definovat si sloupce, které se mají zobrazit v přehledu
  • u záznamů je pouze datum poslední úpravy (a to se ani nezobrazí v detailu záznamu), důležité je také datum vytvoření
  • vyhledávání Search by nemuselo být pouze v menu jako tlačítko, ale mohlo by se nacházet rovnou na většině stránek (jako je v KeePass) - je to nejčastější funkce
  • vyhledávání funguje pouze od začátků slov (příklad hledám server a chci zobrazit také prvniserver), nelze použít regulární výrazy a funguje zástupný znak *
  • v otevřeném záznamu by mělo jít jej smazat (ne jen na seznamu) kvůli jednotnosti
  • hodila by se možnost klonovat/kopírovat záznam (často pro stejný server vytvářím více účtů a v KeePassu se jednoduše duplikuje)
  • u účtu je omezení délky poznámky (Note), které je dost nízké (při importu dat z KeePassu jsme několikrát narazili) - velikost je 8kB, používá se kódování Unicode (takže se mi maximálně povedlo uložit text, který měl u mne pouze 2kB)
  • tak jsme řešili, jak zadat delší textové informace, pokud je dám jako soubor, tak při zobrazení jej musím nejprve stáhnout, tedy je to méně bezpečné i pohodlné - hodilo by se integrované zobrazení textových souborů
  • ukládání souborů - pokusy jsme zjistili limit 15 MB, chybí možnost nastavit jiný, prakticky třeba 500 kB
  • upozorňování na nové verze - buď v aplikaci nebo Newsletter
  • Report Passwords Audit - lze vybrat pouze skupinu, ne trezor (když chci zpracovat určitý trezor v Rootu, tak to musím pustit nad Rootem, tedy to trvá strašně dlouho a řeší věci, které mne v tu chvíli nezajímají)
  • nemohu mít více záznamů se stejným jménem - pokud chci mít v názvu jméno serveru a pak mít více záznamů pro různé uživatele - museli jsme změnit způsob použití a při importu z KeePassu vše předělat
  • v určitých situacích se stane, že jsou překryty důležité informace bublinou s tvorbou bookmarks
  • import CSV - neumí import poznámek na více řádků a položky s escapovanýmy uvozovkami
  • import KeePass - KeePass skupiny importuje jako tagy - hodilo by se import do Safe Box Group a skupiny jako jednotlivé trezory
  • potřebujeme možnost exportu záznamů určitého trezoru, třeba nějaký správce dat, nebo několik určených uživatelů dohromady, by mělo být schopno provést export určitého trezoru - v současnosti je možnost exportu dat ze soukromého trezoru (musí to být samotný trezor ne uvnitř skupiny) do CSV
  • v seznamu trezorů/záznamů se zvýrazní řádek při najetí kamkoliv, ale jako link funguje pouze text (název)
zobrazeno: 782krát | Komentáře [7]

Autor:

Související články:

Bezpečnost

Nástroje zajišťující bezpečnost. Primárně Firewall a podobné.

Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] Karel

    Také jsme o tomto produktu uvažovali, ale bohužel na mou námitku že by bylo dobré dodělat možnost nějakého exportu mi bylo odpovězeno že je to v nesmyslný požadavek, že by to borilo bezpečnost a bla bla bla... Jsem rád že nejsem sám kdo to po nich chtěl a asi již vidí že to blbost (když bude export na právo a zaauditovan) není... Takže jsem nakonec šel cestou Pleasant Password Serveru.

    Neděle, 21.10.2018 22:18 | odpovědět
  2. [2] Petr Klíma

    Prošli jsme si podobným výběrem a u nás jsme skončili u KeePass2.

    Měli jsme trochu rozdílné požadavky:

    - potřebujeme víc platformem (Win, Linux, Mac, Android)

    - synchronizaci/diff umí KeePass2 "od přírody" pomocí trigerů

    - možnost mít lokální kopii (která se automaticky updatuje) máme spíš za výhodu, není zoufalejší situace než když potřebujete přístupové údaje a serverové řešení na jejich správu je down protože zkolabovala infrastruktura ... navíc pokud někdo z kolegů odejde, tak stejně musíte změnit přístupové údaje ke všemu, takže je jedno jestli mám u sebe kopii (už si ji nesesynchronizuje ...)

    Ale uvědomuji si, že to je řešení pro malý tým kde každý musím umět/mít přítup téměř všude co ti ostatní.

    Pondělí, 22.10.2018 10:12 | odpovědět
  3. [3] Samuraj

    odpověď na [2]Petr Klíma: Právě, že výhoda toho, že uživatel nemá všechna hesla a já mám report všech hesel, která si zobrazil, je, že když odejde, tak nemusím měnit hesla všude. Ale pouze ta, která někdy viděl. A když člověk používá několik tisíc účtů, tak změna všeho je nereálná.

    Ale diskuze nad tím, že lidé chtějí mít všechna hesla u sebe, jsme měli vášnivou ;-)

    Pondělí, 22.10.2018 11:12 | odpovědět
  4. [4] Fukjemi.CZ

    Zdravím, zajímalo by mne jaká je cena pro 200 uživatelů u SecureAnyBox, u ostatních produktů to bylo uvedeno. Popřípadě jak se cena stanovuje. Díky Petr

    Pondělí, 22.10.2018 11:20 | odpovědět
  5. [5] Samuraj

    odpověď na [4]Fukjemi.CZ: Tam, kde je cena veřejně na webu, jsem ji uvedl. U SecureAnyBox je třeba oslovit prodejce (závisí na počtu uživatelů).

    Pondělí, 22.10.2018 12:00 | odpovědět
  6. [6] SecureAnyBox

    Cena pro 200 uživatelů 3420 eur bez DPH. Za tuto cenu získáte lifetime licenci pro 200 uživatelů se zadaným AccessCode, pro 200 zařízení nebo účtů ošetřených agentem a pro 1 doménu. K tomu je i software maintenance. Maintenance na druhý a další rok je 20% z uvedené ceny.

    Středa, 24.10.2018 14:11 | odpovědět
  7. [7] SecureAnyBox

    odpověď na [1]Karel: SecureAnyBox desktop js klient umožňuje export do csv u privátního trezoru. Nevzpomínám si na bla, bla, bla odmítnutí, obecný problém exportu ovšem je, že vše, co je exportováno, je v tu chvíli kompromitováno. Všude, kde je to možné, je lépe využít agent místo statického záznamu v trezoru (Windows, Linux, Mac, Raspberry a LDAP). Otázka tedy je, jaký má mít export účel. Pokud byste například chtěl updatovat svou lokální instanci tímto způsobem, pak nemá smysl zavádět produkt s tak unikátn úrovní bezpečnosti jako má SecureAnyBox. Pokud by šlo o bezpečnostní zálohu, je lépe zálohovat databázi a to zejména z důvodu bezpečnosti. Pokud byste chtěl data předat, je výrazně lépe zřídit příjemci účet v SecureAnyBox - vždy je výrazně lepší dát možnost přístupu k datům než data samotná.

    Pane Karle, ke mi líto že jste si naši technologi zatím nevybral. Bude mi potěšením vám nabídnout speciální cross upgrade cenu ve chvíli, kdy se vaše požadavky na bezpečnost uložení citlivých informací zvýší.

    Středa, 24.10.2018 14:48 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O


Ochrana proti SPAMu, zdejte následující čtyři znaky image code

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách