Pages

Ads 468x60px

lunes, 10 de agosto de 2015

Iptables. Configuración en Ubuntu

Como ya vimos el otro día la parte de teoría, en esta ocasión vamos a ver como configurar Iptables en Linux, más concretamente en Ubuntu.

Lo primero es comprobar el estado de las tablas de reglas con:

     sudo iptables -L




Como podemos observar, en cada etapa aparece policy y la operación por defecto. Lo normal es que esté siempre en aceptar.


Podemos vaciar la tabla con: 

     sudo iptables -F

Si ahora hiciésemos un ping desde otra máquina a la que tenemos con Ubuntu, veríamos el siguiente resultado.





Lo que vamos a hacer ahora es bloquear ese tráfico con el comando:

     sudo iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j DROP

Este comando añade una regla a la etapa INPUT de la tabla filter. Los parámetros que le siguen son las condiciones, vienen de la interfaz eth0 y son del protocolo ICMP y, a continuación le decimos que serán eliminados. También podíamos haber utilizado ACCEPT para aceptar el paquete y REJECT que elimina el paquete pero avisando al origen.

Si volvemos a repetir el comando que nos lista las reglas, la cosa cambia.

     sudo iptables -L




Podemos observar en la imagen que el protocolo ICMP aparece como DROP.

Veamos que ocurre si lanzamos el ping desde otro equipo hacia el que tiene Ubuntu.



Obviamente nos lo deniega, vemos que de los cuatro paquetes que envía por defecto Windows, los cuatro son denegados (pedidos= 4).

Desde el Ubuntu vamos a borrar la regla que tenemos para volverla a crear, pero esta vez cambiamos la acción de DROP a LOG para así comprobar que la regla está cumpliendo lo que le pedimos. Actuamos de la siguiente manera:

     sudo iptables -F
     sudo iptables -L
     sudo iptables -A INPUT -i eth0 -p icmp -j LOG
     sudo iptables -A INPUT -i eth0 -p icmp -j DROP





Bien, probemos de nuevo a lanzar el ping desde otro equipo para ver que sucede ahora.




Como podemos comprobar, la parte del ping de Windows al Ubuntu es exactamente igual.
Pero podríamos ver lo que ha pasado en el equipo con Ubuntu más exhaustivamente con:

     cat /var/log/syslog

Podremos ver una línea por cada paquete bloqueado. Veremos la fecha, quien genera el log, la interfaz donde se ha bloqueado y otros detalles más del paquete como la dirección MAC, IP, protocolo, etc.

Por ultimo, os dejo los modificadores que podemos usar con Iptables, aunque para mayor información siempre podéis remitiros al manual del Iptables con man iptables.

-A --append: Añade la regla a la cadena especificada.

-D --delete: Elimina una regla.

-R --replace: Permite modificar una regla concreta.

-I --insert: Permite insertar una regla es una posición determinada.

-L --list: Listar las reglas

-F --flush: Eliminar todas las reglas de una cadena (CHAIN)

-N --new-chain: Permite crear una nueva cadena (CHAIN)

-X --delete-chain: Permite eliminar una cadena

-P --policy: Permite especificar la política por defecto de una cadena (CHAIN), ACCEPT, REJECT o DROP

No os creáis que esto es todo, porque Iptables tiene mucho que estudiar y que aprender, así que, a darle caña!



Roberto García (@1GbDeInfo)
Creative Commons Licence
1Gb De informacion by Roberto García Amoriz is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Based on a work at http://www.1gbdeinformacion.com/.
Permissions beyond the scope of this license may be available at http://www.1gbdeinformacion.com/.

Perfil profesional en Linkedin

 
Blogger Templates