Gerenciamento de senhas no Zimbra Collaboration Suite Open-Source Edition

O gerenciamento de senhas sempre foi um dos problemas mais importantes associados à operação segura dos sistemas de informação. A capacidade de armazenar e alterar rapidamente senhas para várias contas, a capacidade de os usuários redefinirem com segurança uma senha esquecida e a capacidade de redefinir com segurança a senha de um administrador - todas essas funções não são menos importantes que a política de segurança de senhas mencionada anteriormente. Neste artigo, veremos como essas funções são implementadas no Zimbra OSE.



Alterando a

senha do usuário e do administrador global A senha do administrador global é definida durante a instalação do Zimbra OSE e pode ser alterada posteriormente nas configurações do Web client. A senha do usuário é inicialmente definida ao criar a conta; no entanto, o administrador pode ativar a alteração forçada da senha quando o usuário faz login pela primeira vez no Web client, para que o usuário não esqueça de definir sua própria senha.

Caso o usuário esqueça sua senha, o Zimbra OSE fornece uma função de recuperação de senha. Essa função, se ativada pelo administrador, permite ao usuário especificar uma caixa de correio de backup para a qual um código de confirmação temporário será fornecido. Com esse código único, um usuário pode acessar o cliente da web Zimbra OSE e alterar sua senha.

No entanto, se o administrador esqueceu subitamente a senha da sua conta e, por causa disso, não conseguir efetuar login no cliente da Web para alterar a senha, ele poderá usar o atributo  setPassword ou apenas  sp na linha de comando. Por exemplo, o comando  zmprov sp admin@company.ru qwerty  permite alterar a senha do administrador para qwerty sem efetuar login no Zimbra OSE web client. O mesmo comando pode ser usado para alterar a senha de qualquer outro usuário.

Observe também que o administrador não tem a opção de visualizar a senha do usuário. Essa limitação se deve ao fato de o Zimbra OSE, em princípio, não armazenar senhas de usuário em texto não criptografado. Em vez disso, o Zimbra OSE armazena apenas hashes de senha salgados e, ao tentar efetuar login, compara o hash da senha inserida pelo usuário com o que está armazenado no servidor LDAP.

Alteração de senha durante a autenticação através do AD

Se o AD for usado para autenticar usuários, as senhas também não serão armazenadas no servidor. Em vez disso, o Zimbra OSE simplesmente passa ao AD a entrada do usuário e recebe uma resposta sobre se essa conta é autenticada ou não. E como todas as informações da conta são armazenadas em outro servidor, ao usar o AD externo, geralmente é recomendável desativar o recurso de senha de alteração automática no cliente da web Zimbra OSE.

No entanto, existe uma maneira de combinar a autenticação do usuário através do AD com a capacidade de alterar independentemente a senha dos usuários. Isso pode ser feito por uma extensão chamada  Senha de Alteração do Active Directory . Ele altera a funcionalidade do botão de alteração de senha no cliente Web Zimbra OSE, para que a senha no AD seja alterada. 

A extensão é bastante fácil de instalar e funciona da seguinte maneira:

  • Usuário clica no botão de alteração de senha
  • Digite a senha
  • A extensão define o DN do usuário
  • Procura um servidor AD externo
  • Faz alterações na senha da conta em uma conexão segura

A extensão é instalada na linha de comandos usando os seguintes comandos:
 
 mkdir -p /opt/zimbra/lib/ext/adpassword
  wget https://github.com/Zimbra-Community/ADPassword/raw/master/out/artifacts/ADPassword_jar/ADPassword.jar -O /opt/zimbra/lib/ext/adpassword/adPassword.jar
  su zimbra
  zmprov md domain.ext zimbraAuthLdapBindDn "%u@company.ru"
  zmprov md domain.ext zimbraAuthLdapSearchBase «CN=Users,DC=DOMAIN,DC=EXT»
  zmprov md domain.ext zimbraAuthLdapSearchBindDn «CN=serviceAccount,CN=Users,DC=DOMAIN,DC=EXT»
  zmprov md domain.ext zimbraAuthLdapSearchBindPassword "*********"
  zmprov md domain.ext zimbraAuthLdapSearchFilter "(samaccountname=%u)"
  zmprov md domain.ext zimbraAuthLdapURL «ldaps://ad.company.ru:636»
  zmprov md domain.ext zimbraExternalGroupLdapSearchBase «CN=Users,DC=DOMAIN,DC=EXT»
  zmprov md domain.ext zimbraExternalGroupLdapSearchFilter "(samaccountname=%u)"
  zmprov md domain.ext zimbraAuthMech «ad»
  zmprov md domain.ext zimbraAuthMechAdmin «ad»
  zmprov md domain.ext zimbraPasswordChangeListener ADPassword
  zmprov gd domain.ext | grep -i ldap | grep -v Gal
  zmprov gd domain.ext | grep -i zimbraPasswordChangeListener
  zmprov md domain.ext zimbraAuthFallbackToLocal FALSE
  zmcontrol restart

