Ne taip jau senai įvyko vienas incidentas, dropbox sisteminė klaida leido kelias valandas bet kam prisijungti prie bet kurio vartotojo paskyros ir pasiekti jo failus. Perskaitęs tokią naujieną prisėdau, mat aš ten laikiau savo SSH raktą. Raktą naudoju savo serveriuose, kad galėčiau prisijungti be slaptažodžio (tiksliau slaptažodžių palaikymą iš vis atjungiu). Čia slypi dar viena blogybė: vienas raktas visiems serveriams. Kadangi raktų turėjau dar keletą (amazon aws, neleido įkelti savo, tad teko generuoti naują), tai buvau nukopijavęs visą .ssh katalogą, o ten yra šaunus failas known_hosts, kuriame galima rasti ir pačias spynas mano raktams… Taip taip, nelabai atsakingai aš čia viską pasidaręs buvau, bet nusprendžiau, kad reikia keisti situaciją iš esmės.
Taigi susigeneruoju kiekvienam serveriui po raktą, bet susiduriu su problema, kaip tais raktais pasidalinti su kitais mano kompiuteriais. Yra dvi išeitys USB atmintinė arba tas pats dropbox. Aišku kaip dieną – duomenis abiem atvejais reikia užšifruoti. Sutiksite su manimi, kad pamesti USB atmintinę tikimybė yra didesnė už tikimybę, kad pasikartos dropbox klaida. Taigi USB atmintinę reikia užšifruoti stipriau arba „gudriau“. Kažkada senai esu bandęs TrueCrypt ir tas sprendimas mano situacijai manau tinka idealiai.
Taigi imamės USB atmintinės. Turime du pasirinkimus:
1. Sukurti užšifruotą failą ir patalpinti jį USB atmintinėje.
2. Užšifruoti visą USB atmintinę arba jos skirstinį.
Pasirinkau antrą variantą. Šifruojant duomenis reikia įvesti savo slaptažodį, aišku reikia pakankamai ilgo ir turinčio keletą specialiųjų simbolių. Vėliau mums duoda pasirinkti iš keletos sifravimo algoritmų, jie labai trumpai aprašyti pačiame programos lange, taip pat galime pratestuoti, kokiu greičiu mūsų kompiuteris galės šifruoti ir dešifruoti duomenis su kiekvienu iš esamų algoritmų, tai gali padėti išsirinkti algoritmą.
Dar keletas žingsnių ir jau mūsų įrenginys pradedamas šifruoti. Šifravimui pasibaigus galime pasikrauti savo įrenginį. Windows operacinėje tam reikia pasirinkti disko raidę kurią naudosime, o linux operacinėje bus pajungtas diskas į /media/truecrypt{sloto_numeris}.
Vienas etapas jau baigtas. Turime užšifruotą USB atmintinę, kurios turiniui peržiūrėti reikia TrueCrypt programos ir žinoma slaptažodžio. Toliau ką aš padariau – grįžau prie savo pirmų dviejų pasirinkimų ir pasiimu pirmą variantą. Sukuriu šifruotą failą, beveik analogiškai kaip ir šifravome USB atmintinę, skirtumas tik tas, kad reikia pasirinkti „konteinerio“ dydį. Šioje vietoje galime kiek pagudrauti. Sukuriame „konteinerį“ kurio dydis ~3 MB, o failo pavadinimas tiesiog koks nors 1.png, šalia įkeliame panašaus dydžio tikrų paveikslėlių su pavadinimais 2.png 3.png ir t.t. Taigi mūsų šifruotas failas skirsis nuo kitų tik tuo, kad paveiksliuko jokio programa neparodys, bus panašu į tiesiog sugadintą paveiksliuką. Pasikrovus savo šifruotą failą kaip dar vieną išorinį įrenginį, va ten jau ir galiu ramiai įkelti savo SSH raktus.
Tuos savo png failus taip pat ramiai galiu įkelti į dropbox katalogą.
Labai svarbu atsiminti, kad galite sugadinti neatstatomai duomenis jei ištrauksite USB atmintinę neatjungę įrenginių per TrueCrypt programą. Nežinau ar ta problema dar likus, bet prieš kelis metus teko nusvilti nagus, tai nekartokite mano klaidos.
Gal Jums pasirodė, kad aš paranojikas? Nė velnio, 2 žingsnyje turime dar du pasirinkimus: pirmas tai standartinis skirtinys/įrenginys kurį ir naudojome, o antras tai paslėptas skirstinys / įrenginys. Nevisai supratau kaip tokį įrenginį vėliau pasikrauti, nes nėra jokių pėdsakų, kad toks užšifruotas „konteineris“ egzistuoja. Tai skirta tam, kad galėtumeme neatskleisti tikros informacijos, jei taikoma fizinė prievarta. Tokiu atveju galime sukurti realų „matomą“ užšifruotą USB atmintinės skirstinį, ten patalpinti raktus nuo specialiai tam skirtų serverių ar specialių vartotojo paskyrų production serveriuose (kažkas panašaus į honeypot).
Tikiuosi kažkam ši informacija bus naudinga.