¿Es posible tener un certificado SSL para la dirección IP, no el nombre de dominio?

282

Quiero que mi sitio use URL como http://192.0.2.2/... y https://192.0.2.2/...para contenido estático para evitar cookies innecesarias en la solicitud Y evitar una solicitud de DNS adicional.

¿Hay alguna forma de obtener un certificado SSL para este propósito?

Evgenyt
fuente
3
Esta pregunta puede ser de interés: puede, pero la dirección IP debe estar en una entrada SAN del tipo de dirección IP, no en el CN ​​del DN del sujeto.
Bruno
14
LetsEncrypt no lo hace. "" "" xxxx es una dirección IP. La autoridad de certificación Let's Encrypt no emitirá certificados para una dirección IP desnuda. "" "
kommradHomer
1
C / A Browser Forum proporciona un conjunto de políticas de emisión. Obviamente, es seguido por los navegadores. CA / B ya no permite direcciones IP. El IETF mantiene otro conjunto de políticas de emisión. La PKI de IETF se llama PKIX. PKIX permite direcciones IP. PKIX es seguido por la mayoría del software [gratis?], Como cURL y Wget. No puedo entender el certificado para 1.1.1.1 . Debe estar prohibido de acuerdo con las políticas de CA / B. Quizás CA / B cambió sus políticas.
jww

Respuestas:

170

Según esta respuesta , es posible, pero rara vez se usa.

En cuanto a cómo obtenerlo: tendería a tratar de pedir uno con el proveedor que elija e ingresar la dirección IP en lugar de un dominio durante el proceso de pedido.

Sin embargo, ejecutar un sitio en una dirección IP para evitar la búsqueda de DNS me parece una microoptimización innecesaria. Ahorrará unos pocos milisegundos en el mejor de los casos, y eso es por visita , ya que los resultados de DNS se almacenan en caché en varios niveles.

No creo que su idea tenga sentido desde el punto de vista de la optimización.

Pekka
fuente
9
AFAIK, 1 vez por minuto (caché DNS de Firefox) y 1 vez por 30 minutos para IE. Esto difiere del TTL de los registros DNS. También me lleva unos 20 ms, dependiendo del dominio y de la rapidez de los servidores NS (que también deben resolverse primero :)) También quiero evitar mis largas cookies (mis cookies de autenticación + Google Analytics) para cada solicitud estática. Por lo tanto, usar IP en lugar de comprar un dominio separado es bueno. Por cierto, stackoverflow, basecamphq usa un dominio separado para contenido estático. El uso de IP en su lugar eliminará también las solicitudes DNS innecesarias.
Evgenyt
12
Absolutamente entiendo su punto con las cookies, tiene toda la razón. Pero cambiar a una IP SSL para guardar los pocos ms de búsqueda de DNS me parece más complicado de lo que vale. Además, es posible que tenga problemas para llevar su IP con usted si alguna vez tiene que cambiar de proveedor; probablemente no sea posible. Mover un dominio es mucho más fácil, y debería ser posible mover un certificado con él hasta la mitad fácilmente.
Pekka
2
La herramienta Page Speed ​​de Google siempre sugiere "Servir los siguientes recursos de JavaScript desde el mismo host que el documento principal (xxxx.com), o diferir la carga de estos recursos si es posible". No califico la herramienta Page Speed ​​como biblia, pero de todos modos eso significa que la optimización de DNS no fue inventada por mí. Solo estoy tratando de hacer que mi lista de verificación de Velocidad de página sea verde siempre que sea posible.
Evgenyt
11
@Evgenyt: No creo que se deba a la búsqueda de DNS, que, como se indicó, se almacena en caché en tantos niveles que no puede ser un problema de rendimiento. Lo más probable es que permita a los navegadores canalizar sus solicitudes. Mantener abierta la conexión al host, evitando así la configuración de conexiones adicionales.
vdstw
55
Estoy de acuerdo con la respuesta Además, encontramos un problema con dicha configuración. Resultó que el navegador Chrome (39.0.2171.93) en el sistema operativo Android (4.4,5.0; funciona en 4.0,4) no reproduce archivos de audio a través de HTTPS si la dirección IP se utiliza como objetivo del certificado. Solíamos usar dicha configuración para nuestro entorno de prueba, pero comenzaremos a usar nombres de dominio.
ENargit
58

La respuesta corta es sí, siempre que sea una dirección IP pública.

No se permite la emisión de certificados a direcciones IP reservadas, y todos los certificados emitidos previamente a direcciones IP reservadas se revocaron a partir del 1 de octubre de 2016.

