¿Cómo agregar la fijación de certificados para un dominio determinado a mi navegador web?

7

Hay HPKP (HTTP Public Key Pinning) que los servidores usan para indicar al navegador web del cliente qué certificados confían (en el futuro) para el dominio con el que se está contactando.
Google Chrome y Mozilla's FireFox traen sus propias listas de sitios web que están sujetos a ciertos certificados. (Google llama a una entrada en esta lista "un conjunto de pins".)

¿Cómo puedo agregar la fijación de certificados para otros dominios a mi navegador web (por ejemplo, FireFox)?

¿Hay alguna razón por la que no haya una opción para "Fijar este certificado en este URI" al ver los detalles de un certificado en un navegador web? ¿Socavaría el concepto de AC o simplemente no se implementa?

    
pregunta nks 24.03.2015 - 17:04
fuente

3 respuestas

3

Puedes hacerlo en Google Chrome con chrome: // net-internals / # hsts:

En esa pantalla puede consultar el estado de anclaje de un sitio web (HSTS, HPKP y precargado), pero también puede agregar el anclaje de certificado para cualquier dominio :

En la sección Agregar dominio , puedes especificar para cualquier dominio:

  • Si quieres forzar HSTS
  • Si desea fijar algún certificado : debe especificar la lista de huellas digitales de clave pública
  

¿Hay alguna razón por la que no haya una opción para "Fijar este certificado en este URI" al ver los detalles de un certificado en un navegador web? ¿Socavaría el concepto de AC o simplemente no se implementa?

Sí, hay una razón para dificultar a los usuarios la obtención de un certificado: si el webmaster necesita actualizar su certificado, no tiene forma de notificar a los usuarios. El navegador le dirá que la clave no es válida, pero no tendrá forma de decidir si es legítima o no.

Parahacerlo,debesexportarelcertificadoyluegoejecutar:

opensslx509-incertificate.crt-pubkey-noout|opensslrsa-pubin-outformder|openssldgst-sha256-binary|opensslenc-base64

(reemplace"certificate.crt" con el nombre del archivo que guardó antes)

Obtendrá algo como: YpcIku2YvZ9Q6rgTn8juPpBlEdzH7YFm9ZOLPImwwJk =

Luego rellenas el campo "Huellas digitales de clave pública" con sha256 / YpcIku2YvZ9Q6rgTn8juPpBlEdzH7YFm9ZOLPImwwJk =

(note el sha256 / agregado al principio)

Pero si desea hacerlo para más de un sitio web, le sugiero que utilice un complemento como Certificate Patrol para Firefox ( enlace ) como sugirió @WhiteWinterWolf.

    
respondido por el Tom 28.06.2015 - 14:14
fuente
3

HPKP no responde a esta necesidad.

HPKP es una extensión del protocolo HTTP que permite a los administradores de sitios web proporcionar Información específica del navegador, permitiendo:

  • Para verificar que al menos uno de los certificados que componen la cadena de autenticación de la conexión HTTPS actual (dependiendo de la arquitectura de la plataforma, el administrador del servidor puede elegir no fijar el certificado final, sino un intermediario o la raíz),
  • Presente un Pin alternativo correspondiente al certificado de copia de seguridad en caso de que se pierda / se filtre / etc, para que los clientes puedan acceder al sitio web después de que se haya cambiado el certificado,
  • Indique al explorador si la aprobación del certificado también debería habilitarse para subdominios o no,
  • Indique al navegador por cuánto tiempo es aplicable el pin de acuerdo con el posible programa de migración clave.

Si un HPKP se configurara incorrectamente, el navegador denegará cualquier acceso al sitio web sin ningún recurso directo para el usuario. Todos los detalles anteriores son principalmente conocidos y controlados por el administrador del servidor, y no por el usuario final, por lo tanto, el usuario final no tiene forma de configurar correctamente un pin HPKP en su navegador.

Lo que puede buscar, en cambio, es que el navegador almacene cierta información sobre los certificados presentados por sitios web que no son HPKP, y pueda alertarle sobre el cambio de certificado, hasta que el usuario verifique el nuevo certificado y acepte Continuar si todo parece estar en orden. Dicha función ya existe, al menos en Firefox, pero se maneja mediante complementos como Certificate Patrol .

    
respondido por el WhiteWinterWolf 27.03.2015 - 16:18
fuente
1
  

¿Cómo puedo agregar la fijación de certificados para otros dominios a mi navegador web (por ejemplo, FireFox)?

No creo que tenga una GUI en Firefox. Para Chrome ver la respuesta de Tom.

  

¿Existe alguna razón por la que no haya una opción para "Fijar este certificado en este URI" al ver los detalles de un certificado en un navegador web?

Sí. Es un infierno de soporte cuando es el momento de una transferencia de claves.

  

¿Socavaría el concepto de AC o simplemente no se implementa?

Ambos. Y es intencional. Ver más arriba.

    
respondido por el StackzOfZtuff 28.06.2015 - 18:32
fuente

Lea otras preguntas en las etiquetas