Principal

Consejos para administradores

Consejos para usuarios

Consejos prácticos

LINUX como cortafuegos gratuito

Alfonso Lázaro Téllez, consultor de IP6Seguridad, nos ofrece sus consejos para configurar Linux como cortafuegos gratuito y eficaz.

El boom de Internet ha llegado y muchas PYMES se quieren apuntar a lo que parece (y todos pensamos es) una gran oportunidad de negocio.

El inconveniente principal que se encuentran estas empresas reside en las inversiones iniciales que deben afrontar: nuevos equipos informáticos, nuevo software, una conexión frame relay, ... y en cuanto están enganchados a Internet se plantean añadir seguridad a toda esa inversión que han tenido que hacer. En algunos casos estas empresas se encuentran con que las inversiones en seguridad son a veces tan importantes como las de las máquinas que quieren proteger, sintiéndose como expresa el refrán español que "están pagando más por el collar que por el perro".

La solución que aquí planteo es gratuita. Consiste en configurar un Linux como cortafuegos. Las ventajas que nos ofrece esta solución son obvias:

  • Linux es un sistema operativo gratuito.
  • La máquina donde correrá el cortafuegos no es necesario que sea una gran máquina: con un Pentium 133 con 32 megas de RAM sería posible. Incluso con menos.
  • Fiabilidad bastante alta: muchas empresas están eligiendo una opción de este tipo.

El único inconveniente de esta opción es que la administración y configuración de un cortafuegos con Linux precisa a alguien con conocimientos del sistema operativo.

Para ilustrar la configuración del cortafuegos voy a poner un ejemplo que coincide con una gran cantidad de redes que poseen las PYMES.

cortafuegoslinux.gif (2330 bytes)

En este esquema necesitaremos una máquina no de última generación, por ejemplo un Pentium 133 o parecido, con 32 megas de RAM y 3 tarjetas de red.

Instalamos el sistema operativo en la maquina y lo fortificamos. Para ello básicamente quitamos todos los servicios que ofrece Linux.

Nuestro cortafuegos no debe ofrecer ningún servicio hacia el exterior. Eliminaremos la mayoría de los programas setuids que no sean fundamentales en el sistema. Recompilaremos el núcleo para que pueda aceptar nuestras tarjetas de red. Y lo más importante: pensaremos una política de seguridad para nuestra empresa.

Aquí incluyo un programa que configurará básicamente nuestro cortafuegos.

#!/bin/sh

# Definimos las variables

export ROUTER=194.100.xxx.1
export WEBSERVER=194.100.xxx.66
export DNS=194.100.xxx.67
export CORREO=194.100.xxx.68
export FTP=194.100.xxx.69
export PROXY=192.168.xxx.2
export MIRED=192.168.xxx.0/255.255.255.0
export ALL=0/0

# levantamos las interfaces

ifconfig eth0 194.100.xxx.2 netmask 255.255.255.192
ifconfig eth1 194.100.xxx.65 netmask 255.255.255.192
ifconfig eth2 192.168.xxx.1 netmask 255.255.255.0

# añadimos las rutas

route add -net 194.100.xxx.64 netmask 255.255.255.192 dev eth1
route add -net 192.168.xxx.0 netmask 255.255.255.0 dev eth2
route add -host $ROUTER dev eth0
route add default gw $ROUTER

# Empezamos con la política

# Denegamos el forwarding por defecto
# ipfwadm --> comando de firewall, -F forwarding , -p politica

ipfwadm -F -p rej

# aceptamos entrada y salida de correo

ipfwadm -F -a acc -S $ALL -D $CORREO 25 -P tcp
ipfwadm -F -a acc -D $ALL -S $CORREO 25 -P tcp -k

ipfwadm -F -a acc -S $CORREO -D $ALL 25 -P tcp
ipfwadm -F -a acc -D $CORREO -S $ALL 25 -P tcp -k

# aceptamos la recogida de correo desde la red interna

ipfwadm -F -a acc -S $MIRED -D $CORREO 110 -P tcp
ipfwadm -F -a acc -D $MIRED -S $CORREO 110 -P tcp -k

# aceptamos petición y consultas de DNS

ipfwadm -F -a acc -S $ALL -D $DNS 53 -P tcp -b
ipfwadm -F -a acc -S $ALL -D $DNS 53 -P udp -b

# aceptamos peticiones de FTP

ipfwadm -F -a acc -S $ALL -D $FTP 21 -P tcp
ipfwadm -F -a acc -D $ALL -S $FTP 21 -P tcp -k
ipfwadm -F -a acc -S $FTP -D $ALL 20 -P tcp
ipfwadm -F -a acc -D $FTP -S $ALL 20 -P tcp -k

# aceptamos hacer masquerade desde el proxy

ipfwadm -F -a acc -S $PROXY -D $ALL -m

# Para loguear el resto de peticiones. Los logs se guardan en /var/log/messages
# Si no se desea loguear comentar la siguiente línea.

ipfwadm -F -a rej $ALL -D $ALL -o

# Fin del fichero de configuración.

Este cortafuegos es muy básico, no es perfecto ni mucho menos, no tiene reglas antispoof y alguna que otra pequeña limitación, pero a grandes rasgos es un cortafuegos utilizable por una empresa.

De todas maneras siempre se aconseja que la configuración y administración del cortafuegos la lleve un especialista. Pero tampoco deje que le digan que todos los cortafuegos son caros y hay que pagar grandes cantidades de dinero por sus licencias y el software.

Participa con tus consejos y trucos

¿Tienes algún consejo o truco que te gustaría compartir con otros usuarios? Envíamelo y aparecerá publicado con tu nombre.

 

Copyright © 1997-1999 Gonzalo Álvarez Marañón, CSIC. Todos los derechos reservados.

Criptonomicón es un servicio ofrecido libremente desde el Instituto de Física Aplicada del CSIC. Para información sobre privacidad, por favor consulte la declaración de política sobre privacidad. Para sugerencias, comentarios o quejas, acuda al libro de visitas. Para contribuir al Criptonomicón, lea la página de contribuciones.