AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1524395
Accepted
machineghost
machineghost
Asked: 2020-02-11 19:44:11 +0800 CST2020-02-11 19:44:11 +0800 CST 2020-02-11 19:44:11 +0800 CST

Como meu sistema operacional (Linux) invalida um Certificado de Segurança?

  • 772

Consigo acessar o site https://ce.uci.edu em máquinas não Linux (incluindo meu telefone) sem problemas. Mas quando navego até ele no meu computador Linux, no Chrome ou no Firefox, recebo um erro "NET::ERR_CERT_AUTHORITY_INVALID".

Por que meu sistema operacional está causando isso e outros não? A validação do certificado de segurança não deveria ser independente do sistema operacional?

Isso cria uma conversa estranha com o departamento de TI porque eles não veem nenhum problema.

linux https
  • 1 1 respostas
  • 225 Views

1 respostas

  • Voted
  1. Best Answer
    user1686
    2020-02-11T21:52:40+08:002020-02-11T21:52:40+08:00

    O servidor não está enviando o certificado "intermediário" (também conhecido como "cadeia"), então o cliente simplesmente não tem informações suficientes para verificar.

    O navegador da área de trabalho e/ou o sistema operacional examinam esse problema, armazenando em cache todos os certificados intermediários que ele vê. Quando você visita este site, o navegador usa seu cache para completar a cadeia. Navegadores móveis e aplicativos que não são navegadores geralmente não fazem isso.

    Isso cria uma conversa estranha com o departamento de TI porque eles não veem nenhum problema.

    Eles não sabem como verificar corretamente, além de apenas abrir o site em um navegador. ("Se abrir, funciona.")

    Tente fornecer a eles, por exemplo, os resultados da verificação de https://www.ssllabs.com/ssltest/ , que é um site amplamente usado que tenta detectar exatamente esse tipo de configuração incorreta, entre outros.

    A validação do certificado de segurança não deveria ser independente do sistema operacional?

    O processo em si – sim (principalmente; pode ficar complicado).

    (Vamos ignorar problemas triviais como bugs ou relógios incompatíveis.)

    Listas de CA raiz "confiáveis"

    A primeira diferença é que muitos navegadores não usam suas próprias listas de emissores de certificados "confiáveis" – eles delegam essa parte ao sistema operacional, e cada sistema operacional pode ter uma lista diferente. A Microsoft e a Apple certamente têm seus próprios programas emissores confiáveis ​​para seus sistemas operacionais, enquanto a maioria das distribuições Linux usa a lista da Mozilla. (Acredito que o Google também tenha o seu próprio especificamente para Android, mas não para o Chrome de desktop.)

    • Por exemplo, IE e Edge/UWP sempre usam a pilha TLS 'SChannel' do Windows, incluindo sua verificação de certificado e lista CA raiz.
    • O Chrome também chama as funções de certificado TLS do Windows (e, portanto, usa a lista de CA do Windows), apesar de usar sua própria biblioteca 'BoringTLS' para o restante. No entanto, ele aplica políticas personalizadas além da verificação básica de CA, por exemplo, rejeitando certos tipos de assinatura com base na data de emissão.
    • O Firefox tem a lista Mozilla CA integrada e faz tudo internamente em sua biblioteca 'NSS'. Novamente, ele pode adicionar restrições de política além da verificação padrão.
      • Mas no Windows, o Firefox pode, opcionalmente , carregar CAs raiz instaladas pelo administrador da lista de sistemas operacionais, além da lista integrada. (É importante ressaltar que, mesmo que esse recurso seja ativado manualmente, ele ainda não carrega as CAs padrão.)
      • Da mesma forma no Linux, algumas distribuições do Linux corrigem o NSS (e, portanto, o Firefox) para sempre usar a lista CA de todo o sistema em vez da lista interna. Isso carrega as CAs padrão do sistema .
    • A maioria dos aplicativos que não são de navegador no Windows usa SChannel, mas alguns usam OpenSSL. É relativamente difícil fazer com que o OpenSSL adie a verificação TLS do Windows da mesma forma que o Chrome, então esses aplicativos frequentemente agrupam seu próprio conjunto de CA (um arquivo chamado curl-ca-bundle.crt, que é uma cópia da lista do Mozilla) e, às vezes, esse arquivo fica bastante desatualizado.
    • Então tem Java...

    Cache

    Há também a questão do "cache intermediário". Os certificados da web comerciais são sempre emitidos usando pelo menos um sistema de 2 camadas: a CA raiz é protegida offline e só emite certificados "intermediários", e apenas esses certificados estão online e têm permissão para emitir os certificados do servidor. Para passar na verificação, o cliente precisa conhecer toda a “cadeia”.

    Normalmente, o cliente possui apenas as CAs raiz e o servidor envia os certificados intermediários. Mas às vezes o administrador do sistema configura incorretamente o servidor (ou é impossível configurar corretamente) de modo que os intermediários não sejam enviados e a cadeia de verificação seja interrompida. Por exemplo, seu site usa um certificado emitido por "InCommon RSA Server CA", que está um nível abaixo de uma CA raiz. Mas ele não envia o certificado InCommon em si, portanto, é impossível compará-lo com a lista de "CA raiz confiável".

    Para lidar com esses erros, alguns navegadores – e alguns sistemas operacionais – criam um cache de CAs intermediárias vistas anteriormente. (O Windows armazena em cache aqueles que teve que baixar por conta própria; o Firefox armazena em cache todos os intermediários que viu.) Isso significa que, se você estiver visitando um site mal configurado, o sucesso/falha agora pode variar de usuário para usuário , pois todos eles têm diferentes caches construídos.

    Isso se torna especialmente prejudicial quando a resposta automática do administrador do sistema é "Funciona bem no meu sistema", porque eles podem, sem saber , fazê - lo funcionar apenas no sistema.

    construção de cadeia

    Às vezes, é possível que várias cadeias sejam válidas para o mesmo certificado, devido a "assinaturas cruzadas" feitas. Por exemplo, os certificados Let's Encrypt podem ser enraizados no "DST Root CA X3" da IdenTrust ou podem ser enraizados em seu próprio "ISRG Root X1" novinho em folha, dependendo do que o cliente possui e de quais intermediários o servidor envia ( poderia enviar mais de um).

    Alguns sites de mil/gov dos EUA usam seus próprios certificados PKI federais, em vez de certificados de uma CA comercial. O Windows é o único sistema operacional que vem com uma CA raiz "confiável" para isso; outros navegadores não a aceitarão, a menos que você instale manualmente algumas CAs raiz. E, dependendo de quais CAs raiz você instalar, o mesmo site pode ter muitos caminhos de confiança possíveis, às vezes até 6 a 7 certificados na cadeia.

    Diferentes navegadores – especialmente aqueles que transferem a verificação para o sistema operacional – podem apresentar diferentes cadeias possíveis nessa situação – por exemplo, o Windows é muito flexível, enquanto o OpenSSL costumava ser muito inexistente antes de 1.1.x, e o Firefox passou por três reescritas de seu código de construção de encadeamento. (A biblioteca atualmente usada, mozilla::pkix, era inicialmente chamada de "insanity::pkix" e isso deve lhe dar uma dica de como ela pode ser desnecessariamente complexa.)

    autoridadeInformaçõesAcesso

    Mencionei que o Windows é capaz de baixar esses intermediários ausentes por si só - embora tecnicamente seja um recurso padrão, alguns navegadores se recusam completamente a implementá-lo devido a questões de privacidade e outros não se preocupam com isso devido à complexidade adicional desnecessária. Isso cria mais uma diferença entre o Windows e o Linux.

    (Novamente, esse recurso é muito usado na "PKI federal" dos EUA, onde as assinaturas cruzadas são comuns e o sistema começa a parecer mais uma malha do que uma hierarquia enraizada. Por exemplo, a organização A pode reconhecer a cadeia A→B→C→ D, outro pode reconhecer B→A→C→D ou B→C→D com exatamente o mesmo certificado de servidor D.)

    • 10

relate perguntas

  • Como eu faria minha máquina Linux parecer que está executando o Windows?

  • Existe um equivalente a cd - para cp ou mv?

  • execute o contêiner do docker como root

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve