Como clonar un disco duro virtual en VirtualBox

Los discos duros en VirtualBox están registrados con un UUID que lo identificará de forma única, este UUID también esta almacenado internamente en el archivo de imagen.

VirtualBox se negará a trabajar con dos imagenes que usen el mismo UUID, para clonar un disco duro virtual en VirtualBox necesitamos el UUID de la maquina que usaremos como origen.

Listando maquinas virtuales existentes para obtener el UUID:

$ VBoxManage list vms
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"plantilla-karmic-i386" {a81882fc-04c5-498c-8f40-ef32499b271d}

plantilla-karmic-i386 es el Nombre de la maquina virtual y su respectivo UUID es:
a81882fc-04c5-498c-8f40-ef32499b271d.

Ahora necesitamos obtener el UUID del disco duro de la maquina virtual plantilla-karmic-i386, para obtener el UUID del disco podemos usar:

$ VBoxManage showvminfo plantilla-karmic-i386 | grep vdi
Primary master: /media/virtdiscs/VMachines/VirtualBox/HardDisks/plantilla-karmic-i386.vdi (UUID: bf71bfe6-bf26-45fa-8809-bc2428218f0e)

El UUID del disco duro de la maquina virtual es: bf71bfe6-bf26-45fa-8809-bc2428218f0e

Ahora clonamos el disco duro con el comando:

$ VBoxManage clonehd bf71bfe6-bf26-45fa-8809-bc2428218f0e /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 7b8d85a8-9598-46ad-b900-8a6dbe547b6c

NOTE el UUID del nuevo disco duro: UUID: 7b8d85a8-9598-46ad-b900-8a6dbe547b6c

Si usted trató de clonar un disco duro virtual de VirtualBox copiando el archivo de imagen con otro nombre tendrá que asignar un nuevo UUID al nuevo archivo, por ejemplo:

$ VBoxManage internalcommands setvdiuuid micopia-karmic-i386.vdi
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
UUID changed to: b833eefd-4b10-4637-80e1-b19c7811b9c9

Ahora registramos el nuevo disco duro virtual:

$ VBoxManage openmedium disk /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

Y por último verificamos que este registrado con:

$ VBoxManage showhdinfo /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
UUID: 7b8d85a8-9598-46ad-b900-8a6dbe547b6c
Accessible: yes
Description:
Logical size: 8192 MBytes
Current size on disk: 864 MBytes
Type: normal (base)
Storage format: VDI
Location: /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi

Para usar este nuevo disco duro use el asistente para crear maquinas virtuales y cuando llegue a la parte en donde tiene que agregar un disco duro elija la opción “use existing virtual disk” y seleccione el disco duro que registro en el paso anterior.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hardy 8.04

Desde hace tiempo vengo haciendo este documento pero creo que no lo había hecho público, creo que solo lo estuve posteando en listas de correo, foros y otros lugares, bueno creo que ya es un documento bastante maduro como para publicarlo.

Aquí les dejo el documento de configuración de Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server 8.04.

En el documento se decribre la implementación de un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server 8.04, el controlador de dominio servirá para administrar de forma centralizada las cuentas de usuario y grupo para sistemas Unix y GNU/Linux y también para cuentas de usuario, grupos, y computadoras de confianza para sistemas Windows. En la implementación se describe un entorno hetereogeneo conformado por servidores GNU/Linux y clientes mixtos GNU/LInux y Windows. Se ven los procedimientos para administrar las cuentas de usuario y grupos Unix/Linux y Windows, así como la integración de clientes Unix/Linux y Windows al dominio y algunas tareas operativas sobre los miembros del dominio.

La autenticación y autorización de clientes GNU/Linux se realizará con los el modulo de resolución de nombres NSS LDAP y los modulos de autenticaicón PAM LDAP, para clientes Windows la autenticación la realiza el servidor Samba que actuará como Controlador de Dominio (PDC) al estilo NT4.

Aquí les dejo el temario para que se den una idea:

Tabla de contenidos

1. Introducción

2. Caracteristicas de la Implementación

3. Requerimientos de Software

4. Instalación y Configuración del servidor OpenLDAP

5. Configuración del Cliente LDAP

6. Configuración de Samba y las herramientas smbldap-tools

7. Configuración de la resolución de Identidades con NSS_LDAP

8. Configuración de la Autenticación con PAM_LDAP

9. Migración de usuarios y grupos Unix/Posix al directorio LDAP

10. Administración de cuentas Unix y Samba vía smbldap-tools

11. Tareas Administrativas y de Mantenimiento sobre el servidor Slapd

12. Integrando Clientes Windows al Dominio Samba

13. Integrando Clientes Linux/Unix al Dominio Samba

14. Resolución de Problemas

15. Referencias adicionales

16. Apendices

A. Licencia de Documentación Libre de GNU

ACTUALIZACIÓN 14 Marzo de 2011:

He realizado varias actualizaciones al documento, les dejo un extracto del historial de revisiones:

Revisión 0.902010-03-13jam
– Mayor información sobre la biblioteca NSS con cuentas locales y LDAP.- Corrección de bug en tipo de cuentas samba locales y notas sobre mapeo de usuarios unix a samba.- Cambios en ejemplos de respaldos de config pam y prueba de pam_cracklib con passwd(1).- Actualice los ejemplos para usar un entorno de red ficticio con un dominio NT EXAMPLE, dominio DNS example.com y red 192.168.221.0/24 para que sea más consistente con otra documentación.- Correcciones menores de sintaxis en ejemplos de línea de comando y archivos de configuración.
Revisión 0.912010-03-13jam
– Agregue una introducción de verdad donde explico los beneficios generales de la implementación tanto para unix/linux como windows.- Correcciones en los ejemplos del archivo LDIF y comandos ldapadd.- Por fin agregue ejemplo para crear recurso compartido publico para clientes samba.- Correcciones en los ejemplos para configurar syslog y la rotación con sysklogd y syslog-ng.- Amplie la información sobre las caractaristicas de la implementación, tanto para entornos unix/linux y windows.- Pequeña correccion en ejemplo para agregar usuario unix.- Por fin agregue un resumen generalizao.

ACTUALIZACIÓN 23 Febrero de 2010:

He realizado varias actualizaciones al documento, les dejo un extracto del historial de revisiones:

Revisión 0.882010-02-07jam
– Correji varios errores de en las sintaxis de comandos y configuraciones, revise el proceso de instalacion ya que habia un problema para seguir el asistente, varias mejoras en secciones de indices y acls.- Correji el orden de configuracion de los logon scripts
Revisión 0.892010-02-22jam
Actualización del capitulo de instalación openldap- Cambios en el DIT para reflejar ou=Computers Actualización del capitulo de mantenimiento con secciones- Asignar contraseña a rootdn- Respaldar y restaurar archivos de configuración y bases de datos OpenLDAP- Agregar nuevos indices de atributos en OpenLDAP – Ligar sección de atributos en capitulo de instalación

Para leer el documento en formateado en multiples paginas HTML ir al siguiente enlace:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hardy 8.04

ACTUALIZACIÓN: A petición de todos aquellos que se tomaron la molestía de escribirme para dar sus comentarios acerca del documento,  y preguntar por algún formato que sea más fácil de imprimir, aquí les dejo también la versión HTML en una sola página.

Espero que el documento les sea de ayuda al configurar un entorno similar, si tienen alguna dudas, comentarios o desean colaborar con la edición del documento no duden en contactarme usando la forma de contacto en este sitio.

Instalando un entorno de escritorio KDE minimalista en Ubuntu Server 8.04 LTS

IMPORTANTE: Nunca pidas soporte acerca de el sistema X Windows o KDE en el canal #ubuntu-server, ya que los entornos gráficos no son soportados en la edición de Ubuntu Server.

Muchas veces me han preguntado si es posible instalar un entorno de escritorio KDE en Ubuntu Server 8.04 LTS, y aunque en lo personal prefiero no instalar nada de escritorios en los servidores, ya que la mayoría de operaciones de administración las realizo desde una consola remota por SSH o desde alguna interfaz web, aquí les dejo una pequeña receta para instalar un entorno minimalista de KDE en Ubuntu Server 8.04.

Como buen usuario de KDE, me puse a buscar la forma de instalar un entorno minimalista de KDE en Ubuntu Server 8.04 y encontre que instalar el metapaquete kubuntu-desktop instalada demasiados programas que practicamente convierte el sistema de servidor en uno de escritorio.

Bien después de buscar encontre esta combinación de paquetes:

  • kdebase: Sistema base de KDE
  • kde-i18n-es (opcional): Soporte del lenguaje en español para KDE
  • kdm (opcional): KDE Display Manager, solo si desea iniciar el ambiente gráfico por default
  • xorg: Metapaquete que instala el sistema X Windows base, drivers de entrada y salida.

Bien ahora instalaremos todos los paquetes:

$ sudo aptitude install kdebase kde-i18n-es kdm xorg

Si instala KDM el demonio será iniciado automáticamente al arranque del sistema, si no desea iniciar automáticamente el entorno gráfico puede desactivar KDM de la siguiente manera:

$ sudo update-rc.d -f kdm remove

Recuerde que siempre puede iniciar el entorno gráfico desde la consola usando el comando startx.

$ startx

Y listo, esta instalación me instalará mis paquetes preferidos: konsole, kate y konqueror.

Instalando KDE 4.3 en Kubuntu Jaunty 9.04

Agregando el deposito de paquetes de kubuntu PPA backports:

$ sudo vim /etc/apt/sources.list

Con el siguiente contenido:

deb http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu jaunty main
deb-src http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu jaunty main

Ahora necesitamos agregar la llave publica de los paqeutes del deposito
kubuntu ppa backports:

$ sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 8AC93F7A

Actualizamos la lista de depositos

$ sudo aptitude update

y por último actualizamos el sistema:

$ sudo aptitude full-upgrade

Esperamos unos minutos, cruzamos los demos, se toman un cafesin y rueguen que no truene :).

Como configurar y usar APT atras de un Proxy HTTP en Ubuntu o Debian

Muchas veces nos encontramos con que tenemos nuestros sistemas basados en Debian, como puede ser Ubuntu y nos vemos en la necesidad de instalar un paquete o hacer una actualización del sistema por medio de APT ya se utilizando los comandos apt-get o aptitude o incluso las herramientas gráficas como synaptics o adept, pero nos vemos con la limitante que estamos conectados a una red en donde para salir a Internet es necesario utizar un Proxy Web.

En este articulo se explicará como configurar APT para poder instalar paquetes y realizar actualizaciones de sistema a través de un proxy.
Antes de iniciar las configuración es necesario reunir la información de red para configurar APT, los datos que requerimos son:

Dirección IP del servidor Proxy: 192.168.1.254
Número de Puerto del servidor Proxy: 3128
Usuario para navegar (opcional): usuarioweb
Contraseña de usuario para navegar (opional): C0nt4s3ñ4

NOTA: En algunas situaciones el usuario y contraseña no será requerido.

Una vez reunida la información, procederemos a configurar APT, los archivos de configuración que utilizaremos se encuentran en el directorio /etc/apt/, podremos realizar nuestras configuraciones en el archivo principal /etc/apt/apt.conf (si existe) o si existe un directorio /etc/apt.conf.d/ entonces podremos crear un archivo individual para la configuración del proxy.

Si el archivo /etc/apt/apt.conf existe entonces, agregaremos al final del archivo las siguientes lineas:

# vim /etc/apt/apt.conf

Y al final del archivo agregamos lo siguiente:

# Configuración para utilizar un proxy Web
Acquire {
http {
Proxy “http://192.168.1.254:3128“;
}
}

Si no existe el archivo /etc/apt/apt.conf, pero existe el directorio /etc/apt.conf.d/, entonces crearemos un archivo individual para guardar la configuración del proxy, por ejemplo, crearemos el archivo 88apt-proxy.

# vim /etc/apt/apt.conf.d/88apt-proxy

Con el siguiente contenido:

# Configuración para utilizar un proxy Web
Acquire {
http {
Proxy “http://192.168.1.254:3128”;
}
}

O también se puede utilizar el formato:

Acquire::http::Proxy “http://192.168.1.254:3128”;

Si el proxy requiriera autentiación por medio de usuario y contrasña, entonces la configuración sería así:

# Configuración para utilizar un proxy
Acquire {
http {
Proxy “http://usuarioweb:C0nt4s3ñ4@192.168.1.254:3128”;
}
}

O el formato corto:

Acquire::ftp::Proxy “http://usuarioweb:C0nt4s3ñ4@192.168.1.254:3128”;

NOTA: Recuerda que si la contraseña de tu usuario llegará a expirar o es cambiada necesitarás actualizar el archivo con la nueva contraseña.

Es muy importante recordar que si en el archivo /etc/apt/apt.conf existe una linea que que dice:

Acquire::http::proxy “false”;

Entonces deberá de ser comentada para que nuestras herramientas funcionen correctamente.

Despues de guardar los archivos modificados ya podras hacer un apt-get update y apt descargará las listas de paquetes utilizando el proxy.

Espero que este Tip les sea de utilidad, si tiene alguna duda, comentario, reclamación no duden en contactarme.

6 años ininterrumpidos de usar GNU Linux en mis computadoas

NOTA: NO es un post pr0n, no se dejen llevar por el URL, pero el wordpress no me dejo poner una ñ.

Segun yo iban 5 años, pero hoy me llego un correo de miarroba, ahi estaba el foro de GUL Tijuana, recuerdo que me suscribi desde mi navegador Mozilla en mi recien instalado Slackware creo que era 9.0, jeje se me hace que en aquel entonces todavia no habia firefox.

Son 6 años de usar GNU/Linux en mis equipos tanto personales: como Escritorio, Laptop, Servers caseros, y de trabajo: Escritorio/Laptop y claro muchos servidores. Han sido desde Redhat, Slackware, Debian, Gentoo, WhiteBox Linux, CentOS, Ubuntu y muchos otros derivados…

Todo empezo por gusto, luego para uso diario de trabajo, ahora enseño GNU/Linux, imparto cursos de certificación y además doy servicios profesionales en una empresa 100% libre :).

Claro, NO extraño para nada Windows, sacando cuentas, mi primer contacto con una computadora fue aprox en el 2000, en ese entonces conoci windows 3.11 en la escuela, luego win 98 y bueno los demas, asi que en mi tiempo de usar computadoras he usado mas sistemas GNU/Linux que MS :D.

Esto solo es para que quien quiera que lea el blog vea que si se puede trabajar dia a dia con GNU/Linux y también vivir…

Solo para que quede en el registro, ahora en mi escritorio uso Kubuntu 8.04.2 LTS 64bits, en la laptop uso Kubuntu Jaunty 9.04 64bits y para Servidores la mayoría Ubuntu Server Edition 8.04 LTS que es muy muy pero muy estable, incluso para sistemas virtualizados.

intodns.com una alternativas libre a dnsstuff

Algo que hago muy seguido es instalar, configurar administrar servidores DNS, para DNS con dominios validos en Internet siempre prefiero hacer pruebas desde el exterior, un sitio muy conocido para hacer pruebas de DNS es dnsstuff.com, pero desde hace tiempo te limitaban el uso de su servicio incluso para un par de veces al día, y para utilizar el servicio sin restricciones tenias que pagar una suscripción, cosa que se me hizo absurdo.

Pues buscando en el google alguna alternativa, me encontre el sitio http://intodns.com el cual es una alternativa de acceso libre y desarrolado con software libre a dnsstuff, realiza todas las tareas de chequedo desde información en el registro del dominio (whois), revisar que los registros sean validos, hace pruebas de conexion a los servidores, pruebas a los registros estandares, te infoma si hay alguna falla, da recomendaciones de uso sobre los registros, e incluso información de los RFC relacionados.

Definitivamnte una alternativa excelente para los administradores de servidores DNS, denle una checada, para facilidad solo agregen el nombre del dominio al URL, por ejemplo para tuxjm.net: http://intodns.com/tuxjm.net, y esperen unos segundos en lo que se obtivene la información de el dominio y los servidores, esto es util hasta para entregar al jefe :).

Revisen de vez en cuando sus dominios, luego los ISP cambian IPs, expiran los dominios y muchas cosas más, el DNS es uno de los servicios de Internet más importantes, asi que mantengalos en forma.

Como instalar Firefox 3.6 en Ubuntu Karmic 9.10Posted by jmedina in Escritorio, Tips

Con eso de que Google Chrome no es del todo libre y acaba de salir firefox 3.6 el cual presumen que es más rápido gracias a su motor Javascript mejorado, lo cual debería hacer que aquellos sitios AJAX carguen y funcionen más rápido, además se supone que esta versión ya incluye soporte HTML5 y CSS 3,Otra cosa nueva es el soporte integrado de Personas, es decir, temas para firefox, hay algunos buenos para cambiarle la apariencia, además algunos se ven mejor con los efectos visuales del escritorio :).

