[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cortafuegos con iptables



El mar, 19-06-2007 a las 11:42 -0500, jesus erdeny andrade fandiño
escribió:
> nada que me funciona
> 
> aca pongo mi script para ver que puede estar mal:

Ya te dieron la respuesta, ánimo, necesitas cuatro reglas ;)

Lo que si me voy a permitir darte (si no te importa) es unos consejos
generales para tu cortafuegos:

* Lo primero las 3 políticas a DROP a todo y luego vas abriendo.
* Antes que el masquerade, es preferible el SNAT y el DNAT
* El man de iptables no muerde... suele ser más fiable que seguir una
entrada de blog copiada de otro blog y de un documento del 2002.
* Haz log del tráfico rechazado (en las tres políticas) a un fichero
separado y usa "limit" (man iptables y luego /LOG) para no romper los
cabezales de tu disco ante un DoS. Ojo a lo de separarlo, porque con la
acción LOG por defecto, debian te lo mete en tres sitios (man
syslog.conf) y luego el var se llena :P
* cuando algo no funcione, sigue estos pasos:
	1) tcpdump en la interfaz de entrada de esos paquetes
	2) tcpdump en la de salida
	3) mirar el log donde mandes el iptables a ver que está rechazando
	4) si es un nat, estudia el tcpdump a ver si realmente está cambiando
las IPs
	5) si es una política de enrutamiento, comprueba donde se pierden los
paquetes (ve siguiendo las interfaces con el tcpdump)
	6) prueba a cambiar las reglas en caliente (desde la línea de comandos)
si funcionan ya las agragarás a tu/tus script/librerías ;)

El tcpdump úsalo con parámetros ( -i eth0 host 192.168algo and port 80)

* Usa variables siempre que puedas (para las IPs, para las subredes,
para las interfaces, para los puertos, para el propio comando
iptables... si algún día decides cambiar algo en un cortafuegos con 20
subredes, 32 vlans, bonding, interfaces virtuales, bridging sobre vpn,
routing, miles de reglas, etc entenderás por que lo digo.

* El router, si es un ADSL (osea, una patata), mejor que lo pongas en
monopuesto y hagas de router con el cortafuegos.

* Mírate la salida de sysctl -a | grep net, y estudia como le afecta
cada valor a tu cortafuegos (y los que necesites úsalos
en /etc/sysctl.conf)

* Activa el completion para root (mira al final de /etc/skel/.bashrc) y
así cuando escribas reglas en la linea de comando, podrás usar el
tabulador :)

Esto son solo unos consejillos generales... aún quedan más cosas en el
tintero, pero EMHO, debías saberlos.

Saludos y ánimo.

P.D. yo para la salida por pantalla de la carga de reglas, uso el
fichero functions.sh de gentoo, que lo deja todo muy bonito, bien
formateado, con colores en función del resultado, se adapta al ancho y
tipo de consola, etc.

Pero sin irte tan lejos (en serio que el ebegin y el eend $? enganchan),
puedes hacer la salida por pantalla de esta otra manera:

comprobar (){
if [ $0 == 0 ] ; then echo [OK] ; else ; echo [ERROR] ; done
}

echo -n "Mensaje que quieras"
iptables blablabla
comprobar

Básicamente es lo mismo que el ebegin, pero en (muy) feo.




Reply to: