20 sept. 2010

Seguridad en Ubuntu (V) - El antivirus

Si bien GNU/Linux es un sistema famoso por su seguridad, robustez y ausencia de virus (aunque alguno hay), por suerte o por desgracia nuestro sistema operativo favorito suele convivir con otros sistemas mucho más vulnerables al ataque de los virus, ya sea en el mismo ordenador, dentro de una red local o en internet. Por este motivo existen soluciones de software antivirus que podemos instalar y ejecutar desde Ubuntu.

  • ¿Para qué puedo necesitar un antivirus en GNU/Linux?
Escanear particiones de Windows: si por ejemplo descargamos archivos mediante programas p2p y luego abrimos estos archivos desde windows podríamos infectarnos con virus, una manera de evitarlo es escanearlos desde Ubuntu antes de abrirlos.

Mantener la partición $HOME libre de virus: aunque es poco probable podría darse el caso de que archivos descargados en Ubuntu estuviesen infectados y que estos acabasen afectando al sistema a través de programas como por ejemplo Wine. Para evitarlo escanea todo lo que descargues de fuentes no fiables.

Añadir un filtro antivirus al servidor de correo: si nuestro sistema Ubuntu es servidor de correo o pasarela de otras estaciones de trabajo windows puede ser una buena idea instalar un antivirus residente que analice y elimine cualquier amenaza antes de que ésta llegue a los ordenadores "sensibles.


  • Antivirus nativos
ClamAV: ClamAV es un antivirus de código abierto, especialmente diseñado para el análisis en servidores de correo. Este antivirus se encuentra en los repositorios de Ubuntu, para su instalación ejecutaremos:
$ sudo aptitude install clamav clamtk

Finalizada la instalación tenemos la interfaz gráfica disponible en el menú Aplicaciones - Accesorios - Analizador de Virus. Su uso es muy intuitivo permitiendonos escanear cualquier carpeta o archivo del sistema.

ClamAV escaneando una partición Windows

Entre sus características más destacables encontramos la posibilidad de programar el escaneado (desde el menú Avanzado - Planificador), la posibilidad de funcionar en modo residente (instalando el paquete clamav-daemon), interfaz gráfica para Gnome (clamtk) y KDE (klamav), opción de poner archivos en cuarentena...


Avast: Avast también dispone de una versión para GNU/Linux gratuita para uso personal no comercial (debereis registraros en su web rellenando el formulario de registro). Aunque no está en los repositorios podemos descargar el paquete deb directamente desde su web avast! Linux Edition (DEB package)

Una vez descargado el archivo lo instalaremos con la orden:
$ sudo dpkg -i avast4workstation_1.3.0-2_i386.deb

Incomprensiblemente la instalación no supo crear los enlaces correspondientes en el menú de Gnome, por lo que fue necesario arrancarlo desde un terminal con la orden:
$ avastgui

Avast escaneando $HOME

Su funcionamiento es muy intuitivo, antes de nada actualizaremos la base de datos y una vez acabada la actualización procederemos a escanear las carpetas seleccionadas o bien el sistema entero (no recomendable).


AVG: AVG no está en los repositorios, pero dispone de paquete deb (se echa en falta una versión específica de 64bits) que podeis descargar desde su propia web avg85flx-r855-a3656.i386.deb. Una vez descargado el archivo lo instalaremos con la orden:
$ sudo dpkg -i avg85flx-r855-a3656.i386.deb

Una vez instalado podemos ejecutarlo desde linea de comandos pasandole como parámetro el directorio que queremos escanear en busca de virus.
$ avgscan ~
AVG command line Anti-Virus scanner
Copyright (c) 2010 AVG Technologies CZ

Virus database version: 271.1.1/3137
Virus database release date: Wed, 15 Sep 2010 20:34:00 +02:00


Files scanned : 8451(8443)
Infections found : 0(0)
PUPs found : 0
Files healed : 0
Warnings reported : 0
Errors reported : 0

  • Más información
ClamAV

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