Firewall en linux
-
Hola a todos:
Estos dias en clase estamos haciendo unas prácticas de seguridad con firewalls en windows, pero la profesora nos ha dejado bastante libertad respecto al tema y yo he preferido hacer la práctica de firewall sobre linux.
Trabajo con una SUSE 9.1 y he estado informandome sobre IPTABLES y demás pero la verdad es que no se como empezar:
He descargado frontends de IPTABLES pero no se instalarlos-configurarlos adecuadamente. ¿Estos solo serian una adaptación a las X-windows de los comandos del IPTABLES, no?
He visto también que existen distribuciones enteras pensadas solo con ese fin (Firewall) y que se configuran via web, descargué la mandrakeSecurity pero no fuí capaz de que funcionara, no conseguí acceder via http.
También he investigado un poco sobre Bastille en una mandrake 8, pero creo que este programa no es en si un firewall¿Me equivoco?
¿Existen firewalls externos al kernel?Es decir, ¿Todos usan IPTABLES o IPCHAIN como base o hay desarrollos externo?
y ya por ultimo, decir que la máquina con la que trabajo quiero que se quede de firewall de una pequeña red local(la clase), pero me gustaría saber si se puede configurar también como firewall para la estación de trabajo, es decir, si puedo configurar el IPTABLES para que actue al modo de un firewall por software de windows, solo para la estación de trabajo.
Pues de momento creo que esas son todas las dudas que me asaltan.
Un saludo
-
Buenas!
Pues no tengo mucha experiencia con IPTABLES, pero te comento algunas ideas sueltas. He trabajado con Mandrake 10, y usando una configuración de firewall muy básica, editandolo todo en modo texto desde consola local o remota.
Tienes ya instalado IPTABLES ? Para arrancar el servicio:
service iptables start
Por ejemplo:
Esto no es un script completo, solo un ejemplo de algunas opciones que he probado.#!/bin/bash #Configuacion iptables firewall v0.03 (...) #ELIMINACION DE TABLAS, REGLAS Y CONTADORES $IPT -F $IPT -X $IPT -Z #DIRECTIVAS PREDETERMINADAS Firewall restrictivo $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP #REGLAS PARA PAQUETES ENTRANTES $IPT -A ENTRADA $FLOOD -j BASURA $IPT -A ENTRADA -i lo -j ACCEPT $IPT -A ENTRADA -p icmp --icmp-type echo-request -s 192.168.0.0/16 -j REJECT --reject-with icmp-host-unreachable $IPT -A ENTRADA -m state --state INVALID -j DROP $IPT -A ENTRADA -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A ENTRADA -m state --state NEW -p tcp --dport 80 -j ACCEPT $IPT -A ENTRADA -s 192.168.0.2 -p tcp --dport 23 -j ACCEPT (...)
Mirate este manual, es un buen comienzo.
La forma en que he usado IPTABLES es creando un script básico, y luego ir añadiendo y probando poco a poco todas las reglas. Desde otro pc de la red, realizar conexiones al pc con firewall y ver logs del tcpdump o en syslog a ver que es lo que muestra.
Si algo no funciona como se espera, editar el script y cargarlo de nuevo.
Recomiendo que antes de empezar a meterte con las reglas, te hagas un borrador de los que quieres permitir y bloquear, para tenerlo claro. Mientras más detallado sea, mejor. Todo lo referente a conexiones de entrada, salida, protocolos, puertos, rangos de red permitidos o prohibidos… en fin, todo lo que se te ocurra.
Existen varias mini-distros que pueden actuar de firewall para una red, por ejemplo IPCop o NetBoz Firewall. En el caso de IPCop ocupa unos 40MB y se puede instalar en un PC con unos recursos mínimos. Puede ser usada de router y proxy, incluye servidor web para administrarlo remotamente.
Para montar un firewall para una red, necesitarás un PC con al menos 2 tarjetas de red. Si solo tienes una tarjeta de red, actuará como firewall del equipo. Por último ya, decir que las distros comentadas pueden no instalarse a menos que detecten en el equipo un mínimo de 2 tarjetas de red.
Respecto a frontends o una GUI para IPTABLES no he usado nada, pero acabo de leer ahora mismo sobre algo:
- fwbuilder : para LAN, más dificil de configurar.
- firestarter: para estaciones de trabajo monopuesto.
Saludos!
-
mira esto a ver si te interesa Noldor
http://bigfish.sourceforge.net/ es un front end en php para la generación y administración de scripts firewall iptables.
dios, 1000 mensajes llevo ya O_o
-
Gracias por las respuestas
El IP-COP ya me le habia bajado y era mi siguiente opción a probar después del fracaso del mandrake, que quizás fuese debido a lo que indicas de las tarjetas de red dado que el equipo en el cual lo instalé solo tenía una. Probare los dos que me comentas.
Respecto a IPTABLES, creo que en la suse9.1 lo instalé por defecto pero ahora no estoy seguro, lo probaré e instalaré si no esta, En la Mandrake 8 en la cual hice pruebas, instalé una versión un poquito más reciente de iptables y aquello no echaba a andar de ninguna manera por problemas de incompatibilidades entre versiones. Ese es un aspecto que he visto del linux que no me gusta: Si quieres instalar algun programa nuevo en una distribución algo antigua, no puedes porque el número de dependencias se hace interminable.
Una duda me queda, el shell script mas o menos lo manejo porque estoy haciendo prácticas con él, pero ¿Como se instalan los frontends, por ejemplo?me vienen en archivos tar.gz normalmente, y cuando desempaqueto y descomprimo, no se como se instala. Ejecuto el script de instalación que suele venir, pero no hace nada ni se ejecutarlo en modo gráfico. Si es un RPM, lo instalo pero tampoco se ejecutarlo.
un saludo
-
pues no se noldor….
algunos front end son web, que solo hay que instalarlos en apache y phpo y otros son aplicaciones que tendras que compilar para instalarlas.
-
En cuanto a la instalación de front-ends, debería veniír algun README o similar detro del archivo comprimido, y si no en la web habrá FAQ… digo yo.
Respecto a las dependencias interminables puedes usar en Mandrake urpmi , es del estilo del apt-get en Debian. Es para instalar cualquier programa que quieras, y te resuelve y descarga a su vez las librerias necesarias para resolver dependencias.
Saludos!
-
Holas, no se si te ayudará pero como no tengo ni idea de linux y los iptables se ma hacen en los dedos como la mantequilla encontré una herramienta para idiotas, osea yo. Lo siento pero me frusta el linux y a la vez me encanta, al menos es creativo. Bueno como iba diciendo encontre una herramienta llamada firestarter, pues bien es un firewall que ademas de permitirte controlar las entradas al pc te permite que compartas la conexion de internet con otros pcs que tengas en la red que hayas montada, por medio de los nat pero no te preocupes te hace preguntas simples y tu le contestas lo que quieres y ya esta el firewall funcionando. Ten encuenta que hasta yo mismo lo he podido instalar. No obstante si puedes controlarlo por los iptables pues mejor pero si no ya sabes, firestarter. Suerte. xD
-
Prueba con Coyote Linux (Distro de un disquete) que es un cortafuegos principalmente.
Tambien he usado Webmin para configurar cortafuegos y no va mal.
Un saludo