Bueno pues aquí les dejo los pasos para instalarlo en Ubuntu Karmic 9.10:

Agregamos el deposito de paquetes pseronales mozillateam/firefox-stable:

$ sudo add-apt-repository ppa:mozillateam/firefox-stable

Actualizamos lista de depositos de paquetes:

$ sudo apt-get update

Si ya tiene instalada la versión 3.5 use:

$ sudo aptitude install firefox

Si no tiene una versión de firefox instalada use:

$ sudo aptitude install firefox-3.6

Y listo, abra firefox y empiece a detectar errores y reportarlos :), jejeje no es cierto, bueno quizas algunos de sus addons no funcionen, pero eso pasa siempre.

Nuevo ataque de Denegación de Servicio a servidores DNS

Desde el día de ayer mucha gente ha estado reportando extrañas consultas en sus servidores DNS con un rate de 2 conexiones por segundo. Estas consultas preguntan al servidor por el dominio “.”. Las consultas para “.” son consultas a los servidores de nombres raíz, estas son consultas muy pequeñas pero con respuestas bastante grandes. Este ataque utiliza la técnica DNS snooping, donde se utilizan direcciones IP falsificadas para generar consultas a un servidor DNS, despues el servidor DNS (que funciona como un amplificador) devuelve las consultas a las direcciones falsificadas causando una cadena.

En los logs de su sustema pueden ver logs parecidos a este:

Jan 19 23:58:57 ns1 named[3593]: client 76.9.31.42#10070: query (cache) './NS/IN' denied
Jan 19 23:58:58 ns1 named[3593]: client 69.50.142.110#60820: query (cache) './NS/IN' denied

Por ejemplo  del día de ayer este es el número de ataques en uno de mis servidores:

# zcat /var/log/syslog.1.gz | grep "Jan 19" | grep -c "'./NS/IN' denied"
76058

Y en lo que va del día (20/01/2009 18:02):

# grep "Jan 20" syslog | grep -c "'./NS/IN' denied"
42883

Hasta ahora la mayoría de los ataques provienen de las direcciones IP:

76.9.31.42
76.9.16.171
69.50.142.11
69.50.142.110
66.230.160.1
66.230.128.15

Por lo que sería conveniente bloquear dichas direcciones en el firewall o router, así bloqueamos el trafico antes de que llegue a nuestros servidores, y además no se llenan los logs.

Se ha publicado una herramienta en línea para verificar si su servidor DNS es objetivo para este tipo de ataques, la liga es: http://isc1.sans.org/dnstest.html.

En mi caso me devolvio algo así:

Si te encuentras con que no te da resultado satisfactorio, probablemente tu servidor DNS esta mal configurado.

Aquí les dejo como debería de ir una configuración para bind9 que previene este tipo de ataques:

// Opciones globales
options {
        directory "/var/cache/bind";

        allow-query {
                127.0.0.1;
        };

};

//Definición de zonas
zone "tuxjm.net" {
        type master;
        file "/etc/bind/pri/db.tuxjm.net.zone";
        allow-query { any; };
};

Practicamente lo que se hace se configurar en las opciones globales que solo los hosts de confianza (solo localhost) puedan utilizar este servidor como DNS cache, es decir, estamos bloqueando todas las consultas que no sean originaldas localmente, y para no bloquear consultas a nuestros dominios autoritativos o aquellos que sean de tipo master, agregaremos la sentencia allow-query {any}dentro de la definición de zona, para permitir consultas de cualquier lado para este dominio.

NOTA: Si este mismo servidor se utiliza como un dns cache para una red local, entonces es conveniente agregar la subred local a allow-query en la sección global.

Espero que este documento les sea de utilidad para verificar que su servidor DNS este seguro.

gtkguitune Un afinador de guitarras para Linux

Este post solo es para mostrarle una buena afinador de guitarras para GNU/Linux, se llama gtkguitune con la cual podremos afinar nuestra guitarra, lo unico que necesitamos es un microfono.

Podemos instalar gtkguitune desde apt en Ubuntu/Kubuntu:

$ sudo apt-get install gtkguitune

Y listo, ahora activa tu microfono y si usas Kubuntu ve al Menú K=>Multimedia y da click sobre gtkGuitune.

Aqui les dejo un screenshot para que vean su interfaz.

gtkguitune screenshot

Saludos.