Partilhar via


Configurar HTTPS com SSL (Secure Sockets Layer) para Azure DevOps local

Azure DevOps Server |Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020

Você pode fortalecer a segurança de sua implantação do Azure DevOps Server configurando-o para usar HTTPS (Hypertext Transfer Protocol Secure) com SSL (Secure Sockets Layer). Você pode optar por exigir esse protocolo, o que maximiza a segurança de sua implantação, ou pode optar por oferecer suporte a HTTPS com SSL, além do protocolo padrão, HTTP. Se você usar o Release Management para Visual Studio 2013, também poderá configurá-lo para usar HTTPS com SSL, embora não seja possível configurá-lo para oferecer suporte a HTTP e HTTPS com SSL.

Antes de escolher uma configuração, analise as vantagens e desvantagens descritas aqui. Depois de identificar a configuração que melhor atende às necessidades de segurança da sua organização, siga as etapas neste tópico para configurar sua implantação.

Neste tópico

Vantagens de suportar HTTPS com SSL além de HTTP

Se você configurar sua implantação do Servidor de DevOps do Azure para dar suporte a ambos os protocolos, os usuários cujos computadores foram configurados para HTTPS com SSL se conectarão usando esse protocolo, o que torna sua implantação mais segura. Além disso, os usuários cujos computadores estão configurados apenas para HTTP ainda podem se conectar à sua implantação. Embora você não deva implantar essa configuração em redes públicas, você pode obter as seguintes vantagens continuando a oferecer suporte a conexões HTTP em um ambiente de rede controlado:

  • Você pode aumentar a segurança de sua implantação ao longo do tempo configurando computadores clientes para HTTPS com SSL conforme sua programação permitir. Se você adotar uma abordagem em fases, não precisará atualizar todos os computadores ao mesmo tempo e os usuários cujos computadores ainda não foram atualizados ainda poderão se conectar à implantação.

  • Você pode configurar e manter mais facilmente o Servidor de DevOps do Azure.

  • As chamadas de um serviço Web para outro são mais rápidas por HTTP do que por HTTPS com SSL. Portanto, você pode continuar a oferecer suporte a conexões HTTP de computadores clientes para os quais os requisitos de desempenho superam os riscos de segurança.

Vantagens de exigir HTTPS com SSL para todas as conexões

Se você precisar de HTTPS com SSL para todas as conexões, obterá as seguintes vantagens:

  • Todas as conexões Web entre a camada de aplicativo, a camada de dados e a camada de cliente para o Azure DevOps são mais seguras porque exigem certificados.

  • Você pode controlar o acesso mais facilmente configurando certificados para expirar quando se espera que uma fase do projeto termine.

Desvantagens de suportar ou exigir HTTPS com SSL

Antes de configurar o Azure DevOps Server para dar suporte ou exigir HTTPS com SSL, você deve considerar as seguintes desvantagens:

  • Você pode complicar as tarefas de administração em andamento. Por exemplo, talvez seja necessário reconfigurar sua implantação para parar de oferecer suporte a HTTPS com SSL antes de aplicar service packs ou outras atualizações.

  • Você deve não apenas configurar, mas também gerir uma autoridade de certificação (CA) e confiança de certificados. Você pode usar os Serviços de Certificados no Windows Server 2003 e no Windows Server 2008, mas talvez não queira investir o tempo e os recursos exigidos pela implantação de uma PKI (infraestrutura de chave pública) segura.

  • Você deve gastar um tempo significativo configurando e testando qualquer uma dessas configurações, e a solução de problemas de sua implantação se tornará mais difícil.

  • Se você continuar a dar suporte a ambos os protocolos, as conexões externas podem não ser criptografadas se a camada de aplicativo para o Azure DevOps não estiver adequadamente protegida.

  • Se você precisar de HTTPS com SSL, o desempenho da implantação será mais lento.

Configurando sua implantação para oferecer suporte ou exigir HTTPS com SSL

Os procedimentos neste tópico descrevem um processo para solicitar, emitir e atribuir certificados necessários para conexões SSL no Servidor de DevOps do Azure. Se você estiver usando um software diferente do descrito neste tópico, talvez seja necessário executar etapas diferentes. Para dar suporte a conexões externas à implantação do Servidor de DevOps do Azure, você também deve habilitar a autenticação Básica, a autenticação Digest ou ambas no IIS (Serviços de Informações da Internet).

