inconsistencia de huella digital SSL: ¿qué significa?

18

Pido disculpas si este no es el mejor lugar para hacer mi pregunta en la red de Stack Exchange, no pude averiguar dónde obtener suficiente atención y ser relevante.

Facebook proporciona un host SSL, al que se puede acceder mediante enlace . Básicamente, como lo entiendo, los cambios en el certificado solo deben ocurrir cuando se va a eliminar el certificado anterior. Sin embargo, Perspectives (un complemento para Firefox, que comprueba las huellas dactilares de muchos servidores) encuentra inconsistencias en las huellas dactilares de Facebook. Estoy preocupado y me gustaría conocer su opinión sobre este asunto.

EDIT:explicacióndelacapturadepantalla

Lacolumnadeclavenotariayactualenumeratodoslosservidoresqueintentaronaccederawww.facebook.com,yquéhuelladigitalencontraronenelcertificadodelhost.Elhistorialdeclavesmuestraloscambiosclaveduranteunperíodode30días.Porlotanto,podemosconjeturarque:

  • Anivelmundial,seproducencambiosenelcertificado
  • Uncertificado(azul)pareceserelcertificadoprincipal
  • Losotrosloreemplazanavecesysonbastantesospechosos

¿PorquéFacebookcambiaríasucertificadodeestamanera?¿Esunaprácticacomún/segura?

EntiendoquelasPKIconautoridadesdecertificaciónnosonmuyseguras,séqueesfácilparaalgunaspersonas(yaseanricas,poderosasoconocedoras)obteneruncertificadoparaeldominioquedeseen.Peroantesdepasaraserparanoico,deseosabersihayunaexplicaciónlógicaquenotenganadaqueverconlaseguridad.

Amododecomparación,aquíestánlosresultadosnotarialespara enlace :

Los cambios en el certificado se producen con regularidad, sin embargo, la clave del navegador solo se puede ver una vez en un período de 30 días. Empiezo a pensar que nada es realmente sospechoso, pero estas prácticas parecen socavar la utilidad de la perspectiva y requieren que los usuarios confíen en las corporaciones. Deben al menos proporcionar algún tipo de explicación para esto y, por qué no, una lista de sus huellas digitales de certificado.

Bounty: Me gustaría ver algunas referencias sobre un sistema así, seguramente es posible encontrar una especificación o documento que recomiende dicha configuración con múltiples certificados dentro de un mismo grupo regional, como parece ser el caso de Facebook. Además, si existen otras teorías creíbles, compártelas.

Hechos establecidos

Gracias a las respuestas y comentarios en este hilo, podríamos resolverlo:

  • De hecho, Facebook tiene certificados diferentes
  • Incluso detrás de una única IP (equilibrador de carga)
  • Revocar un certificado y reemplazarlo sería más fácil de esta manera

BUT

  • ¿Esto mejora la seguridad?
  • Mantener un registro de qué servidor tiene qué certificado parece tedioso, ¿realmente vale la pena este método? Ni siquiera es escalable, ya que los certificados son diferentes dentro de un solo clúster regional
  • ¿Qué tal si solo se mantienen los certificados de repuesto en caso de una fuga? Mantenerlos en lugar de desplegarlos a todos parece mejor desde el punto de vista de la seguridad: si se filtró uno, ¿por qué no los otros?

EDITAR: respuesta aceptada

Refiérase a la respuesta y comentarios aceptados, veo las cosas más claramente. Me ayudó a comprender las razones detrás de tal configuración, las implementaciones de la vida real pueden no ser tan simples como originalmente pensé. Me parece triste que el complemento de perspectiva sea casi inútil en tales ocasiones, pero no puedo esperar que Facebook se preocupe por esto, no tiene sentido para casi todos. Gracias a todos por su aporte.

    
pregunta Aki 22.02.2012 - 13:13
fuente

2 respuestas

9

Esto probablemente depende de la resolución del dns + el almacenamiento en caché que puede ocurrir también en los servidores notariales. Si resuelve www.facebook.com, usualmente obtiene una dirección IP. Pero esta IP cambia con el tiempo y puede llevarlo a un lugar diferente.

