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 |
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