Seguindo os procedimentos neste tópico, você realizará as seguintes tarefas:

  1. Obtenha certificados para sua implantação do Azure DevOps Server e os sites que ele usa.

  2. Instale e atribua os certificados.

  3. Configure o Servidor de DevOps do Azure.

  4. Configure o Team Foundation Build.

  5. Configurar Release Management para Visual Studio 2013

  6. Configurar computadores cliente.

Pré-requisitos

Para executar os procedimentos neste tópico, você deve primeiro atender aos seguintes requisitos:

  • Os componentes lógicos nas camadas de dados e aplicativos do Azure DevOps devem ser instalados, embora no caso do próprio Azure DevOps Server, não necessariamente configurados. Essas camadas incluem IIS, SQL Server e quaisquer componentes adicionais que você possa ter integrado, como Team Foundation Build e SQL Server Reporting Services.

    Os procedimentos neste tópico referem-se ao servidor ou servidores que estão executando os componentes lógicos nas camadas de aplicativo e dados para o Azure DevOps. As camadas de aplicativo e dados podem estar sendo executadas no mesmo servidor ou em vários servidores, conforme descrito no guia de instalação do Servidor de DevOps do Azure.

  • Você deve ter uma autoridade de certificação (CA) a partir da qual possa emitir certificados ou ter se inscrito em uma autoridade de certificação terceirizada com uma cadeia confiável. Este tópico pressupõe que você esteja usando os Serviços de Certificados como sua CA, mas você pode usar qualquer CA que tenha configurado para sua implantação ou certificados de uma autoridade de certificação de terceiros confiável. Se você não tiver uma autoridade de certificação, poderá instalar os Serviços de Certificados e configurar uma. Para obter mais informações, consulte um dos seguintes conjuntos de documentação no site da Microsoft:

  • Você precisa ser um administrador para configurar todos os componentes de sua implantação para HTTPS e SSL. Se você trabalha em uma implantação distribuída em que pessoas diferentes têm permissões administrativas para componentes individuais, precisará coordenar com essas pessoas para concluir a configuração.

  • Especificamente, você deve pertencer ao grupo Administradores do Team Foundation e deve pertencer ao grupo Administradores na camada de aplicativo, na camada de dados e no Servidor Proxy do Azure DevOps ou servidores para Team Foundation.

  • Para configurar um servidor de compilação, você deve pertencer ao grupo Administradores nesse servidor.

  • Para configurar o Release Management, você deve pertencer ao grupo Administradores no servidor que hospeda o Release Management Server e ser membro da função Release Manager no Release Management.

  • Se a sua implementação utiliza relatórios, deve ser membro de um grupo de segurança administrativa ou ter permissões equivalentes definidas individualmente para configurar os serviços de relatórios.

    Para obter mais informações sobre permissões, consulte Referência de permissão para o Azure DevOps Server.

Assumptions

Os procedimentos neste tópico pressupõem que as seguintes condições sejam verdadeiras:

  • O servidor ou servidores da camada de dados e da camada de aplicativo foram instalados e implantados em um ambiente seguro e configurados de acordo com as práticas recomendadas de segurança.

  • Você está familiarizado com como configurar e gerenciar PKIs e solicitar, emitir e atribuir certificados.

  • Você tem um conhecimento prático da topologia de rede do ambiente de desenvolvimento e está familiarizado com a definição de configurações de rede, IIS e SQL Server.

Obtenção de um certificado

Antes de configurar o Servidor de DevOps do Azure para usar HTTPS com SSL, você deve obter e instalar um certificado de servidor para os servidores em sua implantação. Para obter um certificado de servidor, você deve instalar e configurar sua própria autoridade de certificação ou usar uma autoridade de certificação de uma organização externa em que confia (certificados de terceiros).

Para obter mais informações sobre como instalar uma autoridade de certificação, consulte os seguintes tópicos no site da Microsoft:

Solicitando, instalando e configurando sites com um certificado

Depois de se alistar em uma autoridade de certificação, você deve solicitar um certificado usando o Gerenciador do IIS ou instalar manualmente o certificado em cada um dos seguintes servidores em sua implantação:

  • Cada servidor de camada de aplicação.
  • Cada servidor que está executando o Servidor Proxy do Azure DevOps, se houver, está configurado para sua implantação.
  • Cada servidor que está a executar o Serviço de Compilação do Team Foundation como um controlador de compilação ou um agente de compilação, se algum estiver configurado para a sua implementação.
  • O servidor que está a executar o Reporting Services, caso um seja configurado para a sua implementação.

Além disso, os computadores clientes em sua implantação precisarão estar inscritos na cadeia de certificados e solicitar o certificado necessário. Se você estiver usando o Release Management, isso inclui todos os computadores que executam o cliente Release Management, bem como quaisquer clientes¹ que executam o agente de implantação em seus ambientes de versão. Se um ou mais de seus projetos usam o Git para controle de versão, os usuários desses projetos também terão que configurar o Git em seus computadores para reconhecer e usar o certificado do cliente. Para obter informações sobre como solicitar um certificado de cliente de uma autoridade de certificação específica, consulte a documentação dessa autoridade de certificação.

¹ Clientes e servidores são mencionados separadamente aqui, mas isto é apenas uma convenção deste documento. Qualquer computador que execute o agente de implantação precisa do certificado instalado.

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS).

  2. Expanda seu servidor, navegue até Certificados de Servidor e crie e conclua sua solicitação de certificado.

    Abra o Gerenciador do IIS e solicite um certificado

    Crie um pedido e, em seguida, conclua-o

    Para obter mais informações, consulte Configurando certificados de servidor no IIS.

  3. Importe o certificado.

  4. Agora você precisa configurar cada site que exigirá esse certificado com as configurações apropriadas (com exceção do site Release Management, que você configurará mais tarde). Especificamente, você precisará fazer isso para cada um dos seguintes sites:

    • Site padrão
    • Azure DevOps Server
    • Servidor Proxy do Azure DevOps (se a sua implementação o usar)

    Em cada servidor que hospeda um site que você deseja configurar, abra o Gerenciador dos Serviços de Informações da Internet (IIS).

  5. Expanda ComputerName, expanda Sites, abra o submenu do site que pretende configurar (por exemplo, Azure DevOps Server) e escolha Ligações no painel Ações.

    Você deve configurar associações para todos os sites

  6. Em Ligações de Site, escolha Adicionar.

    A caixa de diálogo Adicionar Vinculação de Site é exibida.

  7. Na lista Tipo , escolha https.

    Em Porta, digite um número de porta diferente.

    Importante

    O número de porta padrão para conexões SSL é 443, mas você deve atribuir um número de porta exclusivo para cada um dos seguintes sites: Site Padrão, Servidor de DevOps do Azure e Proxy do Servidor de DevOps do Azure (se sua implantação usá-lo). Você deve registrar o número da porta SSL para cada site que você configurar. Você precisará especificar esses números no console de administração do Azure DevOps.

    Em Certificado SSL, escolha o certificado que você importou e, em seguida, escolha OK e feche a página Ligações.

    Certifique-se de escolher um número de porta exclusivo

  8. Na página inicial do site que você está configurando, abra a visualização Recursos .

  9. Em IIS, escolha Autenticação.

  10. Escolha um método de autenticação que você deseja configurar, abra seu submenu e, em seguida, habilite, desabilite ou execute configurações adicionais no método, conforme melhor atenda às suas necessidades de segurança. Por exemplo, se você quisesse desabilitar a autenticação anônima, escolheria o método de Autenticação Anônima e escolheria Desabilitar no menu Ações.

    Escolha o método e, em seguida, a ação a ser executada

  11. Depois de concluir a configuração, reinicie os serviços Web.

Configurando seu firewall

Você deve configurar seu firewall para permitir o tráfego através das portas SSL que você acabou de especificar no IIS. Para obter mais informações, consulte a documentação do firewall.

Importante

Certifique-se de testar o tráfego nas portas especificadas de outro computador. Se não conseguir aceder ao Web site ou portal Web predefinido, verifique novamente as definições de porta especificadas para estes Web sites no IIS e certifique-se de que a firewall está configurada adequadamente para permitir o tráfego nessas portas.

Configurar o SQL Server Reporting Services

Se sua implantação usa relatórios, você deve configurar o SQL Server Reporting Services para dar suporte a HTTPS com SSL e usar a porta especificada no IIS para o Servidor de DevOps do Azure. Caso contrário, o servidor de relatório não funcionará corretamente para a sua implantação. Para obter mais informações, consulte Configurando um servidor de relatório para conexões SSL (Secure Sockets Layer).

Sugestão

Se a sua implementação não utilizar relatórios, poderá ignorar este procedimento.

Configurando HTTPS para o Azure DevOps Server

Siga estas etapas para configurar sua implantação do Servidor de DevOps do Azure com as portas HTTPS e os valores que você configurou no IIS para os sites padrão e do Servidor de DevOps do Azure.

