LinuxParty



Gracias por colaborar y  enviar un artículo.

De todos los campos que verás, los únicos obligatorios son: El TÍTULO, EL ARTÍCULO y la CATEGORÍA, el resto de los campos los puedes dejar en blanco, ya que o no son necesarios o se rellenarán automáticamente.

Tal vez, prefieras enviar un archivo (sólo txt, odt, doc o pdf)



 

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 
Charla que se dió en el canal #linux_party, del IRC-HISPANO, sobre Firewalls IPTABLES, el cual fué un completo éxito con más de 100 usuarios online.
 
Si al acceso te pide contraseña, deja en blanco y pulsa [Intro]

Nuestro Amigo _ScratcH_, fué el instructor de la charla y moderador del canal fué una Introducción al iptables, en sustitución de Introducción a Python, ya que Mr.: Heimy no pudo conectarse. (La charla cuyo contenido sigue siendo hoy perfectamente vigente se produjo en abril del 2006)
<_ScratcH_> el kernel 2.2 utilizaba ipchains
<_ScratcH_> y a partir del kernel 2.4 (y posteriores) utiliza iptables
<_ScratcH_> que es mucho mas complejo que los dos anteriores
<_ScratcH_> la configuracion del firewall consiste en definir una serie de
politicas de actuacion para el tratamiento de los paquetes
de red que llegan, salen o atraviesan nuestro ordenador
<_ScratcH_> bueno.. alguna duda hasta el momento?
muy clarito
<_ScratcH_> ok.. pos sigo
no, todo entendido, puedes continuar ;)
<_ScratcH_> toda la informacion que pasa por la red va agrupada en paketes
de informacion que llevan una cabecera donde dice entre
otras cosas cual es el origen del pakete, cual es el destino,
que protocolo utiliza, etc..

** Demasiadas interrupciones pasamos a modo Moderado, ;-) **

 

 

<_ScratcH_> si alguien quiere interrumpirme.. hacer preguntas.. o anadir algo..
pedidle voz en privado a SNEAK_ o a JAO deacuerdo?
<_ScratcH_> cuando tenemos un ordenador que esta trabajando como enrutador
(router) los paquetes que pasan por el pueden ser de tres tipos
<_ScratcH_> paquetes generados por el propio ordenador..
<_ScratcH_> paquetes que recibe que van destinados a el mismo
<_ScratcH_> y paquetes que se le envian para que este los enrute hacia otra
direccion
<_ScratcH_> esto ultimo es lo que se conoce como reenvio o FORWARD
<_ScratcH_> pues bien
<_ScratcH_> iptables nos permite definir una serie de politicas
<_ScratcH_> para eso se definen tres tablas diferentes..
<_ScratcH_> filter, nat y mangle
<_ScratcH_> la primera define politicas de filtrado, es decir.. toma decisiones
sobre que paquetes se aceptan.. y cuales no.. cuales se
devuelven a destino.. etc..
<_ScratcH_> la segunda NAT (Network Address Translation) Traduccion de
Direcciones de Red define cambios en las cabeceras de los
paquetes
<_ScratcH_> podemos recibir un paquete destinado al reenvio hacia otra
direccion.. pero con las politicas adecuadas podemos hacer
por ejemplo que antes de reenviar el paquete sustituya la
direccion de origen por otra.. etc..
<_ScratcH_> y por ultimo la tabla mangle que nos permite modificar.. no el la
cabecera del paquete.. sino el contenido del mismo
_Scratch_ nos piden si puedes poner ejemplos de como se definen las
tablas
<_ScratcH_> si si..
<_ScratcH_> pondre ejemplos de todo
<_ScratcH_> vamos a empezar con el filtrado
<_ScratcH_> el filtrado se puede aplicar a tres tipos de objetivos..
<_ScratcH_> a paquetes generados por la propia maquina (LOCAL_OUT), a paquetes
destinados a la propia maquina (LOCAL_IN) o a paquetes
destinados a reenvio (FORWARD)
<_ScratcH_> una vez identificado el objetivo hay que especificar la accion que
se debe tomar sobre este.. que puede ser entre otras una de las
siguientes:
<_ScratcH_> ACCEPT: acepta el paquete
<_ScratcH_> DROP: desecha el paquete sin mas
<_ScratcH_> REJECT: rechaza el paquete pero informa al origen de que ha sido
rechazado
<_ScratcH_> bien.. otra cosa que debemos especificar son las caracteristicas
que debe cumplir el paquete para aplicarle esta accion
<_ScratcH_> estas pueden ser:
<_ScratcH_> -p :que el paquete utilice un protocolo determinado
<_ScratcH_> -s :una direccion de origen (source) determinada
<_ScratcH_> -d :una direccion de destino
<_ScratcH_> -i :una interfaz de entrada (eth0, ppp0, ...)
<_ScratcH_> -o :una interfaz de salida
<_ScratcH_> --dport :un puerto de destino
<_ScratcH_> --sport :un puerto de origen
<_ScratcH_> --mac-source :una direccion fisica ethernet en concreto
<_ScratcH_> --icmp-type :un tipo icmp concreto, etc...
<_ScratcH_> para introducir una regla en la tabla de iptables la sintaxis
vendria a ser la siguiente..
<_ScratcH_> iptables -t TABLA -A OBJETIVO -j ACCION
<_ScratcH_> ejemplo
ppalou pregunta: ¿a que te refieres con esto de los protocoles "-p"?
<_ScratcH_> si queremos itroducir una norma en la tabla de entrada que rechaze
todos los paquetes del protocolo TCP destinados al puerto 23
(telnet) de nuestro ordenador que provengan de una direccion
que no pertenezca a nuestra red local
192.168.0.0/255.255.255.0 hariamos lo siguiente
<_ScratcH_> ppalou: protocolos: TCP, UDP o ICMP
cual es el ICMP (sorry por mi ignorancia)?
<_ScratcH_> creo ke es Internet Control Message Protocol
<_ScratcH_> son paquetes de tamano pequeno ke se utilizan para realizar
ciertas comprobaciones..
<_ScratcH_> por ejemplo..cuando haces un PING a una maquina
<_ScratcH_> envias un paquete ICMP - ECHO REQUEST
<_ScratcH_> y el otro extremo responde con un paquete ICMP - ECHO REPLAY
<_ScratcH_> antiguamente se podia tumbar un equipo con un modem lento desde
otro con mayor ancho de banda simplemente bombardeandolo a PING
en el campo ip, se aceptan rangos ip, como 192.168.0.0/12?
<_ScratcH_> con iptables puedes filtrar esto de forma que no acepte mas
paquetes de este tipo
<_ScratcH_> chawax: exacto
<_ScratcH_> ahora pongo un ejemplo
<_ScratcH_> si queremos itroducir una norma en la tabla de entrada que rechaze
todos los paquetes del protocolo TCP destinados al puerto 23
(telnet) de nuestro ordenador que provengan de una direccion
que no pertenezca a nuestra red local
192.168.0.0/255.255.255.0 hariamos lo siguiente
<_ScratcH_> iptables -t filter -A INPUT -j DROP --dport 23 -s ! 192.168.0.0/24
<_ScratcH_> el signo ! se utiliza para negacion
<_ScratcH_> es decir: -s ! 192.168.0.0/24
<_ScratcH_> signicica: todos los paquetes cuyo origen (source) sea distinto a
nuestra red 192.168.0.0/255.255.255.0
<_ScratcH_> la mascara de red se puede abreviar indicando el numero de bits a 1
<_ScratcH_> 255.0.0.0 = /8
<_ScratcH_> 255.255.0.0 = /16
<_ScratcH_> etc..
<_ScratcH_> hasta ahora alguna duda con esto?
<_ScratcH_> ;)
si no especificas ninguna regla para una determinada accion y se
realiza ke sucede?
<_ScratcH_> hay que especificar accion
<_ScratcH_> a ver.. para cada objetivo podemos definir una accion
predeterminada
<_ScratcH_> si por ejemplo..queremos partir de la base de que no aceptamos
ningun paquete hariamos esto
<_ScratcH_> iptables -t filter -A INPUT -P DROP
<_ScratcH_> -P indica la accion (o politica) por defecto
<_ScratcH_> podriamos hacer esto para luego anadir una regla diciendo que si
acepte los paquetes de nuestra red local..
<_ScratcH_> iptables -t filter -A INPUT -s 192.168.0.0/24 -j ACCEPT
<_ScratcH_> de estemodo tendriamos una LAN parcialmente aislada del exterior
<_ScratcH_> parcialmente por que solo hemos cerrado los paquetes de entrada..
habria que cerrar tambien los de salida y de reenvio
_ScratcH_ todas estas reglas donde se guardan para k se realizen
siempre? en un archivo de init.d ?
<_ScratcH_> ppalou: esa es la mejor forma de hacerlo
<_ScratcH_> crear un script muy simple y anadirlo al init.d
ok
<_ScratcH_> aunkue eso depende de cada distribucion
<_ScratcH_> bueno.. como me imagino ke la mayoria (yo incluido) teneis ganas
de iros a la kamita.. voy a explicar brevemente las acciones
de NAT y lo dejamos por hoy.. deacuerdo?

Continúa en la parte 2

Charla IPTABLES, que se dió en el canal #linux_party (2)

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política