13 sept. 2010

Seguridad en Ubuntu (IV) - El cortafuegos

Tras el parón veraniego retomamos los artículos de seguridad con uno dedicado al cortafuegos (o firewall).

Según la Wikipedia, un cortafuegos es:
".. un dispositivo o conjunto de dispositivos configurados para permitir, limitar, cifrar, descifrar, el tráfico entre los diferentes ámbitos sobre la base de un conjunto de normas y otros criterios."

Para lo que nosotros queremos podríamos definir el cortafuegos como una serie de reglas con las cuales filtraremos y controlaremos todo el tráfico de red entrante y saliente de nuestro ordenador (o red local). El cortafuegos es la pieza principal en la seguridad de red.

El núcleo de GNU/Linux (o kernel) lleva un cortafuegos integrado por lo que no es necesario instalar ningún software específico para tenerlo. Sin embargo, la comunicación con las funciones de cortafuegos del núcleo (a través del comando iptables) puede ser algo complicada para usuarios no expertos, por este motivo existen programas que nos facilitarán la tarea de gestionar el cortafuegos.

Para este artículo usaré el programa gufw (podeis encontrarlo en el Centro de Software) para gestionar el cortafuegos, pero hay otros como firestarter o ufw-gtk que servirán igual.

  • Establecer la política general de acceso
Existen dos políticas principales a la hora de configurar el cortafuegos, dependiendo del tipo de uso que le vayamos a dar a nuestra conexión de red elegiremos una u otra:
  1. Denegar tráfico entrante: rechazar todas las conexiones entrantes y permitir expresamente las conexiones que deseamos (método seguro). Recomendado para usuarios de escritorio y pequeñas redes.
  2. Permitir tráfico entrante: aceptar todas las conexiones y establecer reglas específicas para las que queramos denegar (método inseguro).

Desde la pantalla principal de gufw (Sistema - Administración - Configuración cortafuegos) activamos el cortafuegos y elegimos la política restrictiva por defecto para el tráfico entrante:


Política restrictiva por defecto

  • Definir las reglas
Una vez definida la política general restrictiva podemos definir las reglas que permitirán aquellas comunicaciones que necesitemos. Tendremos que añadir una regla por cada servicio que queramos ofrecer.

Hay muchos tipos de conexiones y muchas configuraciones para cada una de ellas, vamos a ver algunos ejemplos representativos, vosotros debereis aplicarlos a los servicios y las condiciones que querais fijar en vuestro cortafuegos.

Abrir puertos para programas p2p: las redes p2p (emule, torrent...) requieren que ciertos puertos estén abiertos para funcionar correctamente, al establecer una política general restrictiva hemos "cerrado" todos los puertos por lo que estableceremos reglas para abrir los que necesitemos.

Esto es tan sencillo como Añadir - Preconfigurado - Permitir - Entrante - Programa - seleccionamos el programa al que queremos permitir el acceso - Añadir.


Acceso permitido al programa deluge (torrent)

De la misma manera podemos permitir el acceso a los programas o servicios que creamos necesarios.

Permitir administración remota: es muy común tener que configurar ordenadores de forma remota a través de diferentes protocolos (ssh, vnc...) para lo cual generalmente se necesita abrir el acceso un puerto determinado. Esto es una "puerta abierta" al mundo y un posible agujero de seguridad. Para minimizar los riesgos filtraremos estas conexiones permitiendo únicamente la conexión desde una dirección IP determinada (la del ordenador que realiza la administración remota).

En este caso el proceso será Añadir - Avanzado - Permitir - Entrante - Registro - TCP - seleccionamos la dirección IP y puerto de origen y de destino - Añadir.

Definición manual de reglas

En este caso hemos establecido una regla que permite el acceso al servicio SSH (por el puerto 22) desde la dirección 192.168.1.10 (de nuestra red interna) al ordenador 192.168.1.2 (tambien de nuestra red interna, de manera que no se permitirá la conexión desde ninguna otra ubicación al servicio SSH). Además para mayor seguridad hemos activado el registro de conexiones.

  • Más información
Wikipedia: Cortafuegos
SoftLibre: Nueva GUI para la configuración del Firewall en Ubuntu (ufw-gtk)

  • Artículos relacionados

2 comentarios :

fzeta dijo...

hola fosco_, colega. veo que haz terminado tus publicaciones sobre la seguridad en Ubuntu, o aun queda mas? el caso es que me han servido un montón, te doy las gracias maquina.!!
Todo esta muy claro y muy bien explicado, eres una hacha. En fin mucha suerte y thx.

fosco_ dijo...

@fzeta: pues aun quedan 5 artículos más para completar el especial sobre seguridad, supongo que algunos te resultarán más interesantes y otros menos. Pero me alegro de que te estén sirviendo de ayuda.

Un saludo