kdpv — Reuters
Ak ste si prenajali server, nemáte nad ním plnú kontrolu. To znamená, že v ktoromkoľvek momente môžu k poskytovateľovi hostingu prísť špeciálne vyškolení ľudia a požiadať o poskytnutie akýchkoľvek vašich údajov. A poskytovateľ hostingu ich odovzdá, ak bude požiadavka správne formulovaná podľa zákona.
Veľmi by ste nechceli, aby sa logy vášho webového servera alebo údaje používateľov dostali k niekomu inému. Ideálnu ochranu nie je možné postaviť. Ochrana pred poskytovateľom hostingu, ktorý vlastní hypervízor a poskytuje vám virtuálny stroj, je prakticky nemožná. Ale možno sa podarí trochu znížiť riziká. Šifrovanie prenajatých strojov nie je tak beznádejne zbytočné, ako sa zdá na prvý pohľad. Zároveň sa pozrieme na hrozby vyťaženia údajov z fyzických serverov.
Model hrozieb
Zvyčajne sa poskytovateľ hostingu snaží maximálne chrániť záujmy klienta, pokiaľ je to podľa zákona možné. Ak v liste od oficiálnych orgánov požadujú len logy prístupu, poskytovateľ hostingu neodovzdá zálohy všetkých vašich virtuálnych strojov s databázami. Nemal by, aspoň. Ak požadujú úplne všetky údaje, poskytovateľ hostingu skopíruje virtuálne disky so všetkými súbormi a vy o tom nebudete vedieť.
Bez ohľadu na scenár vývoja udalostí je vašou hlavnou úlohou urobiť útok príliš zložitým a drahým. Zvyčajne existujú tri hlavné varianty hrozby.
Oficiálny
Najčastejšie do oficiálnych priestorov poskytovateľa hostingu zasielajú papierový list s požiadavkou poskytnúť potrebné údaje podľa príslušného predpisu. Ak je všetko správne vyplnené, poskytovateľ hostingu odovzdá potrebné logy prístupu a iné údaje oficiálnym orgánom. Zvyčajne jednoducho požadujú zaslať potrebné údaje.
Občas, ak je to naozaj potrebné, prídu zástupcovia orgánov činných v trestnom konaní osobne do dátového centra. Napríklad, keď máte svoj vlastný dedikovaný server a údaje odtiaľ možno získať len fyzicky.
Vo všetkých krajinách je na získanie prístupu na súkromné územie, vykonanie prehliadky a iné aktivity potrebné preukázať, že tieto údaje môžu obsahovať dôležité informácie pre vyšetrovanie trestného činu. Okrem toho je potrebný súdny príkaz na prehliadku, ktorý musí byť vyhotovený v súlade so všetkými predpismi. Môžu tu byť nuansy spojené s osobitosťami miestneho zákonodarstva. Hlavné, čo treba pochopiť – v prípade správneho oficiálneho postupu zástupcovia dátového centra nikoho ďalej nepustia.
Navyše, vo väčšine krajín nie je možné len tak vziať a odobrať fungujúce vybavenie. Napríklad v Rusku do konca roka 2018, podľa článku 183 Trestného poriadku Ruskej federácie, časť 3.1, sa garantovalo, že pri výrobe odoberania, sa odobratie elektronických nosičov informácií vykonáva s účasťou odborníka. Na základe žiadosti zákonného vlastníka odoberaných elektronických nosičov informácií alebo vlastníka obsahu týchto informácií sa odborník, ktorý sa zúčastnil na odoberaní, v prítomnosti svedkov z odoberaných elektronických nosičov informácií asistuje pri kopírovaní informácií na iné elektronické nosiče informácií.
Potom, žiaľ, tento bod z článku odstránili.
Tajný a neoficiálny
To už je územie činnosti špeciálne školených pracovníkov z NSA, FBI, MI5 a iných trojpísmenových organizácií. Najčastejšie právo krajín predpokladá mimoriadne široké právomoci pre podobné štruktúry. Navyše takmer vždy existuje legislatívny zákaz na akékoľvek priame a nepriame zverejnenie samotného faktu spolupráce s takými silovými orgánmi. V Rusku existujú analógie .
V prípade takejto hrozby vašim údajom ich takmer určite vyberú. Okrem jednoduchého odobratie môžu byť použité všetky neoficiálne prostriedky, ako sú zadné vrátka, zraniteľnosti s nulovým dňom, extrakcia údajov z operačnej pamäte vašej virtuálnej mašiny a iné radosti. Poskytovateľ služieb bude pritom povinný maximalizovať pomoc odborníkom z silových štruktúr.
Nedôveryhodný zamestnanec
Nie všetci sú ľudia rovnako dobrí. Niektorí z adminov dátových centier môžu mať záujem privyrobiť si a predať vaše dáta. Ďalší vývoj situácie závisí od jeho oprávnení a prístupov. Najnepríjemnejšie je, že administrátor s prístupom k virtualizačnej konzole má plnú kontrolu nad vašimi strojmi. Vždy je možné vytvoriť snapshot spolu so všetkým obsahom operačnej pamäte a potom ho pomaly skúmať.
VDS
Takže máte virtuálny stroj, ktorý vám poskytol hostiteľ. Ako môžete zabezpečiť šifrovanie, aby ste sa ochránili? V skutočnosti, takmer nijako. Viac, dokonca aj cudzí dedikovaný server sa nakoniec môže ukázať ako virtuálny stroj, do ktorého sú nasmerované potrebné zariadenia.
Ak úlohou vzdialeného systému nie je len uchovávanie dát, ale aj vykonávanie nejakých výpočtov, jedinou možnosťou, ako pracovať s nedôveryhodným strojom, bude realizácia . Pri tomto systéme sa budú vykonávať výpočty bez možnosti porozumieť, čo presne robí. Žiaľ, náklady na realizáciu takého šifrovania sú tak vysoké, že praktické použitie je v súčasnosti obmedzené na veľmi úzke úlohy.
Navyše, v momente, keď je virtuálny stroj zapnutý a vykonáva nejaké akcie, všetky zašifrované objemy sú v prístupnom stave, inak by operačný systém jednoducho nemohol s nimi pracovať. To znamená, že ak máte prístup k virtualizačnej konzole, vždy môžete urobiť snapshot pracujúceho stroja a extrahovať všetky kľúče z operačnej pamäte.
Mnohí dodávatelia sa pokúšali zorganizovať hardvérové šifrovanie RAM, aby ani hostiteľ nemal prístup k týmto údajom. Napríklad technológia Intel Software Guard Extensions, ktorá organizuje oblasti vo virtuálnom adresnom priestore, chránené proti čítaniu a zápisu zvonku tými istými procesmi, vrátane jadra operačného systému. Žiaľ, nemôžete sa na tieto technológie plne spoľahnúť, pretože budete obmedzení svojím virtuálnym strojom. Okrem toho už existujú konkrétne príklady na túto technológiu. A predsa, šifrovanie virtuálnych strojov nie je také bezvýznamné, ako sa môže zdať.
Šifrujeme dáta na VDS
Hneď na úvod chcem poznamenať, že všetko, čo urobíme nižšie, neudelí plnú ochranu. Hypervízor umožní vytvárať potrebné kópie bez zastavenia služby a nepozorovane pre vás.
- Ak poskytovateľ hostingu odovzdá „chladný“ obraz vašej virtuálnej mašiny, budete v relatívnom bezpečí. To je najbežnejší scenár.
- Ak poskytovateľ hostingu odovzdá úplný snímok funkčnej mašiny, situácia je dosť zlá. Všetky údaje budú pripojené v systéme v otvorenej forme. Okrem toho sa objaví možnosť prehľadávať RAM, aby sa našli súkromné kľúče a podobné údaje.
Pokiaľ ide o predvolené nastavenia, ak ste nasadili OS z vanilkového obrazu, poskytovateľ hostingu nemá root prístup. Vždy je možné pripojiť nosič s rescue obrazom a zmeniť heslo od roota, prechádzajúc do chroot prostredia virtuálnej mašiny. Avšak to si bude vyžadovať reštart, čo bude viditeľné. Navyše, všetky pripojené zašifrované oddiely budú uzavreté.
Avšak ak sa nasadenie virtuálnej mašiny neuskutočňuje z vanilkového obrazu, ale z vopred pripraveného, poskytovateľ hostingu často môže pridávať privilegovaný účet na pomoc v núdzových situáciách klienta. Napríklad na zmenu zabudnutého hesla od roota.
Aj v prípade úplného snímku to nie je až také zlé. Útočník nezíska zašifrované súbory, ak ste ich pripojili z vzdialeného súborového systému inej mašiny. Áno, teoreticky je možné rozobrať dump operačnej pamäte a extrahovať kľúče na šifrovanie. Ale v praxi to nie je jednoduché a je veľmi nepravdepodobné, že proces pôjde ďalej než jednoduchý prenos súborov.
Objednávame mašinu

