Preparar o ambiente de rede para requisitos de segurança mais rigorosos

Os sistemas operativos da Apple irão exigir uma segurança de rede mais rigorosa para os processos do sistema. Verifique se as ligações ao servidor cumprem os novos requisitos.

Este artigo destina-se a administradores de TI e a programadores de serviços de gestão de dispositivos.

A partir da versão 27.0 do iOS, iPadOS, macOS, watchOS, tvOS e visionOS, os sistemas operativos da Apple poderão recusar ligações a servidores com configurações TLS desatualizadas ou não conformes, devido a requisitos adicionais de segurança de rede.

Deve auditar o ambiente para identificar os servidores que não cumprem estes requisitos. A atualização das configurações dos servidores para cumprir estes requisitos pode exigir um tempo considerável, especialmente para servidores mantidos por fornecedores externos.

Ligações afetadas e requisitos de configuração

Os novos requisitos aplicam-se a ligações de rede diretamente envolvidas nas seguintes atividades:

  • Gestão de dispositivos móveis (MDM)

  • Gestão Declarativa de Dispositivos (DDM)

  • Registo automático de dispositivos

  • Instalação do perfil de configuração

  • Instalação de apps, incluindo a distribuição de apps empresariais

  • Atualizações de software

Exceções: as ligações de rede a um servidor SCEP (durante a instalação de um perfil de configuração ou a resolução de um recurso DDM) e a servidores de cache de conteúdos (mesmo ao solicitar recursos relacionados com a instalação de apps ou atualizações de software) não são afetadas.

Requisitos: os servidores têm de suportar TLS 1.2 ou posterior, utilizar conjuntos de cifras compatíveis com ATS e apresentar certificados válidos que cumpram as normas ATS. Para obter os requisitos completos de segurança de rede, consulte a documentação para programadores:

Auditar o ambiente para detetar ligações não conformes

Utilize dispositivos de teste para identificar as ligações de servidor no ambiente que não cumprem os novos requisitos do TLS.

Planear a cobertura de testes

Configurações de dispositivo diferentes poderão ligar-se a servidores diferentes. Para garantir que a auditoria tem cobertura completa, teste todas as configurações aplicáveis ao ambiente.

  • Ambiente: produção, ensaio, teste

  • Tipo de dispositivo: iPhone, iPad, Mac, Apple TV, Apple Vision Pro

  • Função: grupo de utilizadores (vendas, engenharia, contabilidade), dispositivo de quiosque, dispositivo partilhado

  • Tipo de registo: registo automático de dispositivos, registo baseado em contas, registo de dispositivos baseado em perfis, iPad partilhado

Os dispositivos de teste devem ter a versão 26.4 ou posterior do iOS, iPadOS, macOS, tvOS ou visionOS. Se os dispositivos de teste tiverem a versão 27 ou posterior e ocorrerem erros de ligação, considere realizar o teste novamente num dispositivo com a versão 26.4 ou posterior, mas anterior à 27, para identificar todos os servidores afetados. As ligações não conformes são bloqueadas e estas ligações falhadas podem impedir o teste das ligações subsequentes no fluxo de trabalho.

Repita os seguintes passos de auditoria para cada configuração que estabeleça ligação a servidores diferentes.

No watchOS, a maioria das operações de rede é efetuada fora do processo e o comando de registo não funciona. Os testes no iOS provavelmente fornecem cobertura suficiente para as ligações do Apple Watch.

Instalar o Perfil de registo de diagnóstico de rede

Descarregue e instale o Perfil de registo de diagnóstico de rede nos dispositivos de teste representativos para ativar o registo. Depois de instalar o perfil, reinicie o dispositivo de teste.

Para garantir que os eventos de registo contêm os detalhes necessários para identificar ligações não conformes, este perfil tem de ser instalado antes de efetuar qualquer teste. Se estiver a testar o registo automático de dispositivos num iPhone ou iPad, utilize o Apple Configurator para Mac para instalar o perfil antes de o dispositivo chegar ao painel Gestão de dispositivos no Assistente de configuração.

