Conexões inseguras com certificado de emissão de CA

Conexões inseguras com certificado de emissão de CA

Importei um certificado de servidor web de um CSR vindo do meu Cisco C9300. O certificado veio da autoridade certificadora e mostra a CA correta no final da cadeia. CLI mostra que o certificado foi instalado corretamente sem problemas. O problema ocorre quando vou ao site seguro (https://) do switch, mas ele diz que a conexão não é segura. Eu verifico o certificado no navegador e ele mostra o certificado que recebi da CA. Por que parece inseguro mesmo que o certificado seja válido?

Ao acessar a página dizNET::ERR_CERT_COMMON_NAME_INVALID

ATUALIZAÇÃO 1: Graças a @Zac67 estou verificando as informações do Trustpoint. Quando acessamos o switch da página da web, usamos https://ipaddress. Posso criar o seguinte:

subject-name C=US, ST=Pennsylvania, L=My-Town, O=My-Org, OU=My-Department, CN=SWITCHNAME.DOMAIN.NET

Mas quando faço subject-alt-name 192.168.1.10isso me dá o seguinte erro:

CRYPTO_PKI: Label cannot be made only of digits. Also, ip addresses are not permitted

Tentei colocar o endereço no CN, mas também não funcionou. Ainda diz que o certificado não é válido.

ATUALIZAÇÃO 2:Estou usando o How-To localizadoaqui:para criar uma chave RSA. Com essa chave estou usando minha CA como ponto de confiança. Recebo a impressão digital para fornecer à minha CA da Microsoft um certificado de servidor Web. Eu obtenho o certificado WebServer da minha CA e importo-o com as mesmas instruções de como fazer para o switch. Em seguida, vou para a página da Web e ela diz que a página da Web não é válida. O certificado vem da CA do meu domínio. Não vejo como ele pensa que é inválido.

ATUALIZAÇÃO 3:Então estou analisando as sugestões do RICK sobre o SAN. Vou explicar que não usamos OpenSSL porque não temos permissão para fazê-lo. Temos que usar nossa CA na rede. Para o CN, configurei o CN para o endereço IP do certificado. Para a SAN Cisco tem comandos separados que dizem ip-addressque adiciona o endereço e lá eu tenho um comando diferente chamado subject-name-alternativedo qual não posso adicionar um endereço IP a esse comando porque não é permitido. Então, o que descobri posso fazer o seguinte:

CN pode ser o seguinte:

  • endereço de IP
  • nome de anfitrião
  • FQDN

SAN (Subject-Name-Alternative pode ser o seguinte:

  • nome de anfitrião
  • FQDN

O endereço IP pode ser adicionado ou não

Tentei uma mistura de todas essas coisas e ainda me diz que o certificado é inválido no EDGE com o erro: NET::ERR_CERT_COMMON_NAME_INVALID. Se você olhar o certificado do Edge, ele mostra o mesmo certificado se eu abri-lo sozinho com as mesmas impressões digitais.

Então, qual deve ser o CN ao acessá-lo a partir do endereço IP usando o Edge?

ATUALIZAÇÃO 4Além disso, ao fazer o seguinte para criar o CSR, adiciono a linha Endereço IP. Mas quando olho para o certificado, não parece que o endereço IP foi adicionado à SAN.Na verdade o certificado não possui SAN NENHUMA!Parece que algo está se perdendo na tradução.

crypto pki trustpoint my-trustpoint
enrollment terminal pem 
subject-name C=US, ST=Pennsylvania, L=My-Town, O=My-Org, OU=My-Department, CN=My-Switch.my-network.com
subject-alt-name my-switch.my-network.com
serial-number none
ip-address 192.168.1.51
revocation-check none
rsakeypair my-4096rsa-key
end

Alguma ideia de por que não está incluindo o endereço IP na SAN?

Responder1

Para elaborar o comentário de Ricky: o nome do host usado emhttps:// devecorresponda ao nome da entidade do certificado (SN) ou a um dos nomes alternativos da entidade (SAN). Se você usar o endereço IP simples, ele deverá estar presente como SAN. Mesmo a menor incompatibilidade causa um erro de certificado.

Certifique-se também de que o certificado CA raiz esteja presente no armazenamento confiável do cliente se você usar sua própria CA.

Responder2

Se a versão do Cisco IOS que você está usando não permitir a definição de um nome alternativo de assunto (SAN) baseado em IP, você deverá criar o CSR por meio de uma ferramenta diferente, como o openssl, para incluir o IP e, em seguida, assinar o CSR com sua CA.

Com o openssl você usará um openssl.cnfarquivo de configuração e anexará uma seção para incluir a SAN (isso também pode ser feito via CLI, mas fica um pouco mais complicado).

Para usar o arquivo de configuração a [req]seção deve incluir um req_extensionsparâmetro, algo como:

req_extensions = req_ext

O valor que você fornece é o "contexto" para a seção posterior que define quais extensões você deseja usar. Com req_exto valor, o resto da configuração seria algo como:

[ req_ext ]
subjectAltName = @alt_names 

[alt_names]
IP.1    = 192.168.1.10
  • Para confirmar se a solicitação de assinatura de certificado (CSR) gerada contém as entradas que você pode usar:
openssl req -noout -text -in switch.csr

Verifique oNome alternativo do assunto X509v3seção. Dentro deve haver entradas IP:que contenham tudo o que você definiu quando openssl.cnfgerou o CSR. Se o endereço IP que você espera que o certificado proteja não esteja listado nas entradas SAN do CSR, algo deu errado, qualquer certificado gerado de um CSR faltando os campos observará o erro que você mencionou, pois não protege o IP corretamente.

Se você vir as entradas de IP esperadas, passe o CSR para sua CA para assinatura e criação do certificado.

  • Para confirmar se o certificado assinado pela CA contém as entradas com um openssl recente, você pode usar:
openssl x509 -noout -ext subjectAltName -in switch.pem
  • Para confirmar se o certificado assinado pela CA contém as entradas com uma versão mais antiga do openssl (sem o sinalizador de extensões -ext), você pode usar:
openssl x509 -noout -text -in switch.pem

Usando qualquer um dos métodos acima, você pode investigar o certificado assinado antes da instalação. Verifica aNome alternativo do assuntovalores das seções. Se isso parecer correto, vá em frente e instale o novo certificado no seu switch.


Como alternativa, você também pode investigar os campos SAN por meio do navegador em busca de certificados já instalados. Dependendo do software do navegador e da versão, o layout das informações pode ser diferente.

Por exemplo, aqui está o Chrome, que requer clicar em HTTPS/Lock no navegador (ver informações do site), clicara conexão é seguraentão clicandoO certificado é válido, seu switch não diria válido, é claro, então cliqueO certificado não é válido.

Chrome: detalhes do certificado

No Firefox, revisando o certificado, clique também em HTTPS/Lock no navegador,Conexão segura(quando verdadeiro, é claro), entãoMais Informações

Firefox: Ver certificado

informação relacionada