sql >> Databasteknik >  >> RDS >> MariaDB

Databaskryptering:Varför och var du behöver ha datakryptering

Databaskryptering ger ökad säkerhet för dina vilande och överföringsdata. Många organisationer har börjat titta på datakryptering på allvar med de senaste fallen av säkerhetsintrång. I de flesta fall är databasservrar ett vanligt mål för angripare eftersom det har den mest värdefulla tillgången för de flesta organisationer. När en inkräktare väl har fått tillgång till värdefull data från din server är chansen stor att de kommer att stjäla data från den. De använder sedan uppgifterna för lösen, dataexploatering eller andra ekonomiska vinster från organisationen de har attackerat.

I den här bloggen diskuterar vi varför databaskryptering är viktigt och hur datakryptering spelar en viktig roll för att säkra din databas.

Varför behöver jag databaskryptering?

Databaskryptering är en process för att konvertera data i databasen till "chiffertext" (oläsbar text)  med hjälp av en algoritm. Du måste använda en nyckel som genereras från algoritmen för att dekryptera texten. Databaskrypteringsprocessen är starkt att rekommendera, särskilt för företag som arbetar med finans, hälsovård eller e-handel. Nyligen har cyberattacker, datastöld eller dataintrång florerat; därför finns det en ökande oro över privata data. Människor är mycket medvetna om datasekretess, säkerhet och vill att deras data ska skyddas och endast användas när det behövs. Följande är några bra fördelar med att ha databaskryptering:

Undvik säkerhetsattacker

Säkerhetsattacker är oundvikliga, men med bättre säkerhet och datakrypteringsmetoder kanske inkräktare inte analyserar eller dekrypterar för att förstå informationen ytterligare i ett dataintrång. Anta att en Man-in-the-middle (MITM) attack eller avlyssning sker under säkerhetskopiering eller överföringar mellan servrar. Om detta är en okrypterad dataöverföring är det definitivt fördelaktigt för angriparna; inte en situation du vill ha i din omgivning!

Om du har en krypterad databas måste en angripare hitta sätt att dekryptera den krypterade informationen. Hur långt de kan gå beror på cyfrernas komplexitet och algoritmer som används för att generera krypterad data. Angripare kommer också att göra sitt bästa för att komma åt krypteringsnycklar, vilket leder till att de öppnar valvet eller dekrypterar krypterad data, liknande guldbrytning; trots allt är data det nya guldet nuförtiden. För att undvika dessa typer av försök till dataintrång är det viktigt att säkra infrastrukturen på alla sätt, inklusive att begränsa åtkomsten till servrar där det är möjligt.

Efterlevnad av säkerhetsföreskrifter

När man hanterar säkerhetsbestämmelser som PCI-DSS är kryptering ett av de viktigaste kraven. Det är ett obligatoriskt krav. Till exempel måste alla kortinnehavares data antingen krypteras med branschgodkända algoritmer (t.ex. AES-256, RSA 2048), trunkeras, tokeniseras eller hashas (godkända hashalgoritmer specificerade i FIPS 180-4:SHA-1, SHA-224, SHA-256, SHA-384 SHA-512, SHA-512/224 och SHA-512/256). Även om det inte är det enda som täcks för att ha krypterad data, kräver PCI-DSS också täckning för att använda PCI-DSS krypteringsnyckelhanteringsprocess.

Skydda känsliga data

Krypteringsnyckelhanteringen är idealisk för att skydda känsliga data med centraliserad nyckelhantering och enkla API:er för datakryptering. Exempel på dessa nyckelhantering är att använda Hashicorp Vault (öppen källkod) eller om du använder ett offentligt moln (sluten källa), vanligast är nyckelhantering med sluten källkod Amazon Web Service (AWS) Key Management Service (KMS), Google Cloud KMS, Microsoft Azure Key Vault.

Vad är datakryptering?

Kryptering är en av de viktigaste säkerhetsfunktionerna för att hålla din data så säker som möjligt. Beroende på vilken data du hanterar är det inte alltid ett måste, men du bör åtminstone betrakta det som en säkerhetsförbättring i din organisation. Faktum är att det faktiskt rekommenderas att undvika datastöld eller obehörig åtkomst.

Datakryptering är en process för att koda data. Det är huvudsakligen en tvåvägsfunktion, vilket innebär att krypterad data måste dekrypteras med en giltig krypteringsnyckel. Kryptering är en sådan teknik för kryptografi. Kryptering är ett sätt att dölja information genom att ändra den så att den verkar vara slumpmässig data - krypteringsmetoder kan göra din data (till exempel meddelanden) konfidentiell, men samtidigt krävs andra tekniker och strategier för att tillhandahålla integriteten och äktheten av ett meddelande. Kryptering är mer en matematisk operation.

