SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
IES Gran Capitán
Departamento de Informática
Ciclo Formativo de Grado Superior de
Administración de Sistemas Informáticos
Módulo de Proyecto Integrado
Miguel Ángel López Moyano – 2013/2014
Proyecto: Web Application Firewall
Curso 2013/2014
Índice de contenido
1.- Introducción.....................................................................................................................................2
2.- Objetivos y requisitos del proyecto.................................................................................................2
3.- Estudio previo.................................................................................................................................2
3.1.- Estado actual............................................................................................................................2
3.2.- Estudio de soluciones existentes.............................................................................................2
3.3.- Solución escogida....................................................................................................................8
4.- Plan de trabajo.................................................................................................................................8
5.- Diseño..............................................................................................................................................9
5.1.- Diseño general.........................................................................................................................9
5.2.- Diseño detallado......................................................................................................................9
6.- Implantación..................................................................................................................................13
7.- Recursos........................................................................................................................................32
7.1.- Herramientas hardware..........................................................................................................32
7.2.- Herramientas software...........................................................................................................32
7.3.- Personal.................................................................................................................................33
7.4.- Presupuesto............................................................................................................................33
8.- Conclusiones.................................................................................................................................34
8.1.- Grado de consecución de objetivos.......................................................................................34
8.2.- Problemas encontrados..........................................................................................................34
8.3.- Futuras mejoras......................................................................................................................34
9.- Referencias / bibliografía..............................................................................................................35
10.- Anexos.........................................................................................................................................35
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
1.- Introducción
Los firewalls tradicionales trabajan en la capa de red pero no ofrecen ninguna clase de protección
contra los ataques especializados en explotar vulnerabilidades web. Por eso existe la necesidad de
un Web Application Firewall o WAF.
Un Web Application Firewall es un dispositivo que puede ser hardware o software que analiza el
tráfico web (entre el servidor web y la WAN) y protege de diversos ataques como SQL Injection,
Cross Site Scripting, etc. Protege de ataques dirigidos al servidor web que los IDS/IPS no pueden.
2.- Objetivos y requisitos del proyecto
Objetivos:
• Estudiar las posibles soluciones hardware y software existentes en el mercado para su
posible implementación.
• Seleccionar la solución que más se ajuste a las necesidades y presupuesto del centro.
• Implementar la solución elegida en una máquina virtual que sirva de referencia para una
futura implementación.
Requisitos:
• La solución debe a ser aplicable teniendo en cuenta que el servidor web del centro se
encuentra alojado en un VPS.
• La solución debe ajustarse a las necesidades y presupuesto del centro.
3.- Estudio previo
3.1.- Estado actual
Actualmente el servidor web del centro está instalado en un VPS. Al estar en un VPS las soluciones
hardware no podrían aplicarse ya que las peticiones web se hacen directamente al VPS. Por tanto
solo podría aplicarse algunas de las soluciones software que comentaremos más adelante.
3.2.- Estudio de soluciones existentes
Soluciones Hardware
Barracuda Web Application Firewal 360
- Entre 1 y 5 Servidores
- Rendimiento: 25 Mbps
- 3000 Transacciones HTTP por segundo.
- 2000 Transacciones SSL por segundo.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Características:
• Validación de los protocolos HTTP/S, FTP
• Validación de metadatos de campos de formulario
• Encubrimiento de sitio web
• Control de respuesta
• Protección contra robo de datos.
• Control de subida de archivos.
• Registro, supervisión y presentación de informes
• Descarga SSL
• Autenticación y autorización
• Integración de scanner de vulnerabilidad
• Gestión centralizada
• Reputación de cliente por IP
• Cortafuegos de red
• Alta disponibilidad : Activo / Pasivo
Cisco ACE Web Application Firewall
Características:
• Proxy inverso
• Modo monitor
• Desbordamiento del búfer
• Bloqueo de byte nulo
• Normalización de codificación de entrada
• Acciones de cortafuegos flexibles.
• Manipulación de cookies y sesiones.
• Cross-site scripting (XSS)
• Inyección de comandos e inyección SQL.
• Modelos de seguridad positiva y negativa.
• Reglas y firmas personalizadas
• Algoritmos criptográficos
• Soporte completo para SSL v2/3 con conjuntos de cifrados configurables.
• Protección contra robo de datos.
• Encubrimiento de sitio web.
• SNMP
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Citrix NetScaler Application Firewall
Características:
• Reescritura de comandos entre sitios.
• Falsificación de la solicitud entre sitios.
• Inyección de comandos e inyección SQL.
• Seguridad XML
• Desbordamiento del búfer
• Protección contra robo de datos
• Protección contra ataques conocidos y desconocidos adicionales
• Autenticación y autorización
• Cross-site scripting (XSS)
• Descarga SSL
• Manipulación de cookies y sesiones
• SNMP
• Algoritmos criptográficos
• Filtrado de contenidos.
• Validación de metadatos de campos de formulario
• Transformación de URL.
Soluciones Software
Open Source:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
- ModSecurity (Trustwave SpiderLabs)
ModSecurity es uno de los cortafuegos de aplicación de código abierto más antiguo y ampliamente
utilizado. Puede detectar las amenazas a nivel de aplicación en Internet, y proporciona seguridad
frente a una amplia variedad de problemas de seguridad en aplicaciones web.
Se puede integrar con los programas de Apache. Recientemente, ModSecurity lanzó la versión
2.6.0 que proporciona funciones para la integración de la API de navegación segura, el seguimiento
de los datos sensibles y las características de modificación de datos.
Ventajas:
• Puede usarse en “embedded mode” (como un módulo más de Apache).
• Es gratuito.
Inconvenientes:
• En “embedded mode” solo puede proteger el servidor web local y se consumirán recursos
del mismo.
- AQTRONIX WebKnight
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Es un WAF de código abierto diseñado específicamente para servidores web e ISS y está licenciado
a través de GNU. Algunas características a destacar son desbordamiento de búfer, recorrido de
directorio, codificación e inyección SQL para identificar y restringir los ataques.
Ventajas:
• Es gratuito.
Inconvenientes:
• Solo disponible para Windows.
• Está más orientado para uso uso con ISS.
- WebCastellum
WebCastellum es un WAF basado en Java que puede proteger la aplicación contra cross site
scripting, inyecciones SQL, inyección de comandos, manipulación de parámetros, y se puede
integrar fácilmente en una aplicación basada en Java. Puede usarse código existente para
proporcionar una mayor protección protección.
Ventajas:
• Facilidad en la integración de aplicaciones web existentes o aplicaciones Java nuevas.
Inconvenientes:
• No es gratuito.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
- Binarysec
Es un WAF por software que protege las aplicaciones bloqueando solicitudes sospechosas.
Proporciona protección contra cross site scripting, inyección de comandos, manipulación de
parámetros, desbordamiento de búfer, salto de directorio, inyección de SQL y obstrucción ataque.
El software se instala en apenas 10 minutos y la interfaz de usuario puede gestionar Apache y otros
servidores web y muchos sitios en una sola máquina.
Ventajas:
• Instalación rápida y sencilla.
• Gestión de todos los servidores web y sitios mediante un sencillo interfaz.
Inconvenientes:
• No es gratuito.
- Guardian@JUMPERZ.NET
Guardian@JUMPERZ.NET es un firewall de nivel de aplicación de código abierto para HTTPS /
HTTP y se evalúa el tráfico HTTP / HTTPS para proteger la aplicación Web de ataques externos.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Guardian@JUMPERZ.NET desconecta de inmediato la conexión TCP cuando la aplicación entra
en contacto con una solicitud maliciosa o no autorizada.
Ventajas:
• Es gratuito.
Inconvenientes:
• Escasa información acerca de este WAF.
3.3.- Solución escogida
La solución escogida es Modsecurity. Se ha elegido esta solución por varias razones:
• Es gratuito y de código abierto.
• Puede instalarse como proxy inverso y también en embedded mode, que sería la única forma
en la que podríamos aplicarlo al servidor web del centro que como ya dijimos se encuentra
alojado en Interdominios.
• Su instalación y configuración son relativamente sencillas y existe mucha información sobre
este WAF.
Esta solución no va a poder ser implementada en el servidor web del centro porque se va a proceder
a la migración a otro VPN, así que haremos una simulación de como se instalaría en modo proxy
inverso con la ayuda de dos máquinas virtuales. Una de ellas hará la vez de servidor web y la otra
actuará como WAF.
4.- Plan de trabajo
Semana Trabajo realizado
17/03/14 Recopilación de información sobre el proyecto.
24/03/14 Recopilación de información concreta sobre objetivos, requisitos, soluciones hardware
y soluciones software
31/03/14 Corrección de los objetivos, requisitos y estado actual
07/04/14 Corrección de los objetivos, requisitos y estado actual. Añadir pros y contras en
soluciones existentes.
21/04/14 Revisión del proyecto en el centro para concretar y avanzar el proyecto.
28/04/14 Selección de la solución a implementar.
05/05/14 Busqueda de información de la solución elegida.
12/05/14 Implementación de la solución elegida.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
5.- Diseño
5.1.- Diseño general
Vamos a ver como sería el diseño de nuestra solución:
Como puede verse en el esquema van a intervenir dos máquinas virtuales. Una hará de servidor web
y la otra hará de WAF en modo proxy inverso. Esto significa que el tráfico se redirigirá al WAF que
se encargará de evaluar las peticiones al servidor web y en caso de considerarse una amenaza se
rechazarán.
Vamos a ver con más detalle cada una de las dos máquinas:
• Servidor Web: aquí será donde instalaremos nuestro servidor web (Apache) y dos páginas
(un Wordpress y un Joomla) intentando imitar la estructura que hay ahora mismo en el
servidor web del centro.
• WAF: aquí será donde instalaremos Modsecurity en modo proxy inverso y aquí será donde
se definan las reglas que evaluarán las peticiones al servidor web. Las que se consideren una
amenaza serán rechazadas.
5.2.- Diseño detallado
Como ya se comentó anteriormente esta será la estructura que tendremos:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
A continuación detallaremos cada una de las máquinas que intervienen en el diseño:
Servidor Web
Máquina virtual Debian 7 (sin entorno gráfico)
✔ Memoria 384 MB RAM
Se ha asignado esta cantidad de memoria porque es la recomendada para una máquina
Debian sin entorno gráfico.
✔ Adaptador de red eth0 en modo red interna (192.168.0.1)
Solo se dispondrá de un adaptador de red en modo red interna para su comunicación con el
WAF. No queremos que nadie pueda acceder a él desde “fuera” saltándose el WAF.
Paquetes instalados:
✔ Apache2
Necesitamos instalar Apache ya que será el servidor web donde alojaremos las dos páginas
que simularán la estructura que tenemos en el centro.
✔ PHP5
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Necesitamos instalar PHP para poder instalar Wordpress y Joomla.
✔ MySQL Server
Es imprescindible su instalación ya que necesitaremos bases de datos para la instalación de
Wordpress y Joomla.
✔ PhpMyAdmin
En este caso no es obligatoria su instalación, pero resulta más cómodo para la creación de
las bases de datos.
CMS
✔ Joomla (www.iesgrancapitan.org)
Se ha instalado Joomla porque la página principal del centro es también Joomla. En cambio
en nuestro proyecto tendremos que ponerle otra URL porque sino entraría en conflicto con el
sitio que ya existe. El nuestro se llamará www.waf.gcap.net
✔ Wordpress (www.iesgrancapitan.org/blog04)
Hemos instalado Wordpress porque Sisblog es un Wordpress y nuestra intención es tener
una estructura lo más parecida a la del centro. En nuestro caso la URL será:
www.waf.gcap.net/blog04
Web Application Firewall
Máquina virtual Debian 7 (sin entorno gráfico)
✔ Memoria 384 MB RAM
Se ha asignado esta cantidad de memoria porque es la recomendada para una máquina
Debian sin entorno gráfico.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
✔ Adaptador de red eth0 en modo puente (192.168.112.X)
Utilizaremos este adaptador para la comunicación con el “exterior”, es decir, para visitar los
sitios alojados en el servidor web tendrán que pasar por el WAF.
✔ Adaptador de red eth1 en modo red interna (192.168.0.2)
Este adaptador permitirá la comunicación entre el WAF y el servidor web.
Paquetes instalados:
✔ Apache2
Necesitaremos instalar Apache ya que Modsecurity es precisamente un módulo de Apache.
✔ PHP5
También necsitaremos instalar PHP.
✔ Bind
En este caso el servidor DNS no era necesario, pero es más correcto usar una URL que una
dirección IP.
✔ Libxml2, libxml2-dev y libxml2-utils
Estas librerías son necesarias para la instalación de Modsecurity.
✔ Libaprutil1 y libaprutil1-dev
Al igual que las anteriores estas librerías también son necesarias.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
✔ Libapache-mod-security
Este paquete instala Modsecurity, imprescindible en la implementación del proyecto.
6.- Implantación
Servidor Web
Instalación de Apache, PHP, MySQL y PhpMyAdmin.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Ahora siguiendo la estructura que tiene el servidor web del centro instalaremos el CMS Joomla que
hará las veces de www.iesgrancapitan.org y un Wordpress que hará de Sisblog
(www.iesgrancapitan.org/blog04).
Primero instalaremos Joomla, así que vamos a crear una base de datos con ayuda de phpmyadmin a
través de un cliente:
Descargamos Joomla:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Descomprimimos el contenido del zip en la carpeta /var/www y empezamos la instalación desde el
navegador del cliente.
Una vez instalado vemos como se quedaría:
Ahora vamos a instalar Wordpress que hará las veces de Sisblog. Primero creamos una base de
datos:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Descargamos Wordpress:
Una vez descargado descomprimos el contenido en la carpeta /var/www/blog04
Iniciamos la instalación de Wordpress desde el cliente:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Una vez instalado vemos como quedaría:
Visto así este Sisblog no se parece al que está en el centro, así que instalaremos el mismo tema:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Con esto tendríamos una estructura similar a la que tiene el servidor web del centro.
Web Application Firewall
Instalación de Apache y PHP.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Instalamos DNS.
Configuramos las zonas.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Instalación de dependencias de Mod Security.
Instalación de Mod Security.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Configuración de reglas básicas:
Ahora tenemos que instalar las reglas de la última actualización de la OWASP. Se instalan todas las
reglas y luego decidimos cuales queremos aplicar metiéndolas en la carpeta Activated Rules.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Ahora crearemos enlaces simbólicos entre las carpetas base rules y activated rules. También
crearemos enlaces simbólicos entre las carpetas optional rules y activated rules de forma que las
reglas activadas sean las básicas más las opcionales.
Editamos el fichero mod-security.conf
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Habilitamos el módulo headers
Reiniciamos Apache
Ahora vamos a configurar la parte del proxy inverso.
Editamos el fichero /etc/apache2/sites/available/default
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Reiniciamos Apache e intentamos acceder normalmente a la web, pero nos rechaza la petición. Eso
es debido a que algunas de las reglas son demasiado restrictivas. Tendremos que editar dos de ellas:
Editamos el fichero /etc/modsecurity/activated_rules/modsecurity_crs_21_protocol_anomalies.conf
Debemos comentar la línea 98:
Editamos el fichero /etc/modsecurity/activated_rules/modsecurity_crs_55_application_defects.conf
Debemos comentar las líneas 151 y 152:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Reiniciamos Apache y vamos a hacer una pequeña prueba. Vamos a intentar desde el cliente un
sencillo ataque de inyección SQL.
Aquí vemos nuestro Sisblog
Ahora si intentamos realizar un ataque de inyección SQL esto es lo que nos sale
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Vemos como se rechaza la conexión. Vamos a ver el fichero de log
Lo primero que vemos es el día y la hora del ataque. La IP del atacante y la petición que ha hecho a
nuestro servidor:
Seguimos mirando la entrada de log y vemos la respuesta a la petición (403 forbidden). Tambien
vemos la página que se genera en respuesta a la petición.
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Ahora viene la parte más interesante. Aquí podemos ver cuales son las reglas que se han activado y
han detenido el ataque:
En esta captura no se ve bien, pero si nos movemos más a la derecha:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Como bien puede verse la regla que se ha activado es la 41, que hace referencia a los ataques de
inyección SQL.
Vamos a realizar una prueba más. Usaremos la herramienta Acunetix Web Vulnerability Scanner
aprovechando que nos permite un período de prueba de 14 días.
Dentro del asistente indicamos la URL:
Ahora en Scanning Profile indicamos XSS
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Pulsamos sobre Next. Después sobre Next. Y finalmente en Finish.
Una vez realizado el ataque vemos los resultados:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Si nos fijamos vemos que no se han detectado vulnerabilidades XSS y en el informe vemos que la
petición inicial fue rechazada con una respuesta de error 403 forbidden. Otro detalle importante es
ver la cookie que se ha utilizado para el ataque XSS ya que con toda seguridad aparezca reflejada en
nuestro log.
La cookie
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Vamos a ver el log. Nos encontraremos con muchísimas líneas en el log pero solo mostraremos las
que tengan información relevante:
Aquí vemos el día y la hora del ataque, la IP del atacante, la web atacada, el producto con el que se
realizó el ataque y la respuesta por parte del waf.
Aquí podemos ver además del día y la hora la cookie que se intentó aprovechar para el ataque, que
como vemos coincide con la que teníamos en el software de Acunetix:
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
7.- Recursos
7.1.- Herramientas hardware
La única herramienta hardware necesria ha sido el equipo con el cual he estado trabajando con las
máquinas virtuales
7.2.- Herramientas software
ModSecurity
ModSecurity es uno de los cortafuegos de aplicación de código abierto más antiguo y ampliamente
utilizado. Puede detectar las amenazas a nivel de aplicación en Internet, y proporciona seguridad
frente a una amplia variedad de problemas de seguridad en aplicaciones web.
Acunetix Web Vulnerability Scanner
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
Acunetix Web Vulnerability Scanner es un software que nos permite realizar auditorías a páginas
web y aplicaciones web. Es capaz de detectar numerosas vulnerabilidades entre ellas SQL Injection,
XSS, etc.
Es un software de pago, pero permite un período de prueba de 14 días, suficiente para realizar las
pruebas en nuestro sistema.
7.3.- Personal
7.4.- Presupuesto
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
8.- Conclusiones
8.1.- Grado de consecución de objetivos
• Estudiar las posibles soluciones hardware y software existentes en el mercado para su
posible implementación.
TOTALMENTE TERMINADO.
• Seleccionar la solución que más se ajuste a las necesidades y presupuesto del centro.
TOTALMENTE TERMINADO
• Implementar la solución elegida en una máquina virtual que sirva de referencia para una
futura implementación.
TOTALMENTE TERMINADO
8.2.- Problemas encontrados
- Las reglas que utilizamos de la OWASP son demasiado restrictivas impiendo el acceso normal a la
página.
SOLUCIÓN: comentar la línea 98 del fichero modsecurity_crs_21_protocol_anomalies.conf y las
líneas 151 y 152 del fichero modsecurity_crs_55_application_defects.conf.
8.3.- Futuras mejoras
La configuración actual del proyecto puede ser ideal para CMS tipo Joomla, pero en cambio para
Wordpress es demasiado restrictiva y cualquier cambio en la configuración por parte del
administrador se considera un ataque.
La solución es implementar una serie excepciones para cada archivo php implicado en la gestión de
nuestro Wordpress. Un ejemplo sería éste:
<LocationMatch "/wp-admin/options.php">
SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904
SecRuleRemoveById phpids-17
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
SecRuleRemoveById phpids-20
SecRuleRemoveById phpids-21
SecRuleRemoveById phpids-30
SecRuleRemoveById phpids-61
</LocationMatch>
De esta forma al cambiar cualquier parámetro en el fichero options.php el waf ya no nos impediría
realizar el cambio.
Implementar todas las excepciones resultaría muy laborioso y serían necesarias muchas pruebas. Por
falta de tiempo no se han podido implementar en este proyecto con lo cuál quedaría como futura
mejora.
9.- Referencias / bibliografía
http://www.securitybydefault.com
http://www.blogtecnico.net/web-application-firewall-waf/
https://www.barracuda.com/products/webapplicationfirewall/models
http://www.cisco.com/c/en/us/products/collateral/application-networking-services/ace-web-
application-firewall/data_sheet_c78-458627.html
http://www.citrix.es/products/netscaler-appfirewall/overview.html
http://www.fromdev.com/2011/07/opensource-web-application-firewall-waf.html
http://www.root25.com/2012/11/how-to-install-modsecurity-on-apache-ubuntu12-stepbystep-
tutorial.html
http://www.root25.com/2012/12/how-to-impelement-reverse-proxy-with-modsecurity.html
10.- Anexos
Anexo I: Web Application Firewall
IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710
http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org

