Segurança

Oito Dicas de segurança para Cassandra

Oito Dicas de segurança para Cassandra

Os Bancos de dados do modelo NoSQL (MongoDB, Elastic, Cassandra, Riak, etc..) entraram no alvo das conversas sobre segurança após os ataques do tipo ransomware que os tiveram como alvo nos recentes meses.

Os bancos NoSQL não dependem de uma estrutura baseada em tabelas, eles utilizam documentos do tipo JSON com esquemas dinâmicos. São extremamente escaláveis pois possuem suporte nativo de crescimento horizontal.

Neste post falaremos especificamente do banco Cassandra [1], onde utilizamos em nossos Clusters para operações de monitoramento de logs. O Cassandra é altamente escalável sem comprometer performance.

Sobre vulnerabilidades: é fato que todo software é vulnerável - seja utilizando o Cassandra, ou até a versão mais poderosa e madura do Oracle [2]

É importante manter o seu software, sistema operacional, banco de dados, etc.. sempre atualizados.

Portanto vamos dar início aos pontos de segurança:

1 - Leia a documentação [3]

2- Não exponha seu Cluster para a Internet. O cluster deve estar disponível somente para a sua rede interna. Uma rápida consulta no Shodan [4] revela milhares de clusters disponíveis, e a Amazon [5] é a campeã.

3- Habilite a autenticação e autorização. O default é desligado, mas é necessário modificar sua instalação.

4- Desabilite o superuser, ao habilitar a autenticação Cassandra cria um default user 'cassandra' com a senha 'cassandra', você usa estas credenciais para criar seu usuário e após precisa desabilitar este usuário. Lembre se que o keyspace para NetworkTopologyStrategy possui por default a replicação de 1, é necessário modificar de acordo com seu cluster.

5- Contas de Sistemas que necessitem se conectar ao cluster precisam de um arquivo cqlshrc nos diretórios 'home', como dita a documentação [6].

6- Exponha os serviços de JMX somente para 'localhost' 127.0.0.1. Somente exponha este serviço para o mundo se realmente entender o que está fazendo.

7- Segurança do Sistema Operacional - Mantenha o sistema atualizado e entenda a segurança do sistema que utiliza, habilite a firewall localmente e tenha também uma firewall padrão para proteger sua rede.

8- Utilize SSL - Todo o tráfego pode ser criptografado utilizando SSL. Existem também as extensões que criptografam o Java [7].

[1] https://cassandra.apache.org/

[2] https://www.oracle.com/technetwork/topics/security/alerts-086861.html

[3] https://cassandra.apache.org/doc/latest/operating/security.html#

[4] https://www.shodan.io

[5] https://www.shodan.io/search?query=Murmur3Partitioner

[6] https://cassandra.apache.org/doc/latest/tools/cqlsh.html?highlight=cqlshrc

[7] https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

0 Comentários 0 Comentários
0 Comentários 0 Comentários