elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 20:28  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado
| | |-+  Hacking Linux/Unix (Moderadores: kamsky, TRICKY, berz3k)
| | | |-+  TUTO:configurando un firewall seguro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: TUTO:configurando un firewall seguro  (Leído 2,670 veces)
aaronexe

Desconectado Desconectado

Mensajes: 58


Ver Perfil
TUTO:configurando un firewall seguro
« en: 10 Marzo 2006, 03:59 »

recordando que un filtro es una manera de definir en que paquetes actuara nuestra regla .Por ejemplo , suponiendo que ya sabemos como utilizar un filtro por protocolo, con lo cual podriamos hacer un firewall de tipo:

"todo lo que entra por el protocolo ICMP, rechazarlo"

este protocolo es de primer nivel .TCP e ICMP son protocolos de los llamados "de primer nivel ". muchos de ustedes se estaran preguntando si pueden usar HTTP o FTP como parametros del filtro -p.La respuesta es no.HTTP , FTP,SSH, Telnet,son todos protocolos de segundo nivel que se trasmiten bajo el protocolo TCP/IP .Entonces , en primer lugar tenemos el protocolo TCP/IP, y en segundo lugar tenemos el protocolo que corre dentro de el, que puede ser cualquiera de los anteriormente mencionados .Bien , habiendo comprendido esto , podemos ahora filtrar por protocolo de segundo nivel .Y para eso , podemos utilizar los numero de puertos del sistema . veamos un ejemplo en pseudoreglas:

"todo lo que entra por el protocolo TCP,puerto 80,aceptarlo"

Con esto , lo que estoy permitiendo es que todo acceso web a mi laptop sea permitido.Bien ,veamos ahora el mismo ejemplo,pero con un comando real de iptables:

iptables -A INPUT -p tcp   dport 80 -j ACCEPT

el orden que acabamos de indicar es el correcto. El parametro --dport requiere obligatoriamente del parametro    -p  .Si no ,¿como sabe iptables de que protocolo estamos hablando ? puerto 80 ¿de que protocolo ?.

Filtrar por direcciones fuente y destino
ahora que sabemos como filtrar los paquetes que llegan a nuestra computadora segun el puerto de entrada , vamos a avanzar un poco mas . Algo muy necesario cuando se arman Firewalls es definir direcciones de origen y destino .veamos algunos ejemplos en pseudocodigo :

"todo lo que venga a mi computadora desde la direccion 10.0.0.1 , aceptarlo"
"todo lo que salga de mi computadora hacia la direccion 10.0.0.2, negarlo"


en general , el poder manejarnos con direcciones ip nos permite tener un control bastante minucioso de lo que entra y lo que sale de nuestra comutadora . veamos ahora los ejemplos anteriores con reglas reales de ip tables :


iptables -A INPUT -s 10.0.0.1 -j ACCEPT
iptables -A OUTPUT -d 10.0.0.2 -j DROP

Aqui aparece la gran diferencia entre las dos reglas . en primer lugar , en la primera estamos creando una regla en la cadena de entrada (INPUT) , y en la segunda estamos creando una regla en la cadena de salida (OUTPUT) . con el comando -s estamos definiendo SOURCE (FUENTE) y con el comando d estamos definiendo destiny (destino).pero lo mas interesante de tdo esto es que podemos empezar a combinar filtros de manera que podamos hacer un control mas minucioso de lo que sucede en las interfaces de redde nuestro sistema :


iptables -A INPUT -s 10.0.0.10 -p tcp  dport 80 -j DROP
iptables -A INPUT -s 10.0.0.10 -p tcp  dport 21 -j ACCEPT

en el primer comando , lo que hacemos es decirle a iptables que todo lo que ingrese desde la direccion IP 10.0.0.10 y tenga como puerto destino es nuestra mquina al correspondiente de HTTP sea negado . De la misma forma , a la misma direccion IP le permitimos el acceso al puerto 21 .
A medida que vayamos aprendiendo nuestro filtros , iremos viendo la manera de combinarlos para sacar el maximo provecho al sistema de filtros de paquetes iptables.

