¿Por qué mi navegador piensa que https://1.1.1.1 es seguro?

133

Cuando visito https://1.1.1.1 , cualquier navegador web que uso considera que la URL es segura.

Esto es lo que muestra Google Chrome:

Barra de direcciones de Google Chrome 65.0.3325.181 que muestra https://1.1.1.1

Normalmente, cuando intento visitar un sitio HTTPS a través de su dirección IP, recibo una advertencia de seguridad como esta:

Barra de direcciones de Google Chrome 65.0.3325.181 que muestra https://192.168.0.2

Según tengo entendido, el certificado del sitio debe coincidir con el dominio, pero el Visor de certificados de Google Chrome no muestra 1.1.1.1:

Visor de certificados: * .cloudflare-dns.com

Artículo de la base de conocimiento de GoDaddy "¿Puedo solicitar un certificado para un nombre de intranet o dirección IP?" dice:

No, ya no aceptamos solicitudes de certificados para nombres de intranet o direcciones IP. Este es un estándar de toda la industria , no uno específico para GoDaddy.

( énfasis mío)

Y también:

Como resultado, a partir del 1 de octubre de 2016 , las Autoridades de Certificación (CA) deben revocar los certificados SSL que usan nombres de intranet o direcciones IP .

( énfasis mío)

Y:

En lugar de proteger las direcciones IP y los nombres de la intranet, debe reconfigurar los servidores para usar nombres de dominio completos (FQDN), como www.coolexample.com .

( énfasis mío)

Es mucho después de la fecha de revocación obligatoria del 1 de octubre de 2016, pero el certificado 1.1.1.1se emitió el 29 de marzo de 2018 (como se muestra en la captura de pantalla anterior).


¿Cómo es posible que todos los principales navegadores piensen que https://1.1.1.1 es un sitio web confiable de HTTPS?

Deltik
fuente
10
Vale la pena señalar que hay una gran diferencia entre 192.168.0.2 y 1.1.1.1. Uno 192.168.0.2no existe fuera de su intranet. Si creara su propio certificado autofirmado 192.168.0.2, sería de confianza, y podría usar el mismo enfoque para la SAN, en un dominio como fake.domain. Vale la pena señalar que 1.1.1.1no es una dirección IP reservada, por lo que parece que cualquier CA habría emitido el certificado.
Ramhound
12
blog.cloudflare.com/announcing-1111 "Estamos emocionados de hoy para dar otro paso hacia esa misión con el lanzamiento del 1.1.1.1 -. rápido, privacidad-primer servicio DNS de los consumidores de Internet"
11
Creo que te equivocaste de oración. Probablemente significaban 'debe revocar los certificados SSL que usan intranet (nombres o direcciones IP)' no '' deben revocar los certificados SSL que usan (nombres de intranet) o direcciones IP '.
Maciej Piechotka
1
@MaciejPiechotka es correcto, esto significa "debe revocar los certificados SSL que usan nombres de intranet o direcciones IP de intranet"
Ben
2
Por cierto ... no hay tal cosa como una revocación obligatoria. Literalmente, ninguna organización en la Tierra tiene ese tipo de poder. Lo más cerca que se encuentra es un montón de AC que aceptan hacer algo.
cHao

Respuestas:

95

El inglés es ambiguo . Lo estabas analizando así:

(intranet names) or (IP addresses)

es decir, prohibir el uso de direcciones IP numéricas por completo. El significado que coincide con lo que estás viendo es:

intranet (names or IP addresses)

es decir, prohibir los certificados para los rangos de IP privados como 10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16, así como para los nombres privados que no son visibles en el DNS público.

Los certificados para direcciones IP enrutables públicamente todavía están permitidos, pero generalmente no se recomiendan para la mayoría de las personas, especialmente para aquellos que tampoco poseen una IP estática.


Esta declaración es un consejo, no una afirmación de que no puede asegurar una dirección IP (pública).

En lugar de proteger las direcciones IP y los nombres de la intranet, debe volver a configurar los servidores para usar nombres de dominio completos (FQDN), como www.coolexample.com

Tal vez alguien en GoDaddy estaba malinterpretando la redacción, pero lo más probable es que quisieran mantener sus consejos simples y recomendar el uso de nombres DNS públicos en los certificados.

La mayoría de las personas no usan una IP estática estable para su servicio. Proporcionar servicios de DNS es el único caso en el que es realmente necesario tener una IP estable y conocida en lugar de solo un nombre. Para cualquier otra persona, poner su IP actual en su certificado SSL restringiría sus opciones futuras, porque no podría permitir que otra persona comience a usar esa IP. Podrían hacerse pasar por su sitio.

Cloudflare.com tiene el control de la IP 1.1.1.1 abordar sí mismos, y no está planeando hacer algo diferente con ella en un futuro previsible, por lo que tiene sentido para ellos pongan su IP en su cert. Especialmente como proveedor de DNS , es más probable que los clientes HTTPS visiten su URL por número que cualquier otro sitio.

