16 jun 2009

6 Add-ons de firefox muy útiles

Firefox 3.x permite instalar add-ons que extiende la funcionalidad del web browser. A continuación voy a mencionar y describir rápidamente los add-ons que son imprescindibles para mi:

1) Gmail Notifier: revisa mi buzón de Gmail cada 10 minutos (se puede configurar), y me notifica de los correos nuevos que me llegan. De este modo no tengo que revisar mi buzón, seré notificado automaticamente por Gmail Notifier. Puede revisar varias cuentas de Gmail. También está el Gmail Manager.

2) Adblock Plus: bloquea la publicidad de los sitios que visito. También puede bloquear otros elementos(imagenes, frames, etc) si se desea. Así solo veo contenido que me interesa.

3) Web of Trust (wot): permite saber si un sitio es seguro o no basado en información subministrada por otros usuarios. Los usuarios que usan este add-on pueden calificar un sitio como seguro o de riesgo, luego esta información le sera de utilidad a otros usuarios que visiten el mismo sitio.

4) NoSquint: Configura el nivel de zoom para los sitios. Puede configurar tanto el zoom de la página así como del tamaño de la fuente. La hacer configuración de cada sitio por separado.

5) Delicious: permite guardar bookmars en delicious.com rápidamente. Con delicious.com ya no es necesario preocuparse hacer backup de bookmars, pasarlos de una máquina a otra. Todos los enlaces se pueden almacenar en un mismo lugar al cual podemos acceder desde cualquier equipo.

6) ScribeFire: este add-on permite editar y publicar post rápidamente. El editor es mucho mas preciso y mas funcional que el de Blogspot.com.

Hay muchos mas add-ons interesantes y útiles, puedes ir a https://addons.mozilla.org a explorar. Una de las grandes ventajas que ha tenido Firefox sobre otros web browsers ha sido capacidad de adicionar funcionalidades al browser mediante add-ons.

11 jun 2009

Sniffing: WireShark y tcpdump

WireShark y tcpdump son dos herramientas muy interesantes, y que pueden ayudar en la administración de una red. Hace unas semanas, una de las máquinas de la oficina se infectó con un virus que intentaba mediante fuerza bruta obtener los usuarios y passwords del Active Directory (Domain Controllers).

Por fortuna y desgracia, estaba la política de bloqueo de cuentas después de 3 intentos fallidos. Fortuna porque dificultó la obtención de las cuentas de usuario y desgracia porque todos los usuarios de la oficina estaban molestos ya que se les bloqueaba la cuenta frecuentemente.

El personal de soporte en IT revisó los dos Domain Controllers sin encontrar solución al problema. También instalaron soluciones de antivirus en todas las maquinas, y realizaron los escaneos de virus. Lograron borrar bastantes virus, pero no se resolvió el problema.

Sospechaban de algun virus que estaba intentando adivinar los passwords de los usuarios, pero no tenían manera de comprobarlo. Me decidí a prestarle una ayudita con WireShark, después de unos minutos pude observar que se estaban presentando muchas peticiones de authenticación desde una máquina. La máquina realizaba intentos de autenticación con muchos usuarios, siendo una máquina que le corresponde a una sola persona de la oficina.

La máquina habia sido escaneada con antivirus, pero paso desapersibido. Le sugerí a la persona de soporte que desconectara el equipo de la red a ver que ocurria, y en efecto las cuentas dejaron de bloquearse.

WireShark y tcpdump realizan la misma función: sniffing. Pero estas herramientas se pueden complementar entre ellas. WireShark funciona en modo gráfico, pero tcpdump no necesita del entorno gráfico para funcionar. Por lo que podrías realizar un sniffing con el tcpdump en un servidor, en donde generalmente no instalas ni corres GUI.

      user@server# tcpdump -nn -s 0 -w sniffing.pcap -i eth0

La sentencia creará un archivo sniffing.pcap el cual puedes posteriormente descargar a tu desktop y examinarlo con WireShark. WireShark es mucho más completo, ya que entiende más protocolos de comunicación, además de contar con otras caracteristicas de rastreo de conversaciones entre otras cosas.

Un buen libro sobre WireShark para principiantes es: Practical Packet Analysys de No Starch Press.
Lo confieso, yo lo leí. ;)

7 jun 2009

Correción sobre driver b43

Hace unos días, escribí sobre como habilitar la tarjeta wireless con el driver b43 en la Dell Inspiron 1310 para utilizarla en Ubuntu. Estuve equivocado con respecto al tema.

Estuve jugando en estos días con OpenVPN, WireShark, tcpdump y otras cosas. Mientras estaba jugando con Wireshark, quize hacer escaneo de las redes wireless, para lo cual es necesario cambiar el modo de la tarjeta a Monitor en vez de Managed. Para mi sorpresa, no me fue posible:

    root@ubuntu# iwconfig eth1 mode monitor
     Error for wireless request "Set Mode" (8B06) :
     SET failed on device eth1 ; Invalid argument.

Googlee por un momento, y encontre la respuesta a mis dudas: http://linuxwireless.org/en/users/Drivers/b43

La tarjeta wireless que tengo es:

     root@ubuntu# lspci -vnn | grep 14e4
     06:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)

Según el URL (arriba), debo fijarme en lo que esta entre []. Por lo que mi tarjeta es la broadcom 4315. Este modelo no es soportado por el driver b43, más bien mi wireless esta funcionando gracias al driver wl.

Procedí a probar nuevamente mi configuración de wireless en Ubuntu 9.04, concluyendo en lo siguiente: basta con cargar el driver wl para poner a funcionar la tarjeta wireless en la Dell Inspiron 1310 con tarjeta wirelss Broadcom modelo 4315.

Por lo que podemos eliminar la línea b43 del archivo /etc/modules y ejecutar lo siguiente para quitar los drivers que no nos esta sirviendo de nada:

     root@ubuntu# modprobe -r b43

Fue un post bastante largo para una pequeña corrección. Debo agregar también que según leí, el driver wl no soporta el modo Monitor =(.

3 jun 2009

Wireless driver para Dell 1310 en Ubuntu 9.04

Cuando obtuve la laptop Dell 1310 el año pasado, aun no existía driver nativo en linux para la tarjeta wireless Broadcom. Pero la curiosidad me llevo a googlear sobre el tema, y encontre el driver: b43

Anteriormente utilizaba el driver de Windows  XP con ndiswrapper, pero ahora que encontré el driver nativo en linux me deshice por completo del ndiswrapper y ndisgtk.

Para habilitar el driver es muy sencillo

     user@ubuntu$ modprobe b43
     user@ubuntu$ modprobe wl

Para automatizar el proceso de cargar estos drivers agregamos los modulos a /etc/modules

     user@ubuntu$ echo b43 >> /etc/modules
     user@ubuntu$ echo wl >> /etc/modules

También instalé el paquete b43-fwcutter, pero creo que no es necesario, por lo que posteriormente lo desinstalé.

31 may 2009

Logitech ClearChat Comfort USB en Ubuntu 9.04

Audífonos USB con Micrófono con supresión de ruido, Estéreo, Control de volumen. Modelo 981-000014.

Anteriormente hice un post sobre como cargar y utilizar este audífono en Linux, pero no es la mejor manera de hacerlo. En este post les mostraré como automatizar el proceso.

Udev es lo que utilizan las distribuciones de Linux para manejar los dispositivos hardware. Si cuando insertas una memoria USB, tu distro la detecta, la monta, crea un icono en tu escritorio de la unidad flash, y probablemente abra una ventana de Nautilius o Konqueror mostrando el contenido de la memoria USB, es gracias a udev.

udev se encarga de agregar los dispositivos de forma dinámica, ésto lo hace siguiendo las reglas que estan almacenadas en /etc/udev/rules.d/

Los audifonos Logitech no funcionan automaticamente porque no hay reglas definidas para este dispositivo, por lo que la manera de automatizar este procedimiento es agregando una regla para este dispositivo.

Primero agregamos el dispositivo con /etc/init.d/udev refresh-devices para recaudar información sobre el dispositivo de la siguiente manera:

user@ubuntu# udevadm info -q path -n dsp1
/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/sound/card1/dsp1

user@ubuntu# udevadm info -a -p /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/sound/card1/dsp1
...
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1':
KERNELS=="5-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}=="G8 v2.0.0.0"
ATTRS{bNumInterfaces}==" 4"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="80"
ATTRS{bMaxPower}=="100mA"
ATTRS{urbnum}=="109"
ATTRS{idVendor}=="046d"
ATTRS{idProduct}=="0a0c"
ATTRS{bcdDevice}=="1013"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{speed}=="12"
ATTRS{busnum}=="5"
ATTRS{devnum}=="2"
ATTRS{version}==" 2.00"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Logitech"
ATTRS{product}=="Logitech USB Headset"
...

Podemos observar parte de la salida. Lo siguiente que hacemos es tomar atributos únicos del dispositivo. En general puede ser MAC address de la tarjeta en caso de tarjetas de red, más algún otro atributo.

No explicaré de forma detallada el funcionamiento de Udev. Este post es para ayudar a las personas que quieran hacer uso de sus audifonos USB en Linux. Este metodo debe funcionar para otras marcas y modelos de audifonos.

Cree un archivo nuevo con la regla:
user@ubuntu# vim /etc/udev/rules.d/70-usb-logitech.rules

Dentro del archivo agregue lo siguiente:
SUBSYSTEM=="usb", ACTION=="add", ATTRS{product}=="Logitech USB Headset", NAME="dsp1"

Como se puede observar, utilizamos 2 Atributos que obtuvimos anteriormente:
SUBSYSTEM=="usb"
ATTRS{product}=="Logitech USB Headset"

NAME="dsp1"
es el nombre que le asignamos al dispositivo cuando lo agregamos.

Una vez creado el archivo con la regla, podemos reiniciar udev: /etc/init.d/udev restart

Ya está, podemos conectar y desconectar nuestros audifonos USB. Recuerden especificar los adifonos como Default-Sound-Card. Desde Gnome en System-> Preferences-> Default Sound Card. O por comando: asoundconf set-default-card Headset.

16 may 2009

Eliminar archivos de forma segura

En días pasados, una compañera del trabajo me preguntó sobre como eliminar todos los archivos de un servidor GNU/Linux sin dejar rastro alguno de la información que este contiene. Sin pensar ni analizar mucho le dije que utilizara el comando dd.

Posteriormente me acordé del comando shred. Sabía de su existencia, pero no lo había utilizado anteriormente, así que me puse a investigar un poco sobre la destrucción de información guardada en computadoras de forma segura, además de métodos de recuperar información que ha sido borrada accidentalmente.

Ya sabía que:
  • Cuando borro un archivo, la información del archivo permanece en el disco, hasta que se sobreescriba
  • Cuando formateo un disco con contenido, la información también permanece
  • Cuando elimino la tabla de particiones, la información también permanece, es cuestión de restaurar la tabla de particiones para acceder a la información
Después de unos minutos de googlear, me informé un poquito mejor sobre el tema. Eliminar un archivo y la información que contiene, no es cuestión de rm archivo.ext. shred sobreescribe el archivo unas 25 veces (aunque puedes especificar más veces si deseas) para asegurar que la información no sea recuperable.

usuario@ubuntu>
shred -n 100 -u secretos.txt

"-n 100" le indica a shred que sobreescriba el archivo 100 veces, y "-u" le indica que lo borre luego de sobreescribirlo. Para mas información man shred ;)

7 may 2009

Ubuntu 9.04

Actualice el Ubuntu que tengo instalado en la laptop (Dell 1310) de 8.10 a 9.04 la semana pasada. La actualización resulto ser bien sencilla, pero tomo algo de tiempo por la cantidad de paquetes que fue necesario descargar.

Luego de la actualización, algunas cosas se desconfiguraron y otras dejaron de funcionar como antes. El cursor (touchpad y mouse) deja de funcionan desde la pantalla de login, para corregir esto es necesario pasarle un parametro adicional al kernel en el grub: i8042.reset

Adicional a ese pequeño inconveniente, el sistema dejo de cargar el mouse USB y el Headset Logitech cuando los conecto luego de encender el sistema. Para solucionar esto ejecuto el script de Udev: /etc/init.d/udev refresh-devices

Update: Ejecutando la sentencia anterior puede causar algunas molestias, en mi caso se duplican las tarjetas wireless y ethernet. Cada vez que lo ejecuto, se adiciona una nueva nueva copia de las interfaces de red. Para solucionar esto, es necesario reiniciar HAL: /etc/init.d/hal restart

Debe de haber una solucion mas elegante para el problema de los dispositivos conectados posterior a la carga completa del sistema, pero no me he sentado a investigar. A lo mejor unos demonios de hotplug =).