Category Archives: Tecnología

Partición encriptada para un usuario en Ubuntu Edgy

Después de escuchar historias de portátiles robados para conseguir información confidencial de empresas, es más que evidente que no parece suficiente con proteger nuestro ordenador mediante configuraciones adecuadas, buenas contraseñas, firewalls, etc… sino que debemos ir un paso más allá e encriptar la información en nuestro disco duro. De esta forma, si alguien se hiciese con el y lo conectase a otro ordenador seria incapaz de extraer ningún tipo de información.

Por otro lado, es necesario poder combinar esa seguridad con comodidad para el usuario, el cual no quiere tener que recordar que debe cifrar unos datos determinados siguiendo una serie de pasos (por ejemplo utilizando gnupg). De ahí que la solución más acertada es la creación de una partición encriptada, la cual se montará automáticamente al hacer login el usuario (el password de la partición y el del usuario serán los mismos).

Para este objetivo utilizaremos Luks, aplicación que nombre de pasada en la guía sobre Ubuntu Edgy (sección “Encriptación de memorias USB”). Lo primero que necesitamos es una partición en nuestro disco duro disponible para guardar allí el directorio de nuestro usuario (e.g. “/home/usuario”), para ello podríamos utilizar gparted desde su liveCD pare redimensionar particiones existentes/crear nuevas particiones/etc…

Una vez tengamos una partición disponible (por ejemplo personalmente me he creado una de 15 GB), seguiremos los siguientes pasos desde nuestra Ubuntu:
Continue reading Partición encriptada para un usuario en Ubuntu Edgy

Bugs de mysql-admin en Ubuntu Edgy

Si necesitamos trabajar y administrar una MySQL (ya sea en nuestra máquina o en remoto) podemos utilizar la interfaz mysql-admin para la administración y mysql-query-browser para realizar consultas. Por desgracia, en Ubuntu Edgy mysql-admin tiene un par de bugs.

El primero de ellos es un molesto error que nos impide acceder a la administración de usuarios. Para evitarlo podemos crear un fichero ‘/usr/local/bin/mysql-admin-fixed.sh’:

#!/bin/bash
export DEBUG_DONT_SPAWN_FETCHES=1
mysql-admin

Y le damos permisos de ejecución:

sudo chmod 755 /usr/local/bin/mysql-admin-fixed.sh

A partir de ahora, para ejecutar mysql-admin utilizaremos:

mysql-admin-fixed.sh

El segundo bug nos impide acceder a la configuración de la base de datos, para arreglarlo simplemente tendremos que editar ‘/etc/mysql/my.cnf’ y comentar la línea que dice:

#skip-external-locking

Con esto ya podemos utilizar mysql-admin más cómodamente 🙂

Crackear redes wireless (WEP)

Si queremos comprobar la seguridad de nuestra red wireless con encriptación WEP y observar cuanto se tardaría en crackear, necesitamos aircrack-ng. Una vez instalado el paquete, en una terminal podemos ejecutar:

sudo airodump-ng

De esta forma se nos mostrará información sobre las redes wireless que tenemos a nuestro alcance:

  • BSSID: Dirección MAC del punto de acceso (AP)
  • PWR: Calidad de la señal, no todas la tarjetas wireless lo soporta y puede que no aparezca correctamente.
  • Beacons: Los puntos de acceso mandan periódicamente este tipo de paquete, recibir más significa que la calidad de la señal es mejor o estamos más cerca del AP.
  • # Data: Paquetes capturados que realmente son útiles para crackear la red, son los generados por otro cliente que este utilizando la red.
  • CH: Canal
  • MB: Velocidad de la red wireless
  • ENC: Indica si la red tiene encriptación WEP, WPA, o si esta abierta OPN
  • ESSID: Nombre de la red wireless

Una vez tengamos identificada la red que deseamos probar nos fijamos en el canal que utiliza y empezamos a guardar paquetes. Por ejemplo guardar en un archivo llamado “dump” la info del canal 11 a través de la interfaz de red eth1:

sudo airodump-ng -c 11 -w dump eth1

Ahora es cuando debemos tener mucha paciencia dado que dependemos del trafico que haya en la red wireless seleccionada, para poder crackearla necesitaremos al menos 250.000 paquetes con diferentes IVS. También podríamos provocar tráfico injectando paquetes, pero para eso necesitamos que el driver de nuestra tarjeta lo soporte y es mejor buscar información en la propia página de aircrack-ng.

Para detener la captura podemos pulsar CTRL+C, y para reanudarla podríamos volver a ejecutar el mismo comando. Cada vez que ejecutemos el comando se nos irán generando ficheros “dump-00.cap”, “dump-01.cap” que despues podremos agrupar mediante:

ivstools --convert dump-00.cap dump-00.ivs
ivstools --convert dump-01.cap dump-01.ivs
ivstools --merge dump-00.ivs dump-01.ivs dump-total.ivs

A continuación podemos intentar averiguar el password de la red mediante:

aircrack-ng dump-total.ivs

Se nos presentará un listado de BSSIDs con el número de IVS (paquetes) capturados, seleccionamos el BSSID de la red que queremos averiguar el password y esperamos a que haya suerte. Si fallase, podríamos seguir capturando más paquetes para volverlo a intentar o incluso intentar mirar las opciones de este comando para ajustar más los cálculos que realiza, como por ejemplo:

aircrack-ng -a 1 -b 00:16:38:C5:A6:13 -x2 -s -c -n 128

Donde:

  • “-a 1” significa que la encriptación es WEP (un 2 significaria WPA)
  • “-b 00:16:38:C5:A6:13” indica el BSSID de la red que queremos crackear
  • “-x2” hace que intente averiguar los 2 últimos bytes de la clave por fuerza bruta
  • “-s” que muestre la clave en ASCII (una vez encontrada)
  • “-c” significa que tenga en cuenta solo caracteres alfanuméricos para la clave
  • “-n 128” indica que la encriptación WEP es de 128 (también podriamos indicar 64)

Más información mediante “man aircrack-ng” 😀

Synaptic y dependencias automáticas

Acabo de descubrir que el Synaptic de Ubuntu Edgy ya tiene la funcionalidad de marcar las dependencias que se instalan automáticamente, he probado a instalar “gnome-dia” el cual necesita instalar también “dia-common” y “dia-libs”.

Una vez instalado, vuelvo a buscar “gnome-dia” y lo desinstalo. En este momento nuestro sistema tiene paquetes instalados que no están siendo usados, y los podemos localizar yendo a “Estado -> Instalados (auto desinstalable)”. Alli podriamos seleccionar todos los paquetes y desinstalarlos, en este caso deberian aparecer “dia-common” y “dia-libs”.

Esta funcionalidad es similar a la que tiene aptitude, el comando de consola que nos permite instalar también aplicaciones. No entiendo como no se le ha dado más noticia a esta novedad, personalmente la considero fundamental para mantener el sistema limpio. Si miramos el Changelog de Synaptic podemos ver cuando se implementó la funcionalidad:

synaptic (0.57.10ubuntu1) edgy; urgency=low

  * ...
  * merged simple support for the apt auto-mark of automatic dependencies
    feature (new "Installed (auto removable)" status)

Además es compatible con aptitude, por tanto podemos usar uno u otro indistintamente y podremos mantener nuestro sistema limpio 🙂

Combinar Network Manager y Firestarter

Uno de los inconvenientes que encontraba de Firestarter era que te obligaba a indicar por que interfaz/dispositivo de red teníamos acceso a Internet para configurar correctamente el Firewall. En mi portátil esto es un inconveniente dado que dispongo (como la gran mayoría) de tarjeta ethernet y tarjeta wireless, por tanto no siempre utilizo la misma para conectarme en las diferentes redes que trabajo.

Esta situación provocaba que tuviese que acordarme de cambiar manualmente la configuración de Firestarter. Sin embargo, ahora he encontrado una solución en el foro de Ubuntu. Se trata de crear un script que cambiará la configuración de Firestarter de forma automática cada vez que Network Manager se conecte a una red.

Creamos el fichero ‘/etc/NetworkManager/dispatcher.d/firestarter’ con el siguiente contenido (no es el mismo script que el del foro, lo he mejorado un poco para que cambie también valores del gconf):

#!/bin/sh -e
# Script to dispatch NetworkManager events
#
# Runs firstarter with proper interface name  when NetworkManager fiddles with interfaces.
#

if [ -z "$1" ]; then
    echo "$0: called with no interface" 1>&2
    exit 1;
fi

# put interface name in quotes
IFACE='"'$1'"'
# extract currently set-up interface for firestarter from configuration file
CONF_IFACE=`grep ^IF= /etc/firestarter/configuration | sed 's/IF=//'`

# Run the right scripts
case "$2" in
    up)
        # set interface in firestarter config file to $IFACE
        # start firestarter
        chmod +w /etc/firestarter/configuration

        # Internet interface
        sed -i "s/^IF=$CONF_IFACE/IF=$IFACE/" /etc/firestarter/configuration
        gconftool-2 --set -t string /apps/firestarter/firewall/ext_if $1

        ## Optional
        # Disable NAT (Shared Internet connection)
        #sed -i "s/^NAT=\"on\"/NAT=\"off\"/" /etc/firestarter/configuration
        #gconftool-2 --set -t boolean /apps/firestarter/firewall/nat false
        #sed -i "s/^DHCP_SERVER=\"on\"/DHCP_SERVER=\"off\"/" /etc/firestarter/configuration
        #gconftool-2 --set -t boolean /apps/firestarter/firewall/dhcp/enable_server false

        chmod -w /etc/firestarter/configuration
        firestarter --start
        ;;
    down)
        # just stop firestarter, when interface is shut down
        firestarter --stop
        ;;
esac

Y finalmente le damos permisos de ejecución:

chmod 755 /etc/NetworkManager/dispatcher.d/firestarter

Network Manager ejecuta todos los scripts del directorio ‘/etc/NetworkManager/dispatcher.d/’ cuando se conecta a una red y pasa como parámetros la interfaz o dispositivo de red que utiliza y si se ha conectado o desconectado.

Identificación de dispositivos (UUID) del fstab en Ubuntu Edgy

Si os fijais en el fichero ‘/etc/fstab’ en una recién instalada Ubuntu Edgy, encontrareis algo como:

# /etc/fstab: static file system information.
#
#                
proc            /proc           proc    defaults        0       0
# /dev/hda6
UUID=83e5ba1a-7490-4cf2-97fc-e14e1090873e /               ext3    defaults,errors=remount-ro 0       1

Donde antiguamente soliamos encontrar el dispositivo (e.g. /dev/hda6) ahora tenemos un UUID, o lo que es lo mismo, un Universal Unique Identifier. Este identificador permite localizar la partición en su conjunto, indenpendientemente de que hoy corresponda a la hda6 y mañana, tras un reparticionado, a la hda5.

Para saber cual es el UUID de una partición concreta podemos usar el siguiente comando:

vol_id -u /dev/hda6

P.D. De nada Maverick, me alegro que te haya servido una parte del post que escribí no hace mucho 😉

P.D.2 A partir de Ubuntu Natty 11.04 el comando es:

/sbin/blkid

Guía de referencia rápida para la personalización de Ubuntu Edgy (6.10) GNU/Linux

Una vez recién instalada Ubuntu Edgy (6.10) es necesario personalizarla con tal de poder trabajar con ella cómodamente. Por desgracia hay muchas aplicaciones que no vienen instaladas por defecto o bien su configuración no es la que ofrece más versatilidad, con esta guía rápida podremos poner nuestro sistema a punto para trabajar.

Continue reading Guía de referencia rápida para la personalización de Ubuntu Edgy (6.10) GNU/Linux

Metasploit, framework para la creación de exploits

A través de un post de Diario Linux he llegado a conocer la herramienta Metasploit (demo) que parece ser un framework de ayuda a la creación de exploits. Para empezar, según observo en la demo, ya exite una gran variedad de exploits listados… queda pendiente instalarme la aplicación para probarla a fondo.

Otra cosa que no recordaba y he visto a través del post que comento es que el conocido sniffer Ethereal ahora se llama WireShark, curioso el cambio.

Actualización Artículo relacionado con Metasploit

¿Bug del Firefox al instalar extensiones?

Acabo de descubrir un bug en el Firefox 1.5 (la versión que existe en Ubuntu Dapper), permite instalar una extensión aunque el site no este en el listado de permitidos. Para reproducirlo:

  • Ir a la web de la extensión de Google Sync
  • Hacer doble click (debe ser rápido) sobre el botón “Agree and install”

El primer click hace saltar el mensaje de aviso que el site no esta en la lista de permitidos pero el segundo se salta la protección y aparece el dialogo de instalación.

¿Podria alguien más confirmarme el error? ¿Alguien esta utilizando versiones más nuevas de Firefox y puede comprobar el mismo problema?

Monitorización de redes con Zenoss

A través de Diario Linux he conocido Zenoss, una herramienta libre de monitorización de redes muy completa. Me ha llamado la atención porque este verano, mientras hacia entrevistas de selección para entrar a trabajar pasé por una compañia que basaban buena parte de su negocio en una herramienta de ese tipo pero propietaria. Recuerdo que me quedé con la duda de si existia alguna alternativa libre y al parecer así es 🙂 Eso facilitaría tremendamente la entrada a nuevos competidores en ese nicho de mercado, y podrian ser una dura competencia para las herramientas propietarias siempre y cuando la gestión del negocio sea competente.