Fijación de claves públicas y subdominios

1

En breve tengo la intención de instalar un nuevo servidor web y me gustaría asegurar un poco más a los usuarios. Ya tengo dominio, servidor (virtual) y todo lo que importa al configurar un servidor. Básicamente, este será utilizado como servidor web para el almacenamiento personal de los miembros de nuestra familia, por lo que podemos compartir documentos entre nosotros independientemente de nuestra ubicación actual. Debido a que no están muy familiarizados con la tecnología y esas cosas, me gustaría asegurar un poco más la conexión. Junto con la aplicación web para el almacenamiento de archivos, crearé un sitio web fácil y en el futuro creo que el servidor web también albergará un blog. Decidí estructurar el sitio web de esta manera:

  • storage.domain.tld - para nuestro almacenamiento personal
  • domain.tld : habrá un sitio web fácil (archivo HTML con archivos CSS y JS a lo largo)
  • domain.tld/blog : después de algún tiempo, creo que esta dirección se usará para el blog

Usaré StartSSL para firmar mi certificado que se instalará en el servidor web. Debido a que HPKP requiere un certificado de respaldo, también crearé un certificado adicional en caso de cualquier falla en el futuro. Creo que después de leer un poco, entiendo correctamente cómo configurar HPKP, pero todavía no estoy seguro de cómo tratar con el subdominio y qué problema podría ser exactamente si hay un encabezado HPKP mal configurado.

Entonces, primero sobre los subdominios ... La mayoría de los miembros de nuestra familia solo usarán storage.domain.tld . StartSSL permite la firma del certificado para el dominio principal y un subdominio. ¿Los navegadores reconocerán el encabezado HPKP en el subdominio si lo configuro solo en domain.tld y agrego includeSubdomains en él? ¿Qué hacer si los navegadores reconocen el encabezado HPKP solo en el dominio que realmente visita? También me gustaría ver algunas sugerencias sobre este tema, porque no tengo más ideas sobre qué hacer aquí.

Y lo segundo sobre HPKP mal configurado. Cuando configuraré todo, creo que para establecer la edad máxima del encabezado de HPKP en alrededor de 60 (1 minuto debería ser suficiente para probar si HPKP funciona correctamente). Después del éxito pienso extender la edad máxima a medio año. Si entiendo correctamente, el navegador simplemente comprueba si la clave pública en el encabezado de HPKP es la misma que la del servidor web. Si hay una coincidencia, todo debería estar bien. ¿Entonces no hay conexión con ningún otro servicio para verificar la configuración correcta de HPKP? Si uso el navegador en modo privado y visito mi sitio con HPKP mal configurado, ¿este problema desaparecerá si elimino el encabezado de HPKP y visito el sitio nuevamente en modo no privado?

Apreciaré todas las sugerencias y comentarios a mis preguntas. ¡Gracias de antemano!

    
pregunta user1257255 01.09.2015 - 22:04
fuente

2 respuestas

3
  

¿Los navegadores reconocerán el encabezado HPKP en el subdominio si lo configuro solo en domain.tld y agrego includeSubdomains en él?

Si el usuario nunca visita domain.tld y el encabezado HPKP solo se envía a este dominio, el navegador nunca verá el encabezado HPKP. Pero solo después de que el navegador haya visto el encabezado tiene algún efecto. Una vez que el navegador haya visto el encabezado, también afectará al subdominio ya que lo ha especificado, pero el encabezado no viajará mágicamente al navegador cuando solo realice solicitudes para el subdominio. Por lo tanto, debe agregar el encabezado a todos los dominios afectados para asegurarse de que el navegador lo obtenga y reciba las actualizaciones.

  

¿Entonces no hay conexión con ningún otro servicio para verificar la configuración correcta de HPKP?

Correcto. HPKP solo utiliza la comunicación entre el navegador y el servidor que envía el encabezado HPKP, es decir, su servidor. Todo está bajo su control. Y si solo lo arruinas, puedes arreglarlo.

  

Si uso el navegador en modo privado y visito mi sitio con HPKP mal configurado, ¿desaparecerá este problema si elimino el encabezado de HPKP y visito el sitio nuevamente en modo no privado?

No tengo ninguna fuente para esto pero lo dudo. HPKP se compartirá completamente con el modo privado y, por lo tanto, los problemas persistirán allí o no se compartirá, en cuyo caso, el problema no se produce en el modo privado sino que sigue ocurriendo en el modo no privado. No creo que el intercambio solo se realice en una dirección y, especialmente, no desde el modo privado al modo no privado.

    
respondido por el Steffen Ullrich 01.09.2015 - 22:26
fuente
1

En respuesta a la respuesta de Steffan anterior pero publicando como respuesta separada debido a la longitud

Es fácil eliminar HPKP de su propia copia de Chrome utilizando la página chrome: // net-internals / # hsts. No tanto los otros navegadores.

Es imposible eliminarlo de Chrome de todos los demás a menos que puedas visitar a la persona local (lo que puede ser posible en tu caso de uso, pero en general el kit).

IncludeSubDomain es más seguro, incluso si no tienes subdominios, así que no aceptes que es inútil. Por ejemplo, alguien podría configurar fake.domain.tld si tuviera acceso al DNS que su sitio estaba usando y también lo convenció de que lo visitara, entonces tendría acceso a las cookies para domain.tld. Es poco probable que sí, pero también lo es el caso de uso por el que HPKP le brinda protección (alguien logra crear un certificado reconocido para su dominio y lo lleva a visitarlo).

Personalmente, no creo que HPKP deba considerarse para uso general, para ser honesto, ya que hay demasiadas desventajas y no creo que estas desventajas se mencionen lo suficiente. Envíe un blog sobre esto aquí si está interesado en que se salga del tema a la pregunta original .

    
respondido por el Barry Pollard 11.09.2015 - 21:01
fuente

Lea otras preguntas en las etiquetas