MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Criptografia de banco de dados:por que e onde você precisa ter criptografia de dados

A criptografia de banco de dados fornece segurança aprimorada para seus dados em repouso e em trânsito. Muitas organizações começaram a olhar seriamente para a criptografia de dados com casos recentes de violação de segurança. Na maioria dos casos, os servidores de banco de dados são um alvo comum para os invasores porque contêm o ativo mais valioso para a maioria das organizações. Uma vez que um intruso tenha acesso a dados valiosos do seu servidor, é provável que eles roubem os dados dele. Eles então usam os dados para resgate, exploração de dados ou outros ganhos financeiros da organização que atacaram.

Neste blog, discutimos por que a criptografia de banco de dados é importante e como a criptografia de dados desempenha um papel significativo na proteção de seu banco de dados.

Por que preciso de criptografia de banco de dados?

A criptografia do banco de dados é um processo para converter dados no banco de dados em "texto cifrado" (texto ilegível) usando um algoritmo. Você precisa usar uma chave gerada a partir do algoritmo para descriptografar o texto. O processo de criptografia de banco de dados é altamente recomendável, especialmente para empresas que lidam com finanças, saúde ou comércio eletrônico. Recentemente, ataques cibernéticos, roubo de dados ou violações de dados têm sido desenfreados; portanto, há uma preocupação crescente com dados privados. As pessoas estão muito cientes da privacidade e segurança dos dados e querem que seus dados sejam protegidos e usados ​​apenas quando necessário. A seguir estão alguns bons benefícios de ter criptografia de banco de dados:

Evite ataques de segurança

Os ataques de segurança são inevitáveis, mas com melhores métodos de segurança e criptografia de dados, os invasores podem não analisar ou descriptografar para entender melhor os dados em uma violação de dados. Suponha que um ataque ou espionagem Man-in-the-middle (MITM) esteja acontecendo durante o backup ou transferências entre servidores. Se esta for uma transferência de dados não criptografada, é definitivamente vantajosa para os invasores; não é uma situação que você quer ter em seu ambiente!

Se você tiver um banco de dados criptografado, um invasor deverá encontrar maneiras de descriptografar os dados criptografados. Até onde eles podem ir depende da complexidade das cifras e dos algoritmos aplicados para gerar os dados criptografados. Além disso, os invasores farão o possível para acessar as chaves de criptografia, levando-os a abrir o cofre ou descriptografar os dados criptografados, semelhante à mineração de ouro; afinal, os dados são o novo ouro nos dias de hoje. Para evitar esses tipos de tentativas de violação de dados, é importante proteger a infraestrutura de todas as formas, incluindo limitar o acesso aos servidores sempre que possível.

Conformidade com os Regulamentos de Segurança

Ao lidar com regulamentações de segurança como PCI-DSS, a criptografia é um dos requisitos mais importantes. É um requisito obrigatório. Por exemplo, todos os dados do titular do cartão devem ser criptografados usando algoritmos aceitos pelo setor (por exemplo, AES-256, RSA 2048), truncados, tokenizados ou com hash (algoritmos de hash aprovados especificados no FIPS 180-4:SHA-1, SHA-224, SHA-256, SHA-384 SHA-512, SHA-512/224 e SHA-512/256). Embora essa não seja a única coisa a ser coberta por ter dados criptografados, o PCI-DSS também requer a cobertura do uso do processo de gerenciamento de chaves de criptografia PCI-DSS.

Protegendo dados confidenciais

O gerenciamento de chaves de criptografia é ideal para proteger dados confidenciais com gerenciamento centralizado de chaves e APIs simples para criptografia de dados. Exemplos desse gerenciamento de chaves são o uso do Hashicorp Vault (código aberto) ou, se você estiver usando a nuvem pública (código fechado), o gerenciamento de chaves de código fechado mais comum é Amazon Web Service (AWS) Key Management Service (KMS), Google Cloud KMS, Cofre de Chaves do Microsoft Azure.

O que é criptografia de dados?

A criptografia é um dos recursos de segurança mais importantes para manter seus dados o mais seguros possível. Dependendo dos dados que você está manipulando, isso nem sempre é obrigatório, mas você deve pelo menos considerá-lo uma melhoria de segurança em sua organização. Na verdade, é recomendado evitar roubo de dados ou acesso não autorizado.

A criptografia de dados é um processo de codificação dos dados. É principalmente uma função bidirecional, o que significa que os dados criptografados devem ser descriptografados com uma chave de criptografia válida. A criptografia é uma dessas técnicas de criptografia. A criptografia é uma maneira de ocultar informações alterando-as para que pareçam ser dados aleatórios - os métodos de criptografia podem tornar seus dados (por exemplo, mensagens) confidenciais, mas, ao mesmo tempo, outras técnicas e estratégias são necessárias para fornecer integridade e autenticidade de uma mensagem. A criptografia é mais uma operação matemática.

