Certificado SSL para una dirección IP pública?

10

Intenté comprar un Comodo Positive SSL pero fue rechazado por no admitir una dirección IP pública, sino que solo admite un nombre de dominio.

¿Alguien conoce algún proveedor de certificados SSL que admita una dirección IP pública en lugar de un nombre de dominio?

Mi empresa tiene un servidor dedicado alojado con una empresa de alojamiento web, que se utiliza para ejecutar un rastreador de errores para múltiples proyectos (para múltiples clientes). Como solo se usa para un rastreador de errores, no necesitamos un nombre de dominio (nuestros clientes acceden a él escribiendo la IP pública en su navegador).

motor en serie
fuente
2
Configuraría un nombre de dominio para que no tenga que recordar la dirección IP cuando se encuentre en una ubicación donde no lo haya marcado. Además, cuando cambie las direcciones IP, será transparente.
Mark Wagner

Respuestas:

16

Creo que puedes hacer esto, pero no de la forma en que intentas hacerlo.

Un certificado SSL es una declaración que vincula una clave de cifrado pública a una estructura X.500 que incluye un elemento CN o Common Name; un certificado firmado es aquel en el que el enlace está verificado de manera verificable por una autoridad de certificación de terceros, utilizando una clave pública ya conocida por los usuarios finales (esa pila de certificados de la Autoridad de Certificación (CA) que se encuentran dentro de su navegador).

Cuando visita un sitio web seguro con SSL con un navegador, el CN ​​firmado se da a conocer al navegador. Lo que el navegador elija hacer con él depende del navegador. Los navegadores que conozco lo comparan con el nombre de host solicitado y producen un error si es diferente (o si ese enlace certificado no resiste el análisis, por ejemplo, el navegador no conoce el certificado de firma o el enlace está fuera) de fecha, pero ese es un problema diferente). En principio, no hay nada que le impida obtener un certificado firmado públicamente donde el CN ​​es una dirección IP, no un FQDN (nombre de dominio completo) [1], pero eso no hará que el navegador mágicamente compare el CN ​​con el IP dirección, en lugar de con el nombre de host solicitado .

Sospecho que la forma más sencilla de resolver su problema es iniciar su propia CA, que es fácil de hacer, y hay muchos tutoriales públicos sobre; uno esta aqui . Una vez que sus usuarios finales importen su CA en sus navegadores, todos los certificados que emita serán aceptados como autorizados.

Es posible que tenga un segundo problema, ya que desea ejecutar muchos sitios NameVirtualHost en una sola dirección IP. Históricamente, esto ha sido insuperable, ya que (a diferencia de TLS) la negociación SSL ocurre antes que nada en una conexión; es decir, el CN ​​incrustado en su certificado es conocido y utilizado por el cliente antes de que el cliente pueda decir a qué host está intentando conectarse.

Recientemente, parece haberse introducido una extensión de protocolo llamada SNI (Indicación de nombre de servidor), que permite al cliente y al servidor indicar que les gustaría hacer algunas cosas de nombre de host antes de presentar el certificado SSL, lo que permite el correcto de un conjunto de certificados que debe dar el servidor. Aparentemente, esto requiere apache 2.2.10, una versión suficientemente reciente de OpenSSL y (lo más importante ) soporte del lado del cliente.

Entonces, si tuviera que hacer lo que está tratando de hacer, estaría pensando en acuñar mi propio certificado CA, diciéndoles a mis usuarios finales que tienen que usar navegadores que admitan SNI e importar mi certificado raíz CA, y cortar y firmar mis propios certificados SSL para cada sitio de bugtrack.

[1] OK, puede que no hayas encontrado a nadie que lo haga, pero eso es un detalle de implementación. Lo que estoy tratando de mostrar aquí es que incluso si lo hicieras, no resolvería tu problema.

MadHatter
fuente
44
Para una aplicación específica, ¿por qué no? Si el proveedor de la aplicación lo acuña, y no confías en él, de todos modos estás jodido con respecto a esta aplicación, ya que tiene la clave SSL privada y puede descifrar las cosas de todos modos. y si eso les preocupa tanto, puede cortar certificados autofirmados para cada uno de sus sitios buqtrack, y pueden importarlos según sea necesario.
MadHatter
2
@Tom: si no confías en la persona que te ofrece el certificado en el ejemplo anterior, ¿por qué estarías haciendo negocios con ellos en primer lugar? Si el certificado SSL es emitido o no por / con el apoyo de / una CA conocida es la menor de sus preocupaciones. Confíe en WRT si confía datos a una aplicación 'en línea'.
Rob Moir
2
Supongo que el temor es que, dado que parece que no hay forma de instalar una CA como autorizada solo para ciertos dominios, una vez que instalan mi raíz de CA, puedo certificar sitios de banca en línea tan fácilmente como mi propia aplicación de seguimiento de errores. Si puedo envenenar su caché de DNS, puedo realizar un ataque man-in-the-middle en su banca en línea. Si esto realmente les preocupa y no quieren usar un navegador personalizado para este proyecto, entonces, como dije anteriormente, podría cortar un certificado autofirmado para cada rastreador de errores individual, que los clientes podrían instalar según sea necesario.
MadHatter
1
Tom, de hecho estoy de acuerdo con esa razón para querer usar un certificado 'confiable'. De hecho, estoy de acuerdo con ella al 100%. Sin embargo, no fue así como apareció su comentario original.
Rob Moir el
1
Nombre de dominio llameante? Mi lengua materna no es el inglés, ¿puedes explicar eso? Además, mi jefe prefiere usar una IP pública, tal vez no quiere que el sitio sea encontrado por el motor de búsqueda (¿pueden los motores de búsqueda encontrar el sitio aunque no tenga un nombre de dominio?)
motor serial
10

Hay una autoridad de certificación raíz que conozco que se rellena previamente con todos los principales navegadores y emite certificados SSL en direcciones IP públicas: eche un vistazo a GlobalSign . Leen la información RIPE para validar su solicitud de certificado, por lo que es posible que desee verificar primero que la entrada RIPE se emita con el nombre correcto.

En lo que respecta a los comentarios que ha recibido esta entrada:

, es preferible comprar un nombre de dominio y emitir un certificado SSL en ese CN. También es menos costoso que la opción GlobalSign anterior.

Pero , hay casos en los que los certificados SSL con una IP pública como CN son útiles. Muchos proveedores de internet y gobiernos bloquean sitios no deseados basados ​​en la infraestructura de DNS. Si está ofreciendo algún tipo de sitio que probablemente esté bloqueado, por ejemplo por razones políticas, es una buena opción tener este sitio accesible a través de su dirección IP pública. Al mismo tiempo, usted va a querer cifrar el tráfico para los usuarios y que no quiere que sus usuarios no tecnología para pasar por la molestia de hacer clic a través de las advertencias de excepción de seguridad de su navegador (ya que el CN del certificado no coincide el actual ingresado). Hacer que instalen su propia CA raíz es aún más complicado y no realista.

semanticalo
fuente
En particular, "un servidor dedicado alojado con una empresa de alojamiento web" apenas tendrá una entrada RIP propia, sino que la red circundante tendrá una entrada RIPE (sobre la compañía de alojamiento)
Hagen von Eitzen
1

Continúa y compra el nombre de dominio. Son baratos, no seas más barato que eso. Solo necesitas uno. Tal vez incluso solo configure bugtracker.yourcompany.com.

Luego, para cada rastreador de errores, configure un subdominio para ese nombre. Obtenga un certificado SSL para cada uno de esos subdominios. Dado que parece particularmente reacio a los costos, la empresa con la que desea hacer negocios se llama StartSSL.

http://www.startssl.com/

La razón por la que desea usarlos es porque (además de ser confiables por los principales navegadores) sus certificados no cuestan un brazo y una pierna. El tipo más básico de cert es realmente, honestamente, sin ninguna mierda. Verifican su identidad, luego le permiten emitir tantos como necesite. Si desea certificados más sofisticados (que normalmente cuestan varios cientos de dólares), está buscando alrededor de $ 50 por 2 años para admitir SSL para múltiples dominios en una sola IP.

Son súper baratos para lo que obtienes. Emiten certificaciones reales, confiables por los navegadores de sus clientes, y no pruebas de 90 días como lo hacen otros lugares.

Paul McMillan
fuente
1
Creo que tampoco entiendo eso. Un certificado SSL emitido correctamente es un token de identificación por sí mismo; la autoridad de certificación no brinda ningún servicio después del problema. Mi sitio está protegido con un certificado RapidSSL, pero si se declararan en quiebra mañana, mi certificado sería tan efectivo como lo es ahora.
MadHatter
2
¿Cuántos de sus clientes van a hacer una verificación de antecedentes completa de su proveedor de SSL? Realmente tendrían que cavar antes de darse cuenta de que estaban haciendo negocios con una compañía que hacía negocios con una compañía israelí. Como dijo MadHatter, la inestabilidad política tiene muy poco que ver con si su certificado es válido o no. Una vez emitido, es válido hasta que caduque, punto final. Pero es genial si quieres pagarle a otro registrador dinero ridículo por algo que no es técnicamente complicado. Los certificados SSL son una de las estafas más ridículas de la historia.
Paul McMillan
2
Oye, todo lo que se necesita es un solo cliente para eliminarlo. Lo siento ya que no estoy muy claro desde el principio. Mi país no permite que su gente haga negocios con Israel. Eso es todo.
motor serie
1
Sí, eso habría sido algo más útil para decir. Los certificados SSL son innecesariamente caros, pero en la escala de hacer negocios, el costo es casi nulo.
Paul McMillan
2
"Una vez que se emite, es válido hasta que caduque, punto final". A menos que contenga información de revocación, se revoque y el cliente aplique la verificación de revocación. Y una CA que se hunde probablemente se vería obligada a revocar todos sus certificados. Solo digo
Ryan Bolger