Além disso, se os servidores Zimbra OSE e Active Directory usarem certificados SSL diferentes, adicione o certificado AD à lista confiável no servidor Zimbra OSE. Se os dois sistemas de informação usarem o mesmo certificado, você poderá pular esta etapa.

Assim, depois de instalar esta extensão, seus usuários poderão alterar suas senhas diretamente no cliente Web Zimbra OSE, mesmo ao usar a autenticação usando o AD.

Redefinição de senha em massa

É situações aceitáveis ​​nas quais você pode precisar redefinir rapidamente as senhas para um grande número de usuários do Zimbra OSE. No caso de o número de usuários ser grande o suficiente, a redefinição manual de senhas levará muito tempo, o que pode ser inaceitável em uma situação crítica. Um script pode ajudar a otimizar essa tarefa, que pode redefinir automaticamente as senhas dos usuários de um único domínio e de um servidor de email inteiro.

Por exemplo, redefina as senhas de todos os usuários do domínio company.ru. Para fazer isso, efetue login no servidor e execute o comando  zmprov -l gaa company.ru> /tmp/domainusers.txt . Como resultado da execução deste comando, o arquivo de texto domainusers.txt será criado, em que todos os usuários do domínio especificado por nós serão listados. Se você não especificar um domínio neste comando, todas as contas neste servidor serão gravadas no arquivo de texto.

Depois disso, você pode remover do arquivo de texto recebido todas as contas do sistema, como galsync ou spam, além dos usuários cuja senha não será redefinida. Quando o arquivo estiver pronto, você pode executar o seguinte script:

para i em `cat / tmp / domainusers.txt`; do newpass = "Z1mBr @` openssl rand -base64 12`0a "&& / opt / zimbra / bin / zmprov sp $ i $ newpass && echo $ i $ newpass >> newlogin.txt && echo $ i && sleep 5s; feito

O resultado desse script será um arquivo newlogin.txt com novas senhas de conta. Recomendamos que você o salve em um local seguro o mais rápido possível e exclua esse arquivo do servidor. Depois disso, você pode informar aos usuários suas novas senhas para que eles possam continuar trabalhando no Zimbra OSE.

Senha separada para dispositivos móveis

Outro recurso interessante que fica disponível após a instalação do Zextras Suite de extensões para o Zimbra OSE é uma senha separada para entrada na caixa de correio a partir de um dispositivo móvel. Em outras palavras, uma senha adicional é criada para uma conta usando sua conta em um dispositivo móvel, com a qual ele pode sincronizar seu dispositivo com uma caixa de correio, mas não pode efetuar login no cliente da Web Zimbra OSE. Esse recurso pode aumentar significativamente a segurança do uso de email fora do escritório, pois o dispositivo móvel pode ser comprometido ou até roubado, e a função de senha do celular ajudará a impedir que a senha da conta real caia nas mãos dos atacantes.


Criar uma senha para dispositivos móveis é bastante simples. Isso pode ser feito no console de administração, usando o plug-in Zextras, e na linha de comando. Portanto, por exemplo, usando o comando  zxsuite mobile setAccountMobilePassword manager@company.ru Z1mBr @, você fornecerá ao usuário manager@company.ru a senha Z1mBr @. Usando o comando  zxsuite mobile getAccountMobilePassword manager@company.ru, você pode ver a senha móvel do usuário manager@company.ru e, usando o comando zxsuite mobile unsetAccountMobilePassword manager@company.ru, é possível remover completamente a senha móvel do usuário especificado. 

Para todas as perguntas relacionadas ao Zextras Suite, você pode entrar em contato com o representante da empresa Zextras Ekaterina Triandafilidi pelo e-mail katerina@zextras.com

All Articles