Práctica Netfilter 2

Embed Size (px)

Citation preview

  • 8/3/2019 Prctica Netfilter 2

    1/17

    Prctica Netfilter 2

    IPTABLES

    Eduardo Bayn Cascajo

    Seguridad Informtica

    16/02/2012

  • 8/3/2019 Prctica Netfilter 2

    2/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 1 de 16

    ndice

    Introduccin..................................................................................................................... 2Descripcin de la red ..................................................................................................... 2

    Esquema de la red ..................................................................................................... 3Comprobacin de la red............................................................................................ 4

    Estado de los puertos.................................................................................................... 6Prctica Proteger la propia mquina ................................................................... 10

    Accept por defecto ................................................................................................... 10Comprobacin que las normas estn correctamente aplicadas .................. 12

    Drop por defecto....................................................................................................... 14

  • 8/3/2019 Prctica Netfilter 2

    3/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 2 de 16

    Introduccin

    Una vez hemos visto ya unas nociones bsicas sobre Firewall en concreto

    sobre Netfilter y sus IPTABLES en esta segunda prctica seguiremos con

    Netfilter (IPTABLES) los puntos 3.1 y 3.2 deeste enlaceque son una prctica

    parecida a la anterior, pero que cambia un poco el esquema.

    Descripcin de la red

    Mi red estar basada en tres equipos:

    Una mquina virtual con Ubuntu 11.04 instalado que har de Firewall

    en la red, y por decirlo de algn modo ser el enroutador de sta.

    Tendr dos tarjetas de red instaladas, con las siguientes direcciones

    estticas:

    Cada una de ellas ser la puerta de enlace de los hosts que irn unidos

    a este equipo.

    http://www.pello.info/filez/firewall/iptables.htmlhttp://www.pello.info/filez/firewall/iptables.htmlhttp://www.pello.info/filez/firewall/iptables.htmlhttp://www.pello.info/filez/firewall/iptables.html
  • 8/3/2019 Prctica Netfilter 2

    4/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 3 de 16

    Dos mquinas con una distribucin ligera de Linux DSL(Damn Small

    Linux) que ser los equipos host unidos al anterior y a los que

    filtraremos el trfico de la red.

    1. El primero de ellos, HOST1-LAN tendr la siguiente configuracin

    de red:

    2. El segundo, HOST2-LAN tendr la siguiente:

    Tenemos que asegurarnos que en ambos equipos la puerta de enlace es

    la IP del equipo que hace de firewall, es decir en el primero de ellos la

    puerta de enlace ser la 192.168.0.20 y en el segundo la 192.168.1.20.

    Esquema de la redEste podra ser un esquema aproximado de mi red, donde se pueden ver los

    elementos anteriormente descritos de una manera grfica:

    http://www.damnsmalllinux.org/index_es.htmlhttp://www.damnsmalllinux.org/index_es.html
  • 8/3/2019 Prctica Netfilter 2

    5/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 4 de 16

    Comprobacin de la redAntes de empezar las prcticas y de aplicar ninguna norma, debemos

    comprobar que nuestra red es visible toda ella entre s, que todas las mquinas

    se ven.

    Para ello, dado que nuestro equipo Ubuntu no es un firewall como tal,tendremos que especificar la siguiente instruccin para que enrute los

    paquetes que le llegan y se ven entre si las mquinas:

    En si, lo que tenemos que hacer es cambiar el contenido del fichero

    ip_forward por 1 (antes era un 0). De este modo se el equipo que hace de

    firewall enroutar de forma correcta nuestros paquetes.

    Decir, que como se ve en la imagen, esta operacin solo la podremos hacercomo superusuario (root).

    Ahora comprobamos que toda la red es visible entre si.

    Primero del equipo firewall a ambos hosts:

    Del Firewall a HOST1-LAN:

    Del Firewall a HOST2-LAN:

  • 8/3/2019 Prctica Netfilter 2

    6/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 5 de 16

    Ahora desde el equipo HOST1-LAN

    Al equipo Firewall

    Al equipo HOST2-LAN

    Ahora desde el equipo HOST2-LAN

    Al equipo Firewall

    Al equipo HOST1-LAN

    De este modo, hemos comprobado que nuestra red es visible entre si desde

    todos sus puntos.

  • 8/3/2019 Prctica Netfilter 2

    7/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 6 de 16

    Estado de los puertos

    Este ser el ltimo paso que debemos comprobar antes de comenzar con

    nuestras prcticas de Netfiler IPTABLES.

    Lo que vamos hacer es comprobar el estado actual de los puertos en nuestroequipo Firewall para luego poder aplicar las instrucciones pertinentes.

    Para ello usaremos diferentes opciones:

    El comando netstat que nos mostrar los puertos en escucha de

    nuestra mquina.

    La aplicacin NMAP que instalar en el equipo Firewall para que nos

    muestre los puertos abiertos y algn tipo de informacin adicional.

    El servicio en lnea Shields upque se trata de un sitio web que nos

    escanear los puertos de una mquina desde la que nos conectemos.

    Dado que mi mquina virtual con Ubuntu est limpia y sin ningn servicio

    instalado, lo que har ser instalar el servidor web Apache, el servidor de

    bases de datos MySQL y el servicio de transferencia de ficheros FTP, de modo

    que cuando luego realicemos las diferentes acciones de filtrado lo hagamos

    sobre cualquiera de estos servicios.

    Por lo que, instalo Apache en mi equipo:

    Del mismo modo tambin instalo MySQL:

    No debemos olvidar especificar durante la instalacin la contrasea de root

    para MySQL, aunque esto solo es para realizar las prcticas, en el futuro

    puede servirnos.

    Y el servicio FTP:

    Realizadas estas tres instalaciones podemos comprobar el estado de los

    puertos antes de comenzar con las prcticas de Netfilter IPTABLES

    https://www.grc.com/x/ne.dll?bh0bkyd2https://www.grc.com/x/ne.dll?bh0bkyd2https://www.grc.com/x/ne.dll?bh0bkyd2
  • 8/3/2019 Prctica Netfilter 2

    8/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 7 de 16

    Comprobamos el estado de los puertos con el comando netstat seguido de las

    opcionesan que nos mostrarn todos los que haya y los filtraremos con

    |more para que podamos ver los primeros:

    Podemos observar, que los servicios que acabamos de instalar estn activos

    en sus puertos MySQL (puerto 3306), FTP (puerto 21) y Apache (puerto 80).

    Ahora vamos a realizar lo mismo con NMAP, primero lo he instalado mediante

    la instruccin y luego he especificado las

    opcionesTAv seguido de la interface localhost:

    De este modo vemos, parte, la siguiente informacin:

  • 8/3/2019 Prctica Netfilter 2

    9/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 8 de 16

    Y como informacin adicional los puertos abiertos a que servicio corresponden:

    Por ltimo vamos a probar con la herramienta online que nos proporciona

    Shields up, por lo que iremos a su sitio web

    https://www.grc.com/x/ne.dll?bh0bkyd2 desde nuestro equipo que realizar las

    veces de firewall para que detecte de l los puertos en escucha.

    Pulsamos sobre Proceed para comenzar:

    Y seleccionamos All service ports para elegir todos los puertos activos:

    https://www.grc.com/x/ne.dll?bh0bkyd2https://www.grc.com/x/ne.dll?bh0bkyd2https://www.grc.com/x/ne.dll?bh0bkyd2
  • 8/3/2019 Prctica Netfilter 2

    10/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 9 de 16

    Pero el problema de esta herramienta es que lo que hace es comprobar el

    estado de los puertos del punto de acceso con el que vamos a internet y claroen este caso el firewall no lo es y lo que hace es rastrear mi router de casa.

  • 8/3/2019 Prctica Netfilter 2

    11/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 10 de 16

    Prctica Proteger la propia mquinaVamos a ver a continuacin dos scripts creado para que Netfilter-IPTABLES

    trabaje con el tanto con la orden por defecto ACCEPT como DROP.

    Accept por defectoAhora que tenemos las mquinas preparadas y sobre todo el Firewall Linux

    vamos a crear las normas. Lo que haremos ser crear un script de shell en

    donde se van aplicando las reglas.

    Los script de iptables que proteja nuestra mquina del trfico TCP malicioso

    puede ser de este tipo:

  • 8/3/2019 Prctica Netfilter 2

    12/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 11 de 16

    Una vez creado le damos permisos de ejecucin sobre l

    y lo ejecutamos, de modo que veremos lo siguiente, ya que hemos

    especificado esos mensajes en el script:

    Tal y como indicamos en el script revisamos que las reglas estn tal y como

    queremos con el comando iptablesLn:

    Podemos ver como las reglas se han aplicado sobre la tabla de politicas por

    defecto ACCEPT.

  • 8/3/2019 Prctica Netfilter 2

    13/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 12 de 16

    Comprobacin que las normas estn correctamente aplicadasPara ello, vamos a intentar acceder desde el equipo HOST1-LAN sobre el

    puerto 20 o 21 que solo puede acceder el equipo HOST2-LAN.

    Intentamos acceder desde HOST1-LAN al ftp del equipo Firewall y

    efectivamente vemos que no podemos:

    Del mismo modo debemos probar que desde el equipo HOST2-LAN si lo hay y

    tiene acceso a ese puerto correctamente:

  • 8/3/2019 Prctica Netfilter 2

    14/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 13 de 16

    Voy a realizar la misma prueba pero sobre el puerto del servicio MySQL

    (3306), en el que solo el equipo HOST1-LAN puede tener acceso segn las

    reglas especificadas y el equipo HOST2-LAN no tiene.

    Vemos como el equipo HOST2-LAN no tiene acceso sobre el puerto 3306:

    El problema que tengo, es que desde HOST1-LAN debera acceder, y no lo

    hacer, exactamente no se por que, he revisado las normas y estn bien

    aplicadas.

    De la misma manera, podemos comprobar con un escaneo con NMAP el

    estado de nuestro Firewall, en concreto veremos el estado de los puertos y de

    que forma han cambiado respecto a antes de aplicar los filtros:

    Vemos que solo se tiene acceso total sobre los puertos 80 y 53 y que el resto

    est filtrados correctamente.

  • 8/3/2019 Prctica Netfilter 2

    15/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 14 de 16

    Drop por defectoA continuacin vamos a aplicar unas normas parecidas pero con la opcin

    DROP por defecto para proteger la maquina correctamente y por ejemplo

    debemos permitir que la propia mquina sea capaz de salir a internet

    Creamos el fichero donde generaremos el script y le damos permisos deejecucin:

    A continuacin vemos el posible script que realizara esta accin:

  • 8/3/2019 Prctica Netfilter 2

    16/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 15 de 16

    Por lo que ejecutamos el script:

    Comprobamos el estado de las normas aplicadas tras ejecutar el script:

    Y podemos comprobar, por ejemplo, que ahora ninguno de los dos HOSTS que

    tenemos en nuestra subred tienen acceso sobre el puerto 21 del FTP:

  • 8/3/2019 Prctica Netfilter 2

    17/17

    Eduardo Bayn Cascajo Seguridad Informtica

    Pgina 16 de 16

    De hecho, si pasamos de nuevo nmap sobre la mquina que trabaja como

    Firewall vemos que solo tenemos activo el puerto 80, el resto no aparecen ya

    que con la poltica por defecto DROP estn cerrados todos salvo los

    especificados: