Neste artigo, explicarei o que é a autenticação multifator, por que você deve usá-la e como implementá-la facilmente com o Couchbase Server. Veremos o uso de implementações de software e hardware, que oferecem um equilíbrio entre custo, conveniência e segurança.
O que é
Autenticação multifatorial ?
A autenticação em um cluster do Couchbase é protegida com uma combinação de senhas de usuário, RBAC (Role Based Access Control, controle de acesso baseado em função) e, opcionalmente, certificados x.509. As senhas existem há muito tempo e têm servido bem ao seu propósito, mas usá-las sozinhas deixa você aberto a várias técnicas de hacking. A boa notícia é que as senhas podem ser aumentadas com informações adicionais do usuário para obter níveis mais altos de segurança no que é conhecido como autenticação multifatorial (MFA). Às vezes, isso também pode ser chamado de autenticação de segundo fator (2FA), embora a 2FA seja, na verdade, apenas um subconjunto dos recursos mais amplos da MFA, que pode combinar não apenas dois fatores, mas muitas formas variadas.
Os princípios básicos da autenticação multifatorial são a autenticação de um usuário por meio da validação de duas ou mais declarações apresentadas pelo usuário, cada uma de uma categoria diferente de fatores. Vejamos um exemplo que você usa há anos e provavelmente nunca percebeu: usar um caixa eletrônico (ATM) para sacar dinheiro.
Seu banco solicitará que você insira seu cartão bancário equipado com chip inteligente na máquina e digite um código PIN. Você será gravado em vídeo, que poderá ser usado para reconhecimento facial, e eles terão limites de quanto você poderá sacar por dia. O banco também usará algoritmos de detecção de fraude que bloquearão a transação se você estiver em um local fisicamente diferente daquele em que a última transação foi registrada, caso seja impraticável percorrer essa distância no intervalo de tempo. Se a transação for de um local altamente suspeito, onde você normalmente não se encontra, poderá até receber uma ligação telefônica do banco para confirmar. Vamos analisar os diferentes fatores de autenticação disponíveis.
| Algo que você sabe (Fatores de conhecimento) |
|
| Algo que você tem (Fatores de posse) |
|
| Algo que você é (Fatores de aderência) |
|
| Em algum lugar que você esteja (Fatores de localização) |
|
| Quando você age (Fatores de tempo) |
|
Por que o MFA é importante?
A autenticação multifator (MFA) é importante para proteger suas informações confidenciais contra o acesso, o que pode resultar em roubo de segredos comerciais, interrupções de serviço, perda de receita, quebra de confiança com seus clientes, o que pode resultar em multas e penalidades regulatórias.
Esse nível mais alto de segurança é exigido por muitos padrões de segurança reconhecidos, como o setor de cartões de pagamento, o PCI-DSS e o NIST 800-171, que é usado para proteger informações não classificadas controladas (CUI) em empreiteiras de defesa do governo dos EUA. A MFA é, na verdade, mais importante do que a força da sua senha para proteger sua conta e, de fato Pesquisadores da Microsoft relataram que uma conta tem apenas 0,01% de probabilidade de ser comprometida se estiver usando MFA em comparação com o uso de apenas uma senha!
Como a MFA oferece segurança adicional?
A autenticação multifator (MFA) cria alguns obstáculos adicionais para os hackers quando eles tentam se infiltrar em sua conta. A simples criação de bloqueios fará com que o hacker passe para a próxima conta, a menos que você seja um alvo de alto valor. Às vezes, uma organização exigirá a MFA somente para atividades de maior risco, levando em conta um equilíbrio entre risco e conveniência. Por exemplo, um banco pode permitir que um cliente faça login em seu aplicativo de banco on-line usando um nome de usuário e uma senha, mas exigir que o cliente use a autenticação biométrica, como uma impressão digital, para se autenticar adicionalmente toda vez que tentar transferir dinheiro. Vamos dar uma olhada em alguns ataques comuns e como a MFA os impede.
- Recheio de credenciais - O ataque on-line mais comum que os hackers usam é reutilizar nomes de usuário e senhas vazados em ataques anteriores, que são facilmente negociados on-line pelos criminosos. O que eles estão procurando é ver se você usou a mesma combinação de nome de usuário/senha em vários sistemas. Os sistemas MFA protegem contra isso, pois os outros fatores geralmente não são estáticos e uma senha vazada por si só não é suficiente para obter acesso à sua conta.
- Vazamento de senha - Imagine que você está prestes a fazer login no console do administrador do Couchbase, digitar sua senha e pressionar Enter. Só então você percebe que, acidentalmente, acabou de digitar isso na janela do Slack e forneceu sua senha para uma sala pública cheia de pessoas. Com a MFA, você ainda está seguro, pois a senha sozinha não é suficiente para comprometer sua conta.
- Malware / Registro de pressionamento de teclas - Um invasor que tenha conseguido carregar um software mal-intencionado em seu sistema pode monitorar o pressionamento de teclas e roubar sua senha, mas sem a MFA, que geralmente está em um dispositivo separado, como um telefone celular. Esse código está sempre mudando, portanto, eles não podem utilizar as credenciais roubadas.
- Força bruta - É quando um invasor tenta sistematicamente todas as combinações de nome de usuário e senha, geralmente contando com dicionários de senhas comumente usadas como primeira passagem. O uso de códigos de senha com tempo limitado que mudam dinamicamente, que a MFA pode fornecer, torna esse ataque exponencialmente mais difícil, pois a janela de tempo para adivinhar corretamente sua senha e o código dinâmico da MFA é pequena. Além disso, os sistemas de detecção de intrusão (IDS) podem detectar esse comportamento incomum e impedir esses tipos de ataques.
Quando você deve usar a MFA?
Os hackers usarão todas as informações que conseguirem obter para atingir uma vítima. Muitas vezes, eles descobrem como usar essas informações de maneiras inovadoras que você talvez nunca tenha pensado que pudessem representar um risco.
A maneira mais fácil de se proteger é sempre usar a MFA quando ela for apresentada como uma opção. Isso incentiva uma boa higiene de segurança e o protege mesmo que você não ache que uma determinada plataforma exija níveis mais altos de segurança.
Implementação de diferentes tipos de autenticação multifator com o Couchbase Server
Os esquemas comuns de MFA vêm em várias formas, cada uma fornecendo níveis variados de segurança. Vamos dar uma olhada em cada método, do menos seguro ao mais seguro. E vamos ver como podemos implementar algumas das mais fortes seguranças de autenticação com o Couchbase Server.
O respeitado pesquisador de segurança Troy Hunt chama essa ordem de Hierarquia de autenticação.
| Senha | Meh |
| Senha + SMS | Certo |
| Senha + Token de software | Melhor |
| Senha + Token de hardware | Excelente |
| Senha + Universal 2nd Factor (U2F) | Uber |
Senha
A autenticação por senha é a forma mais básica de autenticação e, quando usada sozinha, é chamada de autenticação de fator único. As senhas são necessárias para cada usuário que você cria no Couchbase Server e podem ser configurado para políticas de senha específicas. O uso de uma senha forte, mesmo com a MFA em uso, é essencial.
Essa senha normalmente é estática, portanto, se for perdida ou roubada, você corre o risco de que alguém faça login na sua conta e, possivelmente, roube seus dados. Você pode utilizar ferramentas como o Integração do Hashicorp Vault com o Couchbase para gerar contas e senhas temporárias que têm vida curta e são removidas automaticamente, Esses dados correm menos risco se forem acidentalmente expostos. O uso de certificados x.509 para autenticação de usuários é mais seguro do que senhas, mas não pode ser usado para fazer login na interface do usuário.
Senha + SMS
O nível mais baixo de segurança MFA é combinar uma senha de login com uma senha de uso único (OTP) que chega ao seu dispositivo móvel por SMS. Infelizmente, há várias falhas de segurança bem conhecidas no uso da segurança baseada em SMS. Um dos riscos mais conhecidos e frequentemente mencionado na imprensa é algo conhecido como SIM Swap Scam. Nesse caso, um invasor, geralmente por meio de técnicas de engenharia social, convence a operadora de telefonia móvel a trocar seu número de telefone por um novo cartão SIM controlado por ele. Em seguida, o invasor recebe qualquer SMS futuro em seu dispositivo, inclusive suas senhas de uso único MFA. Recentemente, uma gangue do crime organizado, desmontado pelas autoridadesA empresa de segurança pública, Inc., conseguiu roubar mais de US$ $100 milhões das vítimas usando esse golpe. Há também outros métodos para espionar as comunicações de telefones celulares, como Coletores de IMSI e Protocolo SS7 vulnerabilidades de segurança.
O maior risco do uso do SMS é se ele for usado como um único método de recuperação de conta em caso de perda de senha, caso em que o SMS se torna um fator único que, infelizmente, não é muito seguro.
Embora a MFA de senha + SMS seja mais segura do que apenas uma senha, ela geralmente deve ser evitada, portanto, pularemos a implementação desse método.
Senha + Token de software
O uso de uma MFA de token de software deve ser a meta para a maioria das implementações de MFA como ponto de partida. Essa é uma combinação de uma senha ("Algo que você sabe") com um token de software ("Algo que você tem"). O único pré-requisito necessário é que cada um dos seus usuários tenha um smartphone e um aplicativo gratuito, como o Google Authenticator ou Authy para gerar uma senha temporária. Normalmente, um usuário escaneia um código QR em seu aplicativo de celular como uma atividade única ao configurar sua conta. Em seguida, o aplicativo para celular gerará constantemente um novo código que é baseado no tempo e válido apenas por um curto período de tempo, como 30 segundos. Essa MFA é conhecida como Senha única baseada em tempo ou TOTP e é o que Nuvem do Couchbase usa para a segurança da conta. Como alternativa, algumas soluções não são baseadas no tempo e usam um contador de incremento com um Senha de uso único baseada em HMAC (HOTP) em vez disso.
O TOTP é fácil de configurar com o Couchbase Server usando a autenticação externa. Usar a autenticação externa significa que podemos configurar nosso sistema de autenticação uma vez e reutilizá-lo em vários clusters do Couchbase. Usaremos LDAP para tornar o TOTP MFA obrigatório, além de o usuário fornecer sua senha. Antes de começarmos, primeiro instale o aplicativo móvel TOTP MFA de sua escolha em seu smartphone. Novamente, o Google Authenticator e o Authy são ótimas opções.
Darei um exemplo fácil usando um servidor de autenticação LDAP Go-lang simples (GLAuth).
Eu usarei Servidor Couchbase 7.0 Beta mas o método mostrado aqui funcionará com qualquer Enterprise Editions do Couchbase 6.5 e posterior. A primeira etapa é fazer o download do pacote pré-criado do site GLAuth Página de lançamentos do GitHubque está disponível no Windows, Linux e MacOS para as plataformas x86 e ARM. Usarei a versão do Mac OS, mas você pode ajustar o nome do binário para sua plataforma nos comandos de exemplo. Faça também o download do exemplo arquivo de configuração.
A configuração LDAP de exemplo inclui um usuário que está configurado para TOTP chamado otpuser e tem uma senha de meu segredo. Usaremos esse nome de usuário e senha, mas modificaremos o arquivo de configuração de exemplo para alterar os outros segredos para novos segredos próprios.
Primeiro, gerei uma string aleatória a partir do shell do MacOS ou do Linux, mas você pode usar qualquer ferramenta que gere uma string base32 de 32 caracteres. Essa será a otpsecret.
$ LC_ALL=C tr -dc 'A-Z2-7' </dev/urandom | head -c 32; echo
RHRHQ7AC2X4UYZ2WQQ4LHZUCGDQXXQTG
Agora gere mais algumas cadeias aleatórias de 16 caracteres, que serão usadas como códigos de backup para fazer login caso o usuário perca seu dispositivo móvel ou precise se conectar programaticamente ao Couchbase Server e ignorar a MFA.
Para cada código de backup, também precisamos do hash sha-256,
|
1 2 3 4 5 |
$ echo -n "WBMVOM6F4YAQPDBV" | openssl dgst -sha256 33e34cbeebce316c6539cd473fb22ea9a69a43059ff18bd801842af1d6c2ea0e $ echo -n "35VD4NGLB3FD6NK5" | openssl dgst -sha256 38fd1f0065973fdebae168897e7b587e01b8ec3c996bb808b9af89acb1001760 |
Modificaremos o arquivo de configuração do ldap para alterar a variável otpsecret e inclua esses códigos de backup SHA256 em uma nova linha na configuração, começando com passappsha256.
|
1 2 3 4 5 6 7 8 9 10 11 |
[[users]] name = "otpuser" unixid = 5004 primarygroup = 5501 passsha256 = "652c7dc687d98c9889304ed2e408c74b611e86a40caa51c4b43f1dd5913c5cd0" # mysecret otpsecret = "RHRHQ7AC2X4UYZ2WQQ4LHZUCGDQXXQTG" passappsha256 = [ "33e34cbeebce316c6539cd473fb22ea9a69a43059ff18bd801842af1d6c2ea0e", # WBMVOM6F4YAQPDBV "38fd1f0065973fdebae168897e7b587e01b8ec3c996bb808b9af89acb1001760", # 35VD4NGLB3FD6NK5 ] yubikey = "vvjrcfalhlaa" |
Esses códigos de acesso de backup devem ser mantidos em um local seguro, de preferência off-line. E você não gostaria de ter comentários em texto simples em seu arquivo de configuração que exponham senhas, como mostrei aqui para fins de demonstração.
Também desabilitarei o TLS/SSL para esta demonstração; no entanto, você deverá habilitá-lo em um ambiente de produção!
Altere a seção [ldaps] para mudar enabled para false,
|
1 2 |
[ldaps] enabled = false |
Em seguida, geraremos um código QR para nosso aplicativo de telefone,
Visitar https://freeotp.github.io/qrcode.html
Altere o tipo de Balcão para Tempo limite
Chamaremos o nome da conta de Couchbase Cluster otpuser
E use nosso otpsecret string para o segredo.
Agora eu escaneio esse código QR com meu aplicativo de celular e ele começa a gerar senhas temporárias.
Em seguida, iniciarei meu servidor LDAP com o arquivo de configuração.
|
1 |
./glauthOSX -c sample-simple.cfg |
Agora, configurarei meu cluster do Couchbase para se conectar ao servidor LDAP, nas configurações de segurança da interface do usuário.
O Host LDAP é o nome do host ou IP onde o servidor LDAP está sendo executado e a Porta é 3893.
Configurarei meu cluster para se conectar ao servidor LDAP com credenciais.
Bind DN = cn=serviceuser,ou=svcaccts,dc=glauth,dc=com
Senha = mysecret
Clique em "Check Network Settings" (Verificar configurações de rede) para testar a conectividade com o servidor LDAP.
Agora vou ativar a autenticação de usuário LDAP e testar minha conta otpuser.
O modelo é cn=%u,ou=superheros,dc=glauth,dc=com
O nome de usuário a ser testado é otpuser
E a senha é meu segredoXXXXXX e onde XXXXXX é a OTP de 6 dígitos do seu aplicativo móvel.
Se isso estiver funcionando e retornar um resultado positivo ao testá-lo, salve a configuração do LDAP. Se precisar de mais informações, consulte a documentação sobre Configuração do LDAP com o Couchbase Server. Agora você pode adicionar o usuário otpuser ao seu cluster do Couchbase como um usuário externo e fornecer ao usuário algumas credenciais RBAC.
Parabéns, ao fazer login com esse usuário, você precisará fornecer seu OTP MFA anexado ao final do caractere 'meu segredo' a cada vez. Como alternativa, você pode fazer login com o nome de usuário otpuser e um dos códigos de senha de backup, como WBMVOM6F4YAQPDBV, que contornará o requisito de MFA.
Você pode repetir as etapas para adicionar vários outros usuários ao cluster do Couchbase.
Senha + Token de hardware
O próximo passo em termos de segurança é usar um token de hardware em vez de um token de software de aplicativo móvel.
Essa técnica é geralmente mais segura do que um token de software, pois está off-line e é ainda mais difícil de ser adquirida por um hacker. Outros benefícios de segurança são que o comprimento da senha temporária é maior e ajuda a evitar algumas configurações incorretas que podem tornar os tokens de software menos seguros. Os dispositivos de token de hardware também mantêm os segredos criptográficos subjacentes dentro de seu hardware sem nenhuma interface para acessá-los diretamente, portanto, é extremamente difícil vazar acidentalmente essas informações. A desvantagem é que cada usuário precisará adquirir um token físico para gerar seus códigos de acesso.
Esses tokens de hardware vêm em algumas formas diferentes.

