section

Keepass URL Overrides

14.08.2022 | Tag Bezpečnost

Keepass ve svém základu obsahuje spoustu zajímavých funkcí, které uživateli zjednoduší práci s hesly. Pro dnešek bych chtěla trochu blíž ukázat URL políčko a URL Overrides.

Než začnu o URL Overrides, dovolím si doporučit podívat se na Help Center Keepassu a prozkoumat jednotlivé oblasti guidy. Dá se tak narazit na zajímavé vlastnosti Keepassu, které se vám hodí a ani jste o nich nevěděli.

URL políčko umožňuje zadat k záznamu s heslem URL adresu a následně ji přes GUI Keepassu otevřít ve vybraném programu. Běžně je toto políčko spjato s webovými prohlížeči, umí však pouštět různé programy, a dokonce je volat s parametry. Osobně tato URL volání používám mimo prohlížeče pro Putty a WinSCP, ale dá se tak volat i MS RDP klient, FileZilla a další programy. Keepass je v tomto velice ohebný.

KEE3
KEE1

URL override je možnost v Keepassu změnit jeho defaultní chování a vyrobit si vlastní set příkazů, který se při otevření URL adresy má vykonat. Lépe řečeno, v základu Keepass ví, že u URL záznamů začínajících http a https má adresu otevřít přes webový prohlížeč. Takto má definice i pro pár dalších předpon. Díky URL Override se na základě předpony dá adresa volat přes vybraný program, v případě potřeby i s parametry jako je uživatelské jméno. Chování se dá měnit per jednotlivý záznam v Edit Entry – Properties – Override URL, nebo globálně v Tools - Options - Integration - URL Overrides.

KEE2

Dále příklad. U Putty musím říct, že se mi ve všech instalacích Keepassu do URL Override zanesla automaticky, stačilo ji jen v globálním nastavení pro předponu ssh:// vybrat místo výchozího SSH.exe. Pravděpodobně je to tím, že Keepass vychází z nastavení systému. Funguje to následně tak, že se u záznamu s heslem dá do URL políčka adresa cílového serveru, ke kterému login patří, ve tvaru ssh://adresa.serveru. Po kliknutí na tuto URL se zavolá Putty a otevře se SSH relace na zmíněný server. Záznam v URL Overrides vypadá takto:

cmd://PuTTY.exe -ssh {USERNAME}@{BASE:RMVSCM}

KEE4

Jak jsem psala, do URL Overrides se dá k předponě zanést program, který se má zavolat, a k němu přidat i parametry. Na ukázce výše s Putty je to hezky vidět. Některé parametry můžou být doplněné automaticky samotným Keepassem. Jde o placeholdery, jejichž seznam je dostupný na stránkách Keepassu. Dle toho seznamu je možností pro vyplnění opravdu mnoho, včetně jména, serveru, hesla a dokonce dvoufaktoru (z pohledu bezpečnosti je však otázka, jestli takto chcete hesla volat). Finální skladba příkazu v Overrides pak může být hodně košatá a v rámci zavolání adresy lze dělat různé operace. Mně osobně stačí automatické vyplnění jména a cílového serveru :). Co je potřeba si hlídat, je cesta k volanému programu. Putty je většinou automaticky zanesená v systémových proměnných, proto se dá zavolat bez uvedení cesty k exe souboru. Jiné programy však může být potřeba do PATH zanést ručně, nebo je volat s plnou cestou. U změny PATH proměnné to chce velkou obezřetnost, aby se nepřepsalo nic, co by se přepsat rozhodně nemělo.

KEE6

Další příklad může být WinSCP, kde už jde opravdu o custom URL Override. Přiznám se, že jsem příkaz vzala z guidy WinSCP , netvořila jsem ho sama. Můžu však potvrdit, že funguje bez problémů, mimo jiné i v kombinaci s KeeAgent pluginem pro SSH klíče.

cmd://"{ENV_PROGRAMFILES_X86}\WinSCP\WinSCP.exe" {BASE:SCM}://{USERNAME}@{BASE:HOST}:{T-REPLACE-RX:/{BASE:PORT}/-1//}{BASE:PATH}

KEE5

U vlastnoručně tvořených příkazů není špatné si napřed program zavolat s vyplněnými parametry přes cmd a ověřit si, že se opravdu vykoná to, co jste očekávali. Pak už lze parametry nahradit placeholdery Keepassu, založit do Overrides a zkusit si zavolat nějakou adresu s vybranou předponou.

Z praktické zkušenosti musím dodat, že mít takto k záznamům hesel vyplněnou URL s cílovým serverem a volat program s vyplněným loginem přímo z Keepassu je strašně pohodlné a rychle se na to zvyká. Dost to zpříjemňuje práci se správcem hesel a bezpečnost je zase o něco menší osina v zadku :).