Para reconfigurar o Azure DevOps Server para usar ou exigir HTTPS

  1. Abra a consola de administração do Azure DevOps e navegue até ao nó da camada de aplicação.

  2. Em Resumo da Camada de Aplicativo, escolha Alterar URLs.

    A janela Alterar URLs é aberta.

  3. Em URL de Notificação, digite a URL HTTPS que você configurou para o site do Servidor de DevOps do Azure no IIS.

    Por exemplo, você pode ter configurado o site para usar a porta 444. Nesse caso, digite https:// ServerName:444/tfs. Certifique-se de usar o nome de domínio totalmente qualificado do servidor em vez de localhost.

    Especifique HTTPS, servidor e porta no endereço

  4. Escolha Testar. Não escolha OK se o teste não passar. Volte e verifique se você inseriu a URL e as informações de porta corretas, se todos os firewalls estão configurados para permitir o tráfego nessas portas e se o site está disponível e em execução no Gerenciador do IIS.

  5. Para exigir HTTPS, escolha Usar na URL do Servidor e digite a URL HTTPS que você configurou para o site do Servidor de DevOps do Azure.

    Certifique-se de usar o nome de domínio totalmente qualificado do servidor em vez de localhost.

  6. Escolha Testar e, em seguida, escolha OK se o teste for aprovado.

  7. Se a sua instalação usa o Reporting Services, no console de administração, escolha Relatórios. Caso contrário, ignore o resto deste procedimento.

  8. Em Relatórios, escolha Editar.

    Se a caixa de diálogo Ficar offline for aberta, escolha OK.

    A janela Relatórios é aberta.

  9. Escolha a guia Relatórios. Em URLs para Servidor de Relatório, digite as URLs HTTPS para Serviço Web e Gerenciador de Relatórios e escolha OK.

Testar o acesso à sua implementação

Deve testar se as suas alterações funcionam como esperado. Esta etapa é opcional, mas altamente recomendada.

Para verificar o acesso à sua implementação

  1. Em um computador que não hospeda a camada de aplicativo, abra um navegador da Web e navegue até a home page de uma equipe.

  2. Verifique se você pode acessar suas equipes e projetos a partir do portal da Web, incluindo as páginas de administração.

  3. Se não conseguir aceder à implementação através do portal Web, reveja os passos que acabou de concluir e certifique-se de que efetuou todas as alterações de configuração corretamente.

Configure sua implantação para exigir HTTPS com SSL (Opcional)

Você pode exigir que todas as conexões com a camada de aplicativo do Servidor de DevOps do Azure usem HTTPS com SSL. Esta segurança adicional é opcional, mas recomendada.

Para exigir conexões SSL

  1. No servidor que hospeda o site que você deseja configurar, escolha Iniciar, Ferramentas Administrativas e Gerenciador dos Serviços de Informações da Internet (IIS).

  2. Siga as etapas apropriadas para sua versão do IIS:

    Para implantações que usam o IIS 7.0:

    1. Expanda ComputerName, expanda Web Sites e, em seguida, escolha o Web site que pretende configurar.

    2. Na página inicial desse site, escolha Configurações de SSL.

    3. No painel Configurações de SSL , marque a caixa de seleção Exigir SSL .

      (Opcional) Marque a caixa de seleção Exigir SSL de 128 bits .

    4. Em Certificados de Cliente, escolha Ignorar, Aceitar ou Exigir, dependendo dos requisitos de segurança da sua implantação.

    5. Em Ações, escolha Aplicar.

    6. Repita estas etapas para cada site para o qual você deseja exigir SSL.

Instalando o certificado em servidores de compilação

Se você instalou o Serviço Team Foundation Build em um ou mais servidores, deverá instalar o certificado no armazenamento de Autoridades de Certificação Raiz Confiáveis de cada servidor. Para obter mais informações, consulte Obtendo um certificado e Solicitando, instalando e configurando sites com um certificado anteriormente neste tópico. Tanto o controlador quanto o agente exigem um certificado com uma chave privada com a qual se identificam em conexões HTTPS.

Observação

Para executar compilações sobre SSL, o certificado deve ser instalado no armazenamento raiz confiável no controlador de compilação e no agente de compilação.

Atualizando configurações de compilação

Para configurar o Team Foundation Build para conexões SSL, você deve configurar o serviço de compilação para usar a URL HTTPS que você configurou para a camada de aplicativo e a coleção que a configuração de compilação suporta. Você deve configurar essa URL para cada configuração de compilação em sua implantação.

