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:
- Vamos criar um usuário especial, o chamado "comprador de tíquetes", que emitirá tíquetes para usuários para autenticação
- Vamos criar um arquivo Keytab no Kerberos
- Vamos configurar o utilitário SPNEGO e o próprio servidor Zimbra OSE para funcionar com Kerberos
- 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:
- 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
- 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
- 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.