¿Cuál es el peligro de alojar su certificado SSL usted mismo?

10

Tengo Active Directory Certificate Services en mi servidor, lo que me permite entregar un certificado SSL para los sitios web alojados en el mismo servidor.

Sé que normalmente necesito adquirir un certificado de una autoridad de certificación conocida. Pero tengo mis razones para no hacerlo. Ese no es el punto.

La pregunta es, ¿cuál podría ser (si existe) el riesgo de seguridad de hospedar el certificado usted mismo, en lugar de utilizar los servicios de una autoridad conocida?

¹ Las razones son que (1) soy un geek y es divertido crear tus propios certificados, que (2) quiero probar los Servicios de Certificate Server, y que (3) no me importa Los navegadores se quejan del hecho de que no saben de mí, porque yo seré el único en usar HTTPS.

    
pregunta Arseni Mourzenko 11.04.2012 - 15:22
fuente

7 respuestas

25

El uso de un certificado SSL para sus sitios web principalmente le proporciona dos cosas:

  1. Prueba de identidad de que su sitio web es quien dice que es
  2. Transmita el cifrado de los datos entre el servidor web y el cliente

Al hacer lo que propone, que normalmente se denomina autofirma, le impide confiar en la prueba de identidad. Al utilizar una CA de confianza conocida, el cliente puede seguir la cadena de firmas desde el certificado que presenta hasta una CA de confianza de nivel raíz y obtener cierta confianza de que usted es quien dice ser. (Cabe señalar que esta confianza es más parecida a la fe, ya que los compromisos de CA ocurren y algunas CA se toman las pruebas mucho más en serio que otras).

Sin embargo, todavía tendrá el cifrado de datos. Entonces, si no necesitas el aspecto de confianza, entonces deberías estar bien. Personalmente, tengo varios sitios web y aplicaciones web en casa para los que uso certificados autofirmados. Como soy el único usuario, puedo verificar el certificado de forma manual de manera razonable sin necesidad de que un tercero me diga que la computadora debajo de mi escritorio es realmente la computadora debajo de mi escritorio.

    
respondido por el Scott Pack 11.04.2012 - 15:59
fuente
11

Supongo que te refieres a emitir o firmar tus propios certificados, no realmente hospedarlos .

Desde un punto de vista de seguridad pura (cifrado / confidencialidad de datos), un certificado X.509c3 es un certificado X.509c3 y ofrece la misma seguridad para la misma cantidad de bits. Por lo tanto, un certificado de 2048 bits emitido por Verisign es tan seguro como un certificado de 2048 bits emitido por usted mismo.

Desde el punto de vista de la confianza (identidad): para el usuario de Internet promedio, Verisign u otro tercero puede ser visto como más confiable. Sin embargo, si está haciendo esto para una comunidad cercana que ya confía en usted, entonces este artículo también es un lavado.

Desde el punto de vista de la gestión de riesgos, debe decidir si usted o un tercero tienen una mayor posibilidad de un error y si los beneficios superan los costos.

    
respondido por el Mark Beadles 11.04.2012 - 16:02
fuente
10

La forma correcta de hacerlo es ejecutar su propia CA privada. Luego puede usar Active Directory para enviar la clave pública de la CA (autofirmada) a todas las computadoras cliente en su red. Si lo haces bien, nadie debería ver las advertencias de certificación de sus navegadores.

Este es un enfoque perfectamente razonable para el uso en una red interna (por ejemplo, una red de empresa), si no es pública. Aquí están los riesgos:

  • Su seguridad es tan buena como la seguridad de su operación privada de CA. Si la clave privada para la CA privada se filtra a un atacante, o si un atacante viola la seguridad del sistema donde se almacena la clave privada de la CA, todos sus clientes se vuelven vulnerables a los ataques indetectables del hombre en el medio. Eso sería malo. Se aplican riesgos similares si su CA privada alguna vez firma una clave pública no confiable. Estos son problemas con los que deben lidiar las principales entidades emisoras de certificados; Si te conviertes en tu propia CA, también tendrás que lidiar con ellos.

  • Su seguridad es tan buena como la seguridad de Active Directory. Si un administrador del sistema con control sobre el servicio de Active Directory tiene su cuenta pirateada, los ataques a todos sus clientes nuevamente serán posibles. Así que asegúrese de que su servicio de Active Directory esté bien protegido.

  • Si tiene algún usuario que se está conectando a su servicio web interno desde una máquina que no administra y que no está conectada a través de su Active Directory, verán errores de certificación desde su navegador, porque su navegador no lo hará. t ha recibido la clave pública de su CA privada a través de Active Directory. Eso es malo, porque entonces esos usuarios no tendrán forma de verificar la autenticidad de su servicio web interno y no podrán protegerse de un ataque de hombre en el medio. También es malo, ya que entrena a esos usuarios a ignorar los errores de certificación, lo que puede hacerlos vulnerables en el resto de su uso de Internet.

    Este es un riesgo creciente para muchas organizaciones hoy en día, dada la tendencia hacia "traer sus propios dispositivos" que muchas empresas están adoptando. Por ejemplo, muchos empleados desean acceder a servicios web internos desde sus propios teléfonos inteligentes, iPads, etc., y para ahorrar costos, muchas empresas quieren que lo hagan. Esos dispositivos no se administrarán a través de su Active Directory y, por lo tanto, presentarán este tipo de riesgo.

Todos estos riesgos pueden administrarse a través de los procesos apropiados, pero usted debe conocer los riesgos y establecer los procesos adecuados para enfrentarlos.

    
respondido por el D.W. 12.04.2012 - 04:30
fuente
4

Alojar su propio certificado ciertamente no es un problema.

Supongo que te refieres a emitir tu propio certificado (ya sea autofirmado o a través de tu propia CA). Por supuesto, tendría que proteger su clave privada, pero ese es el caso de cualquier certificado de servidor. Si está utilizando su propia CA, su clave privada ni siquiera tiene que estar alojada en ningún servidor en principio.

Si elige usar su propia CA (o un certificado autofirmado) en lugar de una CA comercial, ciertamente no es un riesgo de seguridad (podría mejorar la confianza que tiene en ese servidor). Sin embargo, como decía en esta respuesta relacionada , la elección de CA siempre debe considerarse desde el punto de vista del usuario de vista. Como proveedor de servicios, solo importa porque quiere que el usuario confíe en el certificado de su servicio.

La ventaja de las CA comerciales aquí es que están integradas en la mayoría de los navegadores de forma predeterminada, lo que significa que los usuarios no necesitan configuraciones adicionales para confiar en su propia CA. Es simplemente la ruta fácil porque los usuarios que no saben nada acerca de los certificados no tienen que hacer preguntas (lo cual no es bueno, pero la conveniencia gana ...)

    
respondido por el Bruno 11.04.2012 - 16:38
fuente
2

Suponiendo que esto solo se use en su red privada:

También puede ejecutar su propia CA local. Luego genera solicitudes de firma de certificado y las firma con la computadora que configuró como su CA. Luego le da a todas sus computadoras en la red el certificado de CA para que confíen en su CA. De esta manera, puede emitir sus propios certificados para su propio uso y no recibirá esa molesta advertencia de su navegador.

enlace

    
respondido por el k to the z 11.04.2012 - 16:20
fuente
2

Un problema de seguridad es que no puede revocar un certificado autofirmado si está comprometido.

Sin embargo, en su escenario específico, usted controla todos los clientes, así como el servidor, por lo que esto no será un problema.

Y, por supuesto, ya que estás haciendo esto para divertirte con los geeks, es muy probable que vayas todo el tiempo y establezcas una CA privada, como han sugerido otros: en cuyo caso podrás revocar.

    
respondido por el Graham Hill 11.04.2012 - 17:18
fuente
1
  

No me importan los navegadores quejándose del hecho de que no lo hacen.   Saber de mí, porque seré el único en usar HTTPS.

El riesgo de seguridad (suponiendo que su certificado de CA no está instalado en los clientes) es que ahora está abierto a ataques de intermediarios. Alguien puede pretender ser el servidor, canalizar todas las comunicaciones al servidor real, y el cliente no tendrá idea de que está hablando con el servidor incorrecto. En otras palabras, prácticamente no tiene ninguna seguridad. Hay una razón por la que el navegador se queja. Si la seguridad no es un problema, entonces no tiene ningún problema :-)

Si apunta su navegador al sitio web de su banco y presenta un certificado autofirmado (o cualquier certificado no verificable), ¿escribiría sus credenciales? Mala idea.

Tener un certificado raíz de confianza es la forma en que los clientes verifican que los servidores son quienes dicen ser, lo que constituye un componente crítico de un sistema de clave pública (suponiendo que las partes no puedan intercambiar las claves públicas a través de algún medio seguro).

Tenga en cuenta que puede emitir sus propios certificados que aún tienen una cadena de confianza para una CA conocida, no todos los certificados que use deben ser emitidos por una CA conocida, todo lo que necesita es una cadena de confianza para esa CA. Así que básicamente estás actuando como un CA "intermedio". Como han señalado otros, también puede tener su propia CA "raíz" y emitir certificados firmados por eso. Sin embargo, la clave es tener alguna forma de enviar ese certificado raíz a los clientes, luego el navegador no te avisará y tendrás la seguridad que deseas ...

    
respondido por el Guy Sirton 12.04.2012 - 03:45
fuente

Lea otras preguntas en las etiquetas