HTTP Strict Transport Security

HTTP Strict Transport Security (HSTS) es un mecanismo de seguridad web donde el servidor exige que las conexiones se realicen únicamente mediante conexiones seguras. El servidor informa de esta política de seguridad utilizando la cabecera Strict-Transport-Security, en donde se especifica el periodo durante el cual las conexiones seguras son obligatorias. Si una web proporciona acceso seguro (HTTPS) pero accedemos de forma no segura (HTTP) podría suceder que nos redirija a la versión segura, sin embargo, ya se había iniciado una conversación sin cifrar. Este comportamiento puede ser explotado por un ataque Man-In-The-Middle. ...

September 11, 2011 · 2 min · 270 palabras · Nacho Cano

Denegación de servicio en Apache utilizando la cabecera Range

Una vulnerabilidad descubierta por kingcope permite que los servidores Apache vulnerables sean susceptibles de sufrir una denegación de servicio. La vulnerabilidad se encuentra en el uso de la cabecera Range. Esta cabecera se utiliza para obtener sólo una parte de la página. Si se solicitan varias partes además de pedir que la respuesta se comprima, mediante la cabecera Accept-Encoding: gzip, se dispara el consumo de procesador y memoria. Existe un script que permite comprobar si el servidor es vulnerable y, si es el caso, explotar dicha vulnerabilidad. ...

August 31, 2011 · 1 min · 206 palabras · Nacho Cano

Mejorando la seguridad de Apache con Varnish

Varnish es un acelerador web, que puede ser utilizado tanto para cachear contenido estático de nuestro servidor, para balancear la carga o para incrementar la seguridad, por ejemplo, bloqueando cierto tipo de peticiones u ocultando cierto tipo de información. Se instala directamente de los repositorios: $ sudo aptitude install varnish Ahora lo configuraremos para utilizarlo como capa intermedia, delante de nuestro Apache. Editamos el fichero /etc/default/varnish y cambiamos: DAEMON_OPTS="-a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G" por: ...

May 26, 2011 · 3 min · 514 palabras · Nacho Cano

Ocultando cabeceras

Tras instalar Apache, tanto en las cabeceras de la página: $ curl -I localhost HTTP/1.1 200 OK Date: Sat, 12 Mar 2011 11:55:12 GMT Server: Apache/2.2.16 (Ubuntu) Last-Modified: Sat, 02 Jan 2010 00:00:23 GMT ETag: "aa34-b1-47c232cbc0633" Accept-Ranges: bytes Content-Length: 177 Vary: Accept-Encoding Content-Type: text/html como en las páginas de error: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 404 Not Found Not Found The requested URL /terminus was not found on this server. Apache/2.2.16 (Ubuntu) Server at localhost Port 80 se muestra la versión de Apache, y de PHP si también lo hemos instalado. Ocultar este tipo de información se conoce como seguridad por oscuridad, por lo que no es realmente seguridad, pero puede ayudar a evitar ataques automatizados. ...

March 12, 2011 · 2 min · 341 palabras · Nacho Cano

Mostrando las cabeceras HTTP

Leyendo el artículo de análisis de cabeceras de SbD y, en particular, lo relacionado con las cabeceras no estándar, es decir, las que comienzan por X-, se me ha ocurrido que estaría bien ver qué debe haber por el mundo: Suponiendo que el archivo sites.txt contiene un listado de los sitios que queremos comprobar: $ for url in $(cat sites.txt); do > echo $url > curl -sI $url | grep "^X-" > done > headers.txt Es cierto que se podría haber realizado de otras formas: ...

October 7, 2010 · 1 min · 116 palabras · Nacho Cano