27 dic 2010

Tres clientes Twitter más para Ubuntu

Desde que publiqué el artículo Cuatro clientes Twitter para Ubuntu no ha pasado mucho tiempo, sin embargo ya han aparecido interesantes alternativas a los programas que allí se comentaban. Vamos a hacer un repaso a algunas de estas novedades señalando las principales ventajas de cada una de ellas.

  • Hotot
Este ligero y flexible cliente de Twitter tiene un aspecto realmente bueno y un consumo de recursos muy bajo.

Para instalarlo ejecutamos:
sudo add-apt-repository ppa:hotot-team && sudo apt-get update && sudo apt-get install hotot

Una vez instalado podemos lanzarlo desde la consola escribiendo hotot & o desde el menú Aplicaciones - Internet - Hotot Twitter Client

Hotot

Sus principales ventajas:
- Consumo de RAM: 33mb
- Soporta extensiones
- Previsualización de imágenes sin necesidad de cargarlas en el navegador
- Se integra en el sistema de notificaciones de Gnome y KDE
- Basado en Python

  • Turpial
Sus características son muy similares a las de Hotot, y destaca también por ser sencillo, ligero y de cuidada estética.

Para instalarlo ejecutaremos:
sudo add-apt-repository ppa:effie-jayx/turpial && sudo apt-get update && sudo apt-get install turpial

Una vez instalado lo tendremos disponible desde el menú Aplicaciones - Internet - Turpial

Turpial

Sus principales ventajas:
- Consumo de RAM:22,4mb
- Basado en Python
- Capacidad para "silenciar" temporalmente usuarios
- Buen equilibrio entre sencillez y configurabilidad

  • TweetDeck
Este es seguramente el cliente más compelto que he probado, aunque tiene una terrible desventaja frente a los demás: está basado en el sistema Air de Adobe, lo cual significa que es un gran consumidor de recursos.

Para instalarlo necesitaremos el entorno Air, podemos descargarnos el paquete .deb directamente de http://get.adobe.com/es/air/ e instalarlo con el gestor de paquetes. Una vez instalado vamos a la web de TweetDeck y pulsamos sobre el botón de descarga.

Una vez instalado tendremos disponible el programa desde el menú Aplicaciones - Accesorios - TweetDeck


TweetDeck

Sus principales ventajas:
- Multiplataforma (Linux, Windows, Mac)
- Soporta Twitter, Facebook, Buzz, Myspace y otras redes sociales populares
- Previsualización de videos e imágenes
- Publicación de tweets programados
- Sincronización y respaldo de la cuenta
- Twitscoop y Trending Topics, listas, filtros...

Entre sus desventajas:
- Consumo de RAM: 93mb
- Adobe Air no se lleva muy bien con los sistemas de 64bits

  • Más información
Twitter
Hotot

20 dic 2010

Seguridad en Ubuntu (VI) - Herramientas de análisis del sistema

Un aspecto importante en la seguridad y que mucha gente ignora son los análisis más o menos periódicos del sistema. Estos análisis nos ayudarán a detectar posibles intrusiones, evaluar la seguridad del sistema y preveer cuales son los principales riesgos.

Existen numerosas herramientas para estas tareas, algunas de ellas muy sencillas, otras muy complejas. En este artículo os voy a presentar algunas de las que me han parecido más útiles y sencillas de usar.

  • ¿Qué puertos/servicios tengo abiertos? nmap
La mayoría de intrusiones remotas se producen por fallós en los servicios que damos al exterior. Estos servicios abren puertos a través de los cuales es teóricamente posible obtener acceso al sistema.

El comando nmap nos servirá (entre otras cosas) para listar estos servicios:
sudo apt-get install nmap
nmap localhost

Esto instalará nmap y listará los puertos/servicios que ofrece nuestro sistema, en mi caso por ejemplo este es el resultado:
Starting Nmap 5.21 ( http://nmap.org ) at 2010-12-09 14:14 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00060s latency).
Hostname localhost resolves to 2 IPs. Only scanned 127.0.0.1
rDNS record for 127.0.0.1: localhost.localdomain
Not shown: 997 closed ports
PORT STATE SERVICE
21/tcp open ftp
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp

Estos resultados corresponden a la compartición de archivos mediante Samba (puertos 139 y 445), al servicio de impresora de red (puerto 631) y al servidor de archivos ftp que he instalado (puerto 21).

Si veis puertos o servicios listados que no necesitais podeis desactivarlos desinstalando el paquete correspondiente o modificando los scripts de arranque siguiendo este artículo Optimizar El Arranque (II) Bum

Nota: si no sabeis exactamente lo que hace un puerto/servicio podeis consultar la web http://www.speedguide.net/ports.php

Otro punto importante a escanear, es el router (principalmente para aquellos que teneis conexiones ADSL), este escaneado nos mostrará qué puertos/servicios son directamente accesibles desde el exterior.
nmap 192.168.1.1

Tan solo hay que darle nmap la dirección IP de nuestro router. En mi caso este fue el resultado:
Starting Nmap 5.21 ( http://nmap.org ) at 2010-12-09 16:30 CET
Nmap scan report for 192.168.1.1
Host is up (0.0035s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
21/tcp open ftp
23/tcp open telnet
80/tcp open http

Estos resultados corresponden a los métodos de acceso a la configuración del router (por telnet puerto 23 y web puerto 80) y a la redirección del puerto ftp (puerto 21) a mi servidor local de archivos.

Si veis puertos o servicios listados que no necesitais podeis desactivarlos o restringir el acceso desde el exterior configurando correctamente las opciones de vuestro router.

Nota: podeis comprobar qué puertos/servicios son visibles desde el exterior con el escaneador online de http://www.speedguide.net/portscan.php

  • ¿Me han colado algún troyano? rkhunter
Un troyano es un tipo de software malicioso que tiene generalmente como propósito el robo de información privada del sistema infectado. Se distinguen de los virus en que generalmente no provocan daños visibles.

GNU/Linux no es invulnerable a este tipo de software y la infección es relativamente fácil, para saber si hemos sido "infectados" por algún tipo de troyano tenemos la herramienta rkhunter, su instalación es sencilla
sudo apt-get install rkhunter

Una vez instalado lo ejecutaremos con la orden:
sudo rkhunter -c

Este comando ejecutará una serie de tests en busca de troyanos y dará como resultado final un informe como este:
System checks summary
=====================

File properties checks...
Files checked: 131
Suspect files: 0

Rootkit checks...
Rootkits checked : 242
Possible rootkits: 0

Applications checks...
All checks skipped

The system checks took: 1 minute and 46 seconds

All results have been written to the log file (/var/log/rkhunter.log)

One or more warnings have been found while checking the system.
Please check the log file (/var/log/rkhunter.log)

Si apareciese algún troyano el propio programa nos dará instrucciones sobre como eliminarlo y enlaces con más información del problema.


  • ¿Qué usuarios entran en el sistema? lastlog
Todos los accesos al sistema quedan registrados y podemos consultar este registro para ver si alguien está accediendo a nuestro ordenador tanto remota como localmente.

Para ver el registro de entradas ejecutaremos el comando lastlog:
lastlog | grep -v Nunca
Nombre Puerto De Último
dani tty1 sáb nov 27 14:56:04 +0100 2010

Aquí comprobaremos que no hay accesos no controlados, en caso de aparecer entradas sospechosas lo más recomendable es cambiar la contraseña del usuario comprometido y ejecutar rkhunter para asegurarnos de que no nos han dejado ningún regalo camuflado.

  • Más información
Escaneador de puertos on-line: http://www.speedguide.net/portscan.php
Ayuda para routers ADSL: http://www.adslayuda.com/



11 oct 2010

Cómo restaurar programas y configuraciones tras una reinstalación

Ahora que acaba de salir la nueva versión de Ubuntu (Maverick Meerkat 10.10) se nos plantea el eterno dilema ¿actualizar o hacer una instalación limpia? Veamos las ventajas de cada método.

Actualizar: la principal ventaja es que queda el sistema exactamente igual que lo teníamos antes de la actualización, con las mismas configuraciones y los mismos programas instalados, pero con todas las novedades y actualizaciones de la nueva Ubuntu.

Instalación limpia: deja el sistema limpio, asegurando que todo funciona perfectamente y que no arrastramos errores de configuración anteriores.

En la mayoría de los casos lo ideal sería una mezcla: un sistema limpio pero manteniendo las configuraciones de usuario y los programas manualmente instalados con anterioridad. En este artículo veremos como conseguir esto mismo, un sistema instalado de cero pero manteniendo los programas y las persoanlizaciones que teníamos en el sistema anterior.

  • Mantener las configuraciones de usuario
Todas las opciones de usuario, sin excepción, están en el directorio /home, lo único que tenemos que hacer es conservar esta carpeta inalterada.

Pueden darse dos situaciones diferentes, que el directorio /home esté en la misma partición que el resto del sistema (con lo cual su contenido se borrará con la nueva instalación) o que esté en una partición independiente.

/home en una partición independiente: este caso nos facilita mucho las cosas, lo único que deberemos hacer es seleccionar particionado manual durante el proceso de instalación y asegurarnos de que la partición /home vuelve a montarse en /home y NO está marcada la casilla formatear.

/home en la partición raiz: en este caso deberemos hacer una copia de seguridad de todo el directorio /home ya que este se borrará durante la instalación.
1. Crear una copia de seguridad ANTES de la actualización:
cd / && sudo tar cvfz backup_home.tar.bz2 /home
Guardamos el archivo backup_home.tar.bz2 en un sitio que sepamos que no se va a borrar, por ejemplo una unidad USB

2. Instalar el sistema nuevo: instalamos la nueva Ubuntu con normalidad

3. Restaurar la copia de seguridad DESPUÉS de la actualización:
cd / && sudo tar xvfz backup_home.tar.bz2

Nota: para que este método funcione bien los nuevos usuarios deben llamarse igual que los del sistema antiguo.

  • Restaurar los programas instalados
Otro tema que puede llevarnos un buen rato tras una instalación es volver a instalar todos los programas que teníamos con anteioridad, sin embargo esto puede solucionarse con tan sólo dos comandos:

1. Obtener la lista de programas instalados: ANTES de la actualización, en el sistema antiguo obtendremos la lista de programas instalados con la orden:
sudo dpkg --get-selections | grep '[[:space:]]install$='| awk '{print $1}' > lista_de_paquetes.txt
Guardamos el archivo lista_de_paquetes.txt en un sitio que sepamos que no se va a borrar, por ejemplo una unidad USB

2. Instalar el sistema nuevo: instalamos la nueva Ubuntu con normalidad

3. Reinstalar todos los programas: DESPUÉS de la instalación no tendremos los programas instalados manualmente, para recuperarlos usaremos el archivo lista_de_paquetes.txt de la siguiente manera:
cat lista_de_paquetes.txt | xargs sudo aptitude install

Nota: este sistema sólo sirve para los programas instalados usando el gestor de paquetes, no servirá para programas compilados manualmente o instalados usando cualquier otro método.

  • Otras personalizaciones
Puede darse el caso de que tengamos otras personalizaciones hechas manualmente en el sitema, por ejemplo una modificación del sistema de arranque en /boot, los archivos de un servidor web en /var/www o archivos de configuración del sistema en /etc por poner algunos ejemplos.

En este caso haremos una copia de seguridad de la carpeta o carpetas afectadas y la restauraremos en el sistema actualizado:
cd / && sudo tar cvfz backup.tar.gz /carpeta1 /carpeta2 ... # Crear copia de seguridad
cd / && sudo tar xvfz backup.tar.gz # Restaurar copia de seguridad

  • Más información
Ubuntuforums: Instal·lar desde dpkg --get-selections
Mover /home a una partición independiente: http://psychocats.net/ubuntu/separatehome (inglés)
Restaurar repositorios (y sus claves) añadidos manualmente: http://www.linuxmint-hispano.com/foro/?/topic,6036.0.html



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
Visitas