Configurando Single Sign-On no Zimbra Collaboration Suite 9 Open-Source Edition

Uma das tecnologias importantes para garantir a comodidade e segurança dos usuários na rede interna da empresa é a tecnologia Single Sign-On. Essa tecnologia permite que os funcionários passem pelo procedimento de autenticação apenas uma vez e, após a conclusão bem-sucedida, obtenham acesso a todos os recursos corporativos automaticamente. Caso você esteja usando o Zimbra Collaboration Suite, então você pode configurar o SSO nele. Neste artigo, mostraremos como fazer isso.



imagem


Este artigo presume que você está usando o Active Directory para autenticar usuários, o logon único é executado usando Kerberos e os usuários no Zimbra OSE correspondem aos do AD. Lembre-se de que já escrevemos sobre como configurar a criação automática de usuário no Zimbra OSE do AD.



Dados iniciais: O servidor com Zimbra 9 está localizado no domínio madegirah.ru, usa o tipo de autenticação AD. O servidor AD está localizado em MADEGIRAH.LOCAL.



O princípio de configuração do SSO neste caso será bastante simples. Dentro desta estrutura, nós:



  1. Vamos criar um usuário especial, o chamado "comprador de tíquetes", que emitirá tíquetes para usuários para autenticação
  2. Vamos criar um arquivo Keytab no Kerberos
  3. Vamos configurar o utilitário SPNEGO e o próprio servidor Zimbra OSE para funcionar com Kerberos
  4. Vamos configurar navegadores e clientes de e-mail para trabalhar com SSO.


Observe que é necessário fazer backup de todos os arquivos ao fazer qualquer alteração neles.



Em primeiro lugar, precisamos criar uma nova conta zimbra no AD e evitar que ele altere a senha.















Depois disso, no controlador de domínio, crie uma série de registros SPN para ele. No nosso caso, esses serão os princípios dos protocolos http, pop, imap e smtp. Para adicioná-los à sua conta zimbra, você precisa executar os comandos um por um



  • setspn -S HTTP / madegirah.ru zimbra
  • setspn -S POP / madegirah.ru zimbra
  • setspn -S IMAP / madegirah.ru zimbra
  • setspn -S SMTP / madegirah.ru zimbra


Depois disso, verifique se todos os principais necessários foram adicionados ao usuário usando o comando setspn –L zimbra.







Depois disso, crie uma pasta C: \ keys no controlador de domínio, na qual colocaremos os arquivos keytab gerados com o Kerberos. Vamos gerar nosso primeiro keytab usando este comando:



ktpass -out c: \ keys \ jetty.keytab -princ HTTP/madegirah.ru@MADEGIRAH.LOCAL -mapUser zimbra -mapOp set -pass ******** -crypto RC4 -HMAC-NT -pType KRB5_NT_PRINCIPAL Cria um único



keytab principal. Agora precisamos adicionar mais 3 princípios a ele. Isso é feito usando os seguintes comandos:



  1. ktpass -princ IMAP/madegirah.ru@MADEGIRAH.LOCAL -mapuser zimbra -pass ******** -crypto Tudo -ptype KRB5_NT_PRINCIPAL -em c: \ keys \ jetty.keytab -out c: \ keys \ jetty. new.keytab
  2. ktpass -princ POP/madegirah.ru@MADEGIRAH.LOCAL -mapuser zimbra -pass ******** -crypto All -ptype KRB5_NT_PRINCIPAL -in c:\keys\jetty.new.keytab -out c:\keys\jetty.new1.keytab
  3. ktpass -princ SMTP/madegirah.ru@MADEGIRAH.LOCAL -mapuser zimbra -pass ******** -crypto All -ptype KRB5_NT_PRINCIPAL -in c:\keys\jetty.new1.keytab -out c:\keys\jetty.new2.keytab






Como resultado, o arquivo c: \ keys \ jetty.new2.keytab conterá todos os principais necessários. Vamos deletar todos os keytabs obtidos durante a execução da instrução, exceto jetty.new2.keytab. Iremos renomear-lo jetty.keytab e copiá-lo para o servidor com Zimbra OSE 9 nas pastas / opt / zimbra / data / mailboxd / spnego / e / opt / zimbra / jetty /. Altere os direitos de acesso ao arquivo keytab usando os



comandos chown zimbra: zimbra /opt/zimbra/data/mailboxd/spnego/jetty.keytab

chown zimbra: zimbra /opt/zimbra/jetty/jetty.keytab




