jueves, 25 de noviembre de 2010

Estructura de reglas de IP-TABLES

 Para comenzar a utilizar este servicio, debemos asegurar que este corriendo en nuestro sistema, para mirar esto verificamos desde un terminal o shell ingresando las siguientes lineas. Para verificar que lo que ingresemos funciones bien, nos logeamos como administrador desde la shell:


#su
#iptables --help


Los comandos anteriores permiten ingresar a trabajar como administrador y mirar la ayuda o instrucciones de iptables.


Las reglas genericas son las siguientes:


Para borrar reglas:


#iptables −F
#iptables −X
#iptables −Z
#iptables −t nat −F


Ingresamos politicas por defecto y bloqueamos todo:


iptables -P INPUT DROP ----> Bloquea todo lo que entre
iptables -P OUTPUT DROP ----> Bloquea todo lo que salga
iptables -P FORWARD DROP ----> Bloquea todo lo que entre y lo que salga


Aceptamos paquetes segun la necesidad del protocolo a usar en nuestra interface:


iptables -A INPUT -i eth0 -p "protocolo" -j ACCEPT ----> Aceptamos ingreso por eth0 de protocolo x y aceptamos


iptables -A OUTPUT -o eth0 -p "protocolo" -j ACCEPT ----> Aceptamos salida por eth0 de protocolo x y aceptamos
iptables -A FORWARD -i eth0 -p "protocolo" -j ACCEPT ----> Aceptamos ingreso por eth0 de protocolo x y aceptamos
iptables -A FORWARD -o eth0 -p "protocolo" -j ACCEPT ----> Aceptamos salida por eth0 de protocolo x y aceptamos


Si lo que queremos es filtrar protocolos y puertos ejemplo puerto 80:


iptables -A INPUT -p tcp -i eth0 --sport 80 -j ACCEPT ----> Ingreso por protocolo TCP en eth0 desde puerto 80
iptables -A OUTPUT -p tcp -o eth0 --dport 80 -j ACCEPT ----> Salida por protocolo TCP en eth0 desde puerto 80
iptables -A FORWARD -p tcp -i eth0 --sport 80 -j ACCEPT ----> Ingreso por protocolo TCP en eth0 desde puerto 80


iptables -A FORWARD -p tcp -o eth0 --dport 80 -j ACCEPT ----> Salida por protocolo TCP en eth0 desde puerto 80


Ahora si lo que queremos es por direccion ip:


iptables −A INPUT −s 192.168.0.5 −p tcp −−dport 80 −j ACCEPT


Si queremos agregar mas de un puerto a una misma IP:


iptables −A INPUT −s 192.168.0.5 −p tcp −dport 1:1024 −j ACCEPT


NAT o network address translation  es un mecanismo  usado en gran manera hoy en día, debido a que permite por medio de una IP publica y habilitando puertos a convenir en la red WAN y comunicándolos con puertos internos en nuestra red LAN configurando puertos específicos para IP especificas que tengamos para usar, por ejemplo natear puerto 80 para nuestro servidor WEB que se encuentra en la red interna con una IP local.
Hay varias configuraciones de NAT, ya sea la configuración de puertos, de IP destino u origen, entre otras, cada una de ellas recibe un nombre distinto:

Source NAT
Este caso se presenta cuando cambiamos la IP origen, este caso se ve cuando navegamos en internet y tenemos un equipo conectado a un router y la dirección real del equipo es una IP local, pero el router tiene una IP publica diferente.

IP masquerading
Esta clase de nateo se presenta normalmente en casos de internet residencial, o donde tenemos una IP publica la cual sustituye a nuestra IP origen es estática.

Destination NAT o port forwarding
En este caso es cuando aplicamos NAT entre los puertos de nuestra red local y WAN, tomando nuevamente el ejemplo de nuestro servidor WEB que lo consultamos por puerto 80 o servidor FTP que lo podemos consultar por puerto 21.

PAT (Port Address translation)
En este caso tomamos los puertos de destino y origen y los nateamos entre ellos para poder mostrar un servicio en internet, ejemplo mostramos un servicio WEB por puerto 80 y lo nateamos al puerto 8080 en una ip local de nuestra red a el equipo con el servicio.

En iptables si queremos configurar un puerto externo y en nuestra lan un puerto diferente se hace de la siguiente forma:
 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.0.111:8080
...

Firewall Logicos "IP-TABLES"

Al momento de querer asegurar nuestra red LAN con un firewall se debe tener en cuenta para comenzar que queremos asegurar y con que presupuesto queremos comenzar. Este ultimo en la mayoria de los casos es un factor que influye mucho en el momento de querer volver un sistema seguro ya que los firewall fisicos llegan a costar hasta $3.000 o mas y el solo soporte por parte del fabricante llega a tener un valor de hasta $100 o mas, todo dependiendo de los requerimientos y la complejidad de nuestra red interna.

Los firewall logicos son la solucion a los problemas de presupuesto, si queremos asegurar nuestra red LAN o por lo menos minimizar riesgos. Una buena solucion es usar IP-TABLES.

IP-TABLES es un servicio incorporado a los sistemas Linux, este servicio se configura mediante linea de comandos o shell, podemos realizar la configuracion de este servicio mediante scripts en linux que nos permitan ahorrar trabajo en caso de querer aplicar las mismas reglas o reglas similares en otra red.


Que es un firewall?

Para empezar se debe tener en cuenta que los firewall los hay de dos tipos, logicos y fisicos. Los firewall logicos son aquellos que funcionan como un aplicativo mas en nuestro sistema operativo,  mientras los firewall fisicos o en hardware son mas parecidos a un switch o router contando con que tienen su propio sistema de administracion por medio remoto mediante una terminal.

Un firewall como tal es un mecanismo que me permite filtrar por medio de reglas logicas si una conexion se puede establecer o no, esto tomando encuenta direcciones IP y puertos de origen y destino. Su uso mas frecuente tiende a ser entre una red LAN a una red WAN para evitar ingresos o ataques no deseados a nuestra LAN.

Pero un firewall hoy dia va mucho mas alla de un listado de reglas con IP y puertos de origen y destino, tambien puede filtrar los paquetes y determinar si estos son malformados para realizar un ataque por parte de un delincuente informatico.