Precisa de ajuda para automatizar a implementação do thunderbird com nosso próprio certificado raiz

4

Estamos no processo de configuração de uma solução de e-mail auto-hospedado em nosso laboratório e precisamos ser nossa própria CA. O problema que estamos tendo é que o Thundebird está reclamando que nosso certificado raiz não é confiável, mesmo sabendo que é válido.

O problema é que o Thunderbird vem com seus próprios certificados em que confia e não olha para os certificados confiáveis dos computadores, portanto, apenas empurrar um GPO para todos os clientes com o certificado raiz não funciona.

Precisamos automatizar a implantação da importação do certificado raiz para o Thundebird e estamos tendo sérios problemas para descobrir como.

O autoconfig está funcionando e o thunderbird está recebendo a configuração correta do servidor, mas o erro do certificado ainda é persistente. A única maneira conhecida é importar manualmente o certificado para certificados confiáveis do Thunderbirds.

Alguém aqui tem uma sugestão de como proceder?

    
por nillenilsson 26.04.2017 / 22:20

1 resposta

2

Como o Thunderbird é baseado na mesma plataforma do Firefox, você deve ser capaz de usar as mesmas ferramentas que o Firefox usaria.

Existem várias opções de ferramentas que você pode usar, da mais simples à mais complexa:

1. Pode ser incorporado!

O Thunderbird tem suporte experimental para a importação automática de certificados do armazenamento de certificados do sistema operacional.

Veja como ativá-lo manualmente:

  1. Abra o menu e clique em "Opções"
  2. Vá para a guia "Avançado"
  3. Clique em "Config Editor"
  4. Clique em "Aceito o risco!" se solicitado a fazê-lo.
  5. Pesquisar por security.enterprise_roots.enabled
  6. Clique duas vezes em security.enterprise_roots.enabled para defini-lo como verdadeiro.

Você pode automatizar isso implantando um arquivo de configuração nos computadores.

2. Implantar um perfil padrão

Você pode adicionar o certificado ao seu próprio perfil e, em seguida, copiar o arquivo cert8.db do seu perfil para a pasta principal do programa. Qualquer novo perfil criado no computador usará essa versão de cert8.db .

Infelizmente, isso não ajudará em nenhum usuário que já tenha aberto o Thunderbird porque seus perfis já foram criados.

Consulte o link para obter mais informações.

3. Implantar um arquivo de configuração

Como mencionado e vinculado acima na opção 1, os produtos Mozilla suportam a implantação de um arquivo de configuração em C:\Program Files (possibly x86)\Mozilla Thunderbird\defaults\pref\autoconfig.js .

Você pode colocar um script nesse arquivo que adiciona seu certificado ao armazenamento de certificados. Aqui está um exemplo:

var cert = "MIIHPT...zTMVD"; // This should be the certificate content with no line breaks at all.

var observer = {
  observe: function observe(aSubject, aTopic, aData) {
    var certdb = Components.classes["@mozilla.org/security/x509certdb;1"].getService(Components.interfaces.nsIX509CertDB);
    var certdb2 = certdb;
    try {
      certdb2 = Components.classes["@mozilla.org/security/x509certdb;1"].getService(Components.interfaces.nsIX509CertDB2);
    } catch (e) {}
    certdb2.addCertFromBase64(cert, "C,C,C", "");
  }
}
Components.utils.import("resource://gre/modules/Services.jsm");
Services.obs.addObserver(observer, "profile-after-change", false);

4. certutil executável da Mozilla

Você pode criar um script de login que execute certutil para adicionar o certificado ao perfil do usuário. Esta postagem no fórum um script de exemplo (para o Firefox), do qual a parte importante é copiada abaixo (com modificações para o Thunderbird):

strAppDataDir = WshShell.ExpandEnvironmentStrings("%APPDATA%")
strThunderbirdProfilesDir = strAppDataDir & "\Thunderbird\Profiles\"

Set arrThunderbirdProfileList = objFSO.GetFolder(strThunderbirdProfilesDir).SubFolders

For Each ThunderbirdProfile In arrThunderbirdProfileList
    'Create a backup of the old cert8.db file. This line is optional.
    objFSO.CopyFile ThunderbirdProfile & "\cert8.db" , ThunderbirdProfile & "\cert8.db.old", OverWriteFiles
    'Add the local CA certificate to cert8.db and assign appropriate trust levels.
    Call WshShell.Run(strCertutilPath & " -A -n " & Chr(34) & strLocalCertificateAuthorityName & Chr(34) & " -i " & strCertificateFilePath & " -t " & Chr(34) & strTrustAttributes & Chr(34) & " -d " & Chr(34) & ThunderbirdProfile & Chr(34), 0, true)
  Next

(Nota: não confunda isso com o programa da Microsoft com o mesmo nome)

5. Você pode usar uma ferramenta de gerenciamento

CCK2 é uma ferramenta de gerenciamento de terceiros para produtos Mozilla. Veja sua documentação para mais detalhes.

    
por 28.04.2017 / 01:06