Agora vamos começar a configurar a colaboração Zimbra integrada Suite do utilitário SPNEGO, que funcionará com o arquivo .keytab criado anteriormente. Você pode configurar o SPNEGO usando os seguintes comandos:



sudo su - zimbra

zmprov mcf zimbraSpnegoAuthEnabled TRUE

mcf zimbraSpnegoAuthRealm MADEGIRAH.LOCAL zmprov

zmprov ms madegirah.ru zimbraSpnegoAuthTargetName os HTTP / madegirah.ru

ms zmprov madegirah.ru zimbraSpnegoAuthPrincipal os HTTP / madegirah.ru

ms zmprov madegirah.ru zimbraImapSaslGssapiEnabled para VERDADEIROS

ms zmprov madegirah.ru zimbraPop3SaslGssapiEnabled para TRUE

zmprov md madegirah.ru zimbraAuthKerberos5Realm MADEGIRAH. LOCAL

zmprov md madegirah.ru zimbraWebClientLoginURL '/ service / spnego'

zmprov md madegirah.ru zimbraWebClientLogoutURL '../?sso=1'




Chamamos sua atenção para o fato de que a tintura SPNEGO é global, o que significa que todos os domínios em seu servidor O Zimbra deve usar o mesmo Active Directory para autenticação.



A próxima etapa é converter o arquivo de configurações /opt/zimbra/jetty/etc/krb5.ini para o seguinte formato:



[libdefaults]

default_realm = MADEGIRAH.local

dns_lookup_realm = no

dns_lookup_kdc = no

kdc_timesync = 1

ticket_lifetime = 24h



default_keytab_name = FILE:/opt/zimbra/data/mailboxd/spnego/jetty.keytab

default_tgs_enctypes = arcfour-rc4-md5 rc4-hmac des-cbc-crc des-cbc-md5

default_tkt_enctypes = arcfour-rc4-md5 rc4-hmac des-cbc-crc des-cbc-md5

permitted_enctypes = arcfour-rc4-md5 rc4-hmac des-cbc-crc des-cbc-md5



[realms]

MADEGIRAH.local = {

kdc = DC.MADEGIRAH.LOCAL

admin_server = DC.MADEGIRAH.LOCAL

default_domain = MADEGIRAH.LOCAL

}



[domain_realm]

madegirah.local = MADEGIRAH.LOCAL

.madegirah.local = MADEGIRAH.LOCAL

.local = MADEGIRAH.LOCAL



[appdefaults]

autologin = true

forwardable=true


Isso conclui a configuração do lado do servidor e tudo o que resta é fazer algumas alterações nas configurações do lado do usuário. Em particular, os navegadores precisam ser configurados para funcionar com SPNEGO. No caso do Firefox, digite about: config na barra de endereço e digite network.neg no campo de pesquisa. Nos campos exibidos contendo a palavra uris no nome, especifique o valor madegirah.ru ou https://



.







No caso do Internet Explorer, adicione madegirah.ru à intranet local . Você também pode fazer isso por meio de políticas de grupo. O Google Chrome pega as configurações do Internet Explorer.







Para autenticação SSO no cliente de e-mail Thunderbird, você deve especificar o tipo de autenticação GSSAPI ao configurar sua conta. É para que isso funcione que adicionamos anteriormente os principais para IMAP, POP e SMTP. Observe que o Outlook não oferece suporte a esse tipo de autenticação ao usar POP / IMAP e SMTP devido a restrições do cliente.







Outra nuance desagradável pode ser um aviso sobre uma página não segura ao usar um certificado autoassinado no Zimbra OSE. Esta nuance não é crítica, entretanto, o aviso que aparece regularmente contradiz o próprio princípio da conveniência da tecnologia Single Sign-On. Para removê-lo, você precisa instalar o certificado Zimbra OSE na máquina de destino.



Para isso, são necessários os seguintes comandos no servidor Zimbra:



sudo su

cd / opt / zimbra / ssl / zimbra / ca

openssl x509 -in ca.pem -outform DER -out ~ / zimbra.cer




Depois disso, o certificado recebido deve ser transferido na máquina de destino e clique duas vezes nele. Na janela que é aberta, você precisa selecionar "Instalar certificado" e importá-lo no Assistente para importação de certificados. A única advertência durante a instalação é que, ao escolher um armazenamento para um certificado, você precisa colocá-lo no armazenamento "Autoridades de certificação raiz confiáveis". Além disso, você pode instalar este certificado por meio da Política de Grupo.



Depois que este certificado for especificado como confiável, o aviso ao entrar no cliente Web Zimbra OSE e ao usar o Thunderbird irá parar de aparecer.



All Articles