TECNICO
DEFINICIÓN DE FIREWALL
Un Firewall es un conjunto de limitaciones de acceso para hacer nuestros
servidores más seguros frente al mundo exterior.
Una lista interesante de sitios web dedicados a firewall podría ser:
http://www.linux-firewall-tools.com/linux
http://www.securityfocus.com
http://www.securityportal.com
http://www.linuxfirewall.comhttp://www.firewall.com
http://www.rootshell.com
http://www.freshmeat.net
El siguiente es el esquema utilizado en Linux:
Los paquetes que viajan a través de la red ingresan por IN y salen por OUT, en
el medio se desarrolla el proceso de Firewall por medio de los filtros de
paquetes:
INPUT/ENTRADA: Es el filtro de entrada a todos los paquetes al sistema.
Controla que direcciones de red y puertoslógicos permitirá utilizar el servidor.
OUTPUT/SALIDA: Es el filtro de salida a todos los paquetes del sistema.
Controla las direcciones de red y puertos lógicos con los cuales habrá de
comunicarse el servidor.
FORWARD: En el caso de que el servidor Linux sea utilizado como gateway de
nuestra red para ir a otras redes por ejemplo Internet.
Este filtro controla que direcciones y puertospermitirá que el servidor brinde
servicios de router, este filtro esta compuesto por dos subfiltros: PREROUTING
y POSTROUTING muy utilizados para hacer NAT.
NAT significa Network AddressTraslation y sirve para que usuarios de la LAN
tengan acceso a Internet sin necesidad de un proxy.
CONFIGURACIÓN Del FIREWALL:
La configuración del servidor Linux como un servidor de Firewall se realiza a
travésdel comando iptables.
El sitio principal del grupo de trabajo “netfilter” es http://netfilter.filewatcher.org/
Para poder utilizar este comando debe estar cargado en memoria principal el
modulo de ip_tables, para cargar el soporte a ip_tables se debe ejecutar el
comando:
# modprobeip_tables
Podemos verificar si el modulo ha sido cargado con el comando
# lsmod
El modulo ip_tables y elmodulo ipchains son incompatibles entre si, por lo tanto
en el caso que el modulo "ipchains" haya sido cargado previamente, lo
podremos eliminar con el comando "rmmodipchains" y posteriormente cargar el
modulo ip_tables.
Estructura de un comando iptables
Ejemplo de un comando iptables: como habilitar correo por SMTP solo para la
red 192.168.1.0 con mascara 255.255.255.0.?
#iptables -A external-p tcp -s 192.168.1.0/24 --dportsmtp -j ACCEPT
Se supone que el servicio “smtp” esta definido en /etc/services
Para entenderlo se deben mirar las siguientes tablas:
Comandos para aplicar reglas en iptables, ej: # iptables –P INPUT DROP
-A Adiciona regla a la lista
-D Borra una regla de la lista
-F Borra las reglas de una lista
-I Inserta regla a lista
-L Lista todas las reglas
-N Creanueva regla en lista
-P Configura regla por defecto
-R Reemplaza una regla en lista de usuario
-X Borra una lista de usuario
Protección del servidor Linux:
El primer elemento activo de red a proteger es el servidor Linux. Los filtros a
utilizar para controlar el acceso al sistema son los declarados en INPUT y allí
debemos declarar las interfaces internas ( loopback ó lo ) y las listas quecontrolaran el acceso.
No existe equipo mas seguro que aquel que esta desconectado de la red y
apagado, pero dado que en estas condiciones el equipo no seria utilizable,
debemos buscar una forma para que el equipo este prendido y sea seguro.
Como "Regla de ORO" lo no explícitamente permitido deberá ser prohibido, se
debe partir negando todos los servicios y en forma gradual ir definiendo cualesson los servicios que el servidor podrá prestar.
Es por ello que se debe ejecutar "iptables -P INPUT DROP" como primera
instrucción, de esta forma inhabilitamos el acceso al sistema. Veamos algunas
reglas interesantes:
Reglas que se digitan después del comando adicional a iptables
-s Aplica a paquetes que tengan la dirección fuente X
-d Aplica a paquetes que tengan la dirección destino X...
Regístrate para leer el documento completo.