Tag Archives: hesla

Editace šifrovaných GPG souborů s vim

Motivace

Začnu zlehka motivací, kterou v klidu můžete přeskočit.
Už nějakou chvíli přemýšlím, jak bezpečně uchovávat hesla. Měl jsem na to jen pár (= dva) požadavků: bezpečnost a dostupnost. Bezpečnost je jasná - kromě hesel na "srandastránky" potřebuji uložit údaje k poměrně citlivým službám. A protože se k heslům potřebuji dostat nepravidelně jak z kanceláře, tak z domu, tak z nějaké kavárny, potřebuju nějaké centrální úložiště. Klikátka jsou passé kvůli druhému požadavku, ukládání do databáze v plaintext na nějakém mém serveru se zas nekamarádí s prvním požadavkem. A teď babo raď (nebo pište do komentářů, co používáte vy).

Rozhodnutí padlo na obyčejný texťák zašifrovaný pomocí GnuPG. Jak jednodché. Tento soubor mám uložený na pracovním pc, který jede nonstop, takže přes ssh si ho můžu přečíst kdykoliv. Ale přišly další problémy: jak jej jednoduše editovat? Rozkódovat, přepsat, zakódovat - furt dokolečka. Admini jsou přece lidé líní..

vim umí všechno

Mám rád vim, protože toho umí spoustu. Třeba rozkódovat, přepsat a zakódovat GPG soubor - jé, o tom jsem psal o pár řádků výš, jaká náhoda! Na řešení jsem dnes narazil na vim wiki. Jednoduše si do ~/.vimrc přidejte těchto pár řádků:

" Transparent editing of gpg encrypted files.
augroup encrypted
au!
" First make sure nothing is written to ~/.viminfo while editing
" an encrypted file.
autocmd BufReadPre,FileReadPre      *.gpg set viminfo=
" We don't want a swap file, as it writes unencrypted data to disk
autocmd BufReadPre,FileReadPre      *.gpg set noswapfile
" Switch to binary mode to read the encrypted file
autocmd BufReadPre,FileReadPre      *.gpg set bin
autocmd BufReadPre,FileReadPre      *.gpg let ch_save = &ch|set ch=2
autocmd BufReadPre,FileReadPre      *.gpg let shsave=&sh
autocmd BufReadPre,FileReadPre      *.gpg let &sh='sh'
autocmd BufReadPre,FileReadPre      *.gpg let ch_save = &ch|set ch=2
autocmd BufReadPost,FileReadPost    *.gpg '[,']!gpg --decrypt --default-recipient-self 2> /dev/null
autocmd BufReadPost,FileReadPost    *.gpg let &sh=shsave
" Switch to normal mode for editing
autocmd BufReadPost,FileReadPost    *.gpg set nobin
autocmd BufReadPost,FileReadPost    *.gpg let &ch = ch_save|unlet ch_save
autocmd BufReadPost,FileReadPost    *.gpg execute ":doautocmd BufReadPost " . expand("%:r")
" Convert all text to encrypted text before writing
autocmd BufWritePre,FileWritePre    *.gpg set bin
autocmd BufWritePre,FileWritePre    *.gpg let shsave=&sh
autocmd BufWritePre,FileWritePre    *.gpg let &sh='sh'
autocmd BufWritePre,FileWritePre    *.gpg '[,']!gpg --encrypt --default-recipient-self 2>/dev/null
autocmd BufWritePre,FileWritePre    *.gpg let &sh=shsave
" Undo the encryption so we are back in the normal text, directly
" after the file has been written.
autocmd BufWritePost,FileWritePost  *.gpg silent u
autocmd BufWritePost,FileWritePost  *.gpg set nobin
augroup END

A šup s radostí editovat Vaše šifrované soubory. A na závěr poznámka: pokud používáte více soukromých klíčů, tak myslete na to, že v konfiguraci se používá přepínač --default-recipient-self.

Z lepšího spamu

Poučování o bezpečnosti není nikdy dost, tak ukážu, co mi před chviličkou přislo na e-mail. Zpráva se tváří věrohodně, na první pohled je od odesílate e-mail.cz a český text je tento:

Vážení e-mail.cz uživatele
 
HTK4S virus byl zjištěn u e-mail.cz Webmail server, a e-mail.cz všechny webmail účetní závěrka musí být 
aktualizován okamžitě, aby se zabránilo poškození webmail e-mail.cz.
 
Jste požádáni o identifikaci účtu uvedené níže, které nám umožňují kontrolovat a udržovat svůj účet s novou 
verzí anti-virus/anti-Spam HTK4S 2011. neposkytnutí platné informace, bude váš účet dočasně pozastaven z 
našich služeb.
 
Jméno :..................
Uživatelské jméno ...............
Heslo :............
Datum narození :...........
 
Webmail Copyright © e-mail.cz 2011 Všechna práva vyhrazena

Kde je problém?

  • na první pohled lámaná čeština: E-mail.cz patří pod Seznam.cz a tak předpokládáme, že jejich zaměstnanci česky umí Pod Seznam.cz patří email.cz (bez pomlčky), i tak e-mail.cz je naprosto česká služba..
  • vyžadování údajů: nikdy nikomu nezasílejte informace jako je uživatelské jméno a heslo, i když se zpráva tváří jako odeslaná od vašeho poskytovatele služeb. Oni si to umí "ošéfovat" jinak..
  • opravdový odesílatel: na druhý pohled je vidět, že opravdový odesílatel je [email protected].
  • účet u e-mail.cz: máte vůbec účet u této služby? Já ne ;)

Člověk by jim na to skoro skočil, že?