viernes, 22 de julio de 2011

Practica de IPTABLES

<html>
<body>
<div style="width:477px" id="__ss_8664249"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/ocnelep/iptables-linux-8664249" title="IPTABLES linux">IPTABLES linux</a></strong><object id="__sse8664249" width="477" height="510"><param name="movie" value="http://static.slidesharecdn.com/swf/doc_player.swf?doc=practicaipt-110722092829-phpapp02&stripped_title=iptables-linux-8664249&userName=ocnelep" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse8664249" src="http://static.slidesharecdn.com/swf/doc_player.swf?doc=practicaipt-110722092829-phpapp02&stripped_title=iptables-linux-8664249&userName=ocnelep" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="477" height="510"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">documents</a> from <a href="http://www.slideshare.net/ocnelep">ocnelep</a>.</div></div>
</body>
</html>

jueves, 21 de julio de 2011

IPTABLES y reglas de filtrado de paquetes


Firewall
Cada ordenador que se conecta a internet (y, básicamente, a cualquier red de ordenadores) puede ser víctima del ataque de un hacker. La metodología que generalmente usan los hackers consiste en analizar la red (mediante el envío aleatorio de paquetes de datos) en busca de un ordenador conectado. Una vez que encuentra un ordenador, el hacker busca un punto débil en el sistema de seguridad para explotarlo y tener acceso a los datos de la máquina. 
Esquema de firewall típico entre red local e internet
Por muchas razones, esta amenaza es aún mayor cuando la máquina está permanente conectada a internet:
  • Es probable que la máquina elegida esté conectada pero no controlada.
  • Generalmente, la máquina conectada que se elige posee un ancho de banda más elevado.
  • La máquina elegida no cambia las direcciones IP o lo hace muy ocasionalmente.
Por lo tanto, es necesario que tanto las redes de las compañías como los usuarios de internet con conexiones por cable o ADSL se protejan contra intrusiones en la red instalando un dispositivo de protección. 

¿Qué es un Firewall?

            Un firewall es un sistema que protege a un ordenador o a una red de ordenadores contra intrusiones provenientes de redes de terceros (generalmente desde internet). Un sistema de firewall filtra paquetes de datos que se intercambian a través de internet. Por lo tanto, se trata de una pasarela de filtrado que comprende al menos las siguientes interfaces de red:
  • una interfaz para la red protegida (red interna)
  • una interfaz para la red externa.
Firewall

 

El sistema firewall es un sistema de software, a menudo sustentado por un hardware de red dedicada, que actúa como intermediario entre la red local (u ordenador local) y una o más redes externas. Un sistema de firewall puede instalarse en ordenadores que utilicen cualquier sistema siempre y cuando:
  • La máquina tenga capacidad suficiente como para procesar el tráfico
  • El sistema sea seguro
  • No se ejecute ningún otro servicio más que el servicio de filtrado de paquetes en el servidor
En caso de que el sistema de firewall venga en una caja negra (llave en mano), se aplica el término "aparato".
Cómo funciona un sistema Firewall
Un sistema firewall contiene un conjunto de reglas predeterminadas que le permiten al sistema:
  • Autorizar la conexión (permitir)
  • Bloquear la conexión (denegar)
  • Rechazar el pedido de conexión sin informar al que lo envió (negar)
Todas estas reglas implementan un método de filtrado que depende de la política de seguridad adoptada por la organización. Las políticas de seguridad se dividen generalmente en dos tipos que permiten:
  • la autorización de sólo aquellas comunicaciones que se autorizaron explícitamente:
"Todo lo que no se ha autorizado explícitamente está prohibido"
  • el rechazo de intercambios que fueron prohibidos explícitamente