Peter Cordes
fuente
55
Esto responde exactamente por qué estaba confundido. Envié una sugerencia a GoDaddy para mejorar la redacción del artículo . Esperemos que lo arreglen para aclarar "(nombre del servidor interno) o (dirección IP reservada)" como se documenta en CAB Forum .
Deltik
14
Pendientemente, Cloudflare no "posee" la dirección 1.1.1.1. Es propiedad de APNIC Labs , que dio permiso a Cloudflare para operar un solucionador DNS allí a cambio de la ayuda de Cloudflare para estudiar el gran volumen de paquetes de basura que se dirigen por error a esa IP .
Kevin
12
Pendientemente, @Kevin, APNIC tampoco lo posee. Este artículo menciona la cuestión de la propiedad y utiliza la frase "asignado a". IANA, parte de ICANN, asignó el rango de direcciones a APNIC, quien asignó dichas direcciones a Cloudflare. Las direcciones IPv4 son simplemente una forma elegante de escribir un número del 0-4294967296 (si hace ping a 16843009 en muchos sistemas operativos, encontrará una respuesta de 1.1.1.1) y los EE. UU. No reconocerán tener un número (de ahí que por qué se hizo el nombre "Pentium")
TOOGAM
55
Lo de Intel fue un caso de marca registrada, no de propiedad ...
StarWeaver
3
@TOOGAM: Quiero decir que, en el sistema whois, que vinculé específicamente, 1.1.1.1 está asignado a APNIC Labs. Si va a elegir liendres sobre asignación versus propiedad, no tuerza el significado de "asignado".
Kevin
102

La documentación de GoDaddy está equivocada. No es cierto que las Autoridades de Certificación (CA) deben revocar los certificados para todas las direcciones IP ... solo direcciones IP reservadas .

Fuente: https://cabforum.org/internal-names/

La CA para https://1.1.1.1 fue DigiCert , que al momento de escribir esta respuesta, permite comprar certificados de sitio para direcciones IP públicas.

DigiCert tiene un artículo sobre esto llamado Emisión de certificado SSL de nombre de servidor interno después de 2015 :

Si usted es un administrador del servidor que usa nombres internos, debe reconfigurar esos servidores para usar un nombre público o cambiar a un certificado emitido por una CA interna antes de la fecha límite de 2015. Todas las conexiones internas que requieren un certificado de confianza pública deben realizarse a través de nombres que sean públicos y verificables (no importa si esos servicios son de acceso público).

( énfasis mío)

Cloudflare simplemente obtuvo un certificado para su dirección IP 1.1.1.1de esa CA confiable.

Analizar el certificado para https://1.1.1.1 revela que el certificado utiliza Nombres alternativos de sujeto (SAN) para abarcar algunas direcciones IP y nombres de dominio ordinarios:

deltik@node51 [~]$ openssl s_client -showcerts -connect 1.1.1.1:443 < /dev/null 2>&1 | openssl x509 -noout -text | grep -A1 'Subject Alternative Name:'
            X509v3 Subject Alternative Name: 
                DNS:*.cloudflare-dns.com, IP Address:1.1.1.1, IP Address:1.0.0.1, DNS:cloudflare-dns.com, IP Address:2606:4700:4700:0:0:0:0:1111, IP Address:2606:4700:4700:0:0:0:0:1001

Esta información también se encuentra en el Visor de certificados de Google Chrome en la pestaña "Detalles":

Visor de certificados: Detalles: * .cloudflare-dns.com

Este certificado es válido para todos los dominios enumerados (incluido el comodín *) y las direcciones IP.

Deltik
fuente
El enlace de tu artículo no parece estar funcionando. Lo mejor es citar la información relevante.
Ramhound
11
Creo que no es tan erróneo como engañoso. Debe estar entre corchetes ya que 'debe revocar los certificados SSL que usan intranet (nombres o direcciones IP)' no '' debe revocar los certificados SSL que usan (nombres de intranet) o direcciones IP '.
Maciej Piechotka
3
Bueno, hace decir "nombres o direcciones IP de intranet". Nombres de intranet o direcciones IP de intranet. No está mal, es solo el OP solo lo lee selectivamente.
Carreras de ligereza en órbita el
45

Parece que el nombre alternativo del sujeto del certificado incluye la dirección IP:

Not Critical
DNS Name: *.cloudflare-dns.com
IP Address: 1.1.1.1
IP Address: 1.0.0.1
DNS Name: cloudflare-dns.com
IP Address: 2606:4700:4700::1111
IP Address: 2606:4700:4700::1001

Tradicionalmente, supongo que solo habría puesto nombres DNS aquí, pero Cloudflare también ha puesto sus direcciones IP.

https://1.0.0.1/ también es considerado seguro por los navegadores.

Michael Frank
fuente
1
No veo cómo esto responde la pregunta. Publicar el contenido de un certificado no explica por qué se podría entregar dicho certificado.
Dmitry Grigoryev
18
@DmitryGrigoryev: Pero sí prueba que se entregó dicho certificado , lo cual fue un gran punto de confusión en la pregunta (el OP no pudo encontrar 1.1.1.1 en el certificado)
Las carreras de ligereza en órbita el
3
Esta respuesta efectivamente responde a la pregunta del autor. Si bien el autor entró en más detalles con respecto a su confusión, esto identifica el hecho, el certificado en cuestión es realmente válido. Como el autor de la pregunta, nunca nos dio lo que realmente dijo GoDaddy, difícil de responder a la pregunta con cualquier otra cosa.
Ramhound
44
@DmitryGrigoryev - Si la pregunta es "¿Por qué mi navegador piensa que 1.1.1.1 es seguro?" (el título de esta página) o "¿Cómo es posible que todos los principales navegadores piensen que 1.1.1.1 es un sitio web HTTPS confiable?" (la única pregunta real dentro del cuerpo), luego "porque 1.1.1.1 está listado como SAN en el certificado" claramente responde esa pregunta.
Dave Sherohman
@DmitryGrigoryev " no explica por qué se podría entregar dicho certificado ", entonces la pregunta no está clara, ya que ni siquiera contiene la información completa del certificado, y no es claramente una pregunta técnica sobre la implementación de TLS en los navegadores o una pregunta de política sobre CA, sino una mezcla de ambos
curiousguy