<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Mod_headers on Karpoke - Just Another Blog</title><link>http://karpoke.ignaciocano.com/tags/mod_headers/</link><description>Recent content in Mod_headers on Karpoke - Just Another Blog</description><generator>Hugo -- 0.159.0</generator><language>es</language><lastBuildDate>Sun, 11 Sep 2011 17:37:00 +0100</lastBuildDate><atom:link href="http://karpoke.ignaciocano.com/tags/mod_headers/index.xml" rel="self" type="application/rss+xml"/><item><title>HTTP Strict Transport Security</title><link>http://karpoke.ignaciocano.com/2011/09/11/http-strict-transport-security/</link><pubDate>Sun, 11 Sep 2011 17:37:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/09/11/http-strict-transport-security/</guid><description>&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security"&gt;HTTP Strict Transport Security&lt;/a&gt; (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 &lt;code&gt;Strict-Transport-Security&lt;/code&gt;, en donde
se especifica el periodo durante el cual las conexiones seguras son
obligatorias.&lt;/p&gt;
&lt;p&gt;Si una web proporciona acceso seguro (HTTPS) pero accedemos de forma no
segura (HTTP) &lt;a href="http://hacks.mozilla.org/2010/08/firefox-4-http-strict-transport-security-force-https/"&gt;podría suceder que nos redirija a la versión segura&lt;/a&gt;,
sin embargo, ya se había iniciado una conversación sin cifrar. Este
comportamiento puede ser explotado por un ataque &lt;em&gt;Man-In-The-Middle&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Denegación de servicio en Apache utilizando la cabecera Range</title><link>http://karpoke.ignaciocano.com/2011/08/31/denegacion-de-servicio-en-apache-utilizando-la-cabecera-range/</link><pubDate>Wed, 31 Aug 2011 14:19:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/08/31/denegacion-de-servicio-en-apache-utilizando-la-cabecera-range/</guid><description>&lt;p&gt;Una &lt;a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=51714"&gt;vulnerabilidad descubierta por &lt;em&gt;kingcope&lt;/em&gt;&lt;/a&gt; permite que los
servidores Apache vulnerables sean susceptibles de sufrir una denegación
de servicio.&lt;/p&gt;
&lt;p&gt;La vulnerabilidad se encuentra en el uso de la cabecera &lt;code&gt;Range&lt;/code&gt;. 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 &lt;code&gt;Accept-Encoding: gzip&lt;/code&gt;, se dispara el consumo de
procesador y memoria.&lt;/p&gt;
&lt;p&gt;Existe un &lt;a href="http://seclists.org/fulldisclosure/2011/Aug/att-175/killapache_pl.bin"&gt;&lt;em&gt;script&lt;/em&gt;&lt;/a&gt; que permite comprobar si el servidor es
vulnerable y, si es el caso, explotar dicha vulnerabilidad.&lt;/p&gt;</description></item><item><title>Cabeceras HTTP personalizadas en Apache2</title><link>http://karpoke.ignaciocano.com/2011/02/28/cabeceras-http-personalizadas-en-apache2/</link><pubDate>Mon, 28 Feb 2011 20:28:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/02/28/cabeceras-http-personalizadas-en-apache2/</guid><description>&lt;p&gt;Podemos modificar las cabeceras que devuelve el Apache usando el módulo
&lt;code&gt;mod_headers&lt;/code&gt;. Por ejemplo, añadiendo a nuestro &lt;em&gt;virtualhost&lt;/em&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Header set X-MyHeader &amp;#34;It took %D microseconds to serve this page.&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Se pueden modificar tanto las cabeceras que van a ser enviadas, con la
directiva &lt;code&gt;Header&lt;/code&gt;, como las que vienen con una petición, con la
directiva &lt;code&gt;RequestHeader&lt;/code&gt;. Las acciones que se pueden llevar a cabo son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;set&lt;/code&gt;, especifica el valor de la cabecera, la crea si no existía o&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;la modifica en caso contrario
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;append&lt;/code&gt;, añade el valor al final de la cabecera existente, y separa&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;los valores por comas
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;add&lt;/code&gt;, añade una cabecera, duplicando la cabecera si ésta ya existía&lt;/li&gt;
&lt;li&gt;&lt;code&gt;unset&lt;/code&gt;, elimina una cabecera&lt;/li&gt;
&lt;li&gt;&lt;code&gt;echo&lt;/code&gt;, sólo en el caso de la directiva &lt;code&gt;Header&lt;/code&gt;, y permite utilizar&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;el valor de una cabecera en el `request`
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Este es el resultado:&lt;/p&gt;</description></item></channel></rss>