El primer método es sin duda el más seguro. Sin embargo, impone una definición precisa y restrictiva de las necesidades de comunicación.
¿Para que utilizamos el filtrado de paquetes?
Cualquier router IP utiliza reglas de filtrado para reducir la carga de la red; por ejemplo, se descartan paquetes cuyo TTL ha llegado a cero, paquetes con un control de errores erróneos, o simplemente tramas de broadcast. Además de estas aplicaciones, el filtrado de paquetes se puede utilizar para implementar diferentes políticas de seguridad en una red; el objetivo principal de todas ellas suele ser evitar el acceso no autorizado entre dos redes, pero manteniendo intactos los accesos autorizados.
Filtrado de paquetes
Un sistema de firewall opera según el principio del filtrado simple de paquetes, o filtrado de paquetes stateless. Analiza el encabezado de cada paquete de datos (datagrama) que se ha intercambiado entre un ordenador de red interna y un ordenador externo.
Así, los paquetes de datos que se han intercambiado entre un ordenador con red externa y uno con red interna pasan por el firewall y contienen los siguientes encabezados, los cuales son analizados sistemáticamente por el firewall:
  • La dirección IP del ordenador que envía los paquetes
  • La dirección IP del ordenador que recibe los paquetes
  • El tipo de paquete (TCP, UDP, etc.)
  • El número de puerto (recordatorio: un puerto es un número asociado a un servicio o a una aplicación de red).
Las direcciones IP que los paquetes contienen permiten identificar el ordenador que envía los paquetes y el ordenador de destino, mientras que el tipo de paquete y el número de puerto indican el tipo de servicio que se utiliza.
La siguiente tabla proporciona ejemplos de reglas del firewall:


Regla
Acción
IP fuente
IP destino
Protocolo
Puerto fuente
Puerto destino
1
Aceptar
192.168.10.20
194.154.192.3
tcp
cualquiera
25
2
Aceptar
cualquiera
192.168.10.3
tcp
cualquiera
80
3
Aceptar
192.168.10.0/24
cualquiera
tcp
cualquiera
80
4
Negar
cualquiera
cualquiera
cualquiera
cualquiera
cualquiera




Los puertos reconocidos (cuyos números van del 0 al 1023) están asociados con servicios ordinarios (por ejemplo, los puertos 25 y 110 están asociados con el correo electrónico y el puerto 80 con la Web). La mayoría de los dispositivos de firewall se configuran al menos para filtrar comunicaciones de acuerdo con el puerto que se usa. Normalmente, se recomienda bloquear todos los puertos que no son fundamentales (según la política de seguridad vigente).
Por ejemplo, el puerto 23 a menudo se bloquea en forma predeterminada mediante dispositivos de firewall, ya que corresponde al protocolo TELNET, el cual permite a una persona emular el acceso terminal a una máquina remota para ejecutar comandos a distancia. Los datos que se intercambian a través de TELNET no están codificados. Esto significa que es probable que un hacker observe la actividad de la red y robe cualquier contraseña que no esté codificada. 

Uso de iptables para el filtrado de paquetes

Cuando un paquete u otra comunicación llega al kernel con iptables se sigue este camino. 
Las reglas de filtrado se introducen en tres cadenas:
  • En la cadena INPUT para los paquetes destinados a la máquina que llegan a través de los diferentes interfaces.
  • En la cadena OUTPUT para los paquetes que salen por un cierto interfaz.
  • En la cadena FORWARD para los paquetes que entran por un interfaz y salen por otro (o el mismo!).
Operaciones sobre una regla
Cada regla especifica un conjunto de “condiciones” que debe cumplir el paquete, y qué hacer si se ajusta a ellas, es decir, un “objetivo”. Las operaciones más comunes sobre las reglas que forman una cadena son:
  1. Añadir una nueva regla a una cadena (-A).
  2. Insertar una nueva regla en alguna posición de la cadena (-I).
  3. Mover una regla a otra posición dentro de una cadena (-R).
  4. Borrar una regla de un sitio en particular de una cadena (-D).
  5. Borrar la primera regla que coincida con los parámetros dados en una cadena (-D).
IMPORTANTE
            El orden en el que se ponen las reglas de firewall es determinante. Normalmente cuando hay que decidir que se hace con un paquete se va comparando con cada regla del firewall hasta que se encuentra una que le afecta (match), y se hace lo que dicte esta regla (aceptar o denegar); después de eso NO SE MIRARÁN MÁS REGLAS para ese paquete. ¿Cuál es el peligro? Si ponemos reglas muy permisivas entre las primeras del firewall, puede que las siguientes no se apliquen y no sirvan de nada.