Executar os fluxos de trabalho normais

Utilize o dispositivo de teste como faria normalmente no ambiente. Registe-o na gestão de dispositivos, instale apps e perfis e execute quaisquer outros fluxos de trabalho que estabeleçam ligação aos servidores da organização.

O objetivo é gerar tráfego de rede para todos os servidores que possam ser afetados pelos novos requisitos do TLS.

Recolher um sysdiagnose

Depois de executar os fluxos de trabalho, recolha um sysdiagnose do dispositivo de teste. Este arquivo de diagnóstico contém os eventos de registo necessários para identificar ligações não conformes.

Instruções específicas do dispositivo para recolher um sysdiagnose

Analisar os registos

Transfira o sysdiagnose para um Mac e expanda o ficheiro .tar.gz. Com o Terminal, navegue até ao diretório de nível superior no sysdiagnose expandido e filtre os eventos de registo relevantes com este comando:

log show --archive system_logs.logarchive --info -P "p=appstoreagent|appstored|managedappdistributionagent|managedappdistributiond|ManagedClient|ManagedClientAgent|mdmclient|mdmd|mdmuserd|MuseBuddyApp|NanoSettings|Preferences|profiled|profiles|RemoteManagementAgent|remotemanagementd|Setup|'Setup Assistant'|'System Settings'|teslad|TVSettings|TVSetup|XPCAcmeService AND s=com.apple.network AND m:'ATS Violation'|'ATS FCPv2.1 violation'"

Cada evento de registo inclui três detalhes essenciais:

  • Domínio: o domínio do servidor para este evento de ligação.

  • Processo: o processo que estabeleceu a ligação, o que ajuda a determinar o objetivo da ligação de rede a esse domínio.

  • Aviso: a restrição que foi violada pela ligação e como o servidor não está em conformidade (uma única ligação pode emitir vários avisos se o servidor não cumprir vários requisitos).

Interpretar os registos de aviso

As mensagens de registo seguintes indicam os servidores que não cumprem os novos requisitos de TLS. As violações são marcadas como violações gerais da política ATS ("Aviso [violação ATS]") ou violações específicas da norma FCP v2.1 ("Aviso [violação ATS FCPv2.1]").

Se estes registos forem emitidos por um processo que estabeleça ligação a um servidor específico da empresa, esses servidores têm de ser atualizados para cumprir os novos requisitos.

Na versão 27 ou posterior: as ligações não conformes são bloqueadas e as mensagens de registo aparecem como erros em vez de avisos.

Mensagem de registo

Significado

Resolução

Warning [ATS violation]: Ciphersuite([negotiated ciphersuite]) not offered in ATS negotiated for server: www.example.com*

O servidor negociou um conjunto de cifras não PFS que não é disponibilizado quando o cliente aplica o ATS.

Os servidores têm de suportar conjuntos de cifras PFS (qualquer conjunto de cifras TLS 1.3 e conjuntos de cifras TLS 1.2 com ECDHE).

Warning [ATS violation]: TLS version <1.2 negotiated for server: www.example.com*

O servidor negociou uma versão do TLS mais antiga do que o TLS 1.2.

TLS 1.0/1.1 estão descontinuados e já não são oferecidos por predefinição.

Atualize os servidores para negociar TLS 1.3 sempre que possível (no mínimo, TLS 1.2).

Warning [ATS violation]: ATS certificate trust requirement not satisfied for server: www.example.com

O certificado do servidor não passou na avaliação de confiança do servidor predefinida porque não cumpria os requisitos mínimos descritos aqui.

Atualize o certificado do servidor para cumprir estes requisitos.

Se o certificado estiver nos certificados âncora do perfil de registo automático, não é necessária a resolução.

Warning [ATS violation]: RSA key size [n] bits is less than minimum 2048 bits for server: www.example.com

O certificado do servidor foi assinado com uma chave RSA inferior a 2048 bits.

Atualize o certificado do servidor para cumprir estes requisitos.

Warning [ATS violation]: ECDSA key size [n] bits is less than minimum 256 bits for server: www.example.com

