Banco de Dados Seguro

2

Somos uma loja de banco de dados Oracle. Eu tenho um aplicativo para o qual eu acho que o Oracle provavelmente não é a melhor resposta. Eu estou procurando um banco de dados leve, bom desempenho e muito seguro. O banco de dados em si terá provavelmente uma dúzia de tabelas e talvez milhões de registros. Eu não preciso de procedimentos armazenados, clustering ou qualquer um dos recursos high-end.

Meu objetivo final é a segurança. Estou à procura de criptografia integrada, um design geral seguro e baixo perfil para minimizar possíveis brechas de segurança.

Vou querer executá-lo no * nix, já que eles são muito mais fáceis de criar que o Windows.

Por exemplo, no mundo BSD existem várias variantes. O FreeBSD é o mais portável e o OpenBSD é o mais seguro. Estou procurando o OpenBSD do mundo dos bancos de dados.

    
por Keith Stokes 04.08.2009 / 13:13

2 respostas

2

Não conheço nenhum item existente com essa meta de design específica. O melhor que você obterá é um DBMS com segurança interna razoavelmente boa. A maioria dos aplicativos DBMS 'NoSQL' não oferecem nada particularmente especial em segurança. Os sistemas tradicionais de gerenciamento de banco de dados geralmente têm modelos de segurança bastante ricos e a segurança nesse tipo de sistema é uma disciplina madura e bem compreendida.

Se você quiser colocar algo atrás de um aplicativo da Web seguro, não terá outra opção senão projetar o aplicativo tendo em mente a segurança - a segurança tradicional do banco de dados (por exemplo, mediar todo o acesso de gravação por meio de sprocs sem acesso direto a tabelas) o melhor que você provavelmente vai conseguir. Não se esqueça de ter um servidor DBMS separado e acesso de firewall à máquina apropriadamente.

Se você está preocupado com a segurança física do servidor, muitas plataformas DBMS têm opções para dados fisicamente criptografados (por exemplo, PostgreSQL ). Alguns sistemas operacionais também suportam sistemas de arquivos criptografados e determinados discos também suportam criptografia física. Observe que a recuperação de chaves ainda negará a criptografia - se a chave estiver fisicamente presente no servidor DBMS, um hacker tecnicamente experiente poderá recuperá-la.

A fim de projetar a segurança e avaliar qual arquitetura é apropriada, você realmente terá que apresentar uma avaliação de ameaça para ter uma idéia do que você está protegendo contra. Alguns cenários podem ser:

  • Se você quiser proteger um sistema interno de olhares indiscretos, a segurança apropriada do usuário / função em uma plataforma DBMS provavelmente é adequada.

  • Se você quiser proteger um aplicativo da Web, poderá obter segurança incremental adicionando uma camada de transação segura por meio de sprocs. Isso restringe as gravações do banco de dados a transações explicitamente suportadas - por exemplo, se um intruso quisesse apagar uma trilha de auditoria, teria que comprometer a segurança do aplicativo e do banco de dados para apagar as entradas das tabelas de auditoria. No entanto, o intruso ainda pode executar qualquer transação válida.

  • Se você tiver problemas com a segurança física, poderá tentar a criptografia no nível do disco. Uma SAN de nível de entrada também pode ajudar com isso, pois os discos só podem ser acessados por meio do controlador SAN. Isso exige que o ladrão comprometa a segurança do controlador SAN ou faça a engenharia reversa de seu formato de partição interno. Algumas SANs também oferecem criptografia de disco físico.

Tenha em mente que a maioria das plataformas DBMS em uso disseminado tem sido usada para aplicações web e tem um grau de maturidade neste espaço. Nenhuma foi projetada especificamente para ser endurecida, mas a maioria (em particular, de código aberto) tem sido usada em aplicativos da Web durante a maior parte de 15 anos. Neste espaço, a segurança da aplicação é realmente o elo fraco.

    
por 04.08.2009 / 13:50
0

Divulgação completa : trabalho na equipe de engenharia do Sybase SQL Anywhere. Na verdade, sou responsável por muitos dos recursos de segurança. Estou tentando responder a pergunta sem fazer a resposta soar como um anúncio.

O Sybase SQL Anywhere é um RDBMS leve que inclui todos os recursos padrão do RDBMS, como procedimentos armazenados, disparadores, linha Bloqueio de nível, etc, bem como os seus recursos de segurança padrão, como usuários, grupos e permissões de objeto (tabela, procedimento, etc.). Ele também contém muitos recursos avançados de segurança, incluindo criptografia de banco de dados strong (AES) e criptografia de comunicações SSL / HTTPS. Há um componente de criptografia aprovado pelo FIPS disponível e ele obteve a certificação Common Criteria (procure o Adaptive Server Anywhere) no nível EAL3 +.

Eu tenho que dizer que o SQL Anywhere não foi projetado com segurança como seu foco principal ; Não tenho conhecimento de nenhum produto de banco de dados que tenha sido.

    
por 04.08.2009 / 15:24