Na criptografia de banco de dados, existem dois tipos básicos quando se trata de criptografar os dados. Esses tipos de criptografia são dados em repouso e dados em trânsito. Vejamos o que significam.

Criptografia de dados em repouso

Os dados armazenados em um sistema são conhecidos como dados em repouso. A criptografia desses dados consiste em usar um algoritmo para converter texto ou código para que fique ilegível. Você deve ter uma chave de criptografia para decodificar os dados criptografados.

A criptografia de um banco de dados inteiro deve ser feita com cautela, pois pode resultar em um sério impacto no desempenho. Portanto, é aconselhável criptografar apenas campos ou tabelas individuais. A criptografia de dados em repouso protege os dados contra roubo físico de discos rígidos ou acesso não autorizado ao armazenamento de arquivos. Essa criptografia também está em conformidade com os regulamentos de segurança de dados, especialmente se houver dados financeiros ou de saúde armazenados no sistema de arquivos.

Criptografia para dados em repouso:onde se aplica?

Isso abrange dados em repouso, como os dados do banco de dados armazenados em um local específico. Por exemplo, o data_directory do PostgreSQL, o data_dir do MySQL/MariaDB ou os locais de armazenamento dbPath do MongoDB. O processo comum para fornecer criptografia é usar Transparent Data Encryption (TDE). O conceito é principalmente criptografar tudo o que é persistente.

Além disso, os backups de banco de dados são muito propensos a roubo de dados e acesso não autorizado. Eles são armazenados fisicamente em um armazenamento não volátil. Enquanto essas configurações são mantidas expostas para serem lidas por acesso não autorizado ou roubo de dados, a criptografia dos dados ajuda a evitar acesso indesejado. Claro, ele também vem com a proteção de suas chaves de criptografia em algum lugar oculto e não armazenado no mesmo servidor. Criptografando seus dados de banco de dados armazenados como binários e seus backups, seja um backup lógico ou binário, lembre-se de que os dados criptografados afetam o desempenho e aumentam o tamanho do arquivo.

Criptografia de dados em trânsito

Os dados transferidos ou movimentados entre transações são conhecidos como dados em trânsito. Os dados que se movem entre o servidor e o cliente durante a navegação nas páginas da Web são um bom exemplo desse tipo de dados. Como está sempre em movimento, precisa ser criptografado para evitar qualquer roubo ou alteração dos dados antes de chegar ao seu destino.

A situação ideal para proteger os dados em trânsito é ter os dados criptografados antes de serem movidos e descriptografados quando chegarem ao destino final.

Criptografia para dados em trânsito:onde se aplica?

Conforme especificado acima, isso se refere ao canal de comunicação entre o cliente de banco de dados e o servidor de banco de dados. Considere os canais do servidor de aplicativos e do servidor de banco de dados que foram comprometidos e o invasor ou intruso está espionando ou fazendo um ataque MITM. O invasor pode ouvir e capturar os dados que estão sendo enviados por um canal inseguro. Isso pode ser evitado se os dados enviados por fio de seu cliente de banco de dados e canal de comunicação do servidor de banco de dados forem criptografados usando criptografia TLS/SSL.

Lidar com criptografia de banco de dados também tem muitos desafios a serem superados. Embora existam vantagens, há casos em que é uma desvantagem. Vamos ver quais são.

Vantagens da criptografia de dados

Aqui estão as listas de casos comuns e do mundo real que buscam a criptografia de dados como vantagem.

  • Ele fornece segurança para todos os seus dados em todos os momentos

  • Protege a privacidade e informações confidenciais em todos os momentos

  • Protege seus dados entre dispositivos

  • Garantir a conformidade regulatória do seu governo

  • Dá a você vantagem por ser uma vantagem competitiva

  • A presença de tecnologia subjacente para criptografia para proteção de dados pode aumentar a confiança

  • Dados criptografados mantêm a integridade

Desvantagens da criptografia de dados

A criptografia de dados não significa sucesso nos negócios. Não lhe dá vantagem como uma tecnologia crescente, inovadora e avançada sem conhecer seus desafios e melhores práticas para implementar e lidar com isso. É verdade para o ditado que "Nem o que reluz é ouro". Existem certas desvantagens se você tiver criptografia de dados quando não entender seu objetivo principal.

Criptografia de dados e penalidades de desempenho