Pre naše testovacie účely berieme jednoduchú mašinu v . Potrebujeme len málo zdrojov, preto si vezmeme možnosť s platbou za skutočne spotrebované megahertzy a traffic. To bude akurát stačiť na experimentovanie.
Klasický dm-crypt pre celý oddiel nefungoval. Disk sa predvolene odovzdáva ako jeden kus, s root na celý oddiel. Zmenšovanie oddielu s ext4 na pripojenom roote je prakticky zaručený spôsob, ako získať kameň namiesto súborového systému. Skúsil som to) Bubon nepomohol.
Vytvárame kryptokontajner
Preto nebudeme šifrovať celú sekciu, ale využijeme súborové kryptokontajnery, konkrétne audítorom overený a spoľahlivý VeraCrypt. Naše účely to stačí. Najskôr si stiahneme a nainštalujeme balík s CLI verziou z oficiálnej stránky. Môžete si skontrolovať aj podpis.
wget https://launchpad.net/veracrypt/trunk/1.24-update4/+download/veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb
dpkg -i veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb
Teraz vytvoríme samotný kontajner niekde v našom home, aby sme ho mohli ručne namontovať po reštarte. V interaktívnom variante nastavte veľkosť kontajnera, heslo a šifrovacie algoritmy. Môžete si vybrať patriotický šifru Kobilica a hashovaciu funkciu Stribog.
veracrypt -t -c ~/my_super_secretTeraz nainštalujme nginx, namontujme kontajner a nahrajme doň tajné informácie.
mkdir /var/www/html/images
veracrypt ~/my_super_secret /var/www/html/images/
wget https://upload.wikimedia.org/wikipedia/ru/2/24/Lenna.pngTrochu upravíme /var/www/html/index.nginx-debian.html, aby sme získali požadovanú stránku a mohli kontrolovať.
Pripojíme sa a skontrolujeme

Kontajner je namontovaný, údaje sú prístupné a sú predávané.

Tu je stroj po reštarte. Údaje sú bezpečne uložené v ~/my_super_secret.
Ak naozaj chcete hardcore, môžete zašifrovať celý operačný systém, aby po reštarte vyžadoval pripojenie cez ssh a zadanie hesla. Toto bude tiež postačujúce v scenári jednoduchého odoberania 'studených údajov'. Tu je a vzdialené šifrovanie diskov. Hoci v prípade VDS to je zložité a nadbytočné.
Bare metal
Nie je tak jednoduché postaviť si vlastný server v dátovom centre. Cudziu dediť môže byť virtuálny stroj, kde sú pripojené všetky zariadenia. Ale niečo zaujímavé v oblasti ochrany sa začína, keď máte možnosť umiestniť si v dátovom centre vlastný dôveryhodný fyzický server. Tu môžete naplno využiť tradičné dm-crypt, VeraCrypt alebo akékoľvek iné šifrovanie podľa vášho výberu.
Treba chápať, že pri realizácii celkového šifrovania server nebude schopný samostatne sa spustiť po reštarte. Bude potrebné pripojiť sa k lokálnemu rozhraniu IP-KVM, IPMI alebo inému podobnému ekvivalentu. Potom manuálne zadáme master-kľúč. Schéma sa zdá byť slabá z hľadiska kontinuity a odolnosti proti zlyhaniu, ale nestačí tu veľa alternatív, ak sú údaje tak cenné.

