Para muitos, "criptografia" é o pequeno ícone de cadeado verde ao lado do endereço da Web de seus sites favoritos e, para outros, talvez se lembrem das vulnerabilidades de TLS que ocorreram nos últimos anos. Os dados são o ouro digital de hoje em dia e, na tentativa de roubar dados essenciais, os hackers estão criando maneiras inteligentes de roubar informações. Com o cenário de ataques em constante mudança em mente, o Couchbase Server 6.5 adiciona uma nova maneira de configurar facilmente os conjuntos de cifras do servidor. Neste blog, abordaremos os conceitos básicos de cifras e explicaremos como você pode configurar o Couchbase para usar as melhores e mais recentes cifras.


Noções básicas de suítes de criptografia TLS

Uma suíte de cifras é basicamente um conjunto completo de métodos (também conhecidos como algoritmos) necessários para proteger uma conexão de rede por meio do TLS (Transport Layer Security). Cada suíte de cifras tem sua própria notação distinta, conforme mostrado a seguir

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

Agora, vamos detalhar isso.

  • TLS indica que o protocolo TLS será usado para estabelecer uma comunicação segura. Lembre-se de que um protocolo simplesmente define como os algoritmos devem ser usados.
  • ECDHE indica que o Elliptic-Curve Diffie-Hellman será aproveitado para a troca de chaves. É assim que as chaves serão trocadas entre o cliente e o servidor para criptografar e descriptografar dados.
  • ECDSA é o algoritmo, neste caso o Elliptic-Curve Digital Signature Algorithm, que é usado para criar uma assinatura digital para autenticação.
  • AES_256_CBC indica que a criptografia AES com tamanho de chave de 256 bits será aproveitada para criptografar a mensagem, e CBC indica que o modo será o encadeamento de blocos de cifras.
  • SHA384 indica que o algoritmo de hash usado para verificação de mensagens (MAC) e, neste exemplo, é SHA2 com uma chave de 384 bits.

O protocolo TLS Handshake é responsável pela negociação do Cipher Suite entre o cliente e o servidor (consulte "Server Hello"), pela autenticação do servidor e, opcionalmente, do cliente, e pela troca de chaves secretas (consulte as setas verdes abaixo).

Figura: Interação entre cliente e servidor durante o handshake TLS


Configuração de suítes de criptografia no Couchbase 6.5

Por padrão (ou seja, sem especificar explicitamente os conjuntos de cifras), o Couchbase Server escolhe a cifra comum mais forte entre o cliente e o servidor. Com o Couchbase Server 6.5, você pode informar ao Couchbase quais conjuntos de cifras usar.

Conforme mostrado no exemplo abaixo, definimos os conjuntos de criptografia no Couchbase para usar TLS_RSA_WITH_AES_128_CBC_SHA. Esse conjunto de criptografia é então usado em todos os serviços do Couchbase Server, incluindo dados, consulta, índice, texto completo e análise.

# ./couchbase-cli setting-security -cipher-suites TLS_RSA_WITH_AES_128_CBC_SHA -c localhost:8091 -u Administrator -p password -set

SUCESSO: Configurações de segurança atualizadas

# ./couchbase-cli setting-security -c localhost:8091 -u Administrator -p password -get
{"disableUIOverHttp": false, "disableUIOverHttps": false, "cipherSuites": ["TLS_RSA_WITH_AES_128_CBC_SHA"], "tlsMinVersion": "tlsv1.2", "honorCipherOrder": true}

Verificação do uso de cifras

Para verificar se a cifra é usada, podemos nos conectar a qualquer um dos Portas SSL no Couchbase. No exemplo abaixo, estamos conectados à porta 11207 (a porta de dados pela qual os clientes do Couchbase se conectam ao servidor).

openssl s_client -connect localhost:11207

CONNECTED(00000003)

Cadeia de certificados

 0 s:/CN=127.0.0.1

   i:/CN=Couchbase Server de182d2a

 1 s:/CN=Couchbase Server de182d2a

   i:/CN=Couchbase Server de182d2a

Certificado do servidor

--COMEÇAR CERTIFICADO--

