Leier du en server, så har du ikke full kontroll over den. Dette betyr at spesialtrente personer når som helst kan komme til vertskapet og be deg om å oppgi dataene dine. Og vertskapet vil gi dem tilbake dersom kravet er formalisert i henhold til loven.
Du vil virkelig ikke at webserverloggene eller brukerdataene skal lekke til noen andre. Det er umulig å bygge et ideelt forsvar. Det er nesten umulig å beskytte deg mot en hoster som eier hypervisoren og gir deg en virtuell maskin. Men kanskje vil det være mulig å redusere risikoen litt. Kryptering av leiebiler er ikke så ubrukelig som det ser ut ved første øyekast. La oss samtidig se på truslene om datautvinning fra fysiske servere.
Trusselmodell
Som regel vil vertskapet prøve å beskytte kundens interesser så mye som mulig ved lov. Hvis brevet fra de offisielle myndighetene bare ba om tilgangslogger, vil ikke hosteren gi dumper av alle dine virtuelle maskiner med databaser. Det burde i hvert fall ikke. Hvis de ber om alle dataene, vil vertskapet kopiere de virtuelle diskene med alle filene, og du vil ikke vite om det.
Uansett scenario er hovedmålet ditt å gjøre angrepet for vanskelig og dyrt. Det er vanligvis tre hovedtrusselalternativer.
Offisiell
Oftest sendes et papirbrev til det offisielle kontoret til vertskapet med krav om å gi de nødvendige dataene i samsvar med den relevante forskriften. Hvis alt er gjort riktig, gir vertskapet nødvendige tilgangslogger og andre data til de offisielle myndighetene. Vanligvis ber de deg bare sende de nødvendige dataene.
Av og til, hvis det er absolutt nødvendig, kommer representanter for rettshåndhevelsesbyråer personlig til datasenteret. For eksempel når du har din egen dedikerte server og data derfra kan bare tas fysisk.
I alle land krever det å få tilgang til privat eiendom, gjennomføring av søk og andre aktiviteter bevis på at dataene kan inneholde viktig informasjon for etterforskning av en forbrytelse. I tillegg kreves en ransakingsordre utført i henhold til alle forskrifter. Det kan være nyanser knyttet til særegenhetene ved lokal lovgivning. Det viktigste du trenger å forstå er at hvis den offisielle banen er riktig, vil ikke datasenterrepresentantene slippe noen forbi inngangen.
Dessuten kan du i de fleste land ikke bare trekke ut løpeutstyr. For eksempel, i Russland, frem til slutten av 2018, i henhold til artikkel 183 i den russiske føderasjonens straffeprosesskode, del 3.1, ble det garantert at under et beslag ble beslagleggelsen av elektroniske lagringsmedier utført med deltakelse av en spesialist. På forespørsel fra den juridiske eieren av de beslaglagte elektroniske lagringsmediene eller eieren av informasjonen på dem, kopierer spesialisten som deltar i beslaget, i nærvær av vitner, informasjon fra de beslaglagte elektroniske lagringsmediene til andre elektroniske lagringsmedier.
Da ble dessverre dette punktet fjernet fra artikkelen.
Hemmelig og uoffisielt
Dette er allerede aktivitetsområdet til spesialtrente kamerater fra NSA, FBI, MI5 og andre trebokstavsorganisasjoner. Oftest gir landenes lovgivning ekstremt brede fullmakter for slike strukturer. Dessuten er det nesten alltid et lovforbud mot enhver direkte eller indirekte avsløring av selve faktumet om samarbeid med slike rettshåndhevelsesbyråer. Det finnes lignende i Russland
I tilfelle en slik trussel mot dataene dine, vil de nesten helt sikkert bli tatt ut. Dessuten, i tillegg til enkle beslag, kan hele det uoffisielle arsenalet av bakdører, nulldagssårbarheter, datautvinning fra RAM-en til din virtuelle maskin og andre gleder brukes. I dette tilfellet vil vertskapet være forpliktet til å bistå lovhåndhevelsesspesialister så mye som mulig.
Skruppelløs ansatt
Ikke alle mennesker er like gode. En av datasenteradministratorene kan bestemme seg for å tjene ekstra penger og selge dataene dine. Videre utvikling avhenger av hans krefter og tilgang. Det mest irriterende er at en administrator med tilgang til virtualiseringskonsollen har full kontroll over maskinene dine. Du kan alltid ta et øyeblikksbilde sammen med alt innholdet i RAM-en og deretter sakte studere det.
VDS
Så du har en virtuell maskin som hosteren ga deg. Hvordan kan du implementere kryptering for å beskytte deg selv? Faktisk praktisk talt ingenting. Dessuten kan til og med andres dedikerte server ende opp som en virtuell maskin der de nødvendige enhetene settes inn.
Hvis oppgaven til det eksterne systemet ikke bare er å lagre data, men å utføre noen beregninger, vil det eneste alternativet for å jobbe med en upålitelig maskin være å implementere
I tillegg, i øyeblikket når den virtuelle maskinen kjører og utfører noen handlinger, er alle krypterte volumer i en tilgjengelig tilstand, ellers vil OS ganske enkelt ikke kunne jobbe med dem. Dette betyr at med tilgang til virtualiseringskonsollen, kan du alltid ta et øyeblikksbilde av en kjørende maskin og trekke ut alle nøklene fra RAM.
Mange leverandører har forsøkt å organisere maskinvarekryptering av RAM slik at selv hosteren ikke har tilgang til disse dataene. For eksempel Intel Software Guard Extensions-teknologi, som organiserer områder i det virtuelle adresserommet som er beskyttet mot lesing og skriving fra utenfor dette området av andre prosesser, inkludert operativsystemkjernen. Dessverre vil du ikke fullt ut kunne stole på disse teknologiene, siden du vil være begrenset til din virtuelle maskin. I tillegg finnes det allerede ferdige eksempler
Vi krypterer data på VDS
La meg ta et forbehold med en gang om at alt vi gjør nedenfor ikke utgjør fullverdig beskyttelse. Hypervisoren lar deg lage de nødvendige kopiene uten å stoppe tjenesten og uten at du merker det.
- Hvis hosteren på forespørsel overfører et "kaldt" bilde av den virtuelle maskinen din, er du relativt trygg. Dette er det vanligste scenariet.
- Hvis hosteren gir deg et fullstendig øyeblikksbilde av en kjørende maskin, så er alt ganske dårlig. Alle data vil bli montert i systemet i oversiktlig form. I tillegg vil det være mulig å rote gjennom RAM på jakt etter private nøkler og lignende data.
Som standard, hvis du distribuerte operativsystemet fra et vaniljebilde, har ikke hosteren root-tilgang. Du kan alltid montere media med redningsbildet og endre root-passordet ved å chroote det virtuelle maskinmiljøet. Men dette vil kreve en omstart, noe som vil bli lagt merke til. I tillegg vil alle monterte krypterte partisjoner bli lukket.
Imidlertid, hvis distribusjonen av en virtuell maskin ikke kommer fra et vaniljebilde, men fra et forhåndsforberedt bilde, kan hosteren ofte legge til en privilegert konto for å hjelpe i en nødsituasjon hos klienten. For eksempel for å endre et glemt root-passord.
Selv i tilfelle av et fullstendig øyeblikksbilde, er ikke alt så trist. En angriper vil ikke motta krypterte filer hvis du monterte dem fra det eksterne filsystemet til en annen maskin. Ja, i teorien kan du plukke ut RAM-dumpen og trekke ut krypteringsnøklene derfra. Men i praksis er dette ikke veldig trivielt og det er svært usannsynlig at prosessen vil gå utover enkel filoverføring.
Bestill en bil
For våre testformål tar vi inn en enkel maskin
Den klassiske dm-krypten for hele partisjonen tok ikke av. Som standard er disken gitt i ett stykke, med root for hele partisjonen. Å krympe en ext4-partisjon på en rotmontert er praktisk talt en garantert murstein i stedet for et filsystem. Jeg prøvde) Tamburinen hjalp ikke.
Opprette en kryptobeholder
Derfor vil vi ikke kryptere hele partisjonen, men vil bruke filkryptobeholdere, nemlig reviderte og pålitelige VeraCrypt. For våre formål er dette tilstrekkelig. Først trekker vi ut og installerer pakken med CLI-versjonen fra den offisielle nettsiden. Du kan sjekke signaturen samtidig.
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
Nå skal vi lage selve beholderen et sted i hjemmet vårt slik at vi kan montere den manuelt ved omstart. I det interaktive alternativet angir du beholderstørrelse, passord og krypteringsalgoritmer. Du kan velge det patriotiske chifferen Grasshopper og Stribog-hash-funksjonen.
veracrypt -t -c ~/my_super_secret
La oss nå installere nginx, montere beholderen og fylle den med hemmelig informasjon.
mkdir /var/www/html/images
veracrypt ~/my_super_secret /var/www/html/images/
wget https://upload.wikimedia.org/wikipedia/ru/2/24/Lenna.png
La oss korrigere /var/www/html/index.nginx-debian.html litt for å få ønsket side, og du kan sjekke den.
Koble til og sjekk
Containeren er montert, dataene er tilgjengelige og sendt.
Og her er maskinen etter omstart. Dataene er trygt lagret i ~/my_super_secret.
Hvis du virkelig trenger det og vil ha det hardcore, kan du kryptere hele operativsystemet slik at når du starter på nytt, krever det tilkobling via ssh og oppgi et passord. Dette vil også være tilstrekkelig i scenariet med å trekke tilbake "kalde data". Her
Rent metall
Det er ikke så lett å installere sin egen server i et datasenter. Noen andres dedikerte kan vise seg å være en virtuell maskin som alle enheter overføres til. Men noe interessant med tanke på beskyttelse begynner når du har muligheten til å plassere din pålitelige fysiske server i et datasenter. Her kan du allerede fullt ut bruke tradisjonell dm-crypt, VeraCrypt eller hvilken som helst annen kryptering du ønsker.
Du må forstå at hvis total kryptering er implementert, vil ikke serveren kunne gjenopprette seg selv etter en omstart. Det vil være nødvendig å heve forbindelsen til det lokale IP-KVM, IPMI eller annet lignende grensesnitt. Deretter legger vi inn hovednøkkelen manuelt. Ordningen ser så som så ut med tanke på kontinuitet og feiltoleranse, men det er ingen spesielle alternativer dersom dataene er så verdifulle.
NCipher nShield F3 maskinvaresikkerhetsmodul
Et mykere alternativ forutsetter at dataene er kryptert og nøkkelen er plassert direkte på selve serveren i en spesiell HSM (Hardware Security Module). Som regel er dette svært funksjonelle enheter som ikke bare gir maskinvarekryptering, men som også har mekanismer for å oppdage fysiske hackingforsøk. Hvis noen begynner å rote rundt på serveren din med en vinkelsliper, vil HSM med en uavhengig strømforsyning tilbakestille nøklene som den lagrer i minnet. Angriperen vil få den krypterte kjøttdeigen. I dette tilfellet kan omstart skje automatisk.
Å fjerne nøkler er et mye raskere og mer humant alternativ enn å aktivere en termittbombe eller elektromagnetisk avleder. For slike enheter vil du bli slått i svært lang tid av naboene dine ved stativet i datasenteret. Dessuten, i tilfelle av bruk
Samtidig må vi ikke glemme at alle unødvendige porter må være fysisk deaktivert eller bare fylles med compound. Ellers gir du angripere mulighet til å utføre
I en svært sofistikert versjon vil angriperen kunne utføre et kaldstartangrep. Samtidig heller den rett og slett en god porsjon flytende nitrogen inn i serveren din, fjerner grovt de frosne minnepinnene og tar en dump fra dem med alle nøklene. Ofte er en vanlig kjølespray og en temperatur på rundt -50 grader nok til å gjennomføre et angrep. Det er også et mer nøyaktig alternativ. Hvis du ikke har deaktivert lasting fra eksterne enheter, vil angriperens algoritme være enda enklere:
- Frys minnepinner uten å åpne dekselet
- Koble til den oppstartbare USB-flashstasjonen
- Bruk spesielle verktøy for å fjerne data fra RAM som overlevde omstarten på grunn av frysing.
Del og erobre
Ok, vi har bare virtuelle maskiner, men jeg vil på en eller annen måte redusere risikoen for datalekkasje.
Du kan i prinsippet prøve å revidere arkitekturen og distribuere datalagring og -behandling på tvers av ulike jurisdiksjoner. For eksempel er frontend med krypteringsnøkler fra hosteren i Tsjekkia, og backend med krypterte data er et sted i Russland. Ved et standard beslagsforsøk er det ekstremt usannsynlig at rettshåndhevende instanser vil være i stand til å utføre dette samtidig i forskjellige jurisdiksjoner. I tillegg sikrer dette oss delvis mot scenariet med å ta et øyeblikksbilde.
Vel, eller du kan vurdere et helt rent alternativ - End-to-End-kryptering. Dette går selvfølgelig utover omfanget av spesifikasjonen og innebærer ikke å utføre beregninger på siden av den eksterne maskinen. Dette er imidlertid et helt akseptabelt alternativ når det gjelder lagring og synkronisering av data. For eksempel er dette veldig praktisk implementert i Nextcloud. Samtidig vil ikke synkronisering, versjonering og andre godbiter på serversiden forsvinne.
Totalt
Det finnes ingen helt sikre systemer. Målet er rett og slett å gjøre angrepet verdt mer enn den potensielle gevinsten.
En viss reduksjon i risikoen for å få tilgang til data på et virtuelt nettsted kan oppnås ved å kombinere kryptering og separat lagring med forskjellige hostere.
Et mer eller mindre pålitelig alternativ er å bruke din egen maskinvareserver.
Men vertskapet må fortsatt stoles på på en eller annen måte. Hele bransjen hviler på dette.
Kilde: www.habr.com