"Chaves de segurança de autenticação de hardware (Yubico Yubikey 4 e Feitian MultiPass FIDO)", de Tony Webster, está licenciado com CC BY 2.0.
A primeira foto mostra dispositivos que têm uma pequena tela LCD e exigem uma bateria interna. Eles exigem que o usuário digite um código de acesso curto, que é apresentado na tela, no aplicativo. O código de acesso na tela está sempre mudando, semelhante ao token baseado em software anterior. A versão mais comum desse tipo de dispositivo é o Token RSA SecureID.
A segunda foto mostra tokens de hardware de estilo mais recente que se conectam a uma máquina host ou a um telefone celular via USB, Bluetooth ou NFC. Esses dispositivos funcionam como um teclado e enviam diretamente a senha de uso único quando estão fisicamente presentes e um botão é pressionado, mas geralmente não precisam de uma bateria interna. Normalmente, a OTP é uma longa sequência de caracteres aleatórios, o que a torna muito segura. A versão mais comum desse tipo de token de hardware é um Yubikey da Yubico.
Vamos dar uma olhada em como usar um Yubikey 5 NFC como um token de hardware OTP MFA. Atualmente, a partir de fevereiro de 2021, esses tokens custam cerca de $45 nos EUA, €45 na UE e £45 no Reino Unido cada, mas o mesmo token pode ser usado com segurança para uma ampla variedade de aplicações.
Usaremos a configuração anterior do token de software MFA como ponto de partida, reutilizando o mesmo sistema LDAP e acrescentando configurações adicionais. Novamente, a técnica mostrada aqui funcionará com as versões 6.5.0 e posteriores do Couchbase Server.
A primeira etapa é ir para https://upgrade.yubico.com/getapikey/ para gerar uma chave simétrica compartilhada para uso com o Yubico Web Services. Isso gerará um ID de cliente e uma chave secreta que forneceremos ao servidor LDAP. O formulário da Web solicitará um endereço de e-mail e uma OTP. Acabei de inserir meu yubikey no USB e pressionei o botão enquanto o campo OTP do formulário da Web estava em foco, permitindo que o dispositivo funcionasse como um teclado e digitasse a senha. Os primeiros 12 caracteres gerados são a identificação exclusiva do yubikey; salve-os, bem como o yubico gerado clientid e segredo para mais tarde.
Em seguida, modifique o arquivo de configuração LDAP, descomentando as linhas que começam com "yubikeyclientid" e "yubikeysecret", alterando os valores para cliente e segredo fornecido pela Yubico.
|
1 2 |
yubikeyclientid = "12345" yubikeysecret = "xxxxxxxxxxxxxxxxxxxxxxxxxx" |
Em seguida, adicione o ID exclusivo do yubikey à configuração do otpuser no arquivo de configuração LDAP. Lembre-se de que esses são os primeiros 12 caracteres gerados quando o botão do yubikey é pressionado.
|
1 2 3 4 5 6 7 8 9 10 11 |
[[users]] name = "otpuser" unixid = 5004 primarygroup = 5501 passsha256 = "652c7dc687d98c9889304ed2e408c74b611e86a40caa51c4b43f1dd5913c5cd0" # mysecret otpsecret = "RHRHQ7AC2X4UYZ2WQQ4LHZUCGDQXXQTG" passappsha256 = [ "33e34cbeebce316c6539cd473fb22ea9a69a43059ff18bd801842af1d6c2ea0e", # WBMVOM6F4YAQPDBV "38fd1f0065973fdebae168897e7b587e01b8ec3c996bb808b9af89acb1001760", # 35VD4NGLB3FD6NK5 ] yubikey = "ccccxxxxxxxx" |
Agora, pare e reinicie o servidor LDAP se ele já estiver em execução; caso contrário, basta iniciá-lo.
|
1 |
./glauthOSX -c sample-simple.cfg |
Agora você pode fazer login no cluster do Couchbase como otpuser. Você só precisará inserir a senha "meu segredo" e, enquanto o campo de senha ainda estiver ativo, pressione o botão no yubikey com ele inserido na interface USB. O yubikey fornecerá um OTP muito longo e seguro anexado ao final da senha "meu segredo". Depois de fazer login, você poderá remover o yubikey do seu dispositivo.
Senha + Universal 2nd Factor (U2F)
O último e mais seguro método de MFA que examinaremos é o Universal 2nd Factor, conhecido como U2F. O modelo de MFA U2F tem todos os benefícios do token de hardware do exemplo anterior, mas uma diferença importante é que ele também é protegido contra phishing, em que um invasor engana você para que forneça a senha de uso único, geralmente criando um site falso que imita o original.
O U2F foi criado como um padrão aberto pelo Google e pela Yubico para fornecer proteções robustas contra ataques de phishing, sequestro de sessão, man-in-the-middle e malware. Para isso, seu navegador interage diretamente com o dispositivo por meio de interfaces USB ou NFC em uma comunicação bidirecional quando o botão físico é pressionado na chave. Essa comunicação segura usa criptografia assimétrica com autenticação de chave pública. O par de chaves criado pelo dispositivo U2F durante o registro é específico da origem. Isso incorpora uma combinação de protocolo, nome de host e porta no par de chaves. Isso significa que, se um site de phishing tentar enganá-lo e não for da mesma origem, a chave U2F identificará instantaneamente a incompatibilidade e a tentativa será frustrada. O padrão U2F agora é gerenciado pela aliança FIDO.
Vamos ver como configurar o U2F MFA com o Couchbase Server. Poderíamos configurar isso usando o mesmo Yubikey 5 NFC dos exemplos anteriores, mas desta vez quero mostrar a você que também há opções mais baratas disponíveis. Comprei um minichave USB HyperFIDO PRO U2F on-line por apenas £8. Aqui está uma foto de um dispositivo semelhante da Key-ID.
Também desta vez, em vez de usar o LDAP, usaremos o método Linux Pluggable Authentication Module (PAM) para autenticar usuários externamente, apenas para mostrar como uma fonte de autenticação externa diferente pode funcionar. Vou fazer isso com o Couchbase Server 7.0 Beta e o Ubuntu 18, mas as mesmas etapas funcionarão em todas as versões atualmente suportadas do Couchbase Server Enterprise Edition e em todas as distribuições Linux suportadas.
A primeira etapa é seguir as etapas no Couchbase Server documentação sobre a configuração de um usuário autenticado pelo PAM.
Certifique-se de que o arquivo /etc/default/saslauthd tenha START=yes
E modifique o arquivo /etc/default/saslauthd adicionando " -t 10" à cadeia de opções, para adicionar um tempo limite de 10 segundos. Por exemplo,
|
1 |
OPTIONS="-c -m /var/run/saslauthd -t 10" |
Verifique também se o arquivo /etc/pam.d/couchbase tem a seguinte aparência
|
1 2 3 |
@include common-auth @include common-password #auth required pam_u2f.so authfile=/etc/u2f_keys cue |
Depois de seguir as etapas de configuração do PAM, você deverá ter um usuário chamado "linuxuser", definido no sistema operacional e no cluster do Couchbase Server. Usando o mesmo host do cluster em que você configurou o PAM, você deve conseguir fazer login na interface do usuário do cluster com o nome de usuário e a senha.
Em seguida, instale o módulo U2F PAM; no Ubuntu, é tão fácil quanto isso:
|
1 |
sudo apt-get install libpam-u2f |
Em seguida, conecte seu dispositivo U2F ao USB, caso ainda não o tenha feito. E certifique-se de que o sistema que está executando o Couchbase Server possa vê-lo no nível do sistema operacional. No meu caso, tenho o Couchbase Server em execução em uma VM do Ubuntu Linux que está em execução no meu Mac, portanto, preciso configurar meu software de virtualização para permitir que o dispositivo USB seja conectado diretamente à VM.
Em execução lsusb Posso ver a chave USB U2F em meu sistema operacional Linux.
Em seguida, precisamos executar uma operação única de registro U2F e armazenar a saída para o módulo pam usar. Isso vinculará o usuário do Linux a uma chave U2F específica e a um nome de host específico.
sudo pamu2fcfg --username=linuxuser > /tmp/u2f_keys
Digite o PIN para /dev/hidraw1: xxxxxxxx
Meu dispositivo U2F está piscando a luz até que eu pressione o botão, umE, na verdade, meu dispositivo também exige um código PIN, portanto, é mais um fator de MFA.
Em seguida, altere as permissões, a propriedade e o local do arquivo.
|
1 2 3 |
$ chmod 600 /tmp/u2f_keys $ sudo chown root:root /tmp/u2f_keys $ sudo mv /tmp/u2f_keys /etc/u2f_keys |
Agora, descomente a última linha do arquivo /etc/pam.d/couchbase, sEntão, é assim.
|
1 2 3 |
@include common-auth @include common-password auth required pam_u2f.so authfile=/etc/u2f_keys cue |
E reinicie o saslauthd
|
1 |
sudo service saslauthd restart |
Agora, quando você fizer login no seu cluster como a conta linuxuser na interface do usuário do cluster do Couchbase, ele aguardará que o botão do dispositivo U2F seja pressionado. O meu tem uma luz que pisca para indicar que está ativo e aguardando. Depois que eu pressiono esse botão, as chaves U2F são trocadas e verificadas instantaneamente, eu sou autenticado e posso remover o dispositivo USB.
Bônus: autenticação sem senha!
Se quiser experimentar a autenticação sem senha, agora você pode fazer isso facilmente.
Obviamente, isso é menos seguro do que usar um U2F + senha, mas é ótimo para um cluster de desenvolvimento do Couchbase em que você não armazena dados confidenciais e está sendo executado localmente ou com firewall para permitir que apenas o seu endereço IP se conecte.
Em seu arquivo de configuração pam, do exemplo anterior, comente as duas primeiras linhas e deixe apenas o requisito U2F, para que sua configuração fique assim.
|
1 2 3 |
#@include common-auth #@include common-password auth required pam_u2f.so authfile=/etc/u2f_keys cue |
Próximo reinício saslauthd
|
1 |
sudo service saslauthd restart |
Agora você pode fazer login na interface do usuário do Couchbase Server com a conta linuxuser fornecendo o nome de usuário, qualquer sequência aleatória no campo de senha, mesmo que seja apenas um único caractere. Em seguida, pressione o botão U2F quando solicitado. Autenticação sem senha!
Conclusão
Neste artigo, mostrei a você o que é a autenticação multifator, por que você deve usá-la e várias maneiras de implementá-la com o Couchbase Server.
Se a segurança for importante para você, recomendo a leitura de algumas publicações adicionais no blog sobre nossos vários recursos que ajudam a manter seus dados do Couchbase protegidos.
- Segurança de dados em repouso com criptografia LUKS
- Gerenciamento de grupos LDAP para usuários externos na versão 6.5
- Autenticação e autorização com RBAC
E também compartilharei com você alguns dos meus sites favoritos para ficar por dentro dos tópicos de segurança em geral,