Según el foro de CA Browser, puede haber problemas de compatibilidad con los certificados para las direcciones IP a menos que la dirección IP esté en los campos commonNamey subjectAltName. Esto se debe a las implementaciones de SSL heredadas que no están alineadas con RFC 5280, en particular, el sistema operativo Windows anterior a Windows 10.


Fuentes:

  1. Orientación sobre direcciones IP en certificados CA Browser Forum
  2. Requisitos básicos 1.4.1 Foro del navegador de CA
  3. El (que pronto será) un nombre no tan común unmitigatedrisk.com
  4. RFC 5280 IETF

Nota: una versión anterior de esta respuesta indicaba que todos los certificados de dirección IP se revocarían el 1 de octubre de 2016. Gracias a Navin por señalar el error.

regdoug
fuente
55
No es cierto, globalsign todavía emite certificados para IP. El Certificate Authority / Browser Forum no le gusta ver IP privadas en certs pero no tiene nada en contra de IP públicas.
Navin
1
Parece que mi información puede estar desactualizada. Lo investigaré más y luego lo editaré si es correcto.
regdoug
No es cierto, mire 1.1.1.1 Obtienen un certificado SSL para IP en 2019 y válido para 2021 de DigiCert
hombre de bronce
@bronzeman que es una dirección IP pública, así que sí, puede obtener un certificado para ello. Las únicas direcciones a las que no se les puede emitir un certificado son en.wikipedia.org/wiki/Reserved_IP_addresses
regdoug el
@DustWolf, según RFC 5280, "Cuando la extensión subjectAltName contiene una iPAddress, la dirección DEBE almacenarse en la cadena de octetos en" orden de bytes de red ", como se especifica en [RFC791]. ... Para la versión IP 4 ..., la cadena de octetos DEBE contener exactamente cuatro octetos ". En resumen, no puede usar una subred en el campo
subjectAltName
31

La respuesta, supongo, es sí. Verifique este enlace, por ejemplo.

Emitir un certificado SSL a una dirección IP pública

Un certificado SSL generalmente se emite a un Nombre de dominio completo (FQDN) como " https://www.domain.com ". Sin embargo, algunas organizaciones necesitan un certificado SSL emitido a una dirección IP pública. Esta opción le permite especificar una dirección IP pública como el Nombre común en su Solicitud de firma de certificado (CSR). El certificado emitido se puede usar para proteger las conexiones directamente con la dirección IP pública (por ejemplo, https://123.456.78.99 .).

Klaus Byskov Pedersen
fuente
55
¿Funciona también con IP privada estática? ¿Te gusta una LAN?
Mr Bonjour
@Klaus Byskov Pedersen ¿Podría proporcionarme un recurso sobre cómo hacer esto?
reyhane
2
@ShivSingh ¿Alguna fuente? No creo que ninguna CA conocida emita un certificado a una dirección IP privada.
Franklin Yu
22

Sí. Cloudflare lo usa para su página de inicio de instrucciones DNS: https://1.1.1.1

mehulmpt
fuente
8
Esto no es exactamente lo que parece. Si inspecciona el certificado, el Common Namecampo está cloudflare-dns.comy 1.1.1.1solo aparece en Certificate Subject Alt Name.
bitinerant
3
@bitinerant el nombre común se ignorará si hay un nombre alternativo de sujeto . De hecho, el nombre común está en desuso y solo la SAN es realmente relevante.
Yogu
3

El foro del navegador C / A establece qué es y qué no es válido en un certificado, y qué CA debe rechazar.

De acuerdo con sus requisitos de referencia para la emisión y gestión de certificados de confianza pública , las AC no deben, desde 2015, emitir certificados donde el nombre común o los campos de nombres alternativos comunes contengan una IP reservada o un nombre interno, donde las direcciones IP reservadas son IP que la IANA ha incluido como reservada, que incluye todas las IP de NAT, y los nombres internos son nombres que no se resuelven en el DNS público.

PUEDEN utilizarse las direcciones IP públicas (y el documento de requisitos básicos especifica qué tipos de comprobaciones debe realizar una CA para asegurarse de que el solicitante posee la IP).

Chris Becke
fuente
0

Depende completamente de la Autoridad de Certificación que emite un certificado.

En cuanto a Let's Encrypt CA, no emitirán el certificado TLS en la dirección IP pública. https://community.letsencrypt.org/t/certificate-for-public-ip-without-domain-name/6082

Para conocer su autoridad de certificación, puede ejecutar el siguiente comando y buscar una entrada marcada a continuación.

curl -v -u <username>:<password> "https://IPaddress/.."

ingrese la descripción de la imagen aquí

Shahid Hussain
fuente