O certificado do servidor foi assinado por uma chave ECDSA inferior a 256 bits

Warning [ATS violation]: Leaf certificate hash algorithm (n) is not at least SHA-256 for server: www.example.com

O certificado do servidor não utilizava um Secure Hash Algorithm 2 (SHA-2) com comprimento de resumo de, pelo menos, 256 bits.

Warning [ATS violation]: Did not use TLS when opening connection for server: www.example.com*

Foi utilizado HTTP em texto simples em vez de HTTPS.

Atualize o servidor para suportar HTTPS.

Warning [ATS FCPv2.1 violation]: Signature algorithm rsa_pkcs15_sha1 negotiated by server: www.example.com*

O servidor escolheu rsa_pkcs15_sha1 como o algoritmo de assinatura.

Atualize a configuração para preferir algoritmos de assinatura modernos.

Warning [ATS FCPv2.1 violation]: Server certificate signed using signature algorithm [signature algorithm] not advertised in ClientHello for server: www.example.com

O certificado do servidor foi assinado com um algoritmo de assinatura não anunciado no ClientHello.

Atualize o certificado do servidor para ser assinado com um algoritmo de assinatura que tenha um ponto de codificação TLS e que não seja rsa_pkcs15_sha1.

Warning [ATS FCPv2.1 violation]: TLS 1.2 negotiated without extended master secret (EMS) for server: www.example.com

O servidor negociou TLS 1.2 e não negociou a extensão do segredo mestre alargado (EMS).

Atualize os servidores para utilizar TLS 1.3 ou, no mínimo, atualize a configuração TLS 1.2 para negociar EMS.

*Estes avisos não têm mensagens de erro equivalentes na versão 27 ou posteriores.

  • No caso de erros relacionados com conjuntos de cifras, versão TLS e algoritmos de assinatura: o erro exato apresentado no lado do cliente pode depender da forma como o servidor lida com essa situação.

  • No caso de erros relacionados com ligações HTTP em texto simples: quando uma ligação HTTP (a partir de um URL do tipo http:// URL ou de um redirecionamento para um URL desse tipo) é bloqueada, é registada como um erro semelhante a:

Task . finished with error [-1022] Error Domain=NSURLErrorDomain Code=-1022 "The resource could not be loaded because the App Transport Security policy requires the use of a secure connection."

Validar servidores individuais

Depois de identificar servidores não conformes na auditoria, pode testá-los individualmente para verificar violações específicas ou confirmar que a resolução foi bem-sucedida.

Execute o seguinte comando, substituindo "https://example.com:8000" pelo servidor ou ponto final.

nscurl --ats-diagnostics https://example.com:8000/

Este comando testa se o servidor cumpre os requisitos para várias combinações de políticas ATS. Procure o resultado do teste utilizando o ATS com o modo FCP_v2.1 ativado:

  • Configuring NIAP TLS package version requirements

  • ---

  • FCP_v2.1

  • Result : PASS

  • ---

Se o resultado for "APROVADO", o servidor cumpre todos os requisitos.

Saiba mais sobre como identificar a origem das ligações bloqueadas

Resolução

Colabore com os proprietários dos servidores afetados para atualizar as respetivas configurações TLS. Os proprietários dos servidores podem ser internos, o serviço de gestão de dispositivos ou um fornecedor externo.

Ao contactar o proprietário de um servidor para resolução, partilhe este artigo e as mensagens de aviso específicas que observou.

A resolução poderá incluir o seguinte:

  • Atualize os servidores para suportar TLS 1.2 ou posterior (recomenda-se TLS 1.3)

  • Para servidores que suportam apenas TLS 1.2, devem suportar, no mínimo, algoritmos de troca de chaves que proporcionem Perfect Forward Secrecy (ECDHE), conjuntos de cifras AEAD baseados em AES-GCM com SHA-256, SHA-384 ou SHA-512, e a extensão de segredo principal alargada (RFC 7627).

  • Atualize os certificados para cumprir os requisitos ATS relativos ao tamanho da chave, algoritmo de assinatura e validade.

Recursos adicionais

Data de publicação: