Anda di halaman 1dari 18

2012

INSTALACION APACHE MOD SECURITY Y DVWA

Javier Garca Cambronel SEGUNDO DE ASIR 24/01/2012

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012

INSTALACIN APACHE COMPLETA


INSTALACION APACHE INSTALACIN PHP EN APACHE CON DEPENDENCIAS MYSQL INSTALACION MYSQL

INSTALACION DE MOD SECURITY Y CONFIGURACION BASICA

INSTALACIN DVWA

PRUEBA DE SEGURIDAD A APACHE ANTES Y DESPUES DE INSTALAR MOD SECURITY


SOLO CON APACHE APACHE CON MOD SECURITY

ANALISIS DE LA APLICACIN FORO CON MOD SECURITY

SEGUNDO DE ASIR

Pgina 1

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012

INSTALACIN APACHE COMPLETA


Lo primero que debemos hacer es instalar apache en Ubuntu, en mi caso en Ubuntu 11.04 para ello ejecutamos el siguiente comando desde la consola sudo apt-get install apache2

Una vez que hayamos introducido nuestra contrasea si nos la pide nos pedir una confirmacin y comenzar la instalacin comenzar la instalacin

Esto instalar Apache 2 y todas sus dependencias, ahora nos dirigiremos al directorio /etc/apache2/ donde nos encontraremos con una serie de archivos, en elarchivo ports.conf debe decir Listen 80, lo cual indica que se estar escuchando en el puerto 80, si quisiramos que nuestro apache escuche en otro puerto diferente modificamos ese valor, si deseamos escuchar peticiones en mas de un puerto agregamos una nueva lnea, por ejemplo Listen 443 que se utiliza para aceptar peticiones mediante el protocolo https en su puerto estndar. sudo gedit /etc/apache2/ports.conf

SEGUNDO DE ASIR

Pgina 2

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012


El archivo apache2.conf es el archivo principal de configuracin de nuestro apache, no lo modificaremos por el momento. Tambin podemos encontrar el archivo httpd.conf, este archivo esta vaco y as lo dejaremos, su fin es simplemente garantizar compatibilidad con versiones anteriores de apache. Encontramos tambin una serie de directorios, mas adelante veremos que contiene cada uno.

Reiniciemos apache: sudo /etc/init.d/apache2 restart

PODEMOS VERLO TANTO DE FORMA LOCAL

COMO EXTERNA

SEGUNDO DE ASIR

Pgina 3

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012

INSTALACIN PHP EN APACHE CON DEPENDENCIAS MYSQL


sudo apt-get install php5 php5-mysql Despues de ingresar este comando si se nos pide la contrasea la metemos y nos saldr una advertencia de si queremos continuar la instalacin de dicho paquete y lo confirmamos.

Despues de esto veremos como comienza la instalacin de cada uno de los paquetes

Y veremos como todo esto se ha llevado a cabo sin ningn problema

SEGUNDO DE ASIR

Pgina 4

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012


Esto instalara PHP 5 y todas sus dependencias y los mdulos necesarios para una comunicacin con bases de datos mysql, para asegurarnos que fue correcto podemos hacer lo siguiente, en el directorio /var/www/ se encuentran una serie de directorios y archivos que son los encargados de mostrarnos una pgina de inicio para saber si apache esta funcionando, esta pgina es la que vimos cuando verificamos que apache funcionaba y no dice mucho mas que la frase "It Works!", lo que haremos ahora es crear el archivo info.php dentro de este directorio con el siguiente comando sudo gedit /var/www/info.php en el cual simplemente escribiremos lo siguiente: <?php phpinfo(); ?> Quedando como vemos en la siguiente imgen

Luego, desde un navegador escribimos como URL la direccin del servidor y solicitamos la pgina info.php, de modo que quede algo como lo 192.168.1.36/info.php, esto nos debera devolver una pgina bastante extensa en la cual figuran las caractersticas de PHP

SEGUNDO DE ASIR

Pgina 5

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012

INSTALACION MYSQL
sudo apt-get install mysql-server Una vez ejecutado el comando se nos pedir la confirmacin pertinente como en anteriores ocasiones y confirmaramos veramos el progreso y se nos presentara la siguiente ventana en la que tendramos que introducir la contrasea para acceder como root a mysql o dejarlo sin contrasea, NO RECOMENDADO

Esto instalara mysql server 5.0, el cliente mysql y todas sus dependencias. Para asegurarnos que todo ha salido bien podemos ejecutar en una terminal: Mysql unombredeusuario -pcontrasea

SEGUNDO DE ASIR

Pgina 6

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012

INSTALACION DE MOD SECURITY Y CONFIGURACION BASICA


QUE ES MOD SECURITY? Mod Secutity es lo que se denomina un firewall de aplicacin diseado para correr en servidores web, mas especficamente apache. Fue creado en 2002 por Ivan Ristic, especialista en seguridad web y posee muchas caractersticas que lo hacen muy eficiente en la deteccin y prevencin de ataques:

Filtrado de peticiones. Tcnicas antievasin. Comprensin del protocolo http y https. Verificacin del rango de bytes para evitar shellcodes. Log de auditoria.

Hay informacin abundante sobre que es Mod Security, lamentablemente no tanta sobre su configuracin. Instalamos ModSecurity con el siguiente comando: sudo apt-get install libapache-mod-security

A continuacin, vamos a preparar el sistema para alojar las reglas de ModSecurity creando un directorio en /etc/apache2/conf.d con el nombre modsecurity: sudo mkdir /etc/apache2/conf.d/modsecurity

Ahora nos cambiamos a este nuevo directorio que hemos creado: cd /etc/apache2/conf.d/modsecurity

Descargamos las reglas desde la web de ModSecurity: sudo wget http://www.modsecurity.org/download/modsecurity-core-rules_2.5-1.6.1.tar.gz

Descomprimimos el archivo descargado: sudo tar xzvf modsecurity-core-rules_2.5-1.6.1.tar.gz SEGUNDO DE ASIR Pgina 7

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012


Borramos los archivos que ya no necesitamos: sudo rm CHANGELOG LICENSE README modsecurity-core-rules_2.5-1.6.1.tar.gz

Ya tenemos ModSecurity instalado y las reglas descargadas, ahora toca indicarle a Apache que lea las reglas y las aplique. Para esto creamos el archivo modsecurity2.conf en /etc/apache2/conf.d con el siguiente comando: sudo gedit /etc/apache2/conf.d/modsecurity2.conf

e introducimos el siguiente texto: <Ifmodule mod_security2.c> Include conf.d/modsecurity/*.conf </Ifmodule>

De esta forma Apache leer todos los archivos .conf del directorio /etc/apache2/conf.d/modsecurity que es donde se encuentran nuestras reglas. El siguiente paso consiste en crear un directorio donde alojar los logs de ModSecurity. Lo hacemos con el siguiente comando: sudo mkdir /var/log/apache2/mod_security

A continuacin enlazamos el directorio creado en el paso anterior con el directorio en el que ModSecurity crea los logs por defecto. sudo ln -s /var/log/apache2/mod_security/ /etc/apache2/logs Por ltimo, slo nos queda reiniciar Apache: sudo service apache2 restart Si vamos de nuevo a phpinfo a la seccionde modulos, vemos que se ha cargado

SEGUNDO DE ASIR

Pgina 8

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012

INSTALACIN DVWA
Lo primero que hacemos ser descargar el archivo necesario para la instalacin, lo haremos con el siguiente comando: wget http://downloads.sourceforge.net/project/dvwa/dvwa-1.0.6.zip

Despues lo descomprimimos: sudo unzip dvwa-1.0.6.zip Lo siguiente que debemos hacer es cambiarnos al directorio donde se ha descomprimido cd dvwa-1.0.6

y movemos todos los archivos necesarios con el siguiente comando anuestra carpeta donde tenemos alojados los archivos del servidor en mi caso a la ruta por defecto. sudo mv dvwa /var/www/

Ahora antes de seguir nos desplazamos a la ruta citada anteriormente y en el archivo config.inc ponemos la contrasea que pertenece a nuestra base de datos mysql tal como vemos en la imagen.

SEGUNDO DE ASIR

Pgina 9

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012


Accedemos como lo haramos de forma normal desde la bara de direcciones http://localhost/dvwa/ Al acceder por primera vez, veremos una advertencia, dicindonos que la base de datos no est accesible. Pulsamos en create database y veremos que los procesos se llevan a cabo.

Una vez hecho esto ya podemos acceder a DVWA identificndonos por ejemplo con admin y como contrasea password

Podemos pasar directamente a atacarlo y o a configurarlo para cambiar el nivel de seguridad de la aplicacin

SEGUNDO DE ASIR

Pgina 10

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012


PARA ACCEDER DESDE EL EXTERIOR CONFIGURAR EL ARCHIVO HOST.CONF Esto es necesario para que lo podemos ver, pues despus de instalar mod security no vamos a poder acceder a travs de la ip. Dentro del equipo en el que vamos a acceder en la siguiente ruta C:\Windows\System32\drivers\etc

Agregamos la siguiente lnea con la ip del equipo (servidor web al que vamos a acceder)

ANTES

AHORA

SEGUNDO DE ASIR

Pgina 11

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012

PRUEBA DE SEGURIDAD A APACHE ANTES Y DESPUES DE INSTALAR MOD SECURITY


SOLO CON APACHE Para esta prueba necesitamos crear un archivo de texto en nuestro servidor. Por lo que ejecutamos el siguiente comando: sudo gedit /var/www/inseguro.php Y escribimos el siguiente contenido: <? $archivo_secreto = $_GET['archivo_secreto']; include ($archivo_secreto); ?>

Ejecutamos el siguiente comando desde nuestro Linux, aunque podramos ver esta informacin accediendo a la web, esto nos da ms informacin. curl -i http://localhost Gracias a este curl obtendremos la informacin real de nuestro servidor, que es justo lo que necesitara cualquier atacante para intentar acceder a nuestro sitio web. Como muestra la captura de pantalla, mi servidor est ejecutando Apache 2.2.17 sobre Ubuntu .

SEGUNDO DE ASIR

Pgina 12

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012


La segunda prueba consiste en ejecutar el archivo inseguro.php que habamos creado en el servidor pasndole como parmetro /etc/passwd. Es decir, desde una navegador accedemos a la siguiente direccin: http://192.168.1.36/inseguro.php?archivo_secreto=/etc/passwd El resultado es el listado del archivo /etc/passwd que contiene, entre otras cosas, los nombres de todos los usuarios del sistema. Otra informacin tambin bastante valiosa para cualquier atacante.

SEGUNDO DE ASIR

Pgina 13

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012


APACHE CON MOD SECURITY En esta seccin se supone que tenemos instalado ModSecurity en nuestro servidor. Y vamos a repetir las pruebas anteriores para observar los nuevos resultados.

Volvemos a ejecutar la primera prueba que consista simplemente en pedirle informacin a nuestro servidor usando curl con el siguiente comando:

curl -i http://localhost Y podemos ver la siguiente informacin: El trabajo de ModSecurity lo apreciamos desde el primer momento porque la informacin que obtenemos es completamente falsa. ModSecurity nos hace creer que el servidor web es Apache 2.2.0 (en vez de 2.2.17) y est montado sobre Fedora (en vez de Ubuntu).

Repetimos la segunda prueba ahora con ModSecurity y accedemos al archivo inseguro.php con el parmetro /etc/passwd. Es decir, tecleamos en el navegador la siguiente direccin: Hay que tener en cuenta que ya no podemos utilizar la IP para la solucin mirar la pgina 11 http://servidor/inseguro.php?archivo_secreto=/etc/passwd Obteniendo el siguiente resultado: dicindonos que el mtodo Get hacia inseguro.php no est implementado con lo que el ataque quedara bloqueado.

SEGUNDO DE ASIR

Pgina 14

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012

ANALISIS DE LA APLICACIN FORO ACUNETIX


Como podemos ver la deteccin de acunetix tambin ha sido engaada

Todos los fallos que encontramos son falsos, el de nivel alto y los de nivel medio. Porque hemos engaado al programa de nuestra versin de apache y el DNS snooping que no se puede realizar, l pagina de error que dice donde esta alojado nuestro servidor (en la imagen en verde) es una ruta completamente falsa

SEGUNDO DE ASIR

Pgina 15

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012

DIRBUSTER
Vemos que con dirbuster despus de estar analizando un buen rato, no conseguimos nada ms que el directorio base. Lo cual nos indica que Mod security hace un gran trabajo.

NESSUS
Configuramos como en anteriores trabajos la aplicacin foro para ver que es lo que encontramos.

SEGUNDO DE ASIR

Pgina 16

[INSTALACION APACHE MOD SECURITY] 24 de enero de 2012


Como podemos ver los errores y/o avisos han disminuido considerablemente en referencia en los que tenamos en los anteriores trabajos que estaban sobre unos 77 sin sanitizar y 60 sanitizando xampp,mysql y apache, aunque bien es cierto que tampoco eran de muchsima relevancia Aqu encontramos 36 y ninguno grave, aunque no hemos engaado al programa y si detecta nuestra versin de Apache.

Es ms tambin detecta que tenemos mod security instalado en nuestro servidor

SEGUNDO DE ASIR

Pgina 17

Anda mungkin juga menyukai