FILTRAR POR INTERFAZ DE RED 
En muchos casos , suele suceder que tenemos mas de una placa de red en nuestra computadora.imaginemos la siguiente situacion :tenemos una computadora que actua como intermediaria entre dos redes que pueden ser , por ejemplo , internet y una LAN . Entonces tendremos una placa de red conectada a internet y la otra placa de red conectada a nuestra red de area local . cada placa de red tendra una direccion IP especifica , que lo mas probable es que pertenescan a redes diferentes .Entonces , puede ser necesario indicar desde que interfaz de red escuchar los paquetes para filtrarlos .veamos un ejemplo : tenemos un servidor web que queremos que sea accedido solo desde nuestra red de area local .para eso , simplemente tenemos que definir que todo  acceso al puerto 80 de nuestro servidor desde la interfaz de red correspondiente a la conexion a internet sea negado . suponiendo que eth0 es la placa de red que tenemos conectada a internet , veamos como hacer esto :

iptables -A INPUT -i eth0 -p tcp  dport 80 -j DROP

aqui vemos un parametro nuevo , -i , que lleva como subparametro el nombre de la interfazde red que vamos a filtrar.
bien , basta de parametro de filtros por hoy , vamos a ver muchos en adelante , pero ahora es necesario aclarar algunas cosas para que ya mismo podamos comenzar a construir firewalls seguros .

orden de las reglas :
uno de los grandes problemas del armado de firewalls , aparte de conocer perfectamente cuales son los puertos abiertos de la maquina que deben ser filtrados , es definir las reglas en el orden correcto  no podemos ponerlas en el orden que se nos plazca ,porque lo mas probable es que nos encontremos con un funcionamiento totalmente imprecindible .entonces,para evitar problemas , vamos a comenzar definiendo que iptables lee las regals de arriba para abajo. si , suena un poco raro , pero es asi . veamos el siguiente ejemplo :

iptables -A INPUT -p tcp   dport 80 -j ACCEPT
iptables -A INPUT -p tcp   dport 80 -j DROP

fijense qeu las reglas son totalmente contradictorias , primero decimos que aceptamos el acceso al puerto 80 de nuestra computadora , y luego decimos lo contrario .bien , las dos reglas obviamente no entraran en juego .como mencionamos anteriormente ,iptables lee las reglas de arriba a abajo . entonces, en el ejemplo anterior , lo que sucedera es ques i se permitira el acceso al puerto 80 . ¿que sucede con la segunda regla? directamente es salteada .una ves que iptalbes realizo lo pedido con respecto al puerto 80 , no vuelve a procesar las reglas con filtros iguales , en el caso anterior la segunda regla directamente no tiene efecto .
esto es muy importante que quede en claro , mas que nada para cuando comencemos a armar firewalls grandes.siempre hay que tener en cuenta esta regla . una ves que un paquete cumple con los requisitos necesarios para ser detectado por el primer filtro que lo intercepte , se ejecutarala accion correspondiente y no se volvera a evaluar dicho paquete por mas que existan reglas posteriores cuyos filtros tambien lo detecten .

MODELO BASICO DE FIREWALL:
con los conocimientos de la entrega anterior y de la que estan leyendo en este momento , ya estan preparados para montar firewalls seguros , aprenderemos a armar firewalls con ejemplos , asi que vaamos directamente al grano x'DDD  ;D . tenemos un servidor proxy con una sola placa de red , el servidor proxy se escarga de compartir una conexion de internet a varias computadoras de una red interna qeu tiene direcciones del tipo 10.0.0.1 10.0.0.2 10.0.0.3 etc .
hasta ahoara , todo bien . la cuestion es que el servidor tiene un servidor apache correindo en el puerto 80 , y nuestra intencion es que solo puedan ingrasar en las paginas que contiene desde la red interna , y no desde internet .
nuestro firewall deberia lucir como el siguiente :

#ejemplo de firewall numero 1 .

iptables -F
iptables -A INPUT -s 10.0.0.0/24  -p tcp   dport 80 -j ACCEPT
iptables -A INPUT -s tcp  dport 80 -j DROP


lo que hacemos con la primera regla es borrar todas las reglas de la tabla principal de firewall definido anteriormente .la primera regla permite el acceso al puerto especificado desde cualquier maquina de la red interna (10.0.0.0/24).la segunda regla niega todo acceso al puerto 80.entonces , este firewall funciona del suguiente modo : si proviene un paquete de la red interna , entonces la primera regla lo detecta y permite su paso;luego saltea la segunda regla porque ya fue ejecutada una accion con dicho paquete .ahora bien , si el paquete no proviene de la red interna , entonces el filtro de la primera regla no va a detectarlo , por lo que pasara directamente a la segunda regla , en donde se dice que cualquier paquete que venga hacia el puerto 80 se rechace . con esto logramos que desde nuestra red interna puedan ingresar desde el servidor web , pero no puedan hacerlo desde la red externa ( o desde cualquier otro equipo que este fuera de la red 10.0.0.0/24).
si nuestro equipo hubiera tenido dos placas de red (digamos ,eth0 para internet ,y eth1 para la red interna ) , entonces prdriamos haber armado el firewall de la siguiente manera :

#ejemplo de firewall numero 2
iptables -F
iptables -A INPUT -i eth1 -p tcp  dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp  dport 80 -j DROP

EN CONCLUSION :
en este tuto hemos aprendido el modelo basico para armar firewalls , asi como algunos filtros que nos seran de gran utilidad . en el proximo tuto y si es que este tiene exito jejeje  ::) voy a enseñar mas filtros y analizaremos un firewall ,del mundo real . como siempre , recuerden que por mas firewall que pongan ,si los servicios que brinda su equipo tienen vulnerabilidades , entonces el equipo sera vulnerable . controlen las versiones , controlen los puertos abiertos , nunca dejen nada librado al azar  practiquen lo que les enseñe  :D . hasta muy pronto
espero que este tuto haya servido para algo , fiuuuu que era largo cheee  :-(
                              saludos aaronexe  ::)


En línea
aaronexe

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: TUTO:configurando un firewall seguro
« Respuesta #1 en: 12 Marzo 2006, 18:00 »

bueno al menos digan si les gusto jejejeje , o si tuve algun error , se lo agradeceria ya que me mate escribiendo el tuto jejejeje :huh:


En línea
zhyzura
Colaborador
***
Desconectado Desconectado

Mensajes: 2.465



Ver Perfil
Re: TUTO:configurando un firewall seguro
« Respuesta #2 en: 15 Marzo 2006, 03:52 »

esta muy bien solo que quizas le falto que explicaras un poco mas el funcionamiento de iptables asi como sus demas comandos ;) para que el usuario tenga varias formas de configurar su propia computadora
En línea
aaronexe

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: TUTO:configurando un firewall seguro
« Respuesta #3 en: 25 Marzo 2006, 06:57 »

chincheta chincheta !!! x'DDD  ::) ya subo algo mas de este tuto , acaba de salir del orno  ;D
En línea
sikik


Desconectado Desconectado

Mensajes: 664


Jo sóc jo i la meva circumstància.


Ver Perfil
Re: TUTO:configurando un firewall seguro
« Respuesta #4 en: 25 Marzo 2006, 16:51 »

muy bueno, felicidades ;)
En línea

"Social Engineer -> Because there is no patch for human stupidity".
"Però qui s'ha inclinat sobre l'abisme, qui ha vist, patirà per sempre la temptació de tornar un altre cop a aquest punt negre en el qual les tenebres il·luminen(...)"
Warning: shell_exec() has been disabled for security reasons at line 274.
Soul Lost
GNU/Linux
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.445



Ver Perfil WWW
Re: TUTO:configurando un firewall seguro
« Respuesta #5 en: 26 Marzo 2006, 08:21 »

Por si sirve de algo: http://foro.elhacker.net/index.php/topic,102656.0.html

Saludos!!
En línea

Siempre hay algo nuevo que aprender
Mi NUEVO BLOG: soullost.org
zhyzura
Colaborador
***
Desconectado Desconectado

Mensajes: 2.465



Ver Perfil
Re: TUTO:configurando un firewall seguro
« Respuesta #6 en: 28 Marzo 2006, 05:26 »

a eso me referia, gracias por el link y el manual Soul Lost  :)
En línea
aaronexe

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: TUTO:configurando un firewall seguro
« Respuesta #7 en: 30 Marzo 2006, 17:51 »

casi me olvidaba jejeje , ando de vacaciones  ::) cuando vuelva a mi garage x'D posteo la 2 edicion de este tuto espero que les guste mas  que a mi jejejeje saludos
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines