JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

La extraña cabecera "Upgrade-Insecure-Requests" y cómo gestionarla en el servidor

Como todo programador web que se precie, más temprano que tarde acabarás por utilizar el inspector de tráfico de Google Chrome o cualquier otro analizador de protocolos como por ejemplo el magnífico Fiddler. Estas utilidades sirven para inspeccionar todo el tráfico web saliente y poder ver exactamente qué datos se intercambian, poder modificar peticiones y respuestas, etc... lo cual es de gran ayuda para depurar las aplicaciones Web.Si inspeccionas tráfico generado por Google Chrome verás una cabecera muy rara en casi todas las peticiones dirigidas a través de HTTP:¿Qué es esta cabecera "Upgrade-Insecure-Requests"?Se trata de la implementación en Chrome de la especificación del mismo nombre creada por el World Wide Web Consortium (W3C). Se trata de un mecanismo que trata de generar conexiones más seguras para los usuarios.Así, cuando un navegador u otro cliente Web se conecta a un canal que no considera suficientemente seguro, puede solicitar al servidor un cambio a un protocolo más se... [Más]

Cómo cambiar el orden de los algoritmos criptográficos de SSL en Windows Server / IIS

Hace poco veíamos cómo solicitar un certificado digital para SSL usando un algoritmo de hash moderno, y no el que se usa por defecto en IIS.En esta ocasión vamos a ver cómo podemos modificar en Windows Server, y por lo tanto en Internet Information Server, el orden de preferencia de los diferentes conjuntos de algoritmos de cifrado disponibles. De este modo nos cerciorarnos de que los más modernos y seguros van primero en la lista y por lo tanto se les da preferencia a la hora de cifrar las comunicaciones, obteniendo un servidor más seguro.La cosa es bastante sencilla. Sólo hay que saber en dónde tocar.Lo primero que tenemos que hacer es abrir el editor de políticas de seguridad local del servidor. Para ello puedes intentar escribir:gpedit.smcen una línea de comandos o en el diálogo de ejecutar (Windows+R), pero lo más probable es que te aparezca este mensaje:El motivo es que necesitas usar una cuenta con privilegios elevados para poder cambiar los ajustes de seguridad. Así que lo mejo... [Más]

Cómo solicitar certificados con SHA-2 en lugar de SHA-1 en IIS y Windows Server 2008

Dentro de las tareas criptográficas necesarias para realizar comunicaciones seguras están los algoritmos de resumen digital o hashing. Uno de los más utilizados desde hace varios lustros es el algoritmo SHA-1. El problema es que este algoritmo ha sido ya vapuleado por algunos expertos en seguridad a partir de 2004, y hoy en día se considera inseguro, por lo que la mayor parte de fabricantes de navegadores y otros sistemas han anunciado que irán dejando de soportarlo paulatinamente: Microsoft Google Mozilla Lo que hay que hacer es utilizar SHA-2 en cualquiera de sus 6 variantes, y más en concreto se suele utilizar SHA-256. El consenso general es que a partir del día 1 de Enero de 2017 los navegadores que se encuentran con una conexión segura SSL basada en el algoritmo SHA-1 pasarán a considerarla insegura y mostrarán un aviso de seguridad. Es más, hoy en día esto ya está ocurriendo pues... [Más]

Cómo asignar nombres de dominio a certificados SSL en Internet Information Server 7.x

La semana pasada explicaba en un post qué era SNI (Server Name Indication) y cómo podíamos sacarle partido en Internet Information Server 8.0 para albergar varios certificados SSL/TSL en una misma IP, y restringir a dicha IP el acceso solo desde los dominios apropiados.En teoría en IIS 7.x bajo Windows Server 2008 o 2008 R2, no está disponible esta opción, al menos no para certificados SSL normales. Sin embargo, si vamos a las propiedades de un "binding" para HTTPS, vemos que dispone de un cuadro de texto para el nombre de dominio, similar al de IIS 8.0, pero que está deshabilitado:Así que parece que, aunque esté deshabilitado, algún tipo de soporte debe de haber para usar SNI en IIS 7.x ¿no?Bien, el caso es que IIS 7.0 soporte SNI con certificados SSL de tipo wildcard, es decir, aquellos que son capaces de soportar múltiples subdominios de un mismo dominio con el mismo certificado. Este tipo de certificados se asocian a dominios de tipo *.midominio.com. Es decir, cualquier cosa delant... [Más]

SNI: usar certificados SSL para varios dominios desde la misma IP (con IIS 8.0)

Cuando un navegador se conecta a un servidor web usando el protocolo comúnmente conocido como SSL (Secure Sockets Layer, de manera más formal SSL/TLS: Transport Layer Security), las comunicaciones se cifran entre ambos con el triple objeto de:Evitar que se puedan inspeccionar (cifrado)Evitar que se puedan modificar (no repudio)Autenticar al servidor, y opcionalmente al cliente, aunque no es lo habitual (autenticación).El handsahe de TLS se produce antes de que se intercambien cabeceras algunas entre cliente y servidor. Es decir, que en la comunicación que se inicia todo el tráfico va encriptado, incluso las propias peticiones, lo cual incluye el propio nombre de dominio al que nos conectamos. Esto presenta una dificultad para el servidor ya que hasta que recibe la petición y la descifra no sabe a qué dominio nos queremos conectar, pero si no lo sabe ¿cómo sabe qué certificado debe utilizar?La respuesta tradicional a este problema ha sido que cada certificado SSL estuviese asignado a un... [Más]