Acabo de hacer una comprobación rápida y, de hecho, la dirección IP de www.facebook.com que me dieron cambió, y también la información del certificado fue diferente.

En el transcurso de unos minutos, recibí 3 direcciones IP diferentes para www.facebook.com: 69.171.229.16 , 69.171.234.80 , 69.171.228.40

La obtención del certificado SSL para cada una de esas IP produjo certificados diferentes. Sin embargo, los certificados no eran consistentes, incluso para la misma dirección IP que parece. Durante esos pocos minutos recibí al menos dos certificados:

-----BEGIN CERTIFICATE-----
MIIDzDCCAzWgAwIBAgIQPAjP7r6f68QrsT7gPWIL3zANBgkqhkiG9w0BAQUFADCB
ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy
aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy
dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg
SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0x
MTExMTcwMDAwMDBaFw0xMjA3MTMyMzU5NTlaMGoxCzAJBgNVBAYTAlVTMRMwEQYD
VQQIEwpDYWxpZm9ybmlhMRIwEAYDVQQHEwlQYWxvIEFsdG8xFzAVBgNVBAoTDkZh
Y2Vib29rLCBJbmMuMRkwFwYDVQQDExB3d3cuZmFjZWJvb2suY29tMIGfMA0GCSqG
SIb3DQEBAQUAA4GNADCBiQKBgQC4e9C0eD3zy0YR829bH7fd3PGGDp/3Rd7UR65Q
+jcsRoLZaer9k9tPEOd5ZmWR1MTzwVEmZ94fhoWf219K2Nx/v7fQaWYh5U0DETUo
bkDfR4zBAe+oMuFDIGrhEkUEdlWUOcpvScrtzRjRLyikTc4twjRlpB5RdnGGFopw
CRTNMwIDAQABo4IBIDCCARwwCQYDVR0TBAIwADBEBgNVHSAEPTA7MDkGC2CGSAGG
+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9y
cGEwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL1NWUkludGwtY3JsLnZlcmlzaWdu
LmNvbS9TVlJJbnRsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
CwYDVR0PBAQDAgWgMCkGA1UdEQQiMCCCEHd3dy5mYWNlYm9vay5jb22CDGZhY2Vi
b29rLmNvbTA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw
LnZlcmlzaWduLmNvbTANBgkqhkiG9w0BAQUFAAOBgQANiGfuAUQqkUZiD2cozCmb
7+e6vK5yzc/3o/zAd+QBydo7dkPo/t8nIHUfGxcAKUICjAzH/j3FDykK3bupFvBW
D4GoU6qVvNFgH8ucYWMNbxsknN/s3lcFryIGZYFcsYuPEB/rbBEEseKTilUSR7vt
pUEsLwSGdWwTNtKgy/COcQ==
-----END CERTIFICATE-----

y

-----BEGIN CERTIFICATE-----
MIIDnzCCAwigAwIBAgIQCSGX4cDpzQPaNSQ2VhCGgTANBgkqhkiG9w0BAQUFADCB
ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy
aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy
dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg
SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0x
MTA3MTQwMDAwMDBaFw0xMjA3MTMyMzU5NTlaMGoxCzAJBgNVBAYTAlVTMRMwEQYD
VQQIEwpDYWxpZm9ybmlhMRIwEAYDVQQHEwlQYWxvIEFsdG8xFzAVBgNVBAoTDkZh
Y2Vib29rLCBJbmMuMRkwFwYDVQQDExB3d3cuZmFjZWJvb2suY29tMIGfMA0GCSqG
SIb3DQEBAQUAA4GNADCBiQKBgQC4e9C0eD3zy0YR829bH7fd3PGGDp/3Rd7UR65Q
+jcsRoLZaer9k9tPEOd5ZmWR1MTzwVEmZ94fhoWf219K2Nx/v7fQaWYh5U0DETUo
bkDfR4zBAe+oMuFDIGrhEkUEdlWUOcpvScrtzRjRLyikTc4twjRlpB5RdnGGFopw
CRTNMwIDAQABo4H0MIHxMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0
cDovL29jc3AudmVyaXNpZ24uY29tMAkGA1UdEwQCMAAwRAYDVR0gBD0wOzA5Bgtg
hkgBhvhFAQcXAzAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5j
b20vcnBhMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9TVlJJbnRsLWNybC52ZXJp
c2lnbi5jb20vU1ZSSW50bC5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF
BwMCMAsGA1UdDwQEAwIFoDANBgkqhkiG9w0BAQUFAAOBgQAwUGokl1919Kf6YPDK
uoF+k7CFm+j2YtZqw4ilP9166qkM8IDWyYa87MB084WXSyfS1VnT5FSwzjP37+Qx
gjRaROuWGxfY25KebCQpoBW2PJp3S1JmqHHyxjk4mzr+tzWK0Qn+tlBUy9igtkIh
VybjO+AxBZve1qyJIsVraz8wrw==
-----END CERTIFICATE-----

Facebook puede tener alguna lista de prioridades de la dirección IP a la que se refieren los problemas de DNS y luego el punto final SSL al que accede (a través de sus balanceadores de carga) cuando accede a cualquiera de las direcciones IP de facebook. La configuración de su infraestructura podría "preferir" algunos puntos finales sobre otros (tal vez tengan un hardware más fuerte en un punto final sobre otro), por lo que en su mayoría vería una huella digital, pero ocasionalmente otra.

ACTUALIZACIÓN:

Para responder a sus preguntas adicionales más específicamente:

  

¿Esto mejora la seguridad?

Creo que sí, pero principalmente si consideras disponibilidad en lugar de confidencialidad o integridad cuando dices "seguridad". Si un certificado expira / necesita ser revocado / necesita ser reemplazado por cualquier otra razón, aún tiene otro completamente operativo, en vivo y listo.

  

Realizar un seguimiento de qué servidor tiene qué certificado parece tedioso, es   Este método realmente vale la pena? Ni siquiera es escalable desde   Los certificados son diferentes dentro de un solo clúster regional

Puede que sea un poco tedioso, pero estoy seguro de que solo es una fracción de las tareas tediosas que Facebook tiene que enfrentar en el gran esquema de las cosas. ¿Vale la pena? Creo que sí, y diría que Facebook lo hace por una razón (como mencioné anteriormente, principalmente razones de disponibilidad). Me imagino que no se está ejecutando en un servidor, sino en algún tipo de acelerador / punto final de SSL dedicado. Esos manejarán el tráfico SSL y luego la comunicación de proxy inverso a algunos servidores front-end web (que no tendrían que preocuparse por los certificados).

  

¿Qué tal si solo se guardan los certificados de repuesto en caso de una fuga? Acuerdo   ellos frente a desplegarlos a todos parece mejor desde un punto de seguridad de   ver: si uno se filtró, ¿por qué no los otros?

Sí, mantener algunos certificados de repuesto fuera de línea es una muy buena idea, y sin saberlo, apostaría a que Facebook también lo hará. Tener múltiples certificados en línea no es mutuamente exclusivo de tener también algunos sin conexión. Usted está asumiendo que implementan todos ellos, lo que podría no ser el caso. También haciendo la conexión lógica que si uno se filtraba, los otros requerirían más hechos. Si tienen una buena seguridad para mantener las cosas segregadas, entonces un compromiso no se vincula inmediatamente con otro. Podrían, por ejemplo, usar diferentes HSM de diferentes proveedores en diferentes sistemas operativos de servidor, protegidos por un conjunto separado de cortafuegos y administrados por equipos completamente independientes.

    
respondido por el Yoav Aner 26.02.2012 - 09:24
fuente
5

Facebook puede haber implementado varios certificados SSL para el mismo punto final. Esto se hace a menudo por razones de seguridad (una clave privada comprometida solo afecta a un número limitado de hosts) o por razones de capacidad de administración (puedo escalonar los períodos de validez para que no todos deban reemplazarse al mismo tiempo). Certificados diferentes significa diferentes números de serie. Como resultado, las huellas digitales serán diferentes.

También es posible que los contenidos del certificado sean diferentes. Por ejemplo, podrían tener diferentes valores de extensión subjectAltName para hacer referencia a un servidor dado por varios alias DNS.

    
respondido por el Shadowman 22.02.2012 - 20:29
fuente

Lea otras preguntas en las etiquetas