Más contenido relacionado

Destacado

Proyecto daniel gregori (respuesta)
Proyecto daniel gregori (respuesta)Proyecto daniel gregori (respuesta)
Proyecto daniel gregori (respuesta)DanielGregori
 
REDES SOCIALES EN AL EDUCACIÒN
REDES SOCIALES EN AL EDUCACIÒN REDES SOCIALES EN AL EDUCACIÒN
REDES SOCIALES EN AL EDUCACIÒN ViviPinedaC
 
Doppler & Social Me & IT Sitio: Cómo crear una Campaña de Email exitosa
Doppler & Social Me & IT Sitio: Cómo crear una Campaña de Email exitosaDoppler & Social Me & IT Sitio: Cómo crear una Campaña de Email exitosa
Doppler & Social Me & IT Sitio: Cómo crear una Campaña de Email exitosaFromDoppler
 
Badenes Piezoeléctricos TechnoPark MotorLand
Badenes Piezoeléctricos TechnoPark MotorLandBadenes Piezoeléctricos TechnoPark MotorLand
Badenes Piezoeléctricos TechnoPark MotorLandAlfredo Santoni Gómez
 
Mi personalidad de mi recamara
Mi personalidad de mi recamaraMi personalidad de mi recamara
Mi personalidad de mi recamaracolt1223
 
