# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Enrutar en Linux (route add/del)

Ayer expliqué cómo visualizar las tablas de rutas en Linux, pero no vimos cómo agregar nuevas rutas, modificarlas o borrarlas. Vamos a ver en una entrada rápida unos ejemplos básicos del comando route que nos enseñarán a modificar la tabla de rutas. Partimos de esta base:

$ route -n
Tabla de rutas IP del núcleo
Destino         Pasarela        Genmask         Indic Métric Ref    Uso Interfaz
192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

Vamos a añadir una nueva ruta cuyo destino tenga la red 169.255.0.0/16. Todo tráfico contra esa red será redirigido a la interfaz eth0 y usará la puerta de enlace (gateway) 192.168.1.1:

$ sudo route add -net 169.255.0.0/16 gw 192.168.1.1 dev eth0
$ route -n
Tabla de rutas IP del núcleo
Destino         Pasarela        Genmask         Indic Métric Ref    Uso Interfaz
192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.255.0.0     192.168.1.1     255.255.0.0     UG    0      0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

Para eliminar esta ruta en lugar de route add usamos route del:

$ sudo route del -net 169.255.0.0/16 eth0

También podríamos enrutar tráfico de una LAN sin necesidad de pasar por una gateway:

$ sudo route add -net 169.255.0.0/16 dev eth0

O establecer la gateway (puerta de enlace) por defecto. Será utilizada en caso de no haber otra regla efectiva por delante:

$ sudo route add default gw 192.168.2.1

Como siempre, para más información:

$ man route

Recordad que estos cambios no son persistentes a reinicios, tendréis que añadir los comandos a /etc/rc.local.

Autofs y automount para servir nfs

Algunos de los pros de automount/autofs frente a montar sistemas de ficheros de forma estática es su dinamismo y simplicidad. Si utilizamos automount para servir nfs podemos conseguir que el export NFS únicamente esté montado cuando realmente es necesario, reduciendo la posibilidad de corrupción del sistema de ficheros. Si es un filesystem con pocos accesos también es útil no tenerlo montado de forma permanente y establecer un timeout.

En la parte práctica, nfs con automount es muy útil para servir las /home de usuarios, pudiendo el usuario tener un mismo directorio home centralizado para varias máquinas, también para repositorios de software compartido, etc. Vamos a ver el ejemplo más sencillo de servir un directorio por nfs y automount en unas máquinas CentOS:

Requisitos

Necesitaremos estos dos paquetes:

# yum install nfs-utils autofs

Disponer de una NAS o servidor NFS con un export configurado (IP 192.168.1.144), por ejemplo:

# more /etc/exports
/repo *(rw)

Configuración automount en los clientes

El fichero de configuración principal es /etc/auto.master, en el cual se especifican los mapeos, puntos de montaje y parámetros de configuración. Muchas veces, por limpieza y tener mejor estructuración, los parámetros y puntos de montaje se especifican en ficheros aparte (/etc/auto.misc o el que queramos).

Nosotros queremos por un lado, mapear el directorio local /export con el sistema de ficheros NFS. De momento establecemos esta configuración en auto.master (Tenéis ejemplos en el fichero así como comentarios de ayuda):

/export        /etc/auto_repo

Y en el fichero /etc/auto_repo especificamos punto de montaje, flags del filesystem y el export NFS:

repo	-fstype=nfs,rw,nosuid	192.168.1.144:/repo

Iniciamos servicios autofs y nfs:

/etc/init.d/nfs start && /etc/init.d/autofs start

Vemos los puntos de montaje actuales:

# df -h
S.ficheros            Size  Used Avail Use% Montado en
/dev/sda2             7,7G  970M  6,4G  13% /
tmpfs                 376M     0  376M   0% /dev/shm
/dev/sda1             485M   28M  432M   7% /boot
/dev/sda5            1008M   34M  924M   4% /home

Entramos en /export/repo y volvemos a revisar los puntos de montaje, aparece automáticamente el export NFS:

Nota: con automount tienes que saber el path directo, no puedes usar [TAB]

# cd /export/repo
[root@server1 repo]# df -h
S.ficheros            Size  Used Avail Use% Montado en
/dev/sda2             7,7G  970M  6,4G  13% /
tmpfs                 376M     0  376M   0% /dev/shm
/dev/sda1             485M   28M  432M   7% /boot
192.168.1.144:/repo   7,7G  963M  6,4G  13% /export/repo

Una vez pasado el timeout especificado el punto de montaje quedaría desmontado automáticamente. Este es el ejemplo más básico de automount y autofs, podríamos llegar a montar vía export todas las home de usuario, Autofs + LDAP y otras configuraciones más complejas. De momento esta es la idea básica sobre la que podéis comenzar a trabajar. Os dejo unos enlaces recomendados para aprender más sobre autofs:

  1. Automount y autofs en es.tldp.org
  2. Automounter examples en www.linux-consulting.com

Cómo instalar Oracle Solaris 11 Express

Hoy vamos a ver lo sencillo que resulta instalar Oracle Solaris 11 Express 2010.11 tanto en una máquina virtual como en un equipo físico. Lo primero que tenemos que hacer es descargar la imagen de instalación correspondiente desde este enlace del sitio web de Oracle (es necesario registro). En mi caso, como es habitual he utilizado la versión de instalación en modo texto para x86.

Vamos a ello, arrancamos el equipo con un CD con la imagen ISO grabada y empezamos la instalación. Seleccionamos el tipo de teclado, en nuestro caso ’39′ (español):

Ahora toca elegir el idioma, en mi caso selecciono inglés ya que prefiero instalar los sistemas en inglés que en español, sobre todo porque a la hora de buscar documentación y errores hay mucha más información:

Comienza la instalación de Oracle Solaris, elegimos ’1′ para empezar:

Tras la pantalla de bienvenida, empezamos con la configuración de discos y particiones. Primero toca elegir el disco sobre el que hacer la instalación y después la estructura de particiones. En este caso es un disco virtual sobre Virtualbox, así que elegimos el único disco disponible y usamos todo el disco para instalar el sistema.

Ahora introducimos el nombre de la máquina (hostname) y especificamos si deseamos que la configuración de red sea automática o si preferimos realizarla de forma manual posteriormente:

Establecemos la configuración regional del equipo, fecha, etc:

Llega el momento de asignar una clave al usuario root y la creación de una cuenta de usuario extra:

Antes de comenzar la instalación, podemos ver un resumen de las opciones configuradas y elegir cambiar alguna de ellas volviendo atrás (F3):

Cuando todo esté correcto, presionamos F2 y la instalación comenzará:

Una vez finalizada la instalación sólo nos queda presionar F8 para hacer un reboot y ya podemos comenzar a disfrutar de nuestro sistema Oracle Solaris:

alex@solaris:~$ uname -a
SunOS solaris 5.11 snv_151a i86pc i386 i86pc

En las próximas entradas empezaremos a ver cómo configurar las interfaces de red, la instalación de paquetes y una visión general del sistema.

Cómo crear un repositorio local de yum

YumHay circunstancias en las que puede ser recomendable disponer de repositorios de yum locales para la actualización e instalación de paquetes en sistemas CentOS, RHEL, Fedora, etc, sobre todo si manejamos una gran cantidad de servidores y queremos disponer de mayor velocidad, seguridad y centralización. Vamos a ver los pasos necesarios para crear un repositorio local.

Lo primero que tenemos que hacer es elegir la ruta del repositorio y crear la estructura de carpetas, vamos a crear la misma estructura que en los repositorios oficiales, en este caso para la versión 5.6 de CentOS i386:

mkdir -p /repo_local/centos/5.6/os/i386/CentOS/

Antes de crear el repositorio debemos instalar una utilidad de yum llamada createrepo:

# yum install createrepo

Una vez instalado podemos crear el repositorio con el siguiente comando:

# createrepo repo_local

Saving Primary metadata
Saving file lists metadata
Saving other metadata

Nota: Este comando hay que ejecutarlo cada vez que añadimos, eliminamos o hacemos algún cambio en los rpm del repositorio.

Una vez creado podemos sincronizar nuestro repositorio con uno de los mirror oficiales de CentOS por rsync o añadir nuestros propios RPM. De momento vamos a hacer la prueba añadiendo un único rpm al repositorio:

# cd /repo_local/centos/5.6/os/i386/CentOS
# wget ftp://ftp.udl.es/pub/centos/5.6/os/i386/CentOS/perl-5.8.8-32.el5_5.2.i386.rpm

Antes de empezar a trabajar con él tenemos que activar el repositorio, para ello creamos un nuevo fichero con la configuración del mismo en /etc/yum.repos.d/repo_local.repo (el fichero debe tener la extensión .repo):

[repo_local]
name=Repositorio_local_CentOS
baseurl=file:///repo_local/
enabled=1
gpgcheck=0

La estructura es sencilla, indicamos el nombre del repositorio, su ruta (podría ser SMB, NFS, HTTP…), si está activado y si usa algún tipo de llave gpg (en este caso no). Ahora ya podemos hacer consultas contra este repositorio, instalar rpm’s, etc. Vamos a consultar el único rpm que hemos metido (perl-5.8.8-32.el5_5.2.i386.rpm). En el comando que veis deshabilito el repositorio base para evitar problemas de prioridades, etc:

# yum --enablerepo=repo_local --disablerepo=base info perl
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * addons: centos.mirror.xtratelecom.es
 * extras: centos.mirror.xtratelecom.es
 * rpmforge: fr2.rpmfind.net
 * updates: centos.mirror.xtratelecom.es
addons                                                                                                                                                         |  951 B     00:00
extras                                                                                                                                                         | 2.1 kB     00:00
repo_local                                                                                                                                                     |  951 B     00:00
rpmforge                                                                                                                                                       | 1.1 kB     00:00
updates                                                                                                                                                        | 1.9 kB     00:00
Excluding Packages in global exclude list
Finished

Available Packages
Name       : perl
Arch       : i386
Epoch      : 4
Version    : 5.8.8
Release    : 32.el5_5.2
Size       : 12 M
Repo       : repo_local
Summary    : El lenguaje de programación Perl.
URL        : http://www.perl.org/
License    : Artistic or GPL
Description: Perl es un lenguaje de programación de alto nivel derivado
           : del lenguaje C, de sed, de awk y de los script de la shell. Es adecuado
           : para la gestión de procesos, de ficheros y en particular de
           : ficheros de texto. Perl es un lenguaje sencillo y eficaz. Se utiliza
           : normalmente para la creación de utilidades de administración del sistema
           : y para la programación de sitios Web. Gran parte de los scripts CGI de la
           : web están escritos en Perl. Es necesario que instale el paquete perl en su
           : sistema si desea gestionar los scripts de Perl.
           :
           : Instale este paquete si desea programar en Perl o habilitar  su sistema
           : para gestionar los scripts Perl.

Si el repositorio lo quisierais además de para vuestros RPM personalizados para los oficiales de CentOS, deberíais sincronizarlo periódicamente con un mirror oficial y ejecutar después el createrepo. Podéis hacerlo en un cron, siendo el comando algo así:

# rsync -avz centos.mirror.xtratelecom.es::CentOS/5.6 /repo_local/centos/ && createrepo repo_local

Nota: no todos los repositorios aceptan rsync, en la lista de mirrors de CentOS veréis los que sí que lo permiten. El que uso en el ejemplo sí.

Entrevista a Pau García-Milà, un joven emprendedor

Pau García-Milà es el cofundador del que podría ser considerado el primer sistema operativo web del mundo, eyeOS. Antes de que la moda del Cloud Computing invadiera las IT un joven adolescente ya estaba desarrollando este sistema operativo, actualmente utilizado en más de 60 paises en todo el mundo.

Pau fue entrevistado por Buenafuente aprovechando la publicación de su primer libro “Está todo por hacer (Cuando el mundo se derrumbe, hazte emprendedor)”. . Destaca ante todo su madurez, claridad de ideas y ganas por progresar y sacar a la luz todas sus ideas, independientemente de que fracase o triunfe con ellas. Actualmente es un joven de 23 años que tiene mucho camino por recorrer y que es un claro ejemplo de que querer es poder, un buen ejemplo a seguir para la juventud actual que está viviendo graves dificultades para incorporarse al mundo laboral.

A continuación podéis ver la entrevista completa:

Vídeo: seguridad y protección de datos en los Data Center de Google

Google publicó hace unos días este vídeo en el que se muestran las medidas de seguridad de sus centros de datos y el modo en el que se protegen los datos que alojan. El vídeo se divide en tres secciones:

  1. Seguridad física del centro de datos
  2. Protección de datos en el centro de datos
  3. Fiabilidad en las operaciones en el centro de datos

Un vídeo realmente interesante en el que podremos ver puntos curiosos como la forma de destruir los datos de discos averiados o cuyo ciclo de vida ha finalizado, el montaje de sus servidores personalizados, los distintos puntos de control de acceso físico como por ejemplo la seguridad biométrica a través de cámaras oculares, sistemas anti-incendios, eficiencia energética, etc.

Habilitar certificados de cliente para un website en IIS 6.0

Habilitar los certificados de cliente a nivel de website permite que aquel que conecte al sitio web necesite la utilización de un certificado seguro para poder acceder. De este modo podremos proteger los accesos al sitio web y sus recursos frente a accesos no deseados y permitir especificamente a un grupo concreto el acceso.

En este caso los vamos a activar a nivel de website, de modo que accederemos a la consola de gestión de IIS (Internet Information Services Manager) y desplegaremos el servidor local, después Web Sites y pincharemos con el botón derecho en el website a configurar seleccionando Properties. Una vez dentro accederemos a la pestaña “Directory Security” y pincharemos en “Edit” dentro de la sección de comunicaciones seguras (Secure Communications).

IIS certificados cliente

Una vez dentro encontraremos las siguientes opciones. Lo primero que debemos activar es el requerimiento de un canal seguro SSL (Require Secure Channel SSL). De este modo forzamos al usuario a conectar vía HTTPS. Posteriormente podemos configurar si habilitamos los certificados de cliente o si obligamos a usarlo. La última opción forzará al usuario a utilizarlo mientras que la segunda lo permitirá. Finalmente podemos habilitar una lista de certificados de confianza (Enable Certificate Trust List) a la cual podremos añadir los certificados a utilizar para la comunicación con el cliente, certificados CA intermedios, etc.

IIS certificados cliente

Finalmente reiniciamos el website y ya debería estar habilitada la funcionalidad de certificados de cliente.

Cómo recuperar la clave un usuario de Windows

Normalmente, recuperar o regenerar la clave de un usuario sin privilegios de Windows no es problema, ya que accedemos como Administrador y podemos modificar la clave de acceso de cualquier usuario. El problema suele venir cuando se pierde la clave de Administrador/Administrator y no se dispone de otra cuenta con privilegios para acceder.

Voy a nombrar unas cuantas herramientas que yo he utilizado alguna vez y con las que es posible recuperar la clave de los usuarios de Windows (normalmente funcionan tanto en XP como 2003, 2008, Vista…)

Ophcrack (gratuito)

OphCrack

Ophcrack es un LiveCD (distribución Linux), básicamente lo que hace es crackear las passwords de los usuarios de Windows. En primera instancia intenta sacar las claves por fuerza bruta, y después utiliza la potencia del procesador del equipo y la RAM para intentar descifrar los Hash.

Para usarlo, simplemente tienes que arrancar con el CD y esperar a que haga el trabajo correspondiente. He de decir que en mis pruebas, crackeo sin problemas claves con 10 o más carácteres que incluían mayúsculas, minúsculas y números, pero en cuanto añadía símbolos a las claves, la cosa se complicaba un poco… (@ ! # $ + – * / = % ( ) [ ]).

Nota: En discos SAS con controladoras RAID no lo conseguí hacer funcionar, en discos SATA, IDE, etc sin RAID por Hardware funcionó sin problemas.

Descarga OphCrack (guía de uso también disponible)

Windows Password Reset (de pago, $19.95)

Windows Password Reset, a diferencia de OphCrack, lo que hace es eliminar la clave del usuario que seleccionemos, de este modo al acceder al sistema tras realizarlo podemos entrar sin clave y generar una nueva.

Este software es de pago, tiene una demo (CD de arranque) que permite arrancar con el CD y ver si los usuarios de Windows son detectados, pero no deja resetear la clave.

He de decir que este software detecta las particiones montadas en discos SAS/SATA con controladoras RAID Hardware sin problemas (comprobado en servidores HP Proliant DLXXX). Su uso es muy sencillo, arrancas con el CD, seleccionas la instalación de Windows de la cual quieres borrar la clave de un usuario, te lista los usuarios y seleccionas el que quieras, en la siguiente imagen podéis ver todo el proceso:

Windows Password Reset

Web de Windows Password Reset

Offline NT Password & Registry Editor (gratuito)

Offline NT Password & Registry Editor hace lo mismo que Windows Password Reset pero es gratuito, el modo de operar es el mismo, arrancas con un CD y puedes resetear la clave de un usuario de tu sistema Windows. Personalmente no lo he probado.

Web Offline NT Password & Registry Editor

Os dejo enlaces a otras herramientas por si estas no os han sido de utilidad:

John the Ripper password cracker

John the Ripper es un programa de criptografía que aplica fuerza bruta para descifrar contraseñas. Es capaz de romper varios algoritmos de cifrado o hash, como DES, SHA-1 y otros.

Es una herramienta de seguridad muy popular, ya que permite a los administradores de sistemas comprobar que las contraseñas de los usuarios son suficientemente buenas.

PC Login Now (de pago)

Funciona como Offline NT Password & Registry Editor pero es de pago, ya que es más sencillo de utilizar.

kon boot

Permite acceder al sistema operativo saltándose la solicitud de usuario y clave, funciona tanto en Windows como Linux.

Sitio web: Kon Boot