NCipher nShield F3 Hardware Security Module
Mäkký variant znamená, že údaje sú šifrované a kľúč sa nachádza priamo na samotnom serveri v špeciálnom HSM (Hardware Security Module). Zvyčajne ide o veľmi funkčné zariadenia, ktoré nielen zabezpečujú hardvérovú kryptografiu, ale majú aj mechanizmy na detekciu pokusu o fyzické násilie. Ak niekto začne kopať do vášho servera brúskou, HSM s nezávislým zdrojom napájania vymaže kľúče, ktoré uchováva vo svojej pamäti. Útočníkovi príde len šifrovaný chaos. Reštartovanie môže prebiehať automaticky.
Odstránenie kľúčov je omnoho rýchlejší a humánnejší variant ako aktivácia termitnej šarže alebo elektromagnetického odpudzovača. Za takéto zariadenia vás budú vaši susedia v dátovom centre veľmi dlho biť. Obzvlášť, ak sa použije šifrovanie na samotných nosičoch prakticky nevytvára žiadne dodatočné náklady. Všetko prebieha priehľadne pre OS. Pravda, musíte dôverovať hypotetickému Samsungu a dúfať, že tam je poctivý AES256, a nie jednoduchý XOR.
Pri tom netreba zabúdať, že všetky zbytočné porty musia byť fyzicky odpojené alebo jednoducho zaplnené kompozitom. Inak dáte útočníkom šancu uskutočniť . Ak máte vyčnievajúci PCI Express alebo Thunderbolt, vrátane USB s jeho podporou - ste zraniteľní. Útočník môže prostredníctvom týchto portov uskutočniť útok a získať priamy prístup do pamäte s kľúčmi.

V úplne sofistikovanej variante dokáže útočník vykonať cold boot útok. Pri tom len naleje dobrú porciu kvapalného dusíka do vášho servera, surovo vyberá zamrznuté pamäťové modul a robí z nich dump so všetkými kľúčmi. Často na uskutočnenie útoku stačí bežný chladiaci sprej a teploty okolo -50 stupňov. Existuje aj precíznejší variant. Ak ste neodpojili bootovanie z externých zariadení, algoritmus útočníka bude ešte jednoduchší:
- Zmrznúť pamäťové moduly bez otvorenia skrine
- Pripojiť svoj bootovací USB kľúč
- Špeciálnymi utilitami získať údaje z operačnej pamäte, ktoré prežili reštart vďaka zmrazeniu.
Rozdeľuj a panuj
Ok, máme len virtuálky, ale chceli by sme aspoň nejako znížiť riziko úniku údajov.
V zásade je možné zvážiť prepracovanie architektúry a rozloženie uchovávania dát a spracovania na rôzne jurisdikcie. Napríklad front-end s šifrovacími kľúčmi u hostiteľa v Česku a back-end so zašifrovanými dátami niekde v Rusku. V prípade štandardného pokusu o získanie je veľmi nepravdepodobné, že by mocenské štruktúry mohli vykonať tento krok súčasne v rôznych jurisdikciách. Navyše, to čiastočne chráni nás pred scénarom so snímaním snímky.
Alebo môžeme zvážiť úplne čistú alternatívu — šifrovanie End-to-End. Samozrejme, to presahuje rámec požiadaviek a nepredpokladá vykonávanie výpočtov na strane vzdialeného stroja. Napriek tomu je to celkom prijateľná možnosť, pokiaľ ide o uchovávanie a synchronizáciu dát. Napríklad, to je veľmi pohodlne implementované v tom istom Nextcloude. Pri tom synchronizácia, verzionovanie a ďalšie výhody serverovej časti nikam nezmiznú.
Spolu
Neexistujú dokonale chránené systémy. Úloha spočíva len v tom, aby útok bol drahší ako potenciálny zisk.
Určité zníženie rizík prístupu k dátam na virtuálnom serveri je možné dosiahnuť kombinovaním šifrovania a oddeleného uchovávania u rôznych hostiteľov.
Celkom spoľahlivou alternatívou je použitie vlastného hardvérového servera.
Hostiteľovi sa aj tak bude treba dôverovať. Na tom spočíva celý priemysel.
Zdroj: habr.com