Para alterar uma configuração de compilação para usar HTTPS

  1. No servidor que hospeda a configuração de compilação que você deseja configurar, abra o console de administração para Team Foundation.

  2. Em Team Foundation, expanda o nome do servidor e, em seguida, escolha Build Configuration.

    O painel Configuração de compilação é exibido.

  3. Na configuração do serviço, escolha Parar e, em seguida, escolha Propriedades.

    A caixa de diálogo Propriedades do serviço de compilação é aberta.

  4. Em Comunicações, verifique se a URL da coleção de projetos está usando o endereço HTTPS correto e o nome completo do servidor.

  5. Em Local Build Service Endpoint (incoming), escolha Alterar.

    A caixa de diálogo Build Service Endpoint é aberta.

  6. Em Detalhes do Endereço de Destino, verifique se o número da porta corresponde aos seus detalhes de configuração.

  7. Em Protocolo, escolha HTTPS.

  8. Na lista Certificados SSL, escolha o certificado que você instalou e configurou para uso com essa implantação e, em seguida, escolha OK.

    Certifique-se de que os detalhes de configuração correspondem

  9. Na caixa de diálogo Propriedades do Serviço de Compilação , escolha Iniciar.

Configurando computadores clientes

Em cada computador cliente a partir do qual os utilizadores acedem ao Azure DevOps, tem de instalar o certificado localmente e limpar a cache do cliente para qualquer utilizador que tenha acedido ao Azure DevOps a partir desse computador. Caso contrário, os usuários não poderão se conectar ao Azure DevOps a partir desse computador. Para obter mais informações, consulte Gerenciar certificados raiz confiáveis.

Importante

Não siga este procedimento para computadores que executam o Servidor de DevOps do Azure e um ou mais clientes do Azure DevOps.

Para instalar o certificado em um computador cliente

  1. Faça logon no computador usando uma conta que pertença ao grupo Administradores nesse computador.

  2. Instale o certificado na pasta Autoridades de Certificação Raiz Confiáveis do computador local.

Para limpar o cache em um computador cliente

  1. Faça logon no computador usando as credenciais do usuário cujo cache você deseja limpar.

  2. Feche todas as instâncias abertas do Visual Studio.

  3. Em uma janela do navegador, abra a seguinte pasta:

    Drive:\Users\UserName\AppData\Local\Microsoft\Team Foundation\4.0\Cache

  4. Exclua o conteúdo do diretório Cache. Certifique-se de excluir todas as subpastas.

  5. Escolha Iniciar, escolha Executar, digite devenv /resetuserdata e escolha OK.

  6. Repita estas etapas para a conta de cada usuário que acessou Team Foundation a partir desse computador.

    Observação

    Talvez você queira distribuir instruções para limpar o cache para todos os seus usuários do Azure DevOps para que eles possam limpar os caches por si mesmos.

Para conectar computadores cliente à implantação reconfigurada

Configurando o Git

Por padrão, os projetos que usam o Git para controle de versão não conseguirão validar o certificado SSL que você configurou para o Servidor de DevOps do Azure. Isso ocorre porque, ao contrário do Azure DevOps Server e do Visual Studio, o Git não reconhece o armazenamento de certificados do Windows. Em vez disso, ele usa OpenSSL para seu armazenamento de certificados. Para usar um repositório Git para projetos configurados com SSL, você precisará configurar o Git com o certificado na raiz da cadeia de certificação para sua implantação do TFS 2013. Esta é uma tarefa de configuração do cliente que só se aplica a projetos de repositório Git.

Para obter mais informações sobre como as operações de rede Git funcionam no Visual Studio 2013, consulte esta postagem de blog.

Sugestão

Para outras tarefas de gerenciamento de credenciais do Git, como a autenticação do Windows, considere baixar e instalar o Repositório de Credenciais do Windows para Git.

Para configurar o armazenamento de certificados para o Git

  • Faça logon no computador usando uma conta que pertença ao grupo Administradores nesse computador.

  • Certifique-se de que o certificado necessário foi instalado e configurado no computador, conforme descrito acima.

  • Em seu navegador da Web com suporte, extraia o certificado raiz do Servidor de DevOps do Azure como um arquivo CER/PEM X.509 codificado em base64.

  • Crie uma cópia privada do armazenamento do certificado raiz do Git e adicione-a à sua cópia privada do armazenamento de utilizador.