Algo de Linux: septiembre 2008

martes, 30 de septiembre de 2008

Synaptic: Instalación fácil de software en Linux

El otro día me decía un profe que había instalado LinEx en su casa, pero no sabía cómo podía instalar programas. Así que, aprovecho su pregunta para seguir demostrando que Linux también es sencillo para usuarios finales.

La instalación de programas en Linux puede ser hasta más sencilla que en en el sistema de la ventana, sobre todo porque no tenemos que estar buscando los programas en páginas web de donde descargarlos.

En Linux los programas se encuentran en los repositorios. Ya, pero, ¿qué es un repositorio?
Por decirlo de alguna manera, un repositorio es un almacén donde se encuentran almacenados los paquetes que podemos instalar en una distribución.

Es importante destacar que en Linux hablamos de paquetes y no de programas. Un paquete no tiene por qué contener un programa, sino que puede contener imágenes, librerías, código fuente, documentación...

Cada distribución tiene sus propios repositorios, y, por lo general, los repositorios se encuentran alojados en servidores ftp o http, que, pueden ser locales (en nuestra propia máquina) o remotos (en un servidor accesible a través de internet).

Normalmente, los administradores utilizamos comandos como apt-get, dpkg... para instalar lo que queremos. Pero como ya he dicho, vamos a ver cómo hacer todo ésto sin comandos, es decir, desde el entorno gráfico. Para ello, vamos a utilizar el gestor de paquetes synaptic.

Como el proceso de instalación de software en Linux es una tarea reservada al administrador, o bien conocemos la contraseña del usuario root, o utilizamos gksu para poder instalar paquetes con nuestra propia cuenta de usuario. Como vamos a ponernos en la piel de un usuario de casa, veamos cómo arrancaríamos synaptic con gksu (tendremos que tenerlo instalado).

Primero, pulsamos Alt+F2 y se nos abrirá una ventana para ejecutar una aplicación. En el cuadro de texto escribimos: gksu synaptic


Pulsamos el botón ejecutar y nos pedirá nuestra contraseña.


Introducimos la contraseña en el cuadro, pulsamos el botón Aceptar y se nos abrirá el gestor de paquetes synaptic:


Antes de instalar programas, pulsamos el botón Recargar. Ésto nos servirá para que en nuestro ordenador se actualicen las listas de paquetes que hay en el servidor. Al pulsar el botón veremos una ventana como la siguiente, que nos muestra el progreso de descarga de las listas de paquetes:


Una vez actualizadas, ya podemos instalar cualquier programa.

Como podemos ver, los programas aparecen organizados por categorías en el cuadro izquierdo. En el cuadro derecho aparecerán los programas de la categoría seleccionada.
Además, cada programa tiene un cuadro de selección para marcarlo, el nombre del paquete y una descripción, entre otras cosas, como el número de versión instalada (si el programa está instalado) o el número de la última versión disponible en los repositorios.

Podemos seleccionar todos los paquetes que queramos instalar para después instalarlos de una sola vez. Para seleccionar cada paquete hacemos doble clic sobre el cuadro de selección.

Imaginemos que queremos instalar el planetario kstars y el programa de química kalzium.
Así que los seleccionamos.
Al seleccionarlos, puede que un paquete tenga dependencias. Como puede verse en la ventana siguiente, éstas son las dependencias del paquete kstars:

Que un paquete tenga dependencias quiere decir que, para instalar el paquete deseado se requiere también instalar paquetes adicionales. Si nos lo pregunta y queremos instalar el paquete, tendremos que instalar también sus dependencias, así que simplemente pulsamos el botón Marcar.
En la lista de paquetes se marcarán todos los paquetes necesarios, como podemos ver en la siguiente imagen:

Una vez seleccionados los paquetes que queremos instalar, pulsamos el botón Aplicar y synaptic nos pedirá confirmación, por si nos hemos arrepentido y ya no queremos instalarlos:


Pulsamos el botón Aplicar y veremos cómo synaptic descarga los paquetes de internet:


Y los instala:

Y listo. Una vez terminado el proceso, podemos cerrar synaptic si no deseamos instalar más paquetes.

Una cuestión importante: Para instalar paquetes es necesario tener el ordenador conectado a internet. En el próximo post publicaré otro artículo en el que veremos cómo actualizar un ordenador que no tiene internet, descargando los paquetes en otro ordenador que sí tiene conexión a internet.

domingo, 28 de septiembre de 2008

gksu: Ejecutar aplicaciones gráficas como superusuario

Una de las cosas que me han comentado en alguna ocasión usuarios que comienzan a trabajar con Linux es que en Linux, además de usuario, hay que ser administrador para hacer ciertas cosas y que eso les resulta complicado. Y siempre he dicho que en Windows también hay que ser administrador para realizar ciertas tareas. Lo que suele suceder es que en Windows, un usuario, en su propia máquina, es al mismo tiempo usuario y administrador, aunque no se de cuenta.

En sistemas accesibles a muchas personas nos interesa, y mucho, que haya esa distinción entre usuarios y administradores con el fin de controlar las cosas que se pueden hacer en el sistema.

En cambio en una máquina particular, a lo mejor, a una persona no le interesa tener que hacer esta distinción. Para eso, en Linux, tenemos una herramienta muy interesante: gksu.

gksu nos proporciona un frontend Gtk para su y sudo que nos permite ejecutar aplicaciones gráficas como otro usuario, como por ejemplo, el superusuario, con tan sólo introducir nuestra contraseña de usuario.

Ubuntu es una de las distribuciones que incorporan esta herramienta para hacer más fácil el trabajo con el entorno gráfico a usuarios de casa.

Si abrís en ubuntu las propiedades de Terminal de Root y hacéis clic sobre la pestaña Lanzador, veréis que el terminal de root no es más que una llamada a /usr/bin/x-terminal-emulator con gksu:
Y así todas las aplicaciones que requieren privilegios de superusuario en Ubuntu.














Imaginemos que queremos ejecutar synaptic (el programa de instalación de software), que requiere privilegios de superusuario.

1) Si ejecutamos synaptic directamente siendo un usuario normal:
Pulsamos Alt+F2 en el entorno gráfico para abrir el cuadro de diálogo "Ejecutar una aplicación". En el cuadro de texto escribimos "synaptic" y pulsamos el botón Ejecutar.








Se nos abrirá la aplicación, pero antes, se nos mostrará una ventana en la que se nos informa de que estamos inciando synaptic sin privilegios administrativos, con lo que no podremos instalar aplicaciones.









2) Si ejecutamos synaptic usando la herramienta gksu:

Pulsamos Alt+F2 en el entorno gráfico para abrir el cuadro de diálogo "Ejecutar una aplicación". En el cuadro de texto escribimos "gku synaptic" y pulsamos el botón Ejecutar.









Se nos abrirá un cuadro en el que introduciremos nuestra contraseña y pulsaremos Aceptar.

Una vez pulsado el botón Aceptar, se nos abrirá la aplicación con privilegios administrativos, pudiendo instalar, desintalar, etc...







Por otra parte, podemos ejecutar gksu sin parámetros, es decir, sin indicar la aplicación que queremos abrir con privilegios de administrador. En este caso, se nos abrirá una pantalla como la siguiente:

De este modo, además de escribir el nombre de la aplicación que deseamos ejecutar, podremos elegir el usuario con el que la vamos a ejecutar.

Windows es más fácil que Linux???????

Una de las cosas de las que estoy realmente aburrido de escuchar es que Windows es más fácil que Linux y creedme, que, como administrador de sistemas Linux, lo escucho una gran cantidad de veces.
¿Y es verdad? Pues mirad, en la mayor parte de los casos, la gente no tiene ni idea de lo que está diciendo y habla con total desconocimiento de causa, porque ni tan siquiera ha podido o ha querido comprobarlo.

Hoy en día, Linux es tan sencillo como Windows a nivel de usuario. Tiene un entorno de ventanas y las aplicaciones se manejan con el ratón. Las ventanas tienen botoncitos, muchos gráficos y hay una inmensa cantidad de aplicaciones disponibles para hacer de todo. Y lo mejor es que Linux hace todo ésto y no se cuelga.

Entiendo que la gente esté anclada en la comodidad y que le cueste cambiar una cosa que ya conoce por otra que le parece como muy lejana, pero que no me cuenten excusas para no cambiar. Que me digan simplemente que se encuentran cómodos con el sistema operativo de la ventana y ya está.

Otra cosa que llama la atención en este sentido es que la gente tiene el último windows, el último office, el último photoshop. Eso sí, pirata. Y digo yo, si alguien le gusta tanto windows y todas sus aplicaciones, ¿por qué no las paga? Y no creo que todo el mundo piense que windows es gratis...

Hoy en día el software libre ha crecido muchísimo y si bien no todo el software libre es “gratis”, tenemos de todo para hacer funcionar nuestro ordenador con sofware legal.

En vez de MS Office, tenemos OpenOffice y podemos hacer documentos, combinar correspondencia, imprimirlos y hasta exportarlos a PDF.

Si queremos navegar por internet, utilizamos Firefox en lugar de Internet Explorer.

Si queremos mandar o recibir correos, tenemos Ximian Evolution o Thunderbird, en lugar de Outlook Express.

Enfin, que podemos hacer de todo y encima, ser legal.

sábado, 27 de septiembre de 2008

Gnome-Art-NextGen: Tunea tu GNOME

En GNOME podemos personalizar muchas cosas como:
  • Los fondos de pantalla.
  • Los temas de nuestras aplicaciones.
  • La decoración de las ventanas.
  • Los iconos.
  • La pantalla de bienvenida de GDM.
  • La pantalla de splash.
Gnome-Art-NG es una aplicación que nos ahorrará el pesado trabajo de buscar, descargar e instalar todos estos elementos uno por uno.

Podemos descargar esta aplicación desde la siguiente dirección:
http://developer.berlios.de/projects/gnomeartng/

Esta aplicación se encuentra disponible en formato deb, en código fuente para compilar, etc...
La versión más actual a día de hoy es la 0.6.0.

Para instalarla desde el paquete debian, no tenemos más que descargarla, abrir un terminal y ejecutar:
# dpkg -i gnomeartng-0.6.0-all.deb

A continuación pego una imagen de esta aplicación corriendo en mi equipo:

Como podéis ver, la interfaz es muy sencilla de utilizar.
Tiene una serie de botones que nos permiten ver una previsualización de fondos, los temas, la decoración de ventanas, los iconos, la pantalla de bienvenida de GDM, la pantalla de splash.

La primera vez que lo ejecutamos tarda bastante, ya que tiene que descargar todas las previsualizaciones de los temas disponibles, pero en posteriores usos, tardará poco, puesto que tan sólo tiene que descargar ficheros xml con las listas de elementos de cada tipo.

Instalar y aplicar cualquier elemento es tan sencillo como seleccionarlo y hacer clic en el botón Aplicar.

En el apartado de preferencias podemos ajustar con qué frecuencia la aplicación buscará nuevos elementos así como donde debe guardarlos.

Alltray: Aplicaciones en la bandeja del sistema

AllTray nos permite abrir cualquier aplicación inicialmente minimizada, colocando un icono en la barra de notificaciones (system tray). Es muy útil para aplicaciones que no disponen de dicha posibilidad, como por ejemplo, el gestor de correo evolution.

Yo lo he usado sólo en GNOME, pero también funciona perfectamente en KDE, XFCE 4, Fluxbox and WindowMaker.

Podemos instalarla desde los repositorios:
# apt-get install alltray

Y si nuestra distribución no dispone de este paquete, podemos bajar el código fuente desde http://alltray.sourceforge.net/downloads.html , compilar la aplicación e instalarla:
La versión que hay actualmente en la web es la 0.69.

# tar xfvz alltray-0.69.tar.gz
# cd alltray-0.69
# ./configure
# make
# make install

Si tenéis dudas sobre cómo instalar aplicaciones desde código fuente, ver el artículo:
http://enavas.blogspot.com/2007/11/compilar-e-instalar-aplicaciones-desde.html

Una vez instalada, podemos lanzar aplicaciones minimizadas desde un terminal. Por ejemplo, imaginemos que queremos lanzar el programa de correo evolution minimizado. Abriríamos un terminal y ejecutaríamos lo siguiente:
$ alltray evolution

Es un poco rollo tener que abrir un terminal cada vez que queramos lanzar la aplicación minimizada, así que, podemos crear en el escritorio un fichero .desktop con el que lanzarla.
Siguiendo con el ejemplo, creamos el fichero evolution en nuestro escritorio:

# gedit /home/pepe/Desktop/evolution.desktop


y pegamos el siguiente contenido:

[Desktop Entry]
Encoding=UTF-8
Name[es]=Correo y calendario de Evolution
GenericName[es]=Suite de trabajo en grupo
Comment[es]=Gestione su correo-e, contactos y calendario
Exec=evolution
Icon=evolution
Terminal=false
Type=Application

Si os dáis cuenta, este fichero .desktop nos permitiría lanzar evolution directamente. Si queremos iniciarlo minimizado, cambiaremos la línea Exec=evolution por Exec=alltray evolution
El fichero quedaría así:

[Desktop Entry]
Encoding=UTF-8
Name[es]=Correo y calendario de Evolution
GenericName[es]=Suite de trabajo en grupo
Comment[es]=Gestione su correo-e, contactos y calendario
Exec=alltray evolution
Icon=evolution
Terminal=false
Type=Application

Ahora ya, cada vez que lancemos evolution desde este fichero de acceso directo, se iniciará minimizado.

Otra opción interesante sería que evolution se lanzase directamente en el inicio minimizado. Para eso, lo único que tenemos que hacer es copiar nuestro fichero evolution.desktop al directorio ./config/autostart/ de nuestro $HOME:

# cp evolution.desktop ~/.config/autostart/

Y a partir de ahora, cada vez que iniciemos sesión se nos abrirá evolution minimizado.

Otras cosas que podemos hacer con alltray:
  • Si queremos que evolution se inicie minimizado, pero que no se muestre en la barra de tareas: alltray -stask evolution
  • Si queremos que la aplicación sea visible en todos los espacios de trabajo: alltray -st evolution
  • Si queremos que no se esconda la ventana tras iniciar la aplicación: alltray -s evolution
Para más información, consultar el man de alltray:
$ man alltray

Bueno, pues todo ésto podemos hacerlo con cualquier otra aplicación que queramos iniciar minimizada.

lunes, 22 de septiembre de 2008

Control remoto de aplicaciones linux mediante Sony Ericsson

Ahora que ya hemos visto cómo transferir archivos entre nuestro teléfono móvil y nuestro ordenador vía bluetooth y tenemos instalados bluez-utils y gnome-bluetooth, vamos a ver cómo podemos controlar aplicaciones del ordenador, como por ejemplo Gnome, Impress, XMMS, VLC... utilizando un teléfono Sony Ericsson.