MIIDADCCAeigAwIBAgIIFbB+nPd+hWIwDQYJKoZIhvcNAQELBQAwJDEiMCAGA1UE

AxMZQ291Y2hiYXNlIFNlcnZlciBkZTE4MmQyYTAeFw0xMzAxMDEwMDAwMDBaFw00

OTEyMzEyMzU5NTlaMBQxEjAQBgNVBAMTCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcN

AQEBBQADggEPADCCAQoCggEBAL7PaNB0n1vxDsg6Z4ydBk7HjlEjzItIGVp6svgF

2A1XW98bIl34D6ZsWHsyj+i9+Xb3saY8HTD8f83QtUkGpve0AQGCHxFE1Dx0Eb2t

hMGwSWiL4DAiufa42UGmgJ008D70hpdQS1/ow5wZ1kNmqmHdjzG2wGrdJEGFhwzS

lka+HdrDCaQIT6jvtnT3udO0R6yRFxjveEQ5lFX/P4tZeyIWglTT0muRxcxI/7Ln

nvUQgoLRta59hxiK1PXQczjP1KPls8OdWnap4HNIbi3WOim9hk/Vn4R6BSvU1N9W

Md4WkXw6WgzcPz1khdQTsZzDZbQNV0fI9fcM8nGoh6A1R7sCAwEAAaNGMEQwDgYD

VR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAw

DwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQsFAAOCAQEACiMJY3512tT+rEFJ

4xe0zGIoJi7ebXz1O8w8a2NBKjwWeZ2oCco0CxILfDn1EPH9NBZsiQS7w9OGz7VO

pwSVrt6/jRIAAqnFxSUZpKiZ/avNK5kpfufebxaA4ZQzrW4/lePsBRcRl3ENWJup

OsE8hD4Xv/LQHnZxZlbq8gQv8ZiJqsi8bRoEML4A4DgTmgvTYgT0XIp9V65H9zZ/

jJEymoUx9eidAdfVo+l8PlE7YgRsrP9f7y5tDARAAmmAmL2mgUmzxqe49Hp8MPDl

ocTLZm1ryT+g1xvL/EuuLOACUecInBnWSmzJep7Vw0jzqR92YWht6rM3NGfwNyzT

3hz7ZA==

--END CERTIFICATE--

subject=/CN=127.0.0.1

issuer=/CN=Couchbase Server de182d2a

Nenhum nome de CA de certificado de cliente foi enviado

O handshake SSL leu 1881 bytes e escreveu 631 bytes

Novo, TLSv1/SSLv3, a cifra é AES128-SHA

A chave pública do servidor é de 2048 bits

A renegociação segura é suportada

Compressão: NENHUMA

Expansão: NENHUMA

Conclusão

Com os conjuntos de cifras disponíveis no Couchbase Server 6.5, você pode atualizar continuamente sua instância do Couchbase para usar as melhores e mais recentes cifras e manter-se seguro. Esperamos que tenha gostado deste blog e, como sempre, aguardamos seu feedback. Dê uma olhada no Couchbase Server e confira todos os novos recursos interessantes. Você pode fazer o download do Couchbase 6.5.

Recursos

Baixar

Faça o download do Couchbase Server 6.5

 Documentação

Notas de versão do Couchbase Server 6.5

Couchbase Server 6.5 O que há de novo

Blogs

Blog: Anunciando o Couchbase Server 6.5 - O que há de novo e aprimorado

Blog: O Couchbase traz as transações ACID multi-documento distribuídas para o NoSQL

Todos os blogs 6.5

Autor

Postado por Chaitra Ramarao, gerente sênior de produtos da Couchbase Inc. Gerente de produtos, Couchbase Inc.

Chaitra Ramarao é gerente de produto sênior da Couchbase, empresa de banco de dados NoSQL, liderando ferramentas de bancos de dados, replicação entre datacenters e integrações de parceiros. Seus trabalhos anteriores incluem gerenciamento de produtos de análise de dados para a Kaiser Permanente e desenvolvimento de software para a Hewlett Packard. Ela é bacharel em ECE e tem mestrado pela Carnegie Mellon em Gestão de Inovação em Engenharia e Tecnologia.

Deixar uma resposta