A criptografia envolve operações matemáticas complexas e sofisticadas para ocultar o significado dos dados. Dependendo de quais tipos de cifras ou algoritmos você escolher para hash ou decifrar os dados. Os bits mais complexos e mais altos são, se seu banco de dados for projetado para lidar com toneladas de solicitações, ele sobrecarregará seus recursos, especialmente a CPU. Configurar criptografia de dados como TLS para seu trânsito ou usar RSA 2048 bits pode ser demais se sua capacidade financeira não tiver supervisionado esse tipo de consequência. É um recurso intensivo e adiciona pressão extra no processador do sistema. Embora os sistemas de computação modernos sejam poderosos e acessíveis, especialmente as ofertas de nuvem pública podem ser aceitáveis. Prepare uma avaliação primeiro e identifique que tipo de criptografia de impacto no desempenho terá no contexto em que você a usará. Também é importante entender que o desempenho das várias soluções de criptografia é diferente. O que significa que a necessidade de velocidade e segurança devem ser cuidadosamente equilibradas entre si.

Perda das chaves de criptografia de dados

Está se tornando comum armazenar as chaves de criptografia em um cofre seguro, conforme mencionado anteriormente, como Hashicorp Vault, AWS KMS e outros. Uma questão importante de ter criptografia é que, se alguém perder a chave de descriptografia, isso significaria um grande problema. Você pode relatar que é o mesmo que ter uma senha, mas é tratada como uma chave global para descriptografar todos os dados criptografados. A menos que você tenha chaves de criptografia diferentes para cada aspecto do seu banco de dados, isso pode significar que muitas senhas devem ser lembradas e devem ser mantidas em segurança.

A criptografia de dados afeta o tempo de recuperação

Se seus dados em repouso, como backups, forem criptografados, em caso de desastre total, a recuperação com seu próprio backup pode dobrar ou triplicar o tempo ou até muito mais, dependendo de como você definiu o tipo de algoritmo ou cifras. Isso aumenta a pressão sempre que você precisa que seu cluster e aplicativo estejam em tempo, mas não pode devido à decifração ou descriptografia dos dados que consome muito tempo e recursos do sistema.

Proteção limitada contra nível de aplicativo ou ataques internos

Claro, isso é compreensível pela essência de ter criptografia. Mas isso não significa que você não precisa mais criptografar apenas porque não aplica proteção no nível do aplicativo. Claro, essa é outra camada de segurança que deve ser aplicada na camada de aplicação. Definitivamente, se alguém obtiver acesso ao seu usuário/senha do banco de dados, especialmente com acesso administrativo, a criptografia não ajudará aqui. O invasor pode recuperar dados executando uma série de consultas SQL que, obviamente, são legíveis por humanos, a menos que haja um certo nível de lógica de aplicativo que criptografa o verdadeiro significado de seus dados. Por outro lado, isso apenas adiciona trabalho extra e complexidade da tecnologia geral vinculada que você está usando. Se você tem uma grande equipe designada para cada uma dessas camadas, isso é uma grande vantagem, pois o gerenciamento da complexidade só pode ser dedicado a todas as funções nas quais eles devem se concentrar.

Cooperação e confiança com os pares que detêm as chaves de criptografia de dados

Definitivamente uma coisa boa a considerar aqui. E se o peer que conhece as chaves e onde foi armazenado ou a senha do seu cofre de armazenamento foi embora? É muito importante designar o acesso físico do servidor onde estão armazenadas as chaves e senhas. A designação da função e a limitação do acesso a essas chaves e senhas são muito importantes. Também ajuda se você tiver uma combinação longa e complexa de senhas, de modo que será difícil de memorizar, mas ao mesmo tempo será facilmente recuperada quando necessário. Embora isso pareça irônico, um segredo deve permanecer sagrado.

Devo me preocupar com a criptografia de dados?

A criptografia de dados é desejável e muitas vezes obrigatória, conforme mencionado, dependendo do processo esquemático de sua aplicação e design e nível de negócios com o qual você está envolvido.

Você deve se preocupar com a criptografia de dados? Definitivamente sim. Ele surge também, com dependência pessoal e propósito comercial. No entanto, na presença de dados confidenciais, especialmente quando você já construiu sua própria personalidade e capacidade financeira em sua organização e empresa, todos os dados estão em um nível muito mais alto de confidencialidade. Você não quer que alguém roube seus dados e conheça todas as coisas estratégicas e de negócios envolvidas no crescimento da sua empresa. Os dados, neste caso, devem ser protegidos; assim, a criptografia é um aspecto essencial para proteger seu banco de dados e os próprios dados.

Conclusão

Como os dados confidenciais sempre existem mesmo em nossas vidas diárias pessoais, o volume de dados confidenciais e valiosos aumenta paralelamente em uma organização. É importante entender que nem todos os dados requerem criptografia. Definitivamente, alguns dados são compartilhados globalmente ou frequentemente reaproveitados; este tipo de dados não precisa ser criptografado. Anote as vantagens e desvantagens de usar criptografia em seu banco de dados. Determinar onde deve ser aplicado e como aplicá-lo ajuda você a alcançar um ambiente seguro sem qualquer impacto no desempenho.