sábado, 29 de noviembre de 2008

Instalar Ubuntu 8.10 ( intrepid ) en un Asus Eeepc



Ha caído estos días en mis manos un Asus 1000 con Windows XP preinstalado, la idea era, como podéis ver en el título, instalar la última versión Ubuntu en el mismo. Una vez hecho os comento los pasos y enlaces que he seguido hasta conseguirlo.

1.- Descargamos la última versión, 8.10 intrepid, de la página de descarga oficial de Ubuntu.

2.- Generamos un pen drive que habremos convertido previamente en una unidad de arranque con el sistema operativo que acabamos de bajarnos. Para hacerlo de un modo sencillo sigue las instrucciones de este enlace.

Instación del kernel Adams.

Una vez tenemos instalado Ubuntu en nuestro pc instalamos el kernel propio de ubuntu, la versión estable es el eeepc kernel, la otra eeepc-lean kernel elimina gran cantidad de dispositivos y drivers innecesarios acelerando la carga del sistema y aprovechando más recursos, pero de momento aún no está en una versión estable de desarrollo.


Para realizar la instalación:
a.- Podremos escoger entre instalar:
  • Intrepid EeePC kernel (2.6.27-8-eeepc) en estos momentos estable
  • The Intrepid EeePC-lean kernel (2.6.27-8-eeepc-lean) en estos momentos versión de Prueba y mucho más arriesgada.
  • En cualquiera de los dos casos debemos leer los riesgos que corremos al instalar el intrepid eepc kernel y el intrepid eeepc-lean kernel.
b.- Añadimos el siguiente repositorio a nuestra lista de repositorios:
deb http://www.array.org/ubuntu intrepid eeepc

O bien, desde la línea de comandos ejecutamos:

wget http://www.array.org/ubuntu/array-intrepid.list 
sudo mv -v array-intrepid.list /etc/apt/sources.list.d/


c.- Añadimos la llave (key) pública del repositorio array.org:

wget http://www.array.org/ubuntu/array-apt-key.asc  
sudo apt-key add array-apt-key.asc


d.- Actualizamos nuestra lista de repositorios:

sudo apt-get update


e.- Instalamos el Eeepc Kernel:
  • Instalamos el Eeepc Kernel:

    sudo apt-get install linux-eeepc       

    ó

  • Sino instalamos EeePC-lean kernel.

    sudo apt-get install linux-eeepc-lean       


  • Reiniciamos el equipo: reboot
  • Durante la inicialización de GRUB, pulsamos ESC para mostrar el menú de opciones de arranque.
    El nuevo kernel está etiquetado como "2.6.27-8-eeepc" o "2.6.27-8-eeepc-lean"

    Sino está en la primera posición bajamos hasta él y pulsamos INTRO.

f.- Desinstalamos el Kernel Genérico (Opcional)

1.- En cualquier caso,deberemos modificar grub para que, por defecto, arranque con el eeepc kernel.

Para eliminarnos de la lista de actualizaciones del kernel ejecutamos el comando:


sudo apt-get remove linux-generic linux-image-generic linux-restricted-modules-generic


NOTA: esto mantendrá el último kernel genérico en nuestro equipo, pero no se instalará ninguna futura actualización del mismo. Es útil mantener el útlimo kernel genérico por si tenemos cualquier problema inesperado con el kernel eeepc y necesitamos un kernel "oficial de ubuntu" para vollver a acceder.
2.- (No recomendado) Si deseas eliminar el último kernel genérico también, ejecuta el comando:

sudo apt-get remove linux-.*-generic


Instalamos el script para los Asus Eeepc

Nos permitirá habilitar/deshabilitar bluetooth, wifi, ventilador,....

Modelos soportados:

* EeePC 900A
* EeePC 901
* EeePC 1000
* EeePC 1000H

ADVERTENCIA: No instale estos scrpits en un modelo que no esté en la lista.

Mapeo de teclas y sus funciones:

900A/901:

* Fn+F1 Standby
* Fn+F2 WLAN-toggle
* Fn+F3/F4 Brightness
* Fn+F5 VGA-toggle
* Fn+F6 Taskmanager
* Fn+F7/F8/F9 Volume
* 1. hotkey Display-toggle (internal)
* 2. hotkey Bluetooth-toggle
* 3. hotkey Webcam-toggle or user-defined
* 4. hotkey CPU frequency control or user-defined

1000/1000H:

* Fn+F1 Standby
* Fn+F2 WLAN-toggle
* Fn+F5/F6 Brightness
* Fn+F7 Display-toggle (internal)
* Fn+F8 VGA-toggle
* Fn+F9 Taskmanager
* Fn+F10/F11/F12 Volume
* 1. hotkey Display-toggle (internal)
* 2. hotkey Bluetooth-toggle
* 3. hotkey Webcam-toggle or user-defined
* 4. hotkey CPU frequency control or user-defined

Si ha añadido "asus_eee", "i2c-i801" o "pciehp with its parameters" a /etc/module, quítelos. En otro caso el instalador los añadirá por segunda vez.

si ha añadido "asus_eee" a /etc/modprobe.d/blacklist elimínelos.

Abra un terminal e instale los scripts (si tiene un archivo de una versión antigua bórrelo antes de instalar una nueva versión):

Ejecutar:





wget http://www.informatik.uni-bremen.de/~elmurato/EeePC/Intrepid_ACPI_scripts-EeePC.tar.gz
tar xfvz Intrepid_ACPI_scripts-EeePC_900A_901_1000.tar.gz
cd Intrepid_ACPI_scripts-EeePC_900A_901_1000/
chmod +x acpi-scripts.sh
sudo ./acpi-scripts.sh install














O si ya tiene una versión anterior instalada, ejecute el comando de actualización en lugar de instalar:

Ejecutar:


sudo ./acpi-scripts.sh update

Para borrar los scripts:

Ejecutar:

sudo ./acpi-scripts.sh remove

Fallos conocidos:

* Si deshabilita/edita el control del ventilador tardará un minuto en tener efecto.
* Si usa dos OSDs para el control del volumen con Gnome vaya a System/Preferences/Key bindings y deshabilite las tres entradas (mute, vol up, vol down)
* Los usuarios de X/Kubuntu podrían tener que instalar algunas librerías de python para conseguir que funcione el OSD. Intente instalar todas las python-dbus y python-gtk.


Fuentes:

Página del kernel Eee-pc: http://www.array.org/ubuntu/setup-intrepid.html

Foro de los usuarios de Eee-pc (instalación del script): http://forum.eeeuser.com/viewtopic.php?pid=420248

Instalar kiba-dock en Ubuntu o Debian



Para aquellos a los que les gusta la apariencia del sistema operativo de los equipos Apple, existe en Linux la opción de instalar la barra kiba-dock, que podéis ver en funcionamiento en el vídeo anterior.

El proceso de instalación para Ubuntu o Debian es bastante sencillo, y a la espera de que añadan nuevas funcionalidades que la asemejen más a su "musa" de Apple, podemos optar por acercarnos a la página del proyecto, o bien, desde la página de Cesarius y descargarnos directamente el fichero deb.

Instalación de kiba-dock


Antes de proceder a la instalación debemos tener instalado y funcionando compiz (en sus últimas versiones) o el desaparecido Beryl.

Una vez hecho esto tan sólo deberemos bajarnos el paquete deb desde la página de Cesarius:

Descarga el archivo kiba-dock_0.1-1.2_i386.deb

Descarga el archivo kiba-dock_0.1.0-1_amd64.deb (sólo para AMD64)

Lo instalamos con el gestor de paquetes Gdebi y tan sólo restará ejecutarlo (tecleando kiba-dock) o bien desde Aplicaciones--Accesorios--kiba-dock y arrastrar todos los iconos que queremos sean incluidos en la barra. También podemos configurar las variadas opciones de configuración que ofrece.

Fuentes:

Página del proyecto: http://www.kiba-dock.org
Página de Cesarius: http://www.cesarius.net/instalando-kiba-dock-version-estable/

lunes, 24 de noviembre de 2008

Administrar y configurar redes, servidores y servicios en Ubuntu o Debian

Por fin he acabado el curso de Administración de Linux, además de aprender unas cuantas cosas he conseguido elaborar (simplemente he modificado algunas, muy pocas, cosas del material del cnice que no funcionaban) el material que podéis ver a continuación para emplear en clases. Espero que os sea útil el material:
(Podéis consultar también este otro enlace http://tecnoloxiaxa.blogspot.com/2010/04/administracion-de-servidores-linux.html dónde encontraréis bastante información sobre la configuración de otros servidores en Linux incidiendo especialmente en la integración de algunos de ellos con encriptación y LDAP)

1.- Administración de usuarios y grupos en Linux:
  • Creación de usuarios / useradd
  • Modificación de usuarios / usermod
  • Eliminación de usuarios / userdel
  • Creación de grupos / groupadd
  • Modificación de grupos / groupmod
  • Eliminación de grupos / groupdel
  • Añadir usuarios a un grupo / adduser
  • Quitar usuarios de un grupo / deluser
  • Gráficamente: users-admin
  • Cambios de permisos: chmod
  • Máscaras: umask
  • Cambiar propietario de archivo: chown

2.- Instalar y configurar un servidor DHCP en Ubuntu o Debian

3.- Instalar y configurar un servidor DNS con dnsmasq

4.- Emisión de certificados con OpenSSL en Ubuntu

5.- Instalar y configurar un servidor Web Apache en Ubuntu

6.- Instalar y configurar NFS: Carpetas compartidas

7.- Samba:
8.- Instalar y Configurar PHP en Ubuntu o Debian

9.- Instalar y configuar MySQL en Ubuntu o Debian

10.-Instalar y configurar phpMyAdmin

11.- Servidor FTP en Ubuntu o Debian: Instalar y config...

12.- SSH:
13.- Backup: Copias de Seguridad en Ubuntu o Debian

14.- Servidor de terminales en Ubuntu o Debian

15.- VNC: Visor de Escritorios Remotos en Ubuntu o Debian

16.- LDAP:
17.- Configurar y activar un equipo como enrutador

18.- Incluir Ubuntu o debian en un dominio windows (Active Directory - Directorio Activo)

19.- Instalar Xampp (Apache, MySQL,...) en linux

domingo, 23 de noviembre de 2008

Autenticación en un sistema LDAP (OpenLDAP) Ubuntu o Debian

Introducción

Como ya hemos comentado anteriormente, una de las utilidades más importantes de un servidor LDAP es como servidor de autentificación. Autentificarse es necesario para entrar en un sistema linux. También para acceder a algunos servicios como un servidor FTP o a páginas privadas en un servidor web. En otros apartados veremos como utilizar un servidor LDAP para permitir el acceso a páginas web privadas y para autentificar a usuarios del servidor de ftp Proftpd. Aquí veremos las modificaciones que hay que realizar en un sistema Linux para que autentifique a los usuarios en un servidor LDAP en lugar de utilizar los clásicos archivos /etc/passwd, /etc/group y /etc/shadow. Para ello es necesario instalar y configurar los paquetes libpam-ldap y libnss-ldap.

Librerías de autentificación pam-ldap y nss-ldap

La librería pam-ldap permite que las aplicaciones que utilizan PAM para autentificarse, puedan hacerlo mediante un servidor LDAP. Para que el sistema linux se autentifique mediante un servidor LDAP es necesario instalar esta librería ya que utiliza PAM. El archivo de configuración de ésta librería es /etc/ldap.conf. Hay otras aplicaciones o servicios que utilizan PAM para la autentificación y por tanto podrían, gracias a la librería pam-ldap, autentificarse ante un servidor LDAP.

Para especificar el modo de autentificación de cada servicio es necesario configurar los archivos que se encuentran en la carpeta /etc/pam.d/. Al final de este documento se indican los cambios necesarios en éstos archivos.

La librería nss-ldap permite que un servidor LDAP suplante a los archivos /etc/passwd, /etc/group y /etc/shadow como bases de datos del sistema. Su archivo de configuración se encuentra en /etc/libnss-ldap.conf (o /etc/ldap.conf en versiones recientes). Posteriormente deberemos configurar el arhivo /etc/nsswitch.conf para que se utilice LDAP como base de datos del sistema en lugar de los archivos passwd, group y shadow.

La instalación de ambas librerías se puede realizar mediante apt-get.

Instalación y configuración de libpam-ldap

La instalación de la librería libpam-ldap se puede realizar ejecutando el comando:

// Instalación de la librería libpam-ldap
# apt-get install libpam-ldap
Nos aparecerán las pantallas del asistente de configuración cuyas pantallas podéis ver un poco más abajo, en las versiones más recientes de Ubuntu. Deberemos comprobar al finalizar:

El archivo de configuración de la librería es el archivo /etc/ldap.conf . Únicamente hay que configurar los siguientes parámetros:

  1. Quién es el servidor LDAP (nombre o IP)
  2. Cuál es la base de nuestro directorio LDAP (base DN)
  3. Cuál es la versión de LDAP a utilizar
  4. Quién es el administrador del directorio
  5. En qué unidad organizativa se encuentran los usuarios (sustituto de /etc/passwd)
  6. En qué unidad organizativa se encuentran las contraseñas (sustituto de /etc/shadow)
  7. En qué unidad organizativa se encuentran los grupos (sustituto de /etc/group)

Para ello las líneas que hay que modificar en el archivo de configuración son las siguientes (el valor de los parámetros es un ejemplo):

// Configurar en /etc/ldap.conf
host 172.16.15.1 //nombre o IP del servidor LDAP
base dc=iesacarballeira,dc=com
ldap_version 3
rootbinddn cn=admin,dc=iesacarballeira,dc=com
nss_base_passwd ou=users,dc=iesacarballeira,dc=com?one
nss_base_shadow ou=users,dc=iesacarballeira,dc=com?one
nss_base_group ou=groups,dc=iesacarballeira,dc=com?one

Instalación y configuración de libnss-ldap

En las versiones más recientes al instalar la librería libpam-ldap ya nos instala ésta y nos habrá ejecutado el asistente de instalación, sino:

Para instalar la librería libnss-ldap debemos ejecutar el comando:

// Instalación de la librería libnss-ldap
# apt-get install libnss-ldap

Acto seguido se iniciará el asistente de configuración de dicha librería. Se puede lanzar dicho asistente más adelante mediante el comando:

// Lanzar asistente de configuración de libnss-ldap
# dpkg-reconfigure libnss-ldap

Dicho asistente modificará el archivo /etc/libnss-ldap.conf (o /etc/ldap.conf en versiones recientes) que es donde se almacena la configuración de la librería. Posteriormente tendremos que editar dicho archivo manualmente para introducir algún cambio que no realiza el asistente.

Asistente de instalación

La primera pregunta que nos hace el asistente es quién es el servidor LDAP. Podemos poner la IP o el nombre:

Luego nos preguntará por la base del directorio LDAP (base DN):

dc=iesacarballeira,dc=com

Acto seguido tendremos que indicar la versión de LDAP a utilizar:

la más actual -la 3- por defecto.

En el siguiente paso nos pregunta si necesitamos autentificarnos en el servidor LDAP o no. Como la librería únicamente va a realizar consultas, no es necesario autentificarse por lo tanto debemos responder 'No':

Posteriormente nos preguntará si el archivo /etc/libnss-ldap (o /etc/ldap.conf en versiones recientes) debe solamente tener permisos de lectura y escritura para el usuario (root que es quién instala) o no. Como en el paso anterior hemos indicado que no necesitamos autentificación, no se almacenarán contraseñas en el archivo de configuración, por tanto podemos responder 'No':

Finalmente nos advierte que debemos modificar el archivo /etc/nsswitch.conf para que el sistema utilice el directorio LDAP como base de datos del sistema, al igual que hace con los archivos passwd, group y shadow:

Con el asistente se habrá configurado casi todo lo necesario aunque para que nuestro sistema se autentifique por LDAP, aún hay que configurar dos parámetros más:

  1. En qué unidad organizativa se encuentran los usuarios (sustituto de /etc/passwd - en nuestro caso ou=users)
  2. En qué unidad organizativa se encuentran los grupos (sustituto de /etc/group - en nuestro caso ou=groups)
Para ello hay que modificar dos líneas en el archivo de configuración. Son las siguientes:

// Configurar en /etc/ldap.conf
nss_base_passwd ou=users,dc=iesacarballeira,dc=com
nss_base_group ou=groups,dc=iesacarballeira,dc=com

Configuración de NSS

Para que el servidor LDAP actúe como si se tratara de los archivos passwd, group y shadow, además de instalar las dos librerías anteriores, debemos indicar que se utilice LDAP como alternativa para autentificar usuarios. Para ello hay que añadir en las líneas que hacen referencia a passwd, group y shadow en el archivo /etc/nsswitch.conf, la palabra 'ldap' tras la palabra 'compat' quedando el archivo /etc/nsswitch.conf así:

// Archivo /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd: compat ldap
group: compat ldap
shadow: compat ldap

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis

Configurar servicios PAM

Nuestro sistema ya estaría preparado para autentificarse por LDAP. Editando los archivos que hay en la carpeta /etc/pam.d, podemos configurar la forma en la que se autentifica cada uno de los servicios que requieren autentificación.

Para no tener que configurar de cada uno de los servicios, existen unos archivos comunes cuyo nombre empieza por common que afectan a la mayoría de ellos y sus archivos de configuración los referencian mediante una línea @include a los archivos comunes causando el mismo el efecto que si el contenido de los archivos comunes estuviera copiado en el lugar de la línea @include. Los archivos comunes son:

  • /etc/pam.d/common-auth (para autentificarse)
  • /etc/pam.d/common-account (para disponer de una cuenta)
  • /etc/pam.d/common-session (para poder iniciar sesion)
  • /etc/pam.d/common-password (para poder cambiar password)

Estos archivos contienen una línea que hace referencia a la librería pam_unix.so que corresponde a la autentificación contra los archivos UNIX. Para que los servicios de nuestro sistema utilicen primero las librerías pam_ldap.so para autentificar al usuario, debemos añadir la línea correspondiente a pam_ldap.so por encima de la línea correspondiente a la librería pam_unix.so en los archivos common. Así, auntentificará primero contra el servidor LDAP, y si la autentificación falla, probará despues con los archivos UNIX.

Configuración archivo common-auth

Para que los servicios de nuestro sistema utilicen las librerías pam-ldap para autentificar al usuario, debemos añadir en el archivo /etc/pam.d/common-auth la siguiente línea:

// Añadir en /etc/pam.d/common-auth encima de la línea pam_unix.so
auth sufficient pam_ldap.so

Además de ello, hemos de modificar la línea -añadiendo al final use_first_pass:

auth required pam_unix.so use_first_pass
// en caso contrario cuando hagamos su para un usuario dado de alta en ldap nos pedirá la contraseña dos veces

Configuración archivo common-account

Para permitir que los servicios de nuestro sistema comprueben la cuenta del usuario mediante las librerías pam-ldap, debemos añadir en el archivo /etc/pam.d/common-account la siguiente línea:

// Añadir en /etc/pam.d/common-account encima de la línea pam_unix.so
account sufficient pam_ldap.so nullok_secure

Configuración archivo common-session

Para permitir que los servicios de nuestro sistema obtengan los parámetros de la sesión de usuario mediante las librerías pam-ldap, debemos añadir en el archivo /etc/pam.d/common-session la siguiente línea:

// Añadir en /etc/pam.d/common-session encima de la línea pam_unix.so
session sufficient pam_ldap.so

Configuración archivo common-password

Para permitir que los servicios de nuestro sistema puedan modificar la contraseña del usuario mediante las librerías pam-ldap, debemos añadir en el archivo /etc/pam.d/common-password la siguiente línea:

// Añadir en /etc/pam.d/common-password encima de la línea pam_unix.so
password sufficient pam_ldap.so

Configuración particular para cada servicio

Si deseamos que algún servicio se autentifique de forma diferente, podemos editar el archivo del servicio (ej: /etc/pam.d/su, /etc/pam.d/ssh, /etc/pam.d/ftp, etc...), eliminar la línea que comienza por @include e introducir la configuración particular que deseemos.

Probar la autentificación

Nuestro servidor LDAP ya debería autentificar correctamente . Podemos probar la autentificación de los servicios mediante el comando pamtest que se encuentra en el paquete libpam-dotfile, por lo tanto debemos instalarlo:

// Instalación del comando pamtest
# apt-get install libpam-dotfile

Si deseamos probar que funciona el servicio passwd (cambiar contraseña) sobre un usuario del directorio LDAP (ejemplo jessica) , podemos ejecutar:

// Probando el cambio de contraseña
root@cnice-desktop:/etc/pam.d# pamtest passwd jessica
Trying to authenticate for service .
Password: // Introducimos el password de jessica
Authentication successful. // La autentificación ha sido satisfactoria

También podemos utilizar el comando finger sobre usuarios que estén solamente en el directorio LDAP, por ejemplo joel:

// Probando finger
root@cnice-desktop:/etc/pam.d# finger joel
Login: joel Name: Joel Javier
Directory: /home/www/alumnos Shell: /bin/sh
Last login Tue Sep 27 18:02 (CEST) on pts/3 from 192.168.0.213
No mail.
No Plan.

Podemos por ejemplo, desde una consola de root, cambiar mediante el comando 'su' (su=Switch User - cambiar de usuario) a un usuario que esté en el directorio LDAP, para lo cuál no nos pedirá contraseña ya que root tiene permiso para cambiar a cualquier usuario. Si posteriormente cambiamos a otro usuario del directorio, ahora sí que nos pedirá contraseña. Deberemos introducir la contraseña que esté almacenada en el directorio LDAP para dicho usuario:

// Cambiando de usuario
root@cnice-desktop:/etc/pam.d# su joel // Somos root y cambiamos a joel
joel@cnice-desktop: // No nos pide password
joel@cnice-desktop:/etc/pam.d$ su jessica // Somos joel, y cambiamos a jessica
Password: // Nos pide password, le introducimos
jessica@cnice-desktop:/etc/pam.d$ // Ha cambiado correctamente

Las opciones de configuración de PAM son muy variadas. Para obtener más información se puede instalar el paquete libpam-doc que instala bastante documentación al respecto bajo la carpeta /usr/share/doc/libpam-doc/

Crea un usuario de prueba:
smbldap-useradd -a -m -M cuenta_de_correo -c "Nombre Completo" nombre_usuario

Luego dale una password:
smbldap-passwd nombre_usuario

Y debieras poder conectarte al servidor como ese usuario, ya sea por la consola o por SSH. También debes arreglar algunos ajustes de la cuenta root en el servidor, o te quedarás sin poder usarla:
smbldap-usermod -u 0 -d /root -s /bin/bash root


Para información sobre cómo instalar el servidor LDAP pulsa en el enlace

Fuente:

Vincular adsense y analytics



Como podéis ver en la página, acabo de añadirle publicidad. Para ello he utilizado el servicio de google adsense que ofrece la posibilidad, a los administradores de páginas web, de incorporar anuncios relacionados con la información ofrecida en cada página de un modo muy sencillo. En cuanto a los ingresos obtenidos, tienen relación, básicamente con dos factores; el número de pulsaciones que hagan los usuarios sobre el anuncio, mientras que otros están vinculados al número de veces que se muestra dicho anuncio, es decir, al número de veces que se muestre la página web.

Hasta este momento, venía utilizando el contador gratuito de histats junto con google analytics para tener información de mi blog relativa al número de usuarios, tiempo medio en el sitio, páginas más vistas, procedencia,..... Pues bien, desde el 23 de Octubre, google va ofreciendo, de modo gradual, a los administradores de páginas web la posibilidad de integrar sus herramientas analytics y adsense, de modo que se puedan ver análisis sobre ingresos diarios, páginas más rentables, .....



De momento no tengo ni idea de cuántos céntimos de dólar conseguiré, si los consigo, dentro de unos cuantos años, porque entre otras cosas, esa información no está disponible en ningún sitio, tan sólo se puede consultar número de clicks y cuánto dinero llevas acumulado hasta el momento en la página de adsense, de modo que cuando pueda vincular ambos servicios, tal vez sea más sencillo ofrecer una estimación de todos esos factores. Hasta entonces espero que con los anuncios que he puesto, cuando llegue el verano, pueda invitar a un par de chuches a los enanos.

sábado, 22 de noviembre de 2008

Configurar y activar un equipo como enrutador en Ubuntu o Debian

Activación del enrutamiento en Linux

Las funciones de enrutamiento mediante NAT son realizadas por el cortafuegos que analizará los paquetes provenientes de la red local interna cuyo destino sea Internet y los modificará convenientemente para que salgan hacia Internet como si fueran emitidos por el servidor. A partir del nucleo 2.4 de Linux, el cortafuegos empleado es iptables.

Para posibilitar que nuestro servidor Linux sea capaz de comportarse como un router y hacer de puerta de enlace para los PCs de nuestra red local, será necesario crear un script que configure el cortafuegos iptables para que realice NAT desde dentro de la red local hacia Internet.

Creación del script para activar enrutamiento

Para activar el enrutamiento en un sistema Linux, tan solo basta con poner a '1' la variable ip_forward del sistema, es decir, basta con ejecutar desde una consola de root:

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


Posteriormente tendríamos que configurar el filtrado de paquetes para que acepte el redireccionamiento de paquetes desde dentro hacia fuera de nuestra red y mediante NAT permita que los PCs de la red interna naveguen con la dirección IP 'publica' del servidor. Supongamos que el router Linux tiene una tarjeta (eth0) conectada a la red local (172.16.15.1/255.255.255.0) y que tenemos una tarjeta (eth1) conectada al router, con la ip 192.168.36.140, los comandos a ejecutar serían:

// Haciendo NAT en el servidor
# iptables -A FORWARD -j ACCEPT

# iptables -t nat -A POSTROUTING -s 172.16.15.0/24 -o eth1 -j SNAT --to 192.168.36.140


Podríamos realizar un script que activara el enrutamiento y el NAT y otro para desactivarlo:

// activar-enrutamiento.sh
echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -A FORWARD -j ACCEPT

iptables -t nat -A POSTROUTING -s
172.16.15.0/24 -o eth1 -j SNAT --to 192.168.36.140


// desactivar-enrutamiento.sh
echo "0" > /proc/sys/net/ipv4/ip_forward

Activación automática del enrutamiento al arrancar el equipo

Si hemos creado el script de enrutamiento lo único que tenemos que hacer es dar permisos de ejecución y:

update-rc.d activar-enrutamiento.sh defaults


Fuentes:



jueves, 20 de noviembre de 2008

Nos hacemos viejos. Plus TV

A medida que uno va creciendo,... en edad que no en altura, las historietas de nuestros abuelos y padres nos van pareciendo cada vez más entrañables. Prueba de que seguimos cumpliendo años, suele ser la búsqueda de información y noticias que aclaren o adornen dichas historias, que , además, pasan a ser las nuestras.
Algo así han debido pensar los directivos de canal + cuando idearon Plus TV, una selección de imágenes de algunos de sus programas. Al enterarme he acudido inmediatamente en busca del que debería ser, bajo mi punto de vista, el referente de los programas de sobremesa -y que desgraciadamente ni lo ha sido, ni creo que lo sea en este país nunca - "lo más plus". De todos modos si pulsáis el play en el cuadro que he seleccionado, no veréis retazos de entrevistas -que también están disponibles- sino que espero arrancaros unas sonrisas con uno de los "descubrimientos" de ese programa: Javier Coronas y su versión de "la hija de Putin" irrumpiendo en plena entrevista a David Bisbal:

http://www.plus.es/plustv/index.html?idList=PLTVMI&idVid=733753&pos=0

*he sustituido el vídeo por el enlace ya que no se iniciaba pausado y era un poco molesto

Enlaces relacionados:
Plus TV: http://www.plus.es/plustv/index.html

miércoles, 19 de noviembre de 2008

Regala Un OLPC y hazte con otro

Al igual que sucediera el año pasado, el proyecto OLPC (One Laptop Per child - Un portátil para cada niño) ha puesto en marcha, en colaboración con Amazon, su campaña "compra uno y dona otro" (Give one, get one) que intenta concienciar a los usuarios de países desarrollados para que por 399$ compren dos XO. Uno de ellos será enviado a nuestro domicilio y el otro irá destinado a un niño que viva en países emergentes.

Los pedidos serán entregados a partir del 20 de Noviembre.

Manifestaciones convocadas

Os copio en el enlace la dirección dónde podréis consultar el lugar, fecha y hora de las manifestaciones convocadas por el tema de la huelga de informática de hoy en las ciudades españolas en las que están convocadas.

martes, 18 de noviembre de 2008

Servidor LDAP en Ubuntu o Debian con OpenLDAP

¿Qué es un servidor LDAP?

Un servidor LDAP es un servidor de datos optimizado para la realización rápida de consultas de lectura y orientado al almacenamiento de datos de usuarios a modo de directorio.

La principal utilidad de un directorio LDAP es como servidor de autentificación para los distintos servicios de un sistema informático como puedan ser: autentificación para entrar en un PC, para entrar en una aplicación web, para acceder a un servidor ftp, para acceder a servidores de correo entrante POP3 y saliente SMTP, etc...

Si en nuestra red disponemos de un servidor LDAP y configuramos todos los PCs y todos los servicios de la red para que se autentifiquen en él, bastará con crear las cuentas de usuario y grupos de usuarios en nuestro servidor LDAP para que los usuarios puedan hacer uso del sistema y de sus servicios desde cualquier puesto de la red. Es un sistema ideal para centralizar la administración de usuarios en un único lugar.

En el curso veremos cómo poner en marcha un servidor LDAP y cómo configurar el resto de PCs clientes de la red para que se autentifiquen en él. También utilizaremos OpenSSL para que durante el proceso de autentificación los datos viajen encriptados por la red, así ningún curioso podrá averiguar nuestras contraseñas. Además utilizaremos LDAP para que autentifique el acceso al servidor ftp y el acceso a páginas restringidas en el servidor web.

Instalación y configuración de OpenLDAP

Para simplificar la administración de los usuarios del sistema es ideal utilizar una base de datos accesible mediante LDAP. Almacenar las cuentas de usuario de forma centralizada en un único repositorio facilitará la creación, modificación y eliminación de cuentas de usuario y grupos de usuarios. Será necesario configurar los PCs de la red para que utilicen el servidor LDAP como servidor de autentificación.

Instalación de OpenLDAP

El servidor OpenLDAP está disponible en el paquete slapd por tanto, lo instalaremos utilizando apt-get. También nos conviene instalar el paquete db4.2-util que son un conjunto de utilidades para la base de datos dbd que es la que utilizaremos para nuestro servidor ldap y el paquete ldap-utils que contiene utilidades adicionales:

// Instalación del servidor LDAP
# apt-get install slapd db4.2-util ldap-utils

Durante la instalación, nos pedirá que introduzcamos la contraseña de administrador del servidor ldap. Podemos configurar cualquier contraseña, como por ejemplo 'ldapadmin'

Configuración de OpenLDAP

La configuración del servidor LDAP se almacena en el archivo /etc/ldap/slapd.conf. Podemos editar manualmente dicho archivo, pero es mejor lanzar el asistente de configuración de slapd. Para ello debemos ejecutar el siguiente comando:

(para aquellos a los que no os aparezca, os recomiendo que le echéis un vistazo a este otro artículo: http://tecnoloxiaxa.blogspot.com/2008/11/autenticacin-en-un-sistema-ldap.html )
//Lanzar el asistente de configuración de slapd
# dpkg-reconfigure slapd

  • Lo primero que nos pregunta el asistente es si deseamos omitir la configuración del servidor LDAP. Obviamente responderemos que no, ya que precisamente lo que queremos es configurar el servidor LDAP.
  • Nuestro directorio LDAP debe tener una base, a partir de la cual cuelgan el resto de elementos. Como nombre de la base, habitualmente se utiliza el nombre del dominio. Ejemplo, si nuestro dominio es iesacarballeria.com, lo normal es que la base para nuestro directorio LDAP sea: dc=iesacarballeira,dc=com.
  • La siguiente pregunta que nos hace el asistente es el nombre de nuestro dominio. Éste nombre lo utilizará para crear el nombre distinguido (DN) o dicho más claramente, nombre identificativo de la base de nuestro directorio LDAP.

  • Posteriormente nos preguntará por el nombre de nuestra organización: iesacarballeira.

  • Después nos preguntará por la contraseña que deseamos poner al usuario admin (administrador) del servidor LDAP. Dicha contraseña nos la pedirá dos veces para evitar errores de tecleo. Podemos poner cualquier contraseña, por ejemplo 'root'.

  • Acto seguido nos informará sobre los posibles gestores de datos para almacenar el directorio y en la siguiente ventana nos preguntará qué sistema utilizar. Lo recomendable es utilizar el sistema BDB.

  • Después nos preguntará si queremos que se elimine la base de datos cuando quitemos slapd. Por si acaso, lo mejor es responder que no:

  • En el caso de que exista una base de datos LDAP previa, nos preguntará si deseamos moverla. Lo mejor es responder Sí, para evitar que interfiera en la nueva base de datos:
  • Luego nos preguntará si deseamos utilizar LDAP versión 2, respondemos que no ya que apenas se utiliza.

  • Finalmente nos da la oportunidad de omitir la configuración. Si respondemos que sí, será como que no hemos ejecutado el asistente, por lo tanto si nuestra intención es configurar el servidor LDAP responderemos no:

Ya tendríamos nuestro servidor LDAP listo para trabajar con él.

Arranque y parada manual del servidor LDAP

El servidor LDAP, al igual que todos los servicios en Debian, dispone de un script de arranque y parada en la carpeta /etc/init.d.

// Arrancar o reiniciar el servidor LDAP
root@cnice-desktop:# /etc/init.d/slapd restart

// Parar el servidor LDAP
root@cnice-desktop:# /etc/init.d/slapd stop

Arranque automático del servidor LDAP al iniciar el sistema.


update-rc.d slapd defaults

Administración de OpenLDAP

Introducción

Una vez instalado y configurado el servidor LDAP, la siguiente tarea es la del diseño de la estructura y la introducción de datos en el directorio.

Puesto que la finalidad de nuestro servidor LDAP es que sirva de almacen de usuarios y grupos para autentificar sistemas linux y servicios como ftp y web, deberemos crear una estructura que parta de la base de nuestro directorio, para almacenar dicha información. Tal y como se explica más abajo, crearemos una unidad organizativa (ou) llamada groups, para almacenar los grupos de usuarios y crearemos otra unidad organizativa llamada users para almacenar a los usuarios.

Explorador de directorios LDAP

Para acceder al directorio LDAP y poder crear y modificar elementos en dicho directorio, es necesario disponer de un explorador de directorios LDAP (LDAP browser). Existen muchos exploradores LDAP tanto de pago como libres. Entre las aplicaciones libres destacamos gq, phpldapadmin (aplicación web) y JXplorer.

Para instalar gq, podemos utilizar apt-get. Una vez instalada, para ejecutar gq tan solo debemos pulsar alt+f2 y escribir gq.

Para instalar phpldapadmin podemos:

  • Simplemente ejecutar: apt-get install phpldapadmin
  • Si se produce el error :

    Memory Limit low.
    Your php memory limit is low - currently 16M
Deberemos aumentar la memoria, por ejemplo a 64M, en el fichero /etc/php5/apache2/php.ini
//editamos el fichero /etc/php5/apache2/php.ini memory_limit = 64M ; Maximum amount of memory a script may consume (16MB)
y reiniciamos el servidor apache:

/etc/init.d/apache restart
Si estamos en el servidor, simplemente teclearemos en la barra de direcciones de nuestro explorador web:

http://localhost/phpldapadmin/

  • Otra posibilidad y al igual que otras aplicaciones web, podremos descargarla desde http://phpldapadmin.sourceforge.net/ y descomprimirla dentro del DocumentRoot de apache, es decir, dentro de la carpeta /var/www, por ejemplo en /var/www/phpldapadmin. Para ejecutarla, si la hemos descomprimido en la carpeta anterior, debemos ir a http://ip_del_servidor_web/phpldapadmin/ con el navegador y veremos la página principal de la aplicación (deberemos asegurarnos de que existe el fichero config.php, ya que por defecto sólo trae un config.php.example, ya que sino con cada actualización, en caso de existir ya nos machacaría la configuración previa.

JXplorer - Explorador LDAP en java.

Por su calidad superior, en este curso utilizaremos JXplorer para administrar el directorio LDAP.

Instalación de JXplorer

Previo a instalar jxplorer, es necesario instalar la máquina virtual java de Sun.
Aunque en estos momentos está disponible la versión 1.6 de la máquina virtual de java, por problemas con la versión 3.2 de jxplorer he instalado la 1.5:

# apt-get install sun-java5-bin sun-java5-jre

Lo cierto es que la versión 3.2, de momento me ha dado muchos problemas en su instalación, por ello finalmente he decidido bajarme la versión 3.1 ( http://sourceforge.net/project/downloading.php?groupname=jxplorer&filename=JXv3.1deploy.tar.bz2&use_mirror=ovh) y ejecutarla tecleando:

# sh ./jxplorer.sh

Pasos para la instalación de jxplorer3.2 - DE MOMENTO CON SERIOS PROBLEMAS DE INSTALACIÓN
Para ello debemos ir a http://www.java.com/es/ y descargar la última versión del JRE (Java Runtime Enviroment). Puesto que no existe una versión específica para sistemas debian, debemos descargar la versión Linux (genérica), ejecutar el archivo 'bin' para que se descomprima el paquete y mover el directorio que se ha creado (ejemplo, jre1.6.0_10), a la carpeta /usr/lib. Posteriormente tendremos que editar el archivo /root/.bashrc y añadir las variables que permitan al shell encontrar el JRE: // Añadir en /root/.bashrc (sustituir jre1.6.0_10 por la versión descargada) CLASSPATH=/usr/lib/jre1.6.0_10/bin/ JAVA_HOME=/usr/lib/jre1.6.0_10/bin/ PATH=/usr/lib/jre1.6.0_10/bin/:/usr/lib/jre1.6.0_10/bin/java/:/sbin:/bin :/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin cargamos las variables del entorno: # source /root/.bashrc Después, debemos abrir un terminal y ya estamos en condiciones de instalar JXplorer. JXplorer no está disponible en los repositorios de paquetes de debian, por ello debemos ir a http://pegacat.com/jxplorer/downloads/users.html y descargarnos la versión para linux. En el momento de escribir estas líneas, la última versión es la 3.2 y por tanto el archivo descargado se llama JXv3.2_install_linux.bin. Para instalar la aplicación debemos dar permisos de ejecución al archivo y ejecutar:

// Instalar JXplorer
# sh ./JXv3.1_install_linux.bin

Se iniciará un sencillo asistente de instalación que al finalizar habrá creado un enlace en nuestra carpeta home, por lo tanto para ejecutarlo debemos escribir:

// Ejecutar JXplorer 
# ./JXplorer_LDAP_Browser

Veremos la pantalla principal de JXplorer:

Conexión con el servidor LDAP

La conexión con el servidor LDAP podemos hacerla como usuario anónimo o como usuario administrador. Si conectamos de forma anónima solo podremos visualizar los elementos pero no podremos hacer cambios. Si conectamos como administrador, podremos crear, modificar y eliminar elementos de cualquier tipo.

Para conectar al servidor LDAP como administrador necesitamos la siguiente información:

  • Dirección IP del servidor LDAP
  • Protocolo del servidor (LDAP v3 en nuestro caso)
  • Base del directorio (dc=iesacarballeira,dc=com en nuestro caso)
  • Nombre de usuario administrador (cn=admin,dc=iesacarballeira,dc=com en nuestro caso)
  • Contraseña (root en nuestro caso)

La base del directorio se suele denominar en inglés 'base DN' o 'Nombre Distinguido de la base del directorio'. Se corresponde con el parámetro 'suffix' del archivo de configuración del servidor LDAP /etc/ldap/slapd.conf.

El nombre del usuario con el que nos conectamos se suele denominar en inglés 'user DN' o también 'bind DN'

El nombre de usuario administrador por defecto suele ser admin y a menudo hay que proporcionar nombre y base del directorio: cn=admin,dc=ieacarballeira,dc=com

Al hacer clic en el botón 'conectar' (marcado con círculo rojo en la figura) nos aparecerá el diálogo de conexión para que introduzcamos los datos de la conexión. Para no tener que introducir dicha información cada vez que conectemos, podemos grabar los datos pulsando 'Save'.

Si pulsamos OK, JXplorer conectará con el servidor LDAP y mostrará el directorio:

Vemos que en nuestro directorio solamente hay dos elementos: una organización llamada 'iesacarballeira' y el usuario administrador llamado 'admin'.

Organización del directorio LDAP

Creación de las unidades organizativas

Puesto que nuestro directorio va a almacenar usuarios y grupos, vamos a crear sendas unidades organizativas (en inglés organizational unit - ou) llamadas 'users' y 'groups' que nos servirán para organizar los usuarios y los grupos por separado.

Dentro de la unidad organizativa 'users' crearemos todos los usuarios del sistema. Dentro de la unidad organizativa 'groups' crearemos todos los grupos del sistema.

Para crear una unidad organizativa dentro de nuestra organización, haremos clic con el derecho sobre la organización 'iesacarballeira' y en el menú contextual elegiremos 'New':

Nos aparecerá la ventana 'Set Entry Object Classes' que podríamos traducir por 'Seleccione las clases objeto de la nueva entrada' o mejor, 'Seleccione las tipologías'. En ella podremos elegir los 'tipos' que tendrá nuestro nuevo elemento. Como se trata de una unidad organizativa (en inglés organizational unit - ou) debemos seleccionar el tipo organizationalUnit en la lista de la izquierda y pulsar el botón añadir (Add). Los otros dos tipos que aparecen por defecto (organizationalRole y simpleSecurityObjet) no los necesitaremos, por lo tanto podemos seleccionarlos de la lista de la derecha y pulsar el botón quitar (remove). En la casilla 'Enter RDN' (introducir Nombre Distinguido Relativo) debemos poner el nombre de nuestro elemento. Escribiremos ou=users. Estaremos en la situación de la siguiente figura:

Tan solo debemos pulsar el botón OK y el botón "Submit" en la pantalla que nos aparece, ya se habrá creado nuestra unidad organizativa 'users'. Repetiremos los pasos para crear otra unidad organizativa llamada 'groups'.


Usuarios y grupos

Ahora solamente nos queda crear los usuarios, crear los grupos y asignar los usuarios a sus grupos. Dentro de nuestra unidad organizativa 'groups' crearemos los siguientes grupos:
  • profesores (gid=1001)
  • alumnos (gid=1002)
Dentro de nuestra unidad organizativa 'users' crearemos los siguientes usuarios:
  • javier (uid=1001, profesor)
  • joaquin (uid=1002, profesor)
  • miguel (uid=1003, profesor)
  • jessica (uid=1004, alumno)
  • joel (uid=1005, alumno)

Creación de grupos

Para crear los grupos, haremos clic con el derecho en la unidad organizativa 'groups' e igual que antes haremos clic en 'New'. Nuestro nuevo elemento será un nuevo grupo posix, por lo tanto debemos agregar el tipo 'posixGroup' de la lista de la izquierda. El nombre (RDN) será profesores, por tanto debemos escribir 'cn=profesores' (cn= Common Name - Nombre Común):

Al pulsar OK nos apacererá la siguente figura, en la cual observamos los atributos clásicos de un grupo posix. Debemos rellenar al menos el campo gidNumber. También podemos introducir miembros al grupo. En el parámetro memberUid añadimos javier. Luego, haciendo clic con el derecho en javier > Add another value, podemos añadir otro valor: joaquin. De igual manera añadiremos a miguel. No importa que todavía no hayamos creado a dichos usuarios:

Creación de usuarios

Para crear los usuarios, haremos clic con el derecho en la unidad organizativa 'users' e igual que antes haremos clic en 'New'. Nuestro nuevo elemento será un nuevo usuario posix, por lo tanto debemos agregar el tipo 'posixAccount' de la lista de la izquierda. Pero nuestro usuario también será una persona, por eso nos interesará agregar el tipo 'person' para disponer de los atributos de dicho tipo (nombre, apellidos, ...), además como será usuario de Internet nos interesará agregar también el tipo 'inetOrgPerson' para poder almacerar el e-mail y otros valores. Si su nombre es Francisco Javier, podemos escribir en la casilla RDN 'cn=Francisco Javier' (cn= Common Name - Nombre Común):

Al pulsar OK nos apacererá la siguente figura, en la cual observamos los atributos de las tres tipologías de nuestro elemento: persona, usuario de internet y cuenta posix. Debemos rellenar al menos los campos gidNumber (grupo primario que será el 1001), homeDirectory, uid (identificador), uidNumber, loginShell y sn (surname - apellidos). También añadiremos el e-mail aunque en la figura no se vea ya que está más abajo:

Lo mismo haremos con el resto hasta que tengamos creados los cinco usuarios.


Ya tendríamos creada la estructura, los grupos y los usuarios que necesitamos para nuestro sistema.

Autenticación de usuarios con LDAP
Para seguir viendo cómo configurar y autenticar LDAP (sin encriptar y usando openssl para encriptación) pulsa aquí


Fuentes:



lunes, 17 de noviembre de 2008

Activar o Habilitar Macros en documentos de Office 2007

A veces necesitamos habilitar esos pequeños programas que vienen incrustados en algunos documentos de las hojas de cálculo o del procesador de textos. Para permitirlos en Office 2007 podemos seguir el siguiente procedimiento:


Cuando abres excel debe aparecerte un cuadro de diálogo como el siguiente (en rojo), donde pulsando en opciones puedes habilitar la macro:


Sino aparece, pulsa en la flecha que aparece en la barra del título y selecciona “más comandos”:

Y pulsa en Centro de confianza --- Configuración del centro de confianza:


Mi recomendación es la opción por defecto: Deshabilitar todas las macros con notificación para que os aparezca el mensaje de la primera imagen.

· Haga clic en las opciones que desee:

  • Deshabilitar todas las macros sin notificación Haga clic en esta opción si no confía en las macros. Todas las macros y alertas de seguridad de los documentos se deshabilitan. Si hay documentos con macros sin firmar en las que sí confíe, puede poner estos documentos en una ubicación de confianza. Los documentos de ubicaciones de confianza se pueden ejecutar sin la comprobación del sistema de seguridad del Centro de confianza.
  • Deshabilitar todas las macros con notificación Esta es la configuración predeterminada. Haga clic en esta opción si desea deshabilitar las macros, pero desea recibir alertas de seguridad si hay macros presentes. De este modo, puede elegir cuándo habilitar esas macros caso por caso.
  • Deshabilitar todas las macros excepto las firmadas digitalmente Esta configuración es igual que Deshabilitar todas las macros con notificación excepto en que si la macro está firmada digitalmente por un editor de confianza, puede ejecutarse si ya se ha confiado en el editor. De lo contrario, se le notifica. De este modo, puede decidir habilitar esas macros firmadas o confiar en el editor. Todas las macros sin firmar se deshabilitan sin notificación.
  • Habilitar todas las macros (no recomendado, puede ejecutarse código posiblemente peligroso) Haga clic en esta opción para permitir que se ejecuten todas las macros. Esta configuración hace que el equipo sea vulnerable a código posiblemente malintencionado y no se recomienda.
  • Confiar en el acceso al modelo de objeto de proyectos de VBA Esta configuración es sólo para programadores.
Fuente:
http://office.microsoft.com/es-es/help/HA100310713082.aspx