teora-cortafuegos: (0.08)
	Un poco de teora sobre cortafuegos
	

Copyright Manel Marin @ 2000 Cubierto por la licencia GNU GPL disponible en
http://www.gnu.org/copyleft/gpl.html  Se puede copiar, distribuir y modificar
libremente bajo los trminos de la GPL e incluyendo siempre este prrafo



1- BREVE INTRODUCCIN A LOS CORTAFUEGOS

Cortafuegos es el conjunto de medidas destinadas a limitar el acceso desde
 Internet a tu red interna y a tus servicios.

Puede ser de tres tipos (aunque se pueden y deben montar a la vez):
	- De filtrado de paquetes
	- Proxys
	- Limitacin de acceso a nuestros servidores privados

    *DUDA:*
    Es adecuado considerar la limitacin de acceso como un cortafuegos?
    O mejor como una medida adicional? De hecho es seguridad Unix no?


1.1- CORTAFUEGOS DE FILTRADO

El cortafuegos de filtrado de paquetes es difcil de configurar, pero
muy efectivo y consume pocos recursos.

Bsicamente son reglas que deben cumplir los paquetes que entran (INPUT),
salen (OUTPUT) y son redirigidos (FORWARD) en nuestro sistema.


Lo importante es entender que aceptar y que prohibir y porque, ya que
cada versin de kernel utiliza herramientas diferentes y cada una con
una sintaxis y bases diferentes:

	- kernel 2.0 	ipfwadm
	- kernel 2.2	ipchains
	- kernel 2.4	iptables



1.2- PROXYS

Aun no he profundizado con ellos, esto es lo que tengo entendido:

En vez de permitir que nuestros clientes "hablen" directamente con Internet
 podemos obligarlos a hablar con un intermediario, que a su vez "habla" con
 Internet.

Ese intermediario conoce el servicio empleado (por ejemplo www) y solo
 permite ese tipo de dialogo.
Adems podemos restringir con quienes dialogan nuestros usuarios,
 quien puede utilizar el servicio y hasta podemos registrar los accesos.

Un proxy puede adems tener cach (por ejemplo squid para www)



1.3- LIMITACIN DE ACCESO A NUESTROS SERVIDORES PRIVADOS [1]

Es conveniente tomar medidas adicionales para proteger nuestros servicios
privados, esto se debe de hacer de varias formas simultneamente:


    Eliminando servidores no utilizados

	- No instalndolos
	- Evitando que arranquen


    Evitando que se pueda acceder a nuestros servidores

	- Restringiendo los interfaces en los que estn activos [2]
	    a) Usando la opcin "bind", "interface"  "listen on" del servicio
	    b) Lanzando el servicio con xinetd en reemplazo de inetd y
	     aadiendole la opcin "interface" a su seccin


    Prohibiendo el acceso

	- Usando el control de acceso del servicio [2]
	- Usando desde inetd el tcp-wrappers y hosts.allow / hosts.deny


    Reduciendo el riesgo en caso de vulnerabilidad (por si todo fallase)

	- Haciendo que los servicios no corran como root [2]
	- Encerrando los servicios en una crcel "chroot"
	- Eliminando posibilidades de conseguir "root" a los usuarios [2]


[1] Bueno este apartado es seguridad Unix genrica y se merece un manual por si
solo... aqu solo enumero las ideas bsicas.

[2] Esto lo estoy investigando actualmente de forma activa.


MAS AYUDA:

Ver mis chuletas "S2-cortafuegos" y "S2-DOC" 