He elegido utilizar un teléfono Sony Ericsson porque tiene soporte para control remoto, pero sobre todo porque tengo uno y me apetecía probar el control de aplicaciones vía bluetooth en linux, porque en windows ya lo había probado hace tiempo.

Si no tenéis un Sony Ericsson, pero vuestro móvil tiene java, podéis hacerlo también, instalando una aplicación cliente en el móvil, además del software necesario en el ordenador, como por ejemplo anyremote y sus front-ends ganyremote (gnome) o kanyremote (kde).

Bueno, pues conectamos nuestro dispositivo bluetooth (si es externo) y ejecutamos el siguiente comando:

# hciconfig

Si obtenemos una salida como la siguiente, es que el sistema habrá detectado nuestro dispositivo y funciona:

hci0: Type: USB
BD Address: 00:0A:94:12:75:32 ACL MTU: 120:20 SCO MTU: 0:0
UP RUNNING PSCAN ISCAN
RX bytes:6369 acl:59 sco:0 events:532 errors:0
TX bytes:142968 acl:1248 sco:0 commands:47 errors:0

Después activamos bluetooth en el teléfono y ejecutamos:

# ħcitool scan

En la salida del comando veremos que ha detectado el teléfono, que tiene de nombre K800i y dirección MAC 00:1E:45:83:11:D1

Scanning ...
00:1E:45:83:11:D1 K800i

Ahora vamos a modificar estos dos ficheros:
  • /etc/bluetooth/hcid.conf
  • /etc/default/bluetooth
En /etc/bluetooth/hcid.conf vamos a modificar sólo las siguientes opciones del bloque options:
  • Cambiamos security=user; por security=auto;
  • Cambiamos pairing none; por pairing multi;
  • Cambiamos passkey "1234"; por passkey "0000"; Este cambio lo he hecho porque en mi móvil las password por defecto es 0000.
El bloque options quedará más o menos así:

options {
# Automatically initialize new devices
autoinit yes;

# Security Manager mode
# none - Security manager disabled
# auto - Use local PIN for incoming connections
# user - Always ask user for a PIN
#
security auto;

# Pairing mode
# none - Pairing disabled
# multi - Allow pairing with already paired devices
# once - Pair once and deny successive attempts
pairing multi;

# Default PIN code for incoming connections
passkey "0000";
}

Después, modificamos el fichero /etc/default/bluetooth, en el que haremos un solo cambio:
Cambiaremos HIDD_ENABLED=0 por HIDD_ENABLED=1.

Una vez hechas las anteriores modificaciones, reinciciamos el servicio:

# /etc/init.d/bluetooth restart

Mi Sony Ericsson viene con tres perfiles de control remoto: Uno para controlar un programa de presentaciones, otro para controlar el Media Player y otro para controlar el escritorio de Windows. Como lo que nos interesa es poder controlar aplicaciones de linux, descargamos un pack de perfiles de la siguiente dirección:
http://www.mediafire.com/?m0u9x4vcz0e

Estos perfiles son ficheros que enviamos al móvil, por ejemplo vía bluetooth. Al recibirlos, nuestro móvil los instalará en el apartado de Control remoto.

Una cuestión importante es emparejar el móvil con el ordenador. El proceso de emparejamiento es tan sencillo como cuando emparejamos nuestro móvil con otro:

Vamos al móvil, al apartado de Configuración de Bluetooth (En el SE K800i está en Menú -> Conectividad -> Bluetooth y seleccionamos Mis dispositivos. En el menú que nos aparece elegimos Nuevo dispositivo. Cuando el móvil encuentre nuestro ordenador nos pedirá la clave para emparejarlo, y, si todo va bien, se emparejará.
A partir de aquí, ya podemos abrir aplicaciones en el ordenador y controlarlas desde nuestro móvil.

domingo, 21 de septiembre de 2008

Transferencia de archivos vía bluetooth en GNOME

Últimamente hay muchas aplicaciones que nos permiten transferir archivos entre el ordenador y el teĺéfono móvil vía bluetooth. Por supuesto, para poder hacerlo, tendréis que tener un dispositivo bluetooth en vuestro ordenador. Muchos portátiles ya lo llevan integrado, pero si no lo tenéis, siempre podéis comprar uno usb, que hoy en día son bastante baratos.

Vamos a ver cómo instalarlo en GNOME.

Lo primero que haremos es instalar los paquetes necesarios. Habitualmente, lo encontraremos en los repositorios así que hacemos un:

# apt-get install bluez-utils gnome-bluetooth

El paquete bluez-utils básicamente, se encargará de hacer que funcione el dispositivo.

En cuanto al paquete gnome-bluetooth, son las aplicaciones que nos van a permitir enviar y recibir archivos entre el teléfono y el ordenador.

Una vez instalado el software, conectamos nuestro dispositivo bluetooth (si es externo) y ejecutamos el siguiente comando:

# hciconfig

Si todo ha ido bien, el sistema habrá detectado nuestro dispositivo y obtendremos una salida parecida a ésta, en la que veréis los datos de vuestro dispositivo:

hci0: Type: USB
BD Address: 00:0A:94:12:75:32 ACL MTU: 120:20 SCO MTU: 0:0
UP RUNNING PSCAN ISCAN
RX bytes:6369 acl:59 sco:0 events:532 errors:0
TX bytes:142968 acl:1248 sco:0 commands:47 errors:0

Como podéis ver, los dispositivos bluetooth se nombran con hciX.

Si queréis comprobar que funciona correctamente, activad bluetooth en vuestro teléfono móvil y ejecutad el siguiente comando en el ordenador:

# hcitool scan

Una vez que detecte vuestro teléfono, obtendréis una salida como la siguiente:

Scanning ...
00:1E:45:83:11:D1 K800i

Por supuesto, la utilidad hcitool detectará todos los dispositivos bluetooth activados que se encuentren a su alcance. En este caso, el único dispositivo detectado ha sido mi Sony Ericsson.

Bueno, pues si hemos hecho todo ésto y ha funcionado, ya podemos usar el software para enviar archivos entre el teléfono y el ordenador.

Para poder recibir archivos en el ordenador vía bluetooth:
Ejecutamos la herramienta Compartición de Archivos por Bluetooth que encontraremos en el menú Aplicaciones » Accesorios. En el panel de gnome veremos que aparece un icono como el siguiente:


Es el indicador de que el servidor de recepción de archivos bluetooth se encuentra activado.
Si enviamos un archivo a nuestro ordenador desde el teléfono móvil, cuando el ordenador lo reciba nos mostrará una ventana similar a la siguiente:










Podemos abrir directamente la imagen recibida, borrarla o cerrar el cuadro de diálogo.
  • Si hacemos clic en Abrir la imagen se abrirá con el visor de imágenes predeterminado.
  • Si hacemos clic en Borrar, la imagen será borrada.
  • Si hacemos clic en Cerrar, se cerrará el cuadro de diálogo y la imagen será guardada.
Enviar archivos desde el ordenador al teléfono vía bluetooth:
Las aplicaciones del paquete gnome-bluetooth se integran con el escritorio GNOME, de manera que, enviar un archivo desde el ordenador es tan sencillo como hacer clic con el botón derecho del ratón sobre el archivo en el explorador de archivos.
Se nos abrirá un cuadro de diálogo como el que podemos ver a la izquierda.
















Hacemos clic en la opción Enviar a... y se nos abre un cuadro de diálogo como el siguiente:
Si no aparece seleccionado, en el cuadro de selección Enviar como, seleccionamos Bluetooth (OBEX Push).

En el cuadro de selección Enviar a, seleccionamos el dispositivo al que le queremos enviar el archivo.

Y si queremos que se comprima el archivo, marcamos la opción de compresión y elegimos el tipo de archivo comprimido.



Una vez seleccionadas las opciones, hacemos clic en el botón Enviar y listo. ¿Sencillo, verdad?

miércoles, 17 de septiembre de 2008

Seahorse: Encriptación de archivos, mensajes y texto en GNOME

Seahorse es una aplicación GNOME diseñada para administrar claves de encriptación, aunque para ser más exactos, podemos decir que realmente se trata de un front-end para GnuPG (Gnu Privacy Guard).

GnuPG es una herramienta que sirve para encriptar mensajes, documentos, firmarlos, etc...
GnuPG se basa un sistema de cifrado con claves asimétricas, lo que quiere decir que cada usuario tiene una clave privada y una clave pública.

La clave privada es la que el propietario usa para desencriptar aquello que nos envían encriptado con nuestra clave pública. Además, la clave privada sólo debe conocerla el propietario, con el fin de que sea el único que pueda encriptar con dicha clave.

En cambio, la clave pública es la clave que daremos para que nos envíen archivos o mensajes encriptados. Esta clave la utilizarán para encriptar los archivos o mensajes que nos quieran enviar.

Como GnuPG es una herramienta que se maneja mediante comandos, Seahorse ha sido creado para facilitarnos las tareas de cifrado utilizando el entorno gráfico.

Seahorse incluye un plugin para gedit. Además se integra con Nautilus, de manera que podemos cifrar, descifrar y firmar archivos haciendo clic con el botón derecho del ratón sobre el archivo, algo ideal para los que usamos Gnome.

Instalarlo es tan sencillo como hacer apt-get install seahorse, si está en los repositorios de nuestra distribución (en ubuntu hardy sí está).
Si no lo tenemos en los repositorios, podemos descargar el código fuente desde:
http://www.gnome.org/projects/seahorse/download.html
Y compilarlo para instalarlo.

Eso sí, antes de instalarlo, debemos comprobar que tenemos ya instalados lo siguiente:
  • GTK 2.10+
  • DBUS 0.35+
  • GPGME 1.x
  • GnuPG 1.2.x, 1.4.x or 2.x
  • libgnomeui 2.x
  • libglade 2.x
  • GConf 2.x
  • GnomeVFS 2.x
  • OpenSSH
  • Gecko (from Firefox 1.5 or later)
  • Epiphany 2.14 (or later)

Además, puede que necesitemos instalar las versiones de desarrollo de estos paquetes si nuestra distro lo requiere.

Lo primero que tenemos que hacer para poder cifrar y descifrar archivos o mensajes es crear una clave.

Para crear claves OpenPGP:

Abrimos la aplicación, que tendrá un aspecto como el siguiente:

Hacemos clic en el menú Clave y elegimos la opción Crear clave nueva.












Se nos abrirá una ventana como la siguiente, en la elegiremos el tipo de clave a crear: Clave PGP o Clave de shell segura.
Como para cifrar correos y archivos lo que necesitamos es una Clave PGP, seleccionamos Clave PGP y pulsamos el botón Continuar.











Se nos abrirá un cuadro de diálogo para Crear una Clave PGP nueva.
Introducimos nuestro nombre completo (nombre - apellido), nuestra dirección de correo electrónico y cualquier información adicional.

Si queremos seleccionar opciones para la creación de la clave, haremos clic en Opciones avanzadas de clave y se nos desplegarán dichas opciones en el cuadro.

Aquí podemos ver el cuadro de creación de Clave PGP con las opciones de clave desplegadas:

Las cosas que podemos modificar son:
* El tipo de cifrado.
* El número de bits de la clave.
* Y la caducidad de la misma.

Los valores por defecto son válidos.







Tanto si cambiamos las opciones de creación de claves, como si no, al final tenemos que pulsar el botón Crear para crear el nuevo par de claves.

Una vez hecho, se abrirá el diálogo Frase de paso para que introduzcamos una palabra de paso. Por seguridad, tendremos que introducirla dos veces.

Una vez introducida la palabra de paso se creará nuestro par de claves y ya podremos cifrar/descifrar y firmar archivos y mensajes.

Como ya hemos dicho, la aplicación Seahorse se integra con Nautilus, lo que significa que podemos cifrar, descifrar, firmar y verificar archivos así como importar claves públicas desde la ventana del gestor de archivos sin tener que lanzar la aplicación.

Veamos cómo hacer todas estas cosas desde el navegador de archivos Nautilus:

Cifrar archivos.
Para cifrar archivos desde el gestor de archivos, realizamos los siguientes pasos:
  • Primero seleccionamos uno o más archivos del gestor de archivos (todos los que queramos cifrar).
  • Después pulsamos con el botón derecho sobre cualquiera de los archivos seleccionados y elegimos Cifrar.
  • Se nos abrirá un cuadro de diálogo en el que seleccionaremos los usuarios para los que queremos cifrar el archivo y después pulsamos Aceptar (No olvidemos que tenemos que tener las claves públicas de los usuarios para los que queremos cifrar los archivos).
El archivo cifrado tendrá el mismo nombre que el archivo original y extensión .pgp.

Firmar archivos.
Para firmar archivos desde el gestor de archivos, realizamos los siguientes pasos:
  • Primero seleccionamos uno o más archivos del gestor de archivos (todos los que queramos firmar).
  • Después pulsamos con el botón derecho sobre cualquiera de los archivos seleccionados y elegimos la opción Firmar.
  • Se nos abrirá un cuadro de diálogo en el que tendremos que elegir el usuario con el que vamos a firmar.
  • Una vez elegido el usuario pulsamos el botón Aceptar y nos preguntará la palabra de paso. La introducimos y creará el archivo firmado.
El archivo firmado tendrá el mismo nombre que el archivo original y extensión .sig.

Descifrar archivos.
Para descifrar desde el gestor de archivos un archivo cifrado, realice los siguientes pasos:
  • Hacemos dobre clic sobre el archivo que queramos descifrar.
  • Se nos abrirá un cuadro de diálogo en el que nos da un nombre para el archivo descifrado y nos permite cambiarlo. Tanto si cambiamos el nombre como si no, hacemos clic en el botón Guardar.
  • Se nos abrirá un cuadro de diálogo en el que nos preguntará la frase de paso de nuestra clave privada. Introducimos la palabra de paso y descifrará el archivo.
Verificar firmas.
Para verificar archivos, simplemente pulse dos veces sobre el archivo de firma separado.
Los nombres de los archivos de firmas separados generalmente toman la forma .sig

Por otra parte, como ya dijimos anteriormente en el documento, Seahorse se integra también con el editor de textos Gedit, lo que nos permitirá, poder cifrar, descifrar, firmar y verificar texto mientras lo estamos escribiendo en el editor.

Para poder utilizar el complemento de cifrado de texto en Gedit, tenemos que habilitarlo. Para habilitarlo, realizaremos los siguientes pasos:
  • Ejecutamos Gedit.
  • Una vez abierto Gedit, elegimos EditarPreferencias.
  • Se nos abrirá el cuadro de diálogo de Preferencias. En la solapa Complementos, seleccionamos el complemento Cifrado de texto, pulsamos en el botón Cerrar y ya lo tendremos activado.
Una vez activado dicho complemento ya podemos cifrar, descifrar, firmar y verificar texto. Veamos cómo hacerlo:

Cifrar texto.
Para cifrar una selección de texto de Gedit, realizaremos los siguientes pasos:
  • Primero, seleccione el texto que queramos cifrar.
  • Una vez seleccionado, hacemos clic en el menú Editar ▸ Cifrar.
  • Seleccionaremos los usuarios para los que queremos cifrar el texto seleccionado y después pulsamos Aceptar (No olvidemos que tenemos que tener las claves públicas de los usuarios para los que queremos cifrar el texto).
  • Ahora podemos copiar o guardar el texto cifrado.
Firmar texto.
Para firmar una selección de texto de Gedit, realizaremos los siguientes pasos:
  • Primero, seleccionamos el texto que queremos firmar.
  • Una vez seleccionado, hacemos clic en el menú Editar ▸ Firmar.
  • Nos preguntará la frase de paso de nuestra clave privada. La introducimos.
  • Ahora podemos copiar o guardar el texto firmado.
Descifrar/verificar texto.
Para descifrar y/o verificar una selección de texto de Gedit, realizaremos los siguiente pasos:
  • Primero, seleccionamos el texto que queremos descifrar/verificar.
  • Una vez seleccionado, hacemos clic en el menú Editar ▸ Descifrar/verificar.
  • Nos preguntará la frase de paso de nuestra clave privada. La introducimos.
  • Ahora podemos copiar o guardar el texto descifrado.

martes, 16 de septiembre de 2008

Ettercap: Una suite para realizar ataques MITM en una LAN

Ettercap es un potente sniffer multipropósito diseñado para realizar ataques Man-in-the-Middle.

Una de las mejores cosas que tiene es que nos permite capturar el tráfico tanto en ambientes switcheados como en ambientes HUBeados, dado que utiliza la técnica de ARP spoofing.

Es multiplataforma, pudiendo correr en los siguientes sistemas:
  • Linux 2.0.x, Linux 2.2.x, Linux 2.4.x, Linux 2.6.x
  • FreeBSD 4.x 5.x
  • OpenBSD 2.[789] 3.x
  • NetBSD 1.5
  • Mac OS X (darwin 6.x 7.x)
  • Windows 2000/XP/2003
  • Solaris 2.x
Además, es muy configurable ya que nos permite crear filtros adaptados a nuestras necesidades, con el fin de capturar tan sólo el tráafico que nos interesa.

La forma más sencilla de instalarlo es a través de apt-get, si lo tenemos en los repositorios de nuestra distribución. Para ver si está en nuestra distribución podemos hacer un:
# apt-get update
# apt-cache search ettercap

En ubuntu hay dos versiones: una pensada para funcionar en modo texto (ettercap) y otra que admite modo texto y modo gráfico (ettercap-gtk). Instalamos la que queramos.
# apt-get install ettercap-gtk

Si instalamos ettercap-gtk, podemos iniciar la aplicación en modo texto, ejecutando:
# ettercap -T

O en modo gráfico:
# ettercap -G

Ettercap nos ofrece dos modos de trabajo:
  • unified sniff (por defecto) que es interactivo.
  • bridget sniff, no interactivo.

Veamos un ejemplo de uso:

Abrimos ettercap en modo gráfico:

# ettercap -G

Una vez abierta la aplicación seleccionamos en el menú Sniff la opción unified sniff.


Se nos abrirá un cuadro de diálogo en el que seleccionamos el interfaz en el que vamos a escuchar. Para esta prueba, selecciono eth0 y pulso Aceptar.


Al pulsar Aceptar, veremos que el menú de opciones se amplía:


Hacemos clic en Hosts. Nos aparecerá un menú como el que aparece en la siguiente imagen. Hacemos clic en "Scan for hosts" para obtener la lista de hosts activos en nuestra LAN. El programa hará un scaneo a toda la máscara de subred y nos dará la lista de hosts activos.


Una vez hecho lo anterior, tendremos que hacer clic en Hosts -> Hosts List para ver la lista de hosts activos. Se nos mostrará una ventana con los hosts conectados.

Seleccionamos la víctima y hacemos click en Add To Target 1.

Seleccionamos otr0 equipo de la red, como por ejemplo el router y hacemos click en Add To Target 2.

Una vez seleccionados los dos equipos, vamos al menu Mitm (Man-In-The-Middle) y seleccionamos Arp Poisoning.

Nos va a aparecer un cuadro de diálogo en el que marcaremos solo "Sniff Remote Connections".

Pulsamos Aceptar y ettercap comienza a realizar el ataque ARP Poisoning.

Una vez que hemos activado el ataque ARP Poisoning, ya podemos snifar para obtener datos como nombres de usuario y passwords. Para ello, vamos al menú Start y seleccionamos la opción Start Sniffing. Ettercap comenzará a snifar las conexiones entre los dos hosts que hemos selecicionado.

Para más información, consultar la página del proyecto: http://ettercap.sourceforge.net/

Ejemplos de ataques usando dsniff

Como ya vimos en el post anterior, podemos hacer diversos ataques utilizando la suite dsniff.

Estos ataques pueden ser realizados:
  • Sobre nuestra propia máquina, en cuyo caso podemos lanzarlos directamente.
  • Sobre otra máquina de la red. En este caso, lanzamos primero un ataque MITM y después el ataque que queramos.
Ejemplos de ataques usando la suite dsniff:

* Obtención de contraseñas de la máquina atacada.
Si el ataque se hace sobre nuestra propia máquina, ejecutamos el siguiente comando directamente en una consola:
# dsniff -i eth0

Si el ataque lo hacemos sobre otra máquina de la red:

Primero hacemos una ataque MITM:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# arpspoof -i eth0 -t IProuter IPmaquinaatacada
# arpspoof -i eth0 -t IPmaquinaatacada IProuter

Y luego, en otra consola, lanzamos el dsniff:
# dsniff -i eth0

* Captura de correos enviados y recibidos por la máquina víctima del ataque.
Igual que en todos los casos: Si lanzamos el ataque sobre nuestra propia máquina, lo hacemos directamente. Si lo hacemos sobre otra máquina de la red, primero lanzamos un ataque MITM.

# mailsnarf -i eth0

Con ésto obtendremos tanto los mensajes enviados por la víctima como los recibidos.
Ojo! Con esta herramienta no obtendremos los webmail.

* Captura de conversaciones de mensajería instantánea de AOL Instant Messenger, ICQ 2000, IRC, MSN Messenger, o Yahoo Messenger.

# msgsnarf -i eth0

* Ataque de dnsspofing.
Este ataque nos permite engañar a la víctima, para que cuando pregunte por un nombre de dominio, por ejemplo, al intentar entrar en una página web, lo redirijamos a otra máquina.
En el ejemplo hemos utilizado un fichero en el que hacemos la asociación entre la ip y el nombre de dominio.

# dnsspoof -i wlan0 -f dnsspoof.hosts

Ahora, si en el fichero dnsspoof.hosts, incluimos una línea como la siguiente:
127.0.0.1 *.doubleclick.net

Cada vez que nuestra víctima intente entrar en una web del dominio doubleclick.net, será redirigida a nuestra propia máquina.

Otra cosa: Si hemos instalado la suite en nuestro equipo, en /usr/share/dsniff/ encontraremos un fichero dnsspoof.hosts de ejemplo.
En este fichero los nombres de hosts pueden contener comodines (*).

* Matar conexiones establecidas.
A veces podemos querer matar conexiones establecidas en la máquina víctima.

# tcpkill -i eth0 dst 192.168.1.101 and dst port 27015

El comando anterior mata las conexiones que tienen como destino la máquina cuya IP es 192.168.1.101 por el puerto 27015, un puerto usado por el servidor del juego Half-Life.

Otro ejemplo. Imaginemos que queremos matar las conexiones de la víctima con el dominio www.microsoft.com:

# tcpkill -i eth0 host www.microsoft.com

lunes, 15 de septiembre de 2008

dsniff en la práctica: Ataque MITM

Vamos a ver cómo hacer un ataque MITM utilizando la suite dsniff en la práctica.

Para empezar, recordemos que dsniff requiere privilegios de administrador, con lo que si queremos usarlo, tendremos que ser root o tener una cuenta de administrador.

Supongamos que queremos capturar las contraseñas en nuestra propia máquina. Pues bien, no tenemos que hacer es abrir un terminal y ejecutar:
# dsniff -i interfaz

Sustituyendo interfaz por la interfaz concreta en la que queremos capturar el tráfico.

Por ejemplo, si nuestra interfaz de red es eth0, haremos:
# dsniff -i eth0

Ahora bien, si tuviéramos dos interfaces de red: una ethernet (eth0) y otra wifi (wlan0) y salimos a internet por wlan0, podemos hacer:
# dsniff -i wlan0

Una vez lanzado el comando dsniff, abrimos el navegador y entramos en el correo web de terra, por ejemplo. Una vez que introduzcamos nuestro nombre de usuario y nuestra contraseña, nos vamos a la ventana donde tenemos lanzado dsniff y comprobaremos cómo las contraseñas se transmiten en claro (sin cifrar).

Todo esto está muy bien, pero no parece muy útil snifar contraseñas en nuestro propio equipo.
A menos que sea para comprobar la seguridad de nuestra propia máquina y los servicios que utilizamos, lo que todo el mundo quiere saber es snifar contraseñas en otros equipos de la red.
Para ello, antes de ejecutar el dsniff, lo primero que tenemos que hacer es realizar un ataque MITM.

Veamos un ejemplo: Imaginemos que tenemos una red en la que:
  • El router tiene la dirección IP 192.168.1.1.
  • El equipo al que queremos atacar tiene la IP 192.168.1.33.
  • Y nosotros (el atacante) tenemos asignada la IP 192.168.1.34.
Y queremos interceptar las comunicaciones entre el router (192.168.1.1) y la víctima (192.168.1.33).

Lo primero que hacemos es ponernos como root y activar el ip_forwarding en nuestra máquina, ejecutando el siguiente comando en un terminal:
# echo 1 > /proc/sys/net/ipv4/ip_forward

¿Qué conseguimos con ésto? Simplemente no interrumpir la comunicación entre el router y la víctima. Cuando nuestra máquina reciba un paquete que no es para ella, lo reenviará para que el destinatario lo reciba.

En la misma consola ejecutamos el comando :
# arpspoof -i eth0 -t 192.168.1.1 192.168.1.33

Con -i indicamos en qué interfaz de red estamos snifando.
Con -t 192.168.1.1 estamos indicando el equipo cuya tabla ARP estamos envenenando.
Con 192.168.1.33 estamos indicando el host para el que estamos interceptando paquetes.

Abrimos otra consola y ejecutamos el comando:
# arpspoof -i eth0 -t 192.168.1.33 192.168.1.1

Si nos damos cuenta, con este segundo comando estamos haciendo arpspoofing al otro sentido de la comunicación.

Y ya está. Una vez ejecutados los tres comandos anteriores, ya estamos en el medio, interceptando las comunicaciones entre el router y la víctima y la víctima y el router, consiguiendo hacer creer al router que somos la víctima y a la víctima que somos el router.

Una vez que tenemos el ataque MITM en marcha, ya podemos lanzar ataques que nos permitan descubrir contraseñas, espiar conversaciones de messenger, capturar mensajes de correo, matar determinadas conexiones abiertas....

Por ejemplo, si ahra lanzamos:
# dsniff -i eth0

Obtendremos todas las contraseñas en claro que se transmitan entre la víctima y el router.

domingo, 14 de septiembre de 2008

dsniff: Un sniffer para comprobar la inseguridad de nuestras redes

dsniff no es tan sólo una aplicación, sino una suite, es decir, un conjunto de herramientas creadas para auditar redes y realizar tests de penetración creadas por Dug Song (http://monkey.org/~dugsong/dsniff/).

El autor nos indica en su web que creó estas herramientas con intenciones honestas, para auditar su propia red y demostrar la inseguridad de la mayoría de los protocolos de aplicación. Además, nos recomienda no abusar de este software.

Con este sniffer, nos daremos cuenta de los realmente importante que puede llegar a ser la encriptación en nuestras comunicaciones diarias.

Si nuestra distribución dispone de paquetes en los repositorios, como por ejemplo ubuntu, instalarlo puede ser tan sencillo como hacer:
# apt-get install dsniff

En caso
contrario, no tenemos más que bajar el código fuente de la web del autor, compilarlo e instalarlo:
# wget http://monkey.org/~dugsong/dsniff/dsniff-2.3.tar.gz
# tar xfvz dsniff-2.3.tar.gz
# cd dsniff-2.3
# ./configure
# make
# make install

Pero no olvidemos que antes de instalarlo es necesario tener instalado el siguiente software:
  • Berkeley DB - http://www.sleepycat.com/
  • OpenSSL - http://www.openssl.org/
  • libpcap - http://www.tcpdump.org/
  • libnids - http://www.packetfactory.net/Projects/Libnids/
  • libnet - http://www.packetfactory.net/Projects/Libnet/
Esta suite incluye los siguientes programas:
  • dsniff.
  • arpspoof.
  • dnsspoof.
  • filesnarf.
  • macof.
  • mailsnarf.
  • msgsnarf.
  • sshmitm.
  • sshow.
  • tcpkill.
  • tcpnice.
  • urlsnarf.
  • webmitm.
  • webspy.

arpspoof es la herramienta que usaremos para envenenar tablas ARP. Se encarga de enviar los paquetes “arp reply” falsos a la maquina que le indiquemos como “target” para suplantar la dirección MAC de la segunda máquina que le indiquemos.

dnsspoof permite construir falsas respuestas DNS. Se usa mucho para saltar controles basados en nombres de hosts o para implementar una gran variedad de ataques Man in the Middle (HTTP, HTTPS, SSH, Kerberos, etc).

dsniff, la aplicación que da nombre a la suite, es un sniffer de contraseñas. Este sniffer nos permite obtener contraseñas de FTP, Telnet, HTTP, POP, NNTP, IMAP, SNMP, LDAP, Rlogin, NFS, SOCKS, X11, IRC, AIM, CVS, ICQ, Napster, Citrix ICA, Symantec pcAnywhere, NAI Sniffer, Microsoft SMB, y Oracle SQL*Net.

filesnarf salva los ficheros seleccionados obtenidos al sniffar tráfico NFS en el directorio actual de trabajo.

macof inunda la red local con direcciones MAC aleatorias. Ésto puede provocar que algunos switches entren en modo “hub” facilitando el sniffing de toda la red.

mailsnarf permite capturar tráfico de correo. Esto incluye tráfico SMTP y POP. Guarda los resultados en formato mbox, lo que nos permite leer los correos con cualquier cliente de correo estándar.

msgsnarf registra determinados mensajes (según el patrón especificado) de las sesiones chat abiertas con los programas AOL Instant Messengerm, ICQ 2000, IRC, MSN Messenger o Yahoo Messenger.

sshmitm, SSH monkey-in-the-middle Reenvía (proxy) y sniffa el tráfico SSH redirigido por dnsspoof para capturar claves SSH!, y permitiendo, opcionalmente, el hijacking de sesiones interactivas. Solo soporta SSH v1. Así que, si usamos SSH v2 estaremos seguros.

sshow permite analizar tráfico SSH (versiones 1 y 2) como intentos de autenticación, longitud de las passwords en sesiones interactivas, longitud de los comandos, etc…

tcpkill permite matar conexiones ya establecidas. Tiene múltiples utilidades, pudiendo usarse, por ejemplo, para matar una sesión ftp establecida por un usuario antes de que empezásemos a esnifar, obligándolo a empezar de nuevo con el fin de que introduzca de nuevo su clave para capturarla. Admite filtros al estilo tcpdump.

tcpnice hace el mismo efecto que el tcpkill pero además permite ralentizar algunas conexiones.

urlsnarf permite registrar las referencias a URL que seleccionemos en el tráfico esnifado. Puede sernos útil para post-procesarlas con nuestra herramienta favorita de análisis de logs web (analog, wwwstat, etc.).

webmitm es similar a sshmitm, hace de proxy transparente y esnifa conexiones HTTP y HTTPS redirigidas a nuestra máquina usando dnsspoof, permitiendo capturar la mayoría de las claves en formularios y web seguras (p. ej. HotMail … ).

webspy envía las URL's esnifadas a nuestro navegador lo que nos permitirá ver en nuestro navegador lo mismo que esté viendo la máquina esnifada en el suyo “on the fly”.

Seguridad en redes: ARP spoofing

ARP spoofing (tambien conocido como ARP Poisoning) es una técnica usada para atacar una red LAN que permite al atacante:
  • Obtener datos de una LAN.
  • O bloquear el tráfico de la LAN haciendo ataques de denegación de servicio.
Mediante este ataque podemos conseguir datos importantes de los usuarios conectados, como contraseñas, información que no vaya cifrada ...

El ARP spoofing aprovecha el hecho de que el protocolo ARP es un mecanismo bastante antigüo y, dado que cuando se creó no era necesario establecer mecanismos de seguridad para su uso, tiene un gran problema: la falta de autentificación.
Debido a ésto, una persona puede modificar la cache ARP de otro ordenador, sin que el otro host pueda determinar de ningún modo la autenticidad de las respuestas que recibe de sus peticiones.

Eso sí. Para efectuar este ataque tenemos que estar dentro de la red. Lo que significa estar físicamente conectado con un cable ethernet a dicha red, o, estar conectado mediante wifi, lo que significa que conocemos los datos de acceso wifi (WEP, WPA o lo que sea). Lo que no podemos hacer es hacer un ataque ARP spoofing en una red wifi a la que no estamos conectados.

Pero vamos por partes: Cuando nuestro ordenor manda información a otro equipo de una LAN, usa un mecanismo para encontrar su destinario, que es el protocolo ARP (Address Resolution Protocol) o Protocolo de Resolución de Direcciones. Este protocolo se encarga de manejar la relación entre el identificador MAC y la IP.

Un ordenador conectado a una LAN tiene siempre dos direcciones:
  • La dirección MAC.
  • Y la dirección IP.
La direccion MAC (Media Access Control) es la dirección física de la tarjeta de red. Esta dirección es "única" y se encuentra almacenada en la tarjeta. Se representa en hexadecimal y tiene la siguiente forma: XX:XX:XX:XX:XX:XX

La dirección IP es asignada a cada computador dentro de la LAN. Es única para cada máquina dentro de la LAN. Lo que quiere decir que no puede haber dos máquinas con la misma IP en la LAN.

Cada equipo guarda la correspondencia entre direcciones MAC e IP en una tabla conocida como tabla Arp.

¿Pero cómo funciona el mecanismo de resolución de direcciones?
Cuando un ordenador tiene que comunicarse con otro de su lan conoce su IP, pero necesita conocer la MAC del destinatario.
Para averiguar la MAC de una determinada dirección IP el emisor envía una petición broadcast preguntando cuál es la MAC correspondiente a esta IP (ARP who-has) .
El que tiene dicha ip contestará con una respuesta "ARP is-at", y el emisor apuntará la correspondencia MAC-IP en su tabla de ARP.

Cuando una máquina recibe una respuesta ARP, actualiza su tabla ARP con la nueva IP/MAC.

El ataque ARP spoofing se basa en mandar paquetes ARP falsos con el fin de modificar la tabla de ARP del equipo objetivo.

Ya veremos algún ejemplo de ARP spoofing en otro post.

jueves, 11 de septiembre de 2008

Compartir conexión a internet en linux

El otro día alguien me preguntaba cómo configurar una máquina linux para actuar como servidor de acceso a internet. Pues bien, como la cosa es sencilla, os pongo un ejemplo que me parece interesante:

Imaginemos que tenemos un equipo con linux y dos interfaces de red, que vamos a usar como servidor de acceso a internet:
  • eth0, una interfaz de red ethernet que conecta el equipo a nuestra red de área local.
  • wlan0, una interfaz de red wifi que permite conectar nuestro equipo a una red wifi.
Y supongamos que lo que queremos hacer es poder salir a internet desde cualquier equipo de nuestra red local a través de cualquier wifi a la que nos conectemos.

Pues bien, haciendo uso de iptables (el firewall interno de linux) conseguiremos nuestro objetivo. Para ello, creamos un script similar al siguiente en /etc/init.d y lo llamamos como queramos, por ejemplo: firewall (tenemos que ser root)

#!/bin/bash

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -Z
iptables -X
iptables -F -t nat
iptables -Z -t nat
iptables -X -t nat

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

iptables -A INPUT -i eth0 -j ACCEPT

Éste sería un script básico que nos permitirá hacer lo que queremos.

Veamos qué hacen las reglas de nuestro script:

La primera línea del script define que estamos creando un script bash:
#!/bin/bash

La segunda línea activa el ip forwarding, que, por decirlo de alguna manera, permite redirigir los paquetes que no son para el propio host.

echo 1 > /proc/sys/net/ipv4/ip_forward

Cuando el kernel recibe un paquete de red, primero compara la dirección de destino del paquete para ver si es para el propio host.
Cuando ip_forward esta desactivado (0) y la dirección de destino del paquete es distinta a todas las direcciones locales, ese paquete se descarta.
Cuando ip_forward esta activado (1) y la direccion de destino del paquete es distinta a todas las direcciones locales, ese paquete se reenvía.
Por defecto, ip_forward está desactivado.

El siguiente conjunto nos permiten limpiar vaciando todas las reglas de iptables que pudiera haber:
iptables -F
iptables -Z
iptables -X
iptables -F -t nat
iptables -Z -t nat
iptables -X -t nat

La siguiente regla hace que todo el tráfico dirigido al interfaz de red wlan0 sea enmascarado:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Y eso es todo. Podemos añadir todas las reglas de filtrado que queramos.

Para terminar el trabajo, damos permisos 755 a dicho script:

chmod 755 /etc/init.d/firewall

Y creamos un enlace en el nivel o niveles que queramos que arranque nuestro script al iniciar la máquina. Por ejemplo, imaginemos que nuestro servidor arranca en el nivel 2:

ln -s /etc/init.d/firewall /etc/rc2.d/S99firewall

Si además, hemos instalado squid en el servidor para filtrar, añadiremos la siguiente regla a nuestro script:

iptables -t nat -A PRERROUTING -i eth0 -p tcp -dport 80 -j REDIRECT --to-port 3128

Esta regla lo que hace es redirigir el tráfico http al puerto 3128, que es donde escucha por defecto squid.

Por otra parte, si tenemos varias máquinas en nuestra red, por comodidad, podemos montar un dnsmasq en el equipo servidor que asigne direcciones IP a los clientes de nuestra red.

lunes, 8 de septiembre de 2008

Problemas con disco duro multimedia zaapa ZC-MDYSAT

Hace no mucho tiempo compré un HD multimedia Zaapa de 500Gb (el ZC-MDYSAT) que estaba bastante bien de precio en Carrefour. Pues bien, ya sabéis que marca de Disco duro multimedia no comprar...

El problema que tiene es que al conectarlo a la TV no ve ninguno de los archivos que hemos guardado en él. No sé cuándo lo hace exactamente, pero me ha pasado varias veces. En cambio, si lo conectamos al ordenador, los archivos están ahí.

He buscado firmware en internet, incluida la página del fabricante, en la que, por cierto, no he encontrado más que especificaciones pero de firmware, nada de nada. Por más que he buscado no he encontrado nada. Y lo más gracioso es que en la información del Disco duro se resalta que el firmware es actualizable. Pues ya me dirán de dónde sacamos las actualizaciones.

Por lo que comentan el algún foro el problema está en el formato NTFS (formato con el que te recomiendan formatear el disco duro, para más coña).

Así que, después de muchas pruebas, he vuelto a pasar los datos que tenía almacenados a otro disco (unas tres horitas...) y me he decidido a formatearlo con FAT32.
Lo he formateado, le he vuelto a pasar los archivos que tenía (otras tres horitas...) y ¡bingo!. Ya funciona. Ya veremos qué pasa la próxima vez que le añada archivos. Pero bueno, eso será mañana u otro día.

Una cosilla importante: El dichoso Windows no permite formatear disco duros de gran capacidad (>32Gb) a formato FAT32. Así que, si tenéis este disco duro multimedia y queréis formatearlo a FAT32, podéis hacerlo usando linux, con mkfs.vfat.

O desde windows, utilizando programas como Fat32Format, disponible en:
http://www.ridgecrop.demon.co.uk/fat32format.htm

Por cierto, el borrado de Fat32Format es destructivo, con lo que al formatear perderéis los datos que tengáis en la unidad.

domingo, 7 de septiembre de 2008

Configurar permisos de acceso a CUPS

CUPS (Common Unix Printing System) es un sistema de impresión para sistemas operativos Linux que nos permite utilizar un equipo como servidor de impresión.

Podemos ajustar permisos de acceso al servidor CUPS definiendo que ip’s tienen acceso a la parte de CUPS que nos interese. Éstos permisos se ajustan en el fichero de configuración:
/etc/cups/cupsd.conf

Este fichero podemos modificarlo con el editor de textos que queramos.

Por ejemplo, vamos a fijarnos en la siguiente sección del fichero de configuración:
<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

Con <Location /> estamos configurando el acceso a todo cups.

La directiva Deny,Allow define la siguiente política de acceso: Primero se deniega y luego se permite.
También podríamos encontrarnos la directiva contraria:
Allow,Deny define que primero se permite y luego se deniega.

La siguiente directiva Deny From All define que se deniega el acceso para todos.

Y la última directiva Allow From 127.0.0.1 define que se permite el acceso a la máquina local, es decir, al propio servidor.

Veamos otro ejemplo:
# Restrict access to the admin pages...
<Location /admin>
Order deny, allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.1.10
</Location>

Si nos fijamos en <Location /admin> veremos que estamos restringiendo el acceso a la sección de administración.

La siguiente directiva establece la misma política de acceso que en el caso anterior: Primero se deniega y luego se permite.

La directiva Deny From All deniega el acceso a todos. Exceptuando los que se permitan en las siguientes directivas Allow...

La siguiente directiva Allow From 127.0.0.1 permite el acceso a la sección admin para la máquina local.

Y la siguiente directiva Allow From 192.168.1.10 permite el acceso a la sección admin para la máquina cuya ip es 192.168.1.10.

jueves, 4 de septiembre de 2008

Actualizar avisador de radares Woxter Sherpa 1000 GPS

Este post es para mi primo. Ya he actualizado tu avisador de radares Woxter Sherpa 1000 GPS con la última actualización de radares disponible.
Como la cosa es muy sencilla, te pongo aquí el procedimiento y la próxima vez puedes actualizarlo tú mismo:

Instalación de drivers.
Lo primero que tienes que hacer es coger el CD que viene con el avisador e instalar el programita que viene en el disco. Esto instala los drivers que permiten comunicar el avisador de radares con el ordenador. Ésto sólo tienes que hacerlo la primera vez.
Una vez instalado, reinicias el ordenador. Y ya, cada vez que conectes el avisador con el cable usb que lo acompaña, tu ordenador detectará el aparato.

Registro.
Otra cosa que tienes que hacer es ir a la página del fabricante (Woxter Mobile) y registrarte:
http://www.woxtermobile.com
Rellenas el formulario de registro y apuntas el nombre de usuario y contraseña con los que te has registrado (que seguro que lo olvidas...).
El registro es necesario para poder descargar las actualizaciones.

Descarga de actualizaciones.
Cada vez que quieras actualizar tu avisador de radares, abres el navegador de internet y te vas a la página de Woxter Mobile. Allí puedes comprobar si ha salido alguna actualización nueva (Lo verás por la fecha). Si la hay, introduces tu nombre de usuario y contraseña en el cuadro de registro que hay a la derecha y pulsas el botón Ok. El navegador te redirigirá al apartado de actualizaciones. El tuyo es el Sherpa 1000 GPS. No obstante, fíjate en las fotos de los aparatos para identificarlo fácilmente. Esto es importante, porque para cada aparato debes bajar su actualizador.
El actualizador es un programa que tienes que descargar en tu ordenador. Hay dos actualizaciones disponibles:
  • Una que tiene radares fijos, móviles y puntos negros.
  • Otra que tiene radares fijos y puntos negros.
Elige la que más te interese y la descargas.

Actualización del avisador de radares.
Una vez descargada la actualización, coges el avisador y colocas el interruptor que hay en un lateral en el modo D/L.
Después, conectas el cable usb al aparato y lo enchufas al ordenador.
Por último, haces doble clic en el programa de actualización que has descargado de la web de Woxter Mobile.

Se abrirá la aplicación con una pantalla de "Opciones de Usuario". La aplicación detectará automáticamente el puerto al que está conectado el avisador y la velocidad de conexión.

Si tienes grabadas Posiciones de Usuario, elije Mantener o Borrar Posiciones de Usuario.

Por último, haz click en "Actualizar" y sige las instrucciones en pantalla. Comenzará el proceso de actualización.

Una vez haya finalizado la descarga de la actualización al aparato aparecerá una ventana con el mensaje "Actualización Terminada". Haz click en "Aceptar". Haz clic en "Salir (Exit)" para cerrar la aplicación. Y ya tendrás actualizado tu avisador de radares.

Desconéctalo del ordenador y coloca el interruptor que hay en el lateral del avisador en la posición Normal. Y listo.