2013.04.23 eZ Sessions 6 - Migrating legacy eZ Publish extensions - Lukasz Se...
2013.04.23 eZ Sessions 6 - Migrating legacy eZ Publish extensions - Lukasz Se...2013.04.23 eZ Sessions 6 - Migrating legacy eZ Publish extensions - Lukasz Se...
2013.04.23 eZ Sessions 6 - Migrating legacy eZ Publish extensions - Lukasz Se...eZ Publish Community
 
Licencias De Aperturas 2008 Empezar Con Buen Pie
Licencias De Aperturas 2008 Empezar Con Buen PieLicencias De Aperturas 2008 Empezar Con Buen Pie
Licencias De Aperturas 2008 Empezar Con Buen PieCRM a MEDIDA
 
Qulto bemutató - Czoboly Miklós
Qulto bemutató - Czoboly MiklósQulto bemutató - Czoboly Miklós
Qulto bemutató - Czoboly MiklósMonguz Ltd.
 
Manual del alumno eLMformacion
Manual del alumno eLMformacionManual del alumno eLMformacion
Manual del alumno eLMformacioneLMformacion
 
Optimizing the production of Polyphosphate from Acinetobacter towneri
Optimizing the production of Polyphosphate from Acinetobacter towneriOptimizing the production of Polyphosphate from Acinetobacter towneri
Optimizing the production of Polyphosphate from Acinetobacter towneriGJESM Publication
 
Carta de presentación de candidatura patxi aldecoa
Carta de presentación de candidatura patxi aldecoaCarta de presentación de candidatura patxi aldecoa
Carta de presentación de candidatura patxi aldecoaPatxialdecoa
 
Memoria descriptiva y plan emergencia 2016
Memoria descriptiva y plan emergencia 2016Memoria descriptiva y plan emergencia 2016
Memoria descriptiva y plan emergencia 2016Paco Rodríguez
 
Vocabulary free time1
Vocabulary free time1Vocabulary free time1
Vocabulary free time1didier123
 
Resumen delitos informáticos delatorre
Resumen delitos informáticos delatorreResumen delitos informáticos delatorre
Resumen delitos informáticos delatorreJanet De la Torre
 

Destacado (20)

Proyecto daniel gregori (respuesta)
Proyecto daniel gregori (respuesta)Proyecto daniel gregori (respuesta)
Proyecto daniel gregori (respuesta)
 
Progresión geométrica
Progresión geométricaProgresión geométrica
Progresión geométrica
 
REDES SOCIALES EN AL EDUCACIÒN
REDES SOCIALES EN AL EDUCACIÒN REDES SOCIALES EN AL EDUCACIÒN
REDES SOCIALES EN AL EDUCACIÒN
 
Cali luis internet
Cali luis internetCali luis internet
Cali luis internet
 
Doppler & Social Me & IT Sitio: Cómo crear una Campaña de Email exitosa
Doppler & Social Me & IT Sitio: Cómo crear una Campaña de Email exitosaDoppler & Social Me & IT Sitio: Cómo crear una Campaña de Email exitosa
Doppler & Social Me & IT Sitio: Cómo crear una Campaña de Email exitosa
 
Badenes Piezoeléctricos TechnoPark MotorLand
Badenes Piezoeléctricos TechnoPark MotorLandBadenes Piezoeléctricos TechnoPark MotorLand
Badenes Piezoeléctricos TechnoPark MotorLand
 
Mi personalidad de mi recamara
Mi personalidad de mi recamaraMi personalidad de mi recamara
Mi personalidad de mi recamara
 
2013.04.23 eZ Sessions 6 - Migrating legacy eZ Publish extensions - Lukasz Se...
2013.04.23 eZ Sessions 6 - Migrating legacy eZ Publish extensions - Lukasz Se...2013.04.23 eZ Sessions 6 - Migrating legacy eZ Publish extensions - Lukasz Se...
2013.04.23 eZ Sessions 6 - Migrating legacy eZ Publish extensions - Lukasz Se...
 
ISOPLYO20 2 MODELOS
ISOPLYO20 2 MODELOSISOPLYO20 2 MODELOS
ISOPLYO20 2 MODELOS
 
Ballet
BalletBallet
Ballet
 
Licencias De Aperturas 2008 Empezar Con Buen Pie
Licencias De Aperturas 2008 Empezar Con Buen PieLicencias De Aperturas 2008 Empezar Con Buen Pie
Licencias De Aperturas 2008 Empezar Con Buen Pie
 
Qulto bemutató - Czoboly Miklós
Qulto bemutató - Czoboly MiklósQulto bemutató - Czoboly Miklós
Qulto bemutató - Czoboly Miklós
 
Curriculum vitae
Curriculum vitaeCurriculum vitae
Curriculum vitae
 
AIT.Newsletter.July.2011
AIT.Newsletter.July.2011AIT.Newsletter.July.2011
AIT.Newsletter.July.2011
 
Manual del alumno eLMformacion
Manual del alumno eLMformacionManual del alumno eLMformacion
Manual del alumno eLMformacion
 
Optimizing the production of Polyphosphate from Acinetobacter towneri
Optimizing the production of Polyphosphate from Acinetobacter towneriOptimizing the production of Polyphosphate from Acinetobacter towneri
Optimizing the production of Polyphosphate from Acinetobacter towneri
 
Carta de presentación de candidatura patxi aldecoa
Carta de presentación de candidatura patxi aldecoaCarta de presentación de candidatura patxi aldecoa
Carta de presentación de candidatura patxi aldecoa
 
Memoria descriptiva y plan emergencia 2016
Memoria descriptiva y plan emergencia 2016Memoria descriptiva y plan emergencia 2016
Memoria descriptiva y plan emergencia 2016
 
Vocabulary free time1
Vocabulary free time1Vocabulary free time1
Vocabulary free time1
 
Resumen delitos informáticos delatorre
Resumen delitos informáticos delatorreResumen delitos informáticos delatorre
Resumen delitos informáticos delatorre
 

Similar a Documentación Web application firewall

Modulo 10: Conceptos de Seguridad de LAN
Modulo 10: Conceptos de Seguridad de LANModulo 10: Conceptos de Seguridad de LAN
Modulo 10: Conceptos de Seguridad de LANsrkamote
 
Seguridad de red para la generación de la Nube
Seguridad de red para la generación de la Nube Seguridad de red para la generación de la Nube
Seguridad de red para la generación de la Nube Cristian Garcia G.
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidorJonathan
 
ISA Server 2006
ISA Server 2006ISA Server 2006
ISA Server 2006k4n71na
 
Proyecto, Implantacion de Clientes Ligeros
Proyecto, Implantacion de Clientes LigerosProyecto, Implantacion de Clientes Ligeros
Proyecto, Implantacion de Clientes Ligerosdetorres05
 
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...ssuserc860fb
 
Seguridad y Entornos Críticos en Cloud - Cloud Leadership 2013
Seguridad y Entornos Críticos en Cloud - Cloud Leadership 2013Seguridad y Entornos Críticos en Cloud - Cloud Leadership 2013
Seguridad y Entornos Críticos en Cloud - Cloud Leadership 2013Arsys
 
Exposicion topicos avanzados_chumpitaz
Exposicion topicos avanzados_chumpitazExposicion topicos avanzados_chumpitaz
Exposicion topicos avanzados_chumpitazCalzada Meza
 
Curso de Hacking Aplicaciones Web 2013
Curso de Hacking Aplicaciones Web 2013Curso de Hacking Aplicaciones Web 2013
Curso de Hacking Aplicaciones Web 2013NPROS Perú
 
63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-javaGilberto Garcia Zavaleta
 
Curso de Hacking Aplicaciones Web 2012 (CNHAW)
Curso de Hacking Aplicaciones Web 2012 (CNHAW)Curso de Hacking Aplicaciones Web 2012 (CNHAW)
Curso de Hacking Aplicaciones Web 2012 (CNHAW)NPROS Perú
 

Similar a Documentación Web application firewall (20)

Anexo Web application firewall
Anexo Web application firewallAnexo Web application firewall
Anexo Web application firewall
 
Modulo 10: Conceptos de Seguridad de LAN
Modulo 10: Conceptos de Seguridad de LANModulo 10: Conceptos de Seguridad de LAN
Modulo 10: Conceptos de Seguridad de LAN
 
Seguridad de red para la generación de la Nube
Seguridad de red para la generación de la Nube Seguridad de red para la generación de la Nube
Seguridad de red para la generación de la Nube
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
automatizacion de red.pptx
automatizacion de red.pptxautomatizacion de red.pptx
automatizacion de red.pptx
 
ISA Server 2006
ISA Server 2006ISA Server 2006
ISA Server 2006
 
Casos exito santiago toribio almatech
Casos exito santiago toribio almatechCasos exito santiago toribio almatech
Casos exito santiago toribio almatech
 
Proyecto, Implantacion de Clientes Ligeros
Proyecto, Implantacion de Clientes LigerosProyecto, Implantacion de Clientes Ligeros
Proyecto, Implantacion de Clientes Ligeros
 
CV Bexandy Rodriguez
CV Bexandy RodriguezCV Bexandy Rodriguez
CV Bexandy Rodriguez
 
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
 
CV_Fouad
CV_FouadCV_Fouad
CV_Fouad
 
Seguridad y Entornos Críticos en Cloud - Cloud Leadership 2013
Seguridad y Entornos Críticos en Cloud - Cloud Leadership 2013Seguridad y Entornos Críticos en Cloud - Cloud Leadership 2013
Seguridad y Entornos Críticos en Cloud - Cloud Leadership 2013
 
Vulnerabilidades de un sistema informático
Vulnerabilidades de un sistema informáticoVulnerabilidades de un sistema informático
Vulnerabilidades de un sistema informático
 
Exposicion topicos avanzados_chumpitaz
Exposicion topicos avanzados_chumpitazExposicion topicos avanzados_chumpitaz
Exposicion topicos avanzados_chumpitaz
 
Proxy
ProxyProxy
Proxy
 
Curso de Hacking Aplicaciones Web 2013
Curso de Hacking Aplicaciones Web 2013Curso de Hacking Aplicaciones Web 2013
Curso de Hacking Aplicaciones Web 2013
 
63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java63997661 tecnologia-cliente-servidor-con-java
63997661 tecnologia-cliente-servidor-con-java
 
La Nube
La NubeLa Nube
La Nube
 
Curso de Hacking Aplicaciones Web 2012 (CNHAW)
Curso de Hacking Aplicaciones Web 2012 (CNHAW)Curso de Hacking Aplicaciones Web 2012 (CNHAW)
Curso de Hacking Aplicaciones Web 2012 (CNHAW)
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 

Más de Miguel Angel López Moyano

Principios heurísticos de Nielsen (Presentación)
Principios heurísticos de Nielsen (Presentación)Principios heurísticos de Nielsen (Presentación)
Principios heurísticos de Nielsen (Presentación)Miguel Angel López Moyano
 
Proyecto en Java: Tienda de productos electrónicos
Proyecto en Java: Tienda de productos electrónicosProyecto en Java: Tienda de productos electrónicos
Proyecto en Java: Tienda de productos electrónicosMiguel Angel López Moyano
 

Más de Miguel Angel López Moyano (20)

Material design
Material designMaterial design
Material design
 
Material design (Trabajo)
Material design (Trabajo)Material design (Trabajo)
Material design (Trabajo)
 
Principios heurísticos de Nielsen (Presentación)
Principios heurísticos de Nielsen (Presentación)Principios heurísticos de Nielsen (Presentación)
Principios heurísticos de Nielsen (Presentación)
 
Principios heurísticos de Nielsen (Trabajo)
Principios heurísticos de Nielsen (Trabajo)Principios heurísticos de Nielsen (Trabajo)
Principios heurísticos de Nielsen (Trabajo)
 
Proyecto en Java: Tienda de productos electrónicos
Proyecto en Java: Tienda de productos electrónicosProyecto en Java: Tienda de productos electrónicos
Proyecto en Java: Tienda de productos electrónicos
 
PHP: Instalación de Apache2, PHP5 y MySQL
PHP: Instalación de Apache2, PHP5 y MySQLPHP: Instalación de Apache2, PHP5 y MySQL
PHP: Instalación de Apache2, PHP5 y MySQL
 
Listado Ejercicios Básicos Java 5
Listado Ejercicios Básicos Java 5Listado Ejercicios Básicos Java 5
Listado Ejercicios Básicos Java 5
 
Listado Ejercicios Básicos Java 4
Listado Ejercicios Básicos Java 4Listado Ejercicios Básicos Java 4
Listado Ejercicios Básicos Java 4
 
Listado Ejercicios Básicos Java 3
Listado Ejercicios Básicos Java 3Listado Ejercicios Básicos Java 3
Listado Ejercicios Básicos Java 3
 
Autenticación de usuarios usando Kerberos
Autenticación de usuarios usando KerberosAutenticación de usuarios usando Kerberos
Autenticación de usuarios usando Kerberos
 
¿Qué es Kerberos?
¿Qué es Kerberos?¿Qué es Kerberos?
¿Qué es Kerberos?
 
Listado Ejercicios Básicos Java 2
Listado Ejercicios Básicos Java 2Listado Ejercicios Básicos Java 2
Listado Ejercicios Básicos Java 2
 
Listado Ejercicios Básicos Java1
Listado Ejercicios Básicos Java1Listado Ejercicios Básicos Java1
Listado Ejercicios Básicos Java1
 
Java básico: Expresiones
Java básico: ExpresionesJava básico: Expresiones
Java básico: Expresiones
 
Bloqueos isp
Bloqueos ispBloqueos isp
Bloqueos isp
 
Arranque dual en Mac
Arranque dual en MacArranque dual en Mac
Arranque dual en Mac
 
Web kiosk con ubuntu
Web kiosk con ubuntuWeb kiosk con ubuntu
Web kiosk con ubuntu
 
Google Cloud Print
Google Cloud PrintGoogle Cloud Print
Google Cloud Print
 
Planificacion de tareas en windows
Planificacion de tareas en windowsPlanificacion de tareas en windows
Planificacion de tareas en windows
 
Monitorizacion de Sistemas
Monitorizacion de SistemasMonitorizacion de Sistemas
Monitorizacion de Sistemas
 

Último

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 

Último (20)

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 

Documentación Web application firewall

  • 1. IES Gran Capitán Departamento de Informática Ciclo Formativo de Grado Superior de Administración de Sistemas Informáticos Módulo de Proyecto Integrado Miguel Ángel López Moyano – 2013/2014 Proyecto: Web Application Firewall Curso 2013/2014 Índice de contenido 1.- Introducción.....................................................................................................................................2 2.- Objetivos y requisitos del proyecto.................................................................................................2 3.- Estudio previo.................................................................................................................................2 3.1.- Estado actual............................................................................................................................2 3.2.- Estudio de soluciones existentes.............................................................................................2 3.3.- Solución escogida....................................................................................................................8 4.- Plan de trabajo.................................................................................................................................8 5.- Diseño..............................................................................................................................................9 5.1.- Diseño general.........................................................................................................................9 5.2.- Diseño detallado......................................................................................................................9 6.- Implantación..................................................................................................................................13 7.- Recursos........................................................................................................................................32 7.1.- Herramientas hardware..........................................................................................................32 7.2.- Herramientas software...........................................................................................................32 7.3.- Personal.................................................................................................................................33 7.4.- Presupuesto............................................................................................................................33 8.- Conclusiones.................................................................................................................................34 8.1.- Grado de consecución de objetivos.......................................................................................34 8.2.- Problemas encontrados..........................................................................................................34 8.3.- Futuras mejoras......................................................................................................................34 9.- Referencias / bibliografía..............................................................................................................35 10.- Anexos.........................................................................................................................................35 IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 2. 1.- Introducción Los firewalls tradicionales trabajan en la capa de red pero no ofrecen ninguna clase de protección contra los ataques especializados en explotar vulnerabilidades web. Por eso existe la necesidad de un Web Application Firewall o WAF. Un Web Application Firewall es un dispositivo que puede ser hardware o software que analiza el tráfico web (entre el servidor web y la WAN) y protege de diversos ataques como SQL Injection, Cross Site Scripting, etc. Protege de ataques dirigidos al servidor web que los IDS/IPS no pueden. 2.- Objetivos y requisitos del proyecto Objetivos: • Estudiar las posibles soluciones hardware y software existentes en el mercado para su posible implementación. • Seleccionar la solución que más se ajuste a las necesidades y presupuesto del centro. • Implementar la solución elegida en una máquina virtual que sirva de referencia para una futura implementación. Requisitos: • La solución debe a ser aplicable teniendo en cuenta que el servidor web del centro se encuentra alojado en un VPS. • La solución debe ajustarse a las necesidades y presupuesto del centro. 3.- Estudio previo 3.1.- Estado actual Actualmente el servidor web del centro está instalado en un VPS. Al estar en un VPS las soluciones hardware no podrían aplicarse ya que las peticiones web se hacen directamente al VPS. Por tanto solo podría aplicarse algunas de las soluciones software que comentaremos más adelante. 3.2.- Estudio de soluciones existentes Soluciones Hardware Barracuda Web Application Firewal 360 - Entre 1 y 5 Servidores - Rendimiento: 25 Mbps - 3000 Transacciones HTTP por segundo. - 2000 Transacciones SSL por segundo. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 3. Características: • Validación de los protocolos HTTP/S, FTP • Validación de metadatos de campos de formulario • Encubrimiento de sitio web • Control de respuesta • Protección contra robo de datos. • Control de subida de archivos. • Registro, supervisión y presentación de informes • Descarga SSL • Autenticación y autorización • Integración de scanner de vulnerabilidad • Gestión centralizada • Reputación de cliente por IP • Cortafuegos de red • Alta disponibilidad : Activo / Pasivo Cisco ACE Web Application Firewall Características: • Proxy inverso • Modo monitor • Desbordamiento del búfer • Bloqueo de byte nulo • Normalización de codificación de entrada • Acciones de cortafuegos flexibles. • Manipulación de cookies y sesiones. • Cross-site scripting (XSS) • Inyección de comandos e inyección SQL. • Modelos de seguridad positiva y negativa. • Reglas y firmas personalizadas • Algoritmos criptográficos • Soporte completo para SSL v2/3 con conjuntos de cifrados configurables. • Protección contra robo de datos. • Encubrimiento de sitio web. • SNMP IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 4. Citrix NetScaler Application Firewall Características: • Reescritura de comandos entre sitios. • Falsificación de la solicitud entre sitios. • Inyección de comandos e inyección SQL. • Seguridad XML • Desbordamiento del búfer • Protección contra robo de datos • Protección contra ataques conocidos y desconocidos adicionales • Autenticación y autorización • Cross-site scripting (XSS) • Descarga SSL • Manipulación de cookies y sesiones • SNMP • Algoritmos criptográficos • Filtrado de contenidos. • Validación de metadatos de campos de formulario • Transformación de URL. Soluciones Software Open Source: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 5. - ModSecurity (Trustwave SpiderLabs) ModSecurity es uno de los cortafuegos de aplicación de código abierto más antiguo y ampliamente utilizado. Puede detectar las amenazas a nivel de aplicación en Internet, y proporciona seguridad frente a una amplia variedad de problemas de seguridad en aplicaciones web. Se puede integrar con los programas de Apache. Recientemente, ModSecurity lanzó la versión 2.6.0 que proporciona funciones para la integración de la API de navegación segura, el seguimiento de los datos sensibles y las características de modificación de datos. Ventajas: • Puede usarse en “embedded mode” (como un módulo más de Apache). • Es gratuito. Inconvenientes: • En “embedded mode” solo puede proteger el servidor web local y se consumirán recursos del mismo. - AQTRONIX WebKnight IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 6. Es un WAF de código abierto diseñado específicamente para servidores web e ISS y está licenciado a través de GNU. Algunas características a destacar son desbordamiento de búfer, recorrido de directorio, codificación e inyección SQL para identificar y restringir los ataques. Ventajas: • Es gratuito. Inconvenientes: • Solo disponible para Windows. • Está más orientado para uso uso con ISS. - WebCastellum WebCastellum es un WAF basado en Java que puede proteger la aplicación contra cross site scripting, inyecciones SQL, inyección de comandos, manipulación de parámetros, y se puede integrar fácilmente en una aplicación basada en Java. Puede usarse código existente para proporcionar una mayor protección protección. Ventajas: • Facilidad en la integración de aplicaciones web existentes o aplicaciones Java nuevas. Inconvenientes: • No es gratuito. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 7. - Binarysec Es un WAF por software que protege las aplicaciones bloqueando solicitudes sospechosas. Proporciona protección contra cross site scripting, inyección de comandos, manipulación de parámetros, desbordamiento de búfer, salto de directorio, inyección de SQL y obstrucción ataque. El software se instala en apenas 10 minutos y la interfaz de usuario puede gestionar Apache y otros servidores web y muchos sitios en una sola máquina. Ventajas: • Instalación rápida y sencilla. • Gestión de todos los servidores web y sitios mediante un sencillo interfaz. Inconvenientes: • No es gratuito. - Guardian@JUMPERZ.NET Guardian@JUMPERZ.NET es un firewall de nivel de aplicación de código abierto para HTTPS / HTTP y se evalúa el tráfico HTTP / HTTPS para proteger la aplicación Web de ataques externos. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 8. Guardian@JUMPERZ.NET desconecta de inmediato la conexión TCP cuando la aplicación entra en contacto con una solicitud maliciosa o no autorizada. Ventajas: • Es gratuito. Inconvenientes: • Escasa información acerca de este WAF. 3.3.- Solución escogida La solución escogida es Modsecurity. Se ha elegido esta solución por varias razones: • Es gratuito y de código abierto. • Puede instalarse como proxy inverso y también en embedded mode, que sería la única forma en la que podríamos aplicarlo al servidor web del centro que como ya dijimos se encuentra alojado en Interdominios. • Su instalación y configuración son relativamente sencillas y existe mucha información sobre este WAF. Esta solución no va a poder ser implementada en el servidor web del centro porque se va a proceder a la migración a otro VPN, así que haremos una simulación de como se instalaría en modo proxy inverso con la ayuda de dos máquinas virtuales. Una de ellas hará la vez de servidor web y la otra actuará como WAF. 4.- Plan de trabajo Semana Trabajo realizado 17/03/14 Recopilación de información sobre el proyecto. 24/03/14 Recopilación de información concreta sobre objetivos, requisitos, soluciones hardware y soluciones software 31/03/14 Corrección de los objetivos, requisitos y estado actual 07/04/14 Corrección de los objetivos, requisitos y estado actual. Añadir pros y contras en soluciones existentes. 21/04/14 Revisión del proyecto en el centro para concretar y avanzar el proyecto. 28/04/14 Selección de la solución a implementar. 05/05/14 Busqueda de información de la solución elegida. 12/05/14 Implementación de la solución elegida. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 9. 5.- Diseño 5.1.- Diseño general Vamos a ver como sería el diseño de nuestra solución: Como puede verse en el esquema van a intervenir dos máquinas virtuales. Una hará de servidor web y la otra hará de WAF en modo proxy inverso. Esto significa que el tráfico se redirigirá al WAF que se encargará de evaluar las peticiones al servidor web y en caso de considerarse una amenaza se rechazarán. Vamos a ver con más detalle cada una de las dos máquinas: • Servidor Web: aquí será donde instalaremos nuestro servidor web (Apache) y dos páginas (un Wordpress y un Joomla) intentando imitar la estructura que hay ahora mismo en el servidor web del centro. • WAF: aquí será donde instalaremos Modsecurity en modo proxy inverso y aquí será donde se definan las reglas que evaluarán las peticiones al servidor web. Las que se consideren una amenaza serán rechazadas. 5.2.- Diseño detallado Como ya se comentó anteriormente esta será la estructura que tendremos: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 10. A continuación detallaremos cada una de las máquinas que intervienen en el diseño: Servidor Web Máquina virtual Debian 7 (sin entorno gráfico) ✔ Memoria 384 MB RAM Se ha asignado esta cantidad de memoria porque es la recomendada para una máquina Debian sin entorno gráfico. ✔ Adaptador de red eth0 en modo red interna (192.168.0.1) Solo se dispondrá de un adaptador de red en modo red interna para su comunicación con el WAF. No queremos que nadie pueda acceder a él desde “fuera” saltándose el WAF. Paquetes instalados: ✔ Apache2 Necesitamos instalar Apache ya que será el servidor web donde alojaremos las dos páginas que simularán la estructura que tenemos en el centro. ✔ PHP5 IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 11. Necesitamos instalar PHP para poder instalar Wordpress y Joomla. ✔ MySQL Server Es imprescindible su instalación ya que necesitaremos bases de datos para la instalación de Wordpress y Joomla. ✔ PhpMyAdmin En este caso no es obligatoria su instalación, pero resulta más cómodo para la creación de las bases de datos. CMS ✔ Joomla (www.iesgrancapitan.org) Se ha instalado Joomla porque la página principal del centro es también Joomla. En cambio en nuestro proyecto tendremos que ponerle otra URL porque sino entraría en conflicto con el sitio que ya existe. El nuestro se llamará www.waf.gcap.net ✔ Wordpress (www.iesgrancapitan.org/blog04) Hemos instalado Wordpress porque Sisblog es un Wordpress y nuestra intención es tener una estructura lo más parecida a la del centro. En nuestro caso la URL será: www.waf.gcap.net/blog04 Web Application Firewall Máquina virtual Debian 7 (sin entorno gráfico) ✔ Memoria 384 MB RAM Se ha asignado esta cantidad de memoria porque es la recomendada para una máquina Debian sin entorno gráfico. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 12. ✔ Adaptador de red eth0 en modo puente (192.168.112.X) Utilizaremos este adaptador para la comunicación con el “exterior”, es decir, para visitar los sitios alojados en el servidor web tendrán que pasar por el WAF. ✔ Adaptador de red eth1 en modo red interna (192.168.0.2) Este adaptador permitirá la comunicación entre el WAF y el servidor web. Paquetes instalados: ✔ Apache2 Necesitaremos instalar Apache ya que Modsecurity es precisamente un módulo de Apache. ✔ PHP5 También necsitaremos instalar PHP. ✔ Bind En este caso el servidor DNS no era necesario, pero es más correcto usar una URL que una dirección IP. ✔ Libxml2, libxml2-dev y libxml2-utils Estas librerías son necesarias para la instalación de Modsecurity. ✔ Libaprutil1 y libaprutil1-dev Al igual que las anteriores estas librerías también son necesarias. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 13. ✔ Libapache-mod-security Este paquete instala Modsecurity, imprescindible en la implementación del proyecto. 6.- Implantación Servidor Web Instalación de Apache, PHP, MySQL y PhpMyAdmin. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 14. Ahora siguiendo la estructura que tiene el servidor web del centro instalaremos el CMS Joomla que hará las veces de www.iesgrancapitan.org y un Wordpress que hará de Sisblog (www.iesgrancapitan.org/blog04). Primero instalaremos Joomla, así que vamos a crear una base de datos con ayuda de phpmyadmin a través de un cliente: Descargamos Joomla: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 15. Descomprimimos el contenido del zip en la carpeta /var/www y empezamos la instalación desde el navegador del cliente. Una vez instalado vemos como se quedaría: Ahora vamos a instalar Wordpress que hará las veces de Sisblog. Primero creamos una base de datos: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 16. Descargamos Wordpress: Una vez descargado descomprimos el contenido en la carpeta /var/www/blog04 Iniciamos la instalación de Wordpress desde el cliente: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 17. Una vez instalado vemos como quedaría: Visto así este Sisblog no se parece al que está en el centro, así que instalaremos el mismo tema: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 18. Con esto tendríamos una estructura similar a la que tiene el servidor web del centro. Web Application Firewall Instalación de Apache y PHP. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 19. Instalamos DNS. Configuramos las zonas. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 20. Instalación de dependencias de Mod Security. Instalación de Mod Security. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 21. Configuración de reglas básicas: Ahora tenemos que instalar las reglas de la última actualización de la OWASP. Se instalan todas las reglas y luego decidimos cuales queremos aplicar metiéndolas en la carpeta Activated Rules. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 22. Ahora crearemos enlaces simbólicos entre las carpetas base rules y activated rules. También crearemos enlaces simbólicos entre las carpetas optional rules y activated rules de forma que las reglas activadas sean las básicas más las opcionales. Editamos el fichero mod-security.conf IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 23. Habilitamos el módulo headers Reiniciamos Apache Ahora vamos a configurar la parte del proxy inverso. Editamos el fichero /etc/apache2/sites/available/default IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 24. Reiniciamos Apache e intentamos acceder normalmente a la web, pero nos rechaza la petición. Eso es debido a que algunas de las reglas son demasiado restrictivas. Tendremos que editar dos de ellas: Editamos el fichero /etc/modsecurity/activated_rules/modsecurity_crs_21_protocol_anomalies.conf Debemos comentar la línea 98: Editamos el fichero /etc/modsecurity/activated_rules/modsecurity_crs_55_application_defects.conf Debemos comentar las líneas 151 y 152: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 25. Reiniciamos Apache y vamos a hacer una pequeña prueba. Vamos a intentar desde el cliente un sencillo ataque de inyección SQL. Aquí vemos nuestro Sisblog Ahora si intentamos realizar un ataque de inyección SQL esto es lo que nos sale IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 26. Vemos como se rechaza la conexión. Vamos a ver el fichero de log Lo primero que vemos es el día y la hora del ataque. La IP del atacante y la petición que ha hecho a nuestro servidor: Seguimos mirando la entrada de log y vemos la respuesta a la petición (403 forbidden). Tambien vemos la página que se genera en respuesta a la petición. IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 27. Ahora viene la parte más interesante. Aquí podemos ver cuales son las reglas que se han activado y han detenido el ataque: En esta captura no se ve bien, pero si nos movemos más a la derecha: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 28. Como bien puede verse la regla que se ha activado es la 41, que hace referencia a los ataques de inyección SQL. Vamos a realizar una prueba más. Usaremos la herramienta Acunetix Web Vulnerability Scanner aprovechando que nos permite un período de prueba de 14 días. Dentro del asistente indicamos la URL: Ahora en Scanning Profile indicamos XSS IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 29. Pulsamos sobre Next. Después sobre Next. Y finalmente en Finish. Una vez realizado el ataque vemos los resultados: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 30. Si nos fijamos vemos que no se han detectado vulnerabilidades XSS y en el informe vemos que la petición inicial fue rechazada con una respuesta de error 403 forbidden. Otro detalle importante es ver la cookie que se ha utilizado para el ataque XSS ya que con toda seguridad aparezca reflejada en nuestro log. La cookie IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 31. Vamos a ver el log. Nos encontraremos con muchísimas líneas en el log pero solo mostraremos las que tengan información relevante: Aquí vemos el día y la hora del ataque, la IP del atacante, la web atacada, el producto con el que se realizó el ataque y la respuesta por parte del waf. Aquí podemos ver además del día y la hora la cookie que se intentó aprovechar para el ataque, que como vemos coincide con la que teníamos en el software de Acunetix: IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 32. 7.- Recursos 7.1.- Herramientas hardware La única herramienta hardware necesria ha sido el equipo con el cual he estado trabajando con las máquinas virtuales 7.2.- Herramientas software ModSecurity ModSecurity es uno de los cortafuegos de aplicación de código abierto más antiguo y ampliamente utilizado. Puede detectar las amenazas a nivel de aplicación en Internet, y proporciona seguridad frente a una amplia variedad de problemas de seguridad en aplicaciones web. Acunetix Web Vulnerability Scanner IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 33. Acunetix Web Vulnerability Scanner es un software que nos permite realizar auditorías a páginas web y aplicaciones web. Es capaz de detectar numerosas vulnerabilidades entre ellas SQL Injection, XSS, etc. Es un software de pago, pero permite un período de prueba de 14 días, suficiente para realizar las pruebas en nuestro sistema. 7.3.- Personal 7.4.- Presupuesto IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 34. 8.- Conclusiones 8.1.- Grado de consecución de objetivos • Estudiar las posibles soluciones hardware y software existentes en el mercado para su posible implementación. TOTALMENTE TERMINADO. • Seleccionar la solución que más se ajuste a las necesidades y presupuesto del centro. TOTALMENTE TERMINADO • Implementar la solución elegida en una máquina virtual que sirva de referencia para una futura implementación. TOTALMENTE TERMINADO 8.2.- Problemas encontrados - Las reglas que utilizamos de la OWASP son demasiado restrictivas impiendo el acceso normal a la página. SOLUCIÓN: comentar la línea 98 del fichero modsecurity_crs_21_protocol_anomalies.conf y las líneas 151 y 152 del fichero modsecurity_crs_55_application_defects.conf. 8.3.- Futuras mejoras La configuración actual del proyecto puede ser ideal para CMS tipo Joomla, pero en cambio para Wordpress es demasiado restrictiva y cualquier cambio en la configuración por parte del administrador se considera un ataque. La solución es implementar una serie excepciones para cada archivo php implicado en la gestión de nuestro Wordpress. Un ejemplo sería éste: <LocationMatch "/wp-admin/options.php"> SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 SecRuleRemoveById phpids-17 IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org
  • 35. SecRuleRemoveById phpids-20 SecRuleRemoveById phpids-21 SecRuleRemoveById phpids-30 SecRuleRemoveById phpids-61 </LocationMatch> De esta forma al cambiar cualquier parámetro en el fichero options.php el waf ya no nos impediría realizar el cambio. Implementar todas las excepciones resultaría muy laborioso y serían necesarias muchas pruebas. Por falta de tiempo no se han podido implementar en este proyecto con lo cuál quedaría como futura mejora. 9.- Referencias / bibliografía http://www.securitybydefault.com http://www.blogtecnico.net/web-application-firewall-waf/ https://www.barracuda.com/products/webapplicationfirewall/models http://www.cisco.com/c/en/us/products/collateral/application-networking-services/ace-web- application-firewall/data_sheet_c78-458627.html http://www.citrix.es/products/netscaler-appfirewall/overview.html http://www.fromdev.com/2011/07/opensource-web-application-firewall-waf.html http://www.root25.com/2012/11/how-to-install-modsecurity-on-apache-ubuntu12-stepbystep- tutorial.html http://www.root25.com/2012/12/how-to-impelement-reverse-proxy-with-modsecurity.html 10.- Anexos Anexo I: Web Application Firewall IES Gran Capitán -- C/. Arcos de la Frontera, S/N -- 14014 Córdoba -- 957-379710 http://www.iesgrancapitan.org – http://www.iesgrancapitan.org/blog04 -- informatica@iesgrancapitan.org