Inom databaskryptering finns det två grundläggande typer när det gäller att kryptera data. Dessa krypteringstyper är data i vila och data i överföring. Låt oss se vad de betyder.

Data at-rest-kryptering

Data som lagras i ett system kallas data at-rest. Krypteringen av denna data består av att använda en algoritm för att konvertera text eller kod för att den ska vara oläslig. Du måste ha en krypteringsnyckel för att avkoda den krypterade informationen.

Kryptering av en hel databas bör göras med försiktighet eftersom det kan leda till allvarliga prestandapåverkan. Det är därför klokt att endast kryptera enskilda fält eller tabeller. Kryptering av data-at-rest skyddar data från fysisk stöld av hårddiskar eller obehörig åtkomst till fillagring. Denna kryptering överensstämmer också med datasäkerhetsbestämmelser, särskilt om det finns ekonomiska eller hälsodata lagrade i filsystemet.

Kryptering för data i vila:Var gäller det?

Detta täcker data i vila, såsom din databasdata lagrad på en specifik plats. Till exempel, din PostgreSQL:s datakatalog, MySQL/MariaDB data_dir eller MongoDB:s dbPath-lagringsplatser. Vanlig process för att tillhandahålla kryptering är att använda Transparent Data Encryption (TDE). Konceptet är främst att kryptera allt som är beständigt.

Förutom det är säkerhetskopior av databas mycket benägna att stjäla data och obehörig åtkomst. Dessa lagras fysiskt i en icke-flyktig lagring. Även om dessa inställningar hålls utsatta för att läsas av obehörig åtkomst eller datastöld, hjälper kryptering av data att undvika oönskad åtkomst. Naturligtvis kommer det också med att säkra dina krypteringsnycklar någonstans gömda och inte lagrade på samma server. Kryptera din databasdata lagrad som binärer och dina säkerhetskopior oavsett om det är en logisk eller binär säkerhetskopia, kom ihåg att krypterad data påverkar prestandan och gör filstorleken större.

Data i transit-kryptering

Data som överförs eller flyttas mellan transaktioner kallas data-in-transit. Data som rör sig mellan servern och klienten när du surfar på webbsidor är ett bra exempel på denna typ av data. Eftersom den alltid är i rörelse måste den krypteras för att undvika stöld eller förändring av data innan den når sin destination.

Den idealiska situationen för att skydda data under transport är att ha data krypterad innan den flyttas och dekrypterad när den når slutdestinationen.

Kryptering för dataöverföring:Var gäller det?

Som specificerat ovan relaterar detta till kommunikationskanalen mellan databasklienten och databasservern. Tänk på applikationsservern och databasserverkanalerna som har äventyrats, och angriparen eller inkräktaren avlyssnar eller gör en MITM-attack. Angriparen kan lyssna och fånga data som skickas över en osäker kanal. Detta kan undvikas om data som skickas över tråden från dess databasklient och databasserverkommunikationskanal krypteras med TLS/SSL-kryptering.

Att hantera databaskryptering har också många utmaningar att övervinna. Även om det finns fördelar, finns det fall att det är en nackdel. Låt oss gå igenom vad dessa är.

Fördelar med datakryptering

Här är listorna över vanliga och verkliga fall som söker datakryptering som en fördel.

  • Det ger säkerhet för alla dina data hela tiden

  • Skyddar integritet och känslig information hela tiden

  • Skyddar din data över enheter

  • Säkra efterlevnad av myndigheters regelverk

  • Det ger dig fördel för att vara en konkurrensfördel

  • Närvaro av underliggande teknologi för kryptering för dataskydd kan öka förtroendet

  • Krypterad data bibehåller integriteten

Nackdelar med datakryptering

Datakryptering betyder inte affärsframgång. Det ger dig inte fördelen som en växande, innovativ och avancerad teknik utan att känna till dess utmaningar och bästa praxis för att implementera och hantera detta. Det är sant för talesättet att "All That Glitters Is Not Gold". Det finns vissa nackdelar om du har datakryptering när du inte förstår dess huvudsakliga syfte.

Datakryptering och prestandapåföljder

Kryptering involverar komplexa och sofistikerade matematiska operationer för att dölja betydelsen av data. Beroende på vilka typer av chiffer eller algoritmer du väljer antingen för att hasha eller dechiffrera data. De komplexa och högre bitarna är, om din databas är designad för att hantera massor av förfrågningar, då kommer den att försämra dina resurser, särskilt CPU:n. Att ställa in datakryptering som TLS för din in-transit eller använda RSA 2048-bitar kan vara för mycket om din ekonomiska kapacitet inte har övervakat denna typ av konsekvenser. Det är resurskrävande och lägger extra press på systemets processor. Även om moderna datorsystem är kraftfulla och prisvärda, särskilt för offentliga molnerbjudanden, kan det vara acceptabelt. Förbered en bedömning först och identifiera vilken typ av prestandapåverkan kryptering kommer att ha i sammanhanget där du kommer att använda den. Det är också viktigt att förstå att prestandan för de olika krypteringslösningarna är olika. Vilket innebär att behovet av snabbhet och säkerhet måste balanseras noggrant mot varandra.

Tappar bort datakrypteringsnycklarna

Det börjar bli vanligt att lagra krypteringsnycklarna i ett säkert valv, som tidigare nämnts, såsom Hashicorp Vault, AWS KMS och andra. En stor fråga med kryptering är att om någon tappar bort dekrypteringsnyckeln skulle det innebära stora problem. Du kan relatera att det är ungefär detsamma som att ha ett lösenord, men det behandlas som en global nyckel för att dekryptera all krypterad data. Inte om du inte har olika krypteringsnycklar för varje aspekt av din databas, då kan det innebära att många lösenord ska komma ihåg och måste förvaras säkert.

Datakryptering påverkar återställningstiden

Om dina data i vila, såsom säkerhetskopior är krypterade, i händelse av en total katastrof, kan återställning med din egen säkerhetskopia fördubbla eller tredubbla tiden eller till och med mycket mer beroende på hur du har ställt in typen av algoritm eller chiffer. Detta ökar pressen närhelst du behöver ditt kluster och applikation för att vara uppe i tid men inte på grund av att dechiffrera eller dekryptera data tar för mycket tid och systemresurser.

Begränsat skydd mot applikationsnivå eller insiderattacker

Detta är förstås förståeligt av kärnan i att ha kryptering. Men detta betyder inte att du inte behöver kryptera längre bara för att det inte tillämpar skydd på applikationsnivå. Naturligtvis är det ytterligare ett lager av säkerhet som måste appliceras i applikationslagret. Definitivt, om någon får tillgång till din databasanvändare/lösenord, särskilt med administrativ åtkomst, så hjälper inte kryptering här. Angriparen kan hämta data genom att köra en serie SQL-frågor som naturligtvis är läsbara för människor om det inte finns en viss nivå av applikationslogik som krypterar den sanna innebörden av dina data. Å andra sidan lägger det bara till extra arbete och komplexitet för den övergripande bundna tekniken som du använder. Om du har ett stort team som är utsett till vart och ett av dessa lager, så är det en stor fördel eftersom hanteringen av komplexiteten endast kan dedikeras till varje roll de ska fokusera på.

Samarbete och förtroende med kamrater som innehar datakrypteringsnycklarna

Definitivt en bra sak att tänka på här. Vad händer om kamraten som känner till nycklarna och var de har lagrats eller ditt lagringsvalvs lösenord har lämnat? Det är mycket viktigt att ange den fysiska åtkomsten till servern där nycklarna och lösenorden lagras. Det är mycket viktigt att utse rollen och begränsa åtkomsten till dessa nycklar och lösenord. Det hjälper också om du har en lång och komplex kombination av lösenord så att det ska vara svårt att memorera men samtidigt lätt att hämta när det behövs. Även om det låter ironiskt, måste en hemlighet förbli helig.

Bör jag bry mig om datakryptering?

Datakryptering är önskvärt och ofta obligatoriskt, som nämnts, beroende på din applikations schematiska process och design och nivå på verksamheten du är engagerad i.

Bör du bry dig om datakryptering? Defenitivt Ja. Det kommer också upp, med personligt beroende och affärssyfte. Men i närvaro av känslig data, särskilt när du redan har byggt upp din egen persona och ekonomiska kapacitet i din organisation och ditt företag, är all data mycket på en högre känslighetsnivå. Du vill inte att någon ska stjäla din data och känna till alla strategiska och affärsmässiga saker som är involverade i ditt företags tillväxt. Data, i det här fallet, måste säkras; därför är kryptering en viktig aspekt av att säkra din databas och själva data.

Slutsats

Eftersom känslig data alltid finns även i vår personliga vardag, ökar mängden känsliga och värdefulla uppgifter parallellt i en organisation. Det är viktigt att förstå att inte all data kräver kryptering. Definitivt, vissa data delas globalt eller återanvänds ofta; denna typ av data behöver inte krypteras. Notera fördelarna och nackdelarna med att använda kryptering i din databas. Att bestämma var det ska tillämpas och hur det ska tillämpas hjälper dig att uppnå en säker miljö utan någon påverkan på prestanda.


  1. Hur man släpper databas med hjälp av TSQL och GUI - SQL Server / TSQL Tutorial Del 25

  2. Kopiera data från en fil till en CLOB i Oracle

  3. Jämföra PostgreSQL DigitalOcean prestanda och prissättning – ScaleGrid vs DigitalOcean Managed Databases

  4. Skapa revisionstriggers i SQL Server