A autenticação SCRAM é um dos novos recursos da versão 4.5. Verificar esta entrada do blog para obter uma introdução sobre o SCRAM no Couchbase.

Neste artigo, abordaremos como monitorar o handshake do SCRAM a partir do Java.

Primeiro, você não precisa fazer nada de especial em seu código Java para usar o SCRAM. O SCRAM é ativado por padrão e será usado se a versão do Java SDK for 2.2.5 ou superior e a versão do Couchbase Server for 4.5 ou superior.

O SCRAM será usado quando você abrir um bucket com uma senha.

Para monitorar a autenticação da SCRAM em seu código Java, basta definir o nível de depuração como FINEST:

Agora, em algum ponto do seu código, você acessa o bucket:

Você pode ver agora a conversa sobre autenticação:

Mostramos aqui apenas as etapas em que o servidor informa sobre o método de autenticação suportado e o cliente escolhe o mais forte. Nesse aperto de mão, o servidor suporta:

  • SCRAM-SHA512
  • SCRAM-SHA256
  • SCRAM-SHA1
  • CRAM-MD5 PLAIN

E o cliente escolhe a mais forte: SCRAM-SHA512

O mesmo código executado no Couchbase 4.1 produz este resultado:

Aqui você pode ver como o CRAM-MD5 é selecionado.

Você também pode monitorar a autenticação detectando o tráfego da rede. Uma ótima ferramenta para essa tarefa é wireshark. Você pode obter o tráfego e filtrar por protocolo "Couchbase":

ws_scram

Para finalizar, você provavelmente notou como é fácil monitorar o handshake de autenticação, e é por isso que recomendamos o uso do TLS na autenticação cliente-servidor.

Dessa forma, um ataque man-in-the middle é evitado pelo fato de que a SCRAM usa autenticação mútua e o servidor deve responder a um desafio para provar que conhece o "segredo" com base na senha com hash do cliente.

Feliz autenticação!

Autor

Postado por A equipe do Couchbase

Jennifer Garcia é gerente sênior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementação, conteúdo e desempenho.

Deixar uma resposta