lunes, 5 de diciembre de 2011

Todo cuerpo sumergido en un flujo de excrementos gira de forma que leofrece su superficie máxima

Pierre Dac, humorista francés, enunció una de las reglas de oro de ésta vida: "Todo cuerpo sumergido en un flujo de excrementos gira de forma que le ofrece su superficie máxima". La ley de Murphy lo enuncia de otra manera menos satírica pero igual de cínica: " Si algo puede salir mal, saldrá mal ". Existe también el corolario de O’Hara a la ley de Murphy que reza: "Murphy era un optimista".

Usted, Sr. Director, se preguntará a que viene todo esto. Y yo, para no tener que cansar ni a sus neuronas (que Dios las guarde muchos años) ni su paciencia, se lo digo: El dichoso reactor del Tireless lo van a poner en funcionamiento en la misma bahía de Algeciras. Según dice nuestro excelso ministro, es lo más seguro y no hay ningún peligro. Ya lo he advertido más de una vez: Si un político dice que todo está bajo control, empiece usted a temblar.

Está clarísimo que si existen los marcianos, o un meteorito amenaza con caer sobre la tierra, o peligramos de morir bajo una lluvia de mierda de vacas, los contribuyentes no nos vamos a enterar hasta que estemos con la caca hasta el cuello. Por supuesto, con el submarino pasa exactamente lo mismo. Si existen situaciones peligrosas en la reparación y puesta en funcionamiento del Tireless, sólo nos enteraremos si al final explota. De los riesgos intermedios, ni mú. De cara a la galería, todo habrá salido perfectamente y según lo planificado.

Por eso digo que el ministro, los ministros, militares implicados, científicos auditores y demás ejecutiva deberían estar allí el día de la puesta en funcionamiento del dichoso reactor. Eso sí que sería dar ejemplo.( Y ojalá no caiga la breva, principalmente por el resto de los mortales).


Gracias, no me acordaba donde había leído mi maravillosa filosofía de vida.

sábado, 12 de noviembre de 2011

Ubuntu + Apache2 + ssl

ref: http://tecnoloxiaxa.blogspot.com/2008/11/servidor-web-apache-instalar-y.html

ref: http://www.ianmiller.net/article.php?id=13

Ha pasado ya mucho tiempo desde que no escribo en mi blog y quisiera hacerlo con un clásico, Apache2, pero esta vez con ssl que es más interesante. He seguido links de arriba y lo he configurado correctamente a excepción de 2 errores que tuve que solucionar en la marcha.

Instalamos el servidor de apache2


$ apt-get install apache2

Al instalarse apache2, se intenta levantar el servicio pero nos muestra este error:

Configurando apache2-mpm-worker (2.2.20-1ubuntu1.1) ...
Starting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]</pre>

Para solucionarlo editamos el fichero de configuración y añadirmos el ServerName

<pre class="brush:bash; gutter: true; showControls: true;">$ sudo gedit /etc/apache2/httpd.conf
ServerName www.haelsite.es
$ sudo /etc/init.d/apache2 restart</pre>

Modificamos el fichero httpd.conf de la configuración para añadir nuestro servidor

<pre class="brush:bash; gutter: true; showControls: true;">$ sudo gedit /etc/apache2/httpd.conf
ServerName www.haelsite.com</pre>

Una vez hecho esto, ya podemos levantar apache2 otra vez:

<pre class="brush:bash; gutter: true; showControls: true;">$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 ... waiting . [ OK ]</pre>


Pero para que en el navegador reconozca nuestras url debemos añadir esto en el /etc/hosts y añadir mi ip

<pre class="brush:bash; gutter: true; showControls: true;">127.0.0.1 www.haelsite.es
127.0.0.1 haelsite.es
127.0.0.1 localhost</pre>


<pre class="brush:bash; gutter: true; showControls: true;">En /var/www estará alojada nuestra web: index.html</pre>


Para arrancar apache2 en el inicio del pc para siempre:

<pre class="brush:bash; gutter: true; showControls: true;">$ update-rc.d apache2 defaults</pre>

Una vez que hemos hechos esto en el navegador ya podemos escribir:

<pre class="brush:bash; gutter: true; showControls: true;">http://www.haelsite.es/</pre>


Nos debe aparecer un mensaje como este:

<pre class="brush:bash; gutter: true; showControls: true;">It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.</pre>

Si nos muestra este error al editar el httpd.conf debemos ejecurlo NO COMO ROOT:

<pre class="brush:bash; gutter: true; showControls: true;">$ gedit /etc/apache2/httpd.conf

(gedit:8781): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported
$ exit
$ sudo gedit /etc/apache2/httpd.conf
</pre>


Ahora vamos a crear una página https://segura.haelsite.es con un certificado ssl. Si no encontramos la herramienta apache2-ssl-certificate lo haremos a mano:

Si aparece un mensaje avisándonos de que ha sido imposible encontrar el comando, es debido a un fallo en el instalador de apache que podemos solventar, o bien actualizando apache a una versión más actual que resuelva el fallo(este fallo lo da en instalaciones de 32bits y no en las de 64 debido a que está incluido en el apache2-common de amd64) o bien creándolo a mano con las siguientes instrucciones:

<pre class="brush:bash; gutter: true; showControls: true;">$ mkdir /etc/apache2/ssl
$ /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf (continúa) /etc/apache2/ssl/apache.pem</pre>


Hay que ir respondiendo a las sencillas preguntas que nos van apareciendo. (en nuestro caso el servidor se llama segura.haelsite.es.

Tan solo tendremos que responder a algunas preguntas sencillas sobre nuestra ubicación geográfica y el nombre de nuestra organización.

Después de la ejecución de comando apache2-ssl-certificate, se habrá generado el archivo /etc/apache2/ssl/apache.pem que contiene la claves que permitirán al servidor utilizar cifrado asimétrico. El siguiente paso será configurar un servidor virtual para que utilice dicho certificado.

Creamos en /var/www una carpeta que será la que se cargue cuando se entra en https://segura.haelsite.es

Primero añadimos en /etc/hosts la nueva ruta:

<pre class="brush:bash; gutter: true; showControls: true;">127.0.0.1 segura.haelsite.es</pre>


Tenemos que habilitar el puerto 443, editamos el fichero /etc/apache2/ports.conf

<pre class="brush:bash; gutter: true; showControls: true;">// Habilitar puerto 443. Añadir en /etc/apache2/ports.conf
Listen 443</pre>

En mi caso, al añadir esta línea mi fichero queda así pero vemos que ya está el puerto 443 habilitado cuando está presente el módulo SSL.

<pre class="brush:bash; gutter: true; showControls: true;">$ cat /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
NameVirtualHost *:80
Listen 80
#Listen 443 <---- AL FINAL HE COMENTADO ESTA LÍNEA
<IfModule mod_ssl.c>

# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443 <---- SI ESTÁ ACTIVO SSL SE ESCUCHA POR EL 443


</IfModule>
<IfModule mod_gnutls.c>

Listen 443


</IfModule></pre>


Ahora modificamos el fichero /etc/apache2/sites-available/default:

<pre class="brush:bash; gutter: true; showControls: true;">$ cat /etc/apache2/sites-enabled/000-default
# Añadir al principio en /etc/apache2/sites-available/default
NameVirtualHost segura.haelsite.es:443

# Añadir al final en /etc/apache2/sites-available/default
<VirtualHost segura.haelsite.es:443>

ServerName segura.haelsite.es
DocumentRoot /var/www/segura
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined


</VirtualHost>
<Directory "/var/www/segura">


Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
SSLRequireSSL


</Directory>
</pre>




Cargamos el moulo ssl de apache:

<pre class="brush:bash; gutter: true; showControls: true;">$ sudo a2enmod ssl</pre>


Debemos crear la página segura:

<pre class="brush:bash; gutter: true; showControls: true;">$ cd /var/www
$ mkdir segura
$ cp /var/www/index.html /var/www/segura/index.html
</pre>


Para asegurarnos de que funciona podemos reiniciar el servidor:
<pre class="brush:bash; gutter: true; showControls: true;"># sudo /etc/init.d/apache2 restart</pre>


Al acceder a la web https://segura.haelsite.es debemos aceptar el certificado.

Debemos aceptarlo ya que lo hemos generado nosotros y a pesar de no estar creado por una Autoridad Certificadora es de confianza ya que es nuestro.

miércoles, 28 de septiembre de 2011

Cifrado y Descifrado con openssl

Fuente: http://infow.wordpress.com/2009/01/11/openssl-la-navaja-suiza-del-cifrado/

OpenSSL – La navaja suiza del cifrado

11 enero, 2009 at 7:27 pm (seguridad, técnicos)

Hoy vamos a hacer una chuleta de como cifrar nuestros documentos y demás utilizando algo que todos aquellos que trabajamos con linux tenemos muy a mano, OpenSSL.

Casi todos lo usuarios de linux, sobre todo aquellos que lo llevéis en un portátil y uséis la conexión wifi, tendréis instalado OpenSLL, pero por lo menos en mi caso,suelo dejar que el sistema lo utilice automáticamente para las conexiones a redes inalámbricas y yo, no lo utilizaba para nada. Pero como la curiosidad a veces nos juega malas pasadas, el otro día me decidí a investigar si servía para algo más y se podía utilizar de forma manual, y vaya si se puede. Se pueden hacer un montón de cosas con él, eso si, todas ellas relacionadas con el cifrado y descifrado. Así que el siguiente artículo es una especie de recetario y de apuntes de como utilizarlo para no tener que llevarlo todo en la cabeza, que no se la vuestra, pero la mía se despista con facilidad. Por supuesto, todo lo que se va a comentar a continuación se va a hacer desde la consola.

Antes de empezar una recomendación, mirad bien lo que escribís porque ,al menos a mi, no me van los cursores para desplazarme sobre lo escrito. así que si tengo que rectificar algo me toca borrar y reescribir.

Acceder a openssl: Tecleamos en la consola

~# openssl

Nos saldrá un promt con el siguiente formato.

OpenSSL>

Salir de openssl:

OpenSSL> quit

OpenSSL> q

OpenSSL> exit

Ayuda:

OpenSSL> ?

Nos mostrará una lista de los comandos disponibles.

– Cifrado simétrico –

Encriptar

DES:

OpenSSL> enc -des -in entrada.txt -pass pass:contraseña -out salidaDes.txt

AES:

OpenSSL> enc -aes128 -in entrada.txt -pass pass:contraseña -out salidaAes.txt

Desencriptar

DES:

OpenSSL> enc -d -des -in salidaDes.txt -pass pass:contraseña -out salidaDes2.txt

AES:

OpenSSL> enc -d -aes128 -in salidaAes.txt -pass pass:contraseña -out salidaAes2.txt

– Cifrado asimétrico –

Generar llave del algoritmo asimétrico RSA: Vamos a generar una llave privada de 1020 bits

OpenSSL> genrsa -out privada1.key 1024

Cifrar la clave privada con DES para evitar su uso fraudulento:

OpenSSL> genrsa -out privada2.key -passout pass:contraseña -des 1024

Se realiza este cifrado porque la clave privada se genera como un fichero de texto que cualquiera podría leer, para evitar esto la ciframos.

Generar claves públicas derivadas:

OpenSSL> rsa in privada1.key -pubout -out publica1.key

OpenSSL> rsa in privada2.key -pubout -out publica2.key -passin pass:contraseña

Encriptar

OpenSSL> rsautl -pubin -encrypt -in entrada.txt -out salidaRsa.txt -inkey publica1.key

Desencriptar:

OpenSSL> rsautl -decrypt -in salidaRsa.txt -out salidaRsa2.txt -inkey privada1.key

– Funciones hash –

Generar:

OpenSSL> dgst -md5 -out entrada.hsh entrada.txt

– Firma digital –

Generar un par de claves RSA como hemos visto anteriormente:

OpenSSL> genrsa -out privada.key 1024

OpenSSL> rsa in privada.key -pubout -out publica.key

Firmar el archivo digitalmente:

OpenSSL> dgst -c -sign privada.key -out firmado.sig entrada.txt

El archivo “firmado.sig” contendrá la firma digital en formato binario.

Verificar firma:

OpenSSL> dgst -c -verify publica.key -signature firmado.sig entrada.txt

OpenSSl mostrará un “Verified OK” si todo ha sido correcto, o un “Verification Failure” si algo ha fallado.

Conversión de firmas binarias a texto: Como ya he dicho antes las firmas generadas tienen un formato binario, con lo cual para su envió por correo, por ejemplo, es interesantes pasarlas a texto. Así que vamos a generar una versión en base64.

OpenSSL> base64 -in firmado.sig -out firmado.b64

Como puedes observar, el fichero generado es legible y fácilmente agregable a cualquier texto.

Conversión de firmas en texto a binarias: Para verificar las firmas que nos han llegado en modo texto tendremos que pasarlas a modo binario antes.

OpenSSL> base64 -d -in firmado.b64 -out firmado1.sig

– Certificados digitales –

Crear certificado y archivo de configuración de la autoridad certificadora (“CA”):

Generar un par de claves RSA como hemos visto anteriormente:

OpenSSL> genrsa -out CAprivada.key 1024

OpenSSL> rsa in CAprivada.key -pubout -out CApublica.key

Crear el archivo de configuración:

Crear el archivo “CAconfig.conf” con el siguiente contenido:

[ req ]
default_bits = 1024
default_keyfile = CAprivada.key
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca

dirstring_type = nobmp
[ req_distinguished_name ]
countryName = Identificador del País (2 letras)
countryName_default = MX
countryName_min = 2
countryName_max = 2

localityName = Localidad (ej., ciudad)
organizationalUnitName = Nombre de unidad organizacional (ej., oficina)
commonName = Nombre común (ej., TU nombre)
commonName_max = 64

emailAddress = Dirección de correo electrónico
emailAddress_max = 40
[ req_attributes ]
challengePassword = Contraseña para “challenge”
challengePassword_min = 4
challengePassword_max = 20

[ v3_ca ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
basicConstraints = CA:true

Crear el certificado de la autoridad:

OpenSSL> req -new -key CApriv.key -out ca.cer -config CAconfig.cnf -x509 -days 3650

Generar claves para un usuario:

OpenSSL> genrsa -out privadaUser.key 1024

OpenSSL> rsa in privadaUser.key -pubout -out publicaUser.key

Generar un requerimiento del certificado para este usuario:

OpenSSL> req -new -key privadaUser.key –out req.pem -config CAconfig.cnf

Firmar el requerimiento y generar el certificado del usuario:

OpenSSL> x509 -inform PEM -outform PEM -keyform PEM -CAform PEM -CAkeyform PEM –in req.pem -out certUser.cer -days 365 -req -CA ca.cer -CAkey CAprivado.key -sha1 –CAcreateserial -text

Bueno, hasta aquí la chuleta de hoy. También debéis saber que OpenSSL permite la creación de de certificados digitales para sitios web, pero como esto da por si solo para un post completo, lo dejaremos para otro día si a alguien le interesa.

Espero que la chuleta os sirva de ayuda. Si alguien tiene alguna duda o algo que aportar, como siempre os animo a dejarlos en los comentarios. Nos vemos.

Curso basurilla de Red Hat 5.4

Doc 1: rhel5-guide-i731



Doc 2:Configuracion_Servidores_Linux-20110928-SEPTIEMBRE-02




Curso Red Hat Linux 5



Tutor: FRT
Documentacion: docs.redhat.com
Fecha: Sep 2011

Tema 0. Introducción
********************

En el fichero /root/anaconda-ks.cfg se guarda la configuaricón de la instalación.

kickstart: instalación personalizada, guarda la configuración en el fichero anaconda-ks.cfg
dhclient: recarga la configuración del dhcp

Tema 1. Máquinas Virtuales
**************************


------------- CREAR MAQUINA VIRTUAL ------------

vcreate -L 5G -n lv.prueba vol0

[root@station9 ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
home vol0 -wi-ao 512.00M
lv.prueba vol0 -wi-a- 5.00G
lv.vcracker vol0 -wi-a- 2.00G
lv.vserver vol0 -wi-a- 2.00G
root vol0 -wi-ao 8.00G
[root@station9 ~]#

virt-install --accelerate --os-type linux --os-variant rhel5.4 -n prueba -r 256 -f /dev/vol0/lv.prueba -l http://instructor.example.com/pub -x ks=http://instructor.example.com/vserver.php?S=9 -w bridge:xenbr0

Para borrar un volumen:

[root@station9 prueba]# lvremove -f /dev/vol0/lv.prueba
Logical volume "lv.prueba" successfully removed

Si en vez de utilizar el fs para máquina virtual lo quiero para fs:

[root@station9 prueba]# fsck.ext3 /dev/vol0/lv.prueba
e2fsck 1.39 (29-May-2006)
Couldn't find ext2 superblock, trying backup blocks...
fsck.ext3: Bad magic number in super-block while trying to open /dev/vol0/lv.prueba

The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193


[root@station9 prueba]# mkfs.ext3 /dev/vol0/lv.prueba
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
655360 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
done

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

[root@station9 prueba]#
[root@station9 prueba]#
[root@station9 prueba]# mount -t ext3 /dev/vol0/lv.prueba /mnt/prueba

Para comprobar los datos del nuevo fs:

[root@station9 mnt]# dumpe2fs /dev/vol0/lv.prueba | more
dumpe2fs 1.39 (29-May-2006)
Filesystem volume name:
Last mounted on:
Filesystem UUID: dbbb7283-18fa-49d6-b0f0-5ed41b5e59bd
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 655360
Block count: 1310720
Reserved block count: 65536
Free blocks: 1254784
Free inodes: 655349
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 319
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 16384
Inode blocks per group: 512
Filesystem created: Tue Sep 27 15:27:10 2011
Last mount time: Tue Sep 27 15:27:19 2011
Last write time: Tue Sep 27 15:27:19 2011
Mount count: 1
Maximum mount count: 33
Last checked: Tue Sep 27 15:27:10 2011
Check interval: 15552000 (6 months)




--------------FIN ------------------------------
Maquinas Virtuales:

Crear un volumen: lvcreate -L 5G -n lv.vserver vol0
Crear un volumen: lvcreate -L 3G -n lv.vcracker vol0

Borrar un volumn: lvremove /dev/vol0/lv.cracker

Crear una máquina virtual con el fichero de instalación personalizado de redhat, y así empieza a instalar una máquina virtual redhat:

virt-install --accelerate --os-type linux --os-variant rhel5.4 -n vserver -r 256 -f /dev/vol0/lv.vserver -l http://instructor.example.com/pub -x ks=http://instructor.example.com/vserver.php?S=9 -w bridge:xenbr0

Would you like a fully virtualized guest (yes or no)? no
Would you like to enable graphics support? (yes or no) yes

Creamos una segunda máquina virtual:

virt-install --accelerate --os-type linux --os-variant rhel5.4 -n vcracker -r 256 -f /dev/vol0/lv.vcracker -l http://instructor.example.com/pub -x ks=http://instructor.example.com/vserver.php?S=9 -w bridge:xenbr0

Si queremos ver las lista de máquinas virtuales:

[root@station9 ~]# virsh list
Id Name State
----------------------------------
0 Domain-0 running
8 vserver blocked
9 vcracker blocked

Tema 2. Inicialización y Resolución de problemas
************************************************

Sistema Operativo:

[root@station9 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.1 (Tikanga)

Kernel:

[root@station9 ~]# uname -r
2.6.18-92.1.6.el5xen
[root@station9 ~]# uname -a
Linux station9.example.com 2.6.18-92.1.6.el5xen #1 SMP Fri Jun 20 03:05:59 EDT 2008 i686 i686 i386 GNU/Linux

Estandar que cumplen este linux:

[root@station9 ~]# lsb_release
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch

Kernel que tengo instalados:

[root@station9 ~]# rpm -aq kernel\*
kernel-headers-2.6.18-53.el5
kernel-xen-2.6.18-92.1.6.el5
kernel-PAE-2.6.18-53.el5
kernel-PAE-devel-2.6.18-53.el5

[root@station9 ~]# yum list installed kernel\*
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Installed Packages
kernel-PAE.i686 2.6.18-53.el5 installed
kernel-PAE-devel.i686 2.6.18-53.el5 installed
kernel-headers.i386 2.6.18-53.el5 installed
kernel-xen.i686 2.6.18-92.1.6.el5 installed

Nivel de ejecución de la máquina, del 0 al 6: (se configura en el /etc/inittab). Por defecto en el 3 (texto) o en el 5 (grafico).

[root@station9 ~]# who -r
run-level 5 2011-09-26 10:04 last=S
[root@station9 ~]# /sbin/runlevel
N 5

Con runlevel veo el estado actual y el anterior. Si pone 3 4 estoy en el 3 y antes en el 4.

1 -> Entro como root y no pide passwd. (single user)
2 -> Sin conexiones, ni bluetooth, ni red, ....
3 -> Por defecto en modo texto
4 -> Para jugar
5 -> Por defecto en modo gráfico
6 -> Reboot
0 -> halt

[root@station9 ~]# who -r
run-level 5 2011-09-26 10:04 last=S
[root@station9 ~]# /sbin/runlevel
N 5

Para cargar grup de una maqina virtual:

xm create -c vserver -> nos lanzará el grup de la máquina virtual vserver.

Servicios: system-config-services

[root@station9 ~]# chkconfig --list
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
NetworkManagerDispatcher 0:off 1:off 2:off 3:off 4:off 5:off 6:off
acpid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
apmd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
avahi-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
avahi-dnsconfd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
bluetooth 0:off 1:off 2:on 3:on 4:on 5:on 6:off
conman 0:off 1:off 2:off 3:off 4:off 5:off 6:off
cpuspeed 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off
dhcdbd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dnsmasq 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dund 0:off 1:off 2:off 3:off 4:off 5:off 6:off
firstboot 0:off 1:off 2:off 3:on 4:off 5:on 6:off
gpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
haldaemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
hidd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
hplip 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ibmasm 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
irda 0:off 1:off 2:off 3:off 4:off 5:off 6:off
irqbalance 0:off 1:off 2:on 3:on 4:on 5:on 6:off
kudzu 0:off 1:off 2:off 3:on 4:on 5:on 6:off
libvirtd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
mcstrans 0:off 1:off 2:on 3:on 4:on 5:on 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
mdmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
messagebus 0:off 1:off 2:off 3:on 4:on 5:on 6:off
microcode_ctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off
multipathd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
netplugd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off
nscd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
pand 0:off 1:off 2:off 3:off 4:off 5:off 6:off
pcscd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
portmap 0:off 1:off 2:off 3:on 4:on 5:on 6:off
psacct 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
readahead_early 0:off 1:off 2:on 3:on 4:on 5:on 6:off
readahead_later 0:off 1:off 2:off 3:off 4:off 5:on 6:off
restorecond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rhnsd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcidmapd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
smartd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off
winbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off
wpa_supplicant 0:off 1:off 2:off 3:off 4:off 5:off 6:off
xend 0:off 1:off 2:on 3:on 4:on 5:on 6:off
xendomains 0:off 1:off 2:off 3:on 4:on 5:on 6:off
xfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ypbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off
yum-updatesd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

Secuencia de Arranque:
1 - Bios
2 - Bootloader (mbr) 512 bytes
3 - kernel
4 - init (proceso 1)
- /etc/rc.d/rc.sysinit
- /etc/rc.d/rc[0-6].d/
- /etc/rc.d/rc.local
5 - Consolas virtuales
6 - Gestor X

1 - Bios
No se explica

2 - Bootloader (mbr) 512 bytes. En wikipedia con gráficos.
446 bytes - Gestor de arranque GRUB. (solo la primera parte del grup 1st-stage). Como es tan pequeño solo 446 hay 3 links a stage1, stag2 y a initrd (mini driver para cargar el kernel)
Link 1: /boot/grup/stage1
Link 2: /boot/grup/stage2

[root@station9 ~]# ls -l
-rw-r--r-- 1 root root 512 Sep 26 09:45 /boot/grub/stage1 (/sbin/grub-install para reparar)
-rw-r--r-- 1 root root 104924 Sep 26 09:45 /boot/grub/stage2 (/boot/grub/grub.conf para configurarlo)
-rw------- 1 root root 1040 Sep 26 09:46 grub.conf

/boot no puede estar encima del raid ni de lvm, es una partición física.

Link 3: link a ramdisk para poder leer vmlinuz. Cada vez que se cambia el hardware hay que recrear el initrd y se recrea siempre al compilar el kernel.

[root@server109 ~]# ls -larth /boot/initrd-2.6.18-53.el5xen.img
-rw------- 1 root root 2.8M Sep 26 11:16 /boot/initrd-2.6.18-53.el5xen.img

64 bytes - 4 particiones primarias como máximo. Para hacer más creo una extendida
2 bytes - firma predeterminada

Configuración en grub:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/xvda
default=0 <---- Arranque por defecto
timeout=5 <---- Timeout máximo para interactuar
splashimage=(hd0,0)/grub/splash.xpm.gz <--- Imagen predeterminado
#hiddenmenu <----- Ocultar el menu
password pepe <--- poner la password para acceder a grub

# Title 0 (arranque 0)
title Red Hat Enterprise Linux Server (2.6.18-53.el5xen)
root (hd0,0) <---- Disco 1, particion 1
kernel /vmlinuz-2.6.18-53.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet <--- Solo lectura y redhat graphic boot (rhgb) y silent si no hay error. El kernel carga en memoria los drivers para gestionar discos, pero no puedo cargar el kernel si antes no he cargado los drivers, para evitar "este círculo vicioso" antes se carga unos minidrivers en el initrd que permiten leer el kernel.
initrd /initrd-2.6.18-53.el5xen.img

-----------------------

si quiero cifrar la password de grub con grub-md5-crypt la cifro y ya lapuedo añadir al .conf

[root@station9 ~]# grub-md5-crypt
Password:
Retype password:
$1$ygLiI0$thRmaJNfxmDUwuW60vDEj/
[root@station9 ~]#
[root@station9 ~]#

[root@station9 ~]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/vol0/root
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password --md5 $1$ygLiI0$thRmaJNfxmDUwuW60vDEj/
title Red Hat Enterprise Linux Server (2.6.18-92.1.6.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.1.6.el5
module /vmlinuz-2.6.18-92.1.6.el5xen ro root=/dev/vol0/root rhgb quiet
module /initrd-2.6.18-92.1.6.el5xen.img
title Red Hat Enterprise Linux Server (2.6.18-53.el5PAE)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5PAE ro root=/dev/vol0/root rhgb quiet
initrd /initrd-2.6.18-53.el5PAE.img
title Install Red Hat Enterprise Linux 5
root (hd0,0)
kernel /vmlinuz-5 ks=http://192.168.0.254/workstation.cfg ksdevice=eth0 noipv6
initrd /initrd-5
password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.

Si es una máquina virtual que no tiene grub necesito un comando de xen xm create -c domain

----------------
Para reinstalar el grub por si se ha corrompido o windows nos ha fastidiado el mbr.

grub
root (hd0,0)
setup (hd0)
quit

3 - kernel

- Detecta dispositivos
- Inicializa drivers
- Monta fs root como ro
- Carga proceso inicial init con pid 1
- Log en /var/log/dmesg

4 - init (proceso 1) en el /etc/inittab. Para ver el arbol de procesos pstree

- Inicializa runlevel
- Scripts de inicialización
- Runlevel scripts directorios
- Trap key sequences
- Define UPS
- Spawn gettys on virtual consoles 6 por defecto
- Initialize X in runlevel 5 (por defecto)

------------------
[root@station9 ~]# man 5 inittab <------------ manual del fichero de configuración la página 5.

[root@station9 ~]# cat /etc/inittab
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg,
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault: <---- inicio por defeco en runlevel 5

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5 <------------ carga el runlevel 5 y "wait" hasta que no termine no continua y carga
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now <-------- capturar ctrl+alt+delete para reiniciar.

# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"


# Run gettys in standard runlevels
# Terminales que se abren por defecto
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5
# Si estoy en el runlevel 5 miro en el fichero /etc/X11/prefdm mi gestor de X preferido y lo lanzo.
x:5:respawn:/etc/X11/prefdm -nodaemon

------------------
[root@station9 ~]# pstree
init─┬─/usr/share/virt
├─acpid
├─atd
├─auditd─┬─python
│ └─{auditd}
├─automount───4*[{automount}]
├─avahi-daemon───avahi-daemon
├─blktapctrl───{blktapctrl}
├─2*[bonobo-activati───{bonobo-activati}]
├─bt-applet
├─clock-applet
├─crond
...

------------------------
- /etc/rc.d/rc.sysinit ../init.d/yum-updatesd
lrwxrwxrwx 1 root root 19 Sep 26 09:44 /etc/rc5.d/K35vncserver -> ../init.d/vncserver
lrwxrwxrwx 1 root root 16 Sep 26 09:44 /etc/rc5.d/S99smartd -> ../init.d/smartd
lrwxrwxrwx 1 root root 16 Sep 26 09:45 /etc/rc5.d/K73ypbind -> ../init.d/ypbind
lrwxrwxrwx 1 root root 17 Sep 26 09:45 /etc/rc5.d/K35winbind -> ../init.d/winbind
lrwxrwxrwx 1 root root 14 Sep 26 09:45 /etc/rc5.d/S58ntpd -> ../init.d/ntpd
lrwxrwxrwx 1 root rTema 0. Introducción
********************oot 17 Sep 26 09:45 /etc/rc5.d/K01dnsmasq -> ../init.d/dnsmasq
lrwxrwxrwx 1 root root 20 Sep 26 09:46 /etc/rc5.d/S99xendomains -> ../init.d/xendomains
lrwxrwxrwx 1 root root 14 Sep 26 09:46 /etc/rc5.d/S98xend -> ../init.d/xend
lrwxrwxrwx 1 root root 18 Sep 26 09:46 /etc/rc5.d/S97libvirtd -> ../init.d/libvirtd
lrwxrwxrwx 1 root root 19 Sep 26 12:08 /etc/rc5.d/K90bluetooth -> ../init.d/bluetooth
lrwxrwxrwx 1 root root 14 Sep 26 12:09 /etc/rc5.d/K89hidd -> ../init.d/hidd

Si empieza por k los mato y si empiezan por S los levanta. El número indica el orden en que se levantan.

Un fichero de ejemplo es el anacron:

#!/bin/sh
# Startup script for anacron
#
# chkconfig: 2345 95 05 se encarga de servicios que no tienen un uso constante, cuando se detectan esos servicios lo gestiona xinetd, tienen que ser servicios que estén preparados para xinetd. La conf en /etc/xinetd.conf.

Montaje de unidades: mount ...

Las unidades que se montan en el arranque están en:

[root@station9 ~]# cat /etc/fstab
/dev/vol0/root / ext3 defaults 1 1
/dev/vol0/home /home ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0

Cuando se toque el /etc/fstab hacer mount -a para montar todo por precaución y en el reinicio no nos muestre error.

Si estoy modo "emergencia" y pienso que está el fs / en rw pero no me permite escribir debo remontar el / a rw ya que
"modo emergencia" está entre montar / en ro y montar / en rw:

a) ... proceso de arranque ...
b) montar / en ro
c) error (pero al mismo tiempo informa de que está en rw)
d) montar / en rw

Estoy en el paso c, debo hacer:

mount -o remount,rw /

Ya puedo editar en modo "emergencia" el /etc/fstab si al reiniciar no nos deja escribir.


Modo rescate:

"linux rescue" desde un CD por ejemplo software Linux Rescue CD.

Si estoy en modo rescate a todos los comando vgdisplay debo anteponerles lvm vgdisplay:

vgdisplay = lvm vgdisplay

En modo rescate el directorio más importante es tmp (están los logs, dispositivos detectados, ... ) se perderán cuando haya rebotado. Se guarda todo en RAM y si hay poca RAM y detecta SWAP utiliza esta como almacenamiento.

Todo lo montado del disco duro rescatado estará en /mnt/sysimage/*, es decir: el fstab del rescue estará en:

/etc/fstab y el fstab del disco duro fisico estará en:
/mnt/sysimage/etc/fstab cualquier cambio debe hacer en /mnt/sysimage para que al rebotar en modo normal tengan efecto los cambios.

Con el comando:

chroot /mnt/sysimage

cambio la raiz del sistema de / a /mnt/sysimage, ahora cualquier cambio utiliza todo lo del HDD y no lo del entorno rescate. Para salir exit y volvemos al entorno de rescate.

En linux rescue man no funciona y debemos declarar:

chroot /mnt/sysimage
export MANPATH=/usr/share/man

Tema 3. Kernel y Configuración de red
*************************************

Puedes y debes tener más de un kernel, con yum siempre tienes 3 kernel instalados.

Esta en /boot/vmlinuz-version, es el único paquete que puede tener más de una versión instalada. Con el initrd pasa lo mismo hay un initrd para cada kernel. Los "modules" son los drivers y extensiones y para cada kernel debe tener compilado un module.

Existen un tipo de driver "dkms" que se recompila sobre la marcha al cargarse para tener el driver a la última recompilado con el último kernel. Asi no es necesario tener todos los drivers de cada kernel.

En rhel 5 hay 3 kernel posibles con 32 bits:
- kernel: donde la arquitectura intel solo permite direccionar 4 gb de ram (max 32 procesadores)
- kernel-PAE: utiliza un truco, si tengo más de 2 cores cada core gestiona 4 gb de ram (max 32 procesadores)
- kernel-xen: es un kernel-pae con soporte para virtualizar. (max 32 procesadores)

En rhel 5 de 64 bits:
- kernel: soporta 512 gb de ram (max 64 procesadores)
- kernel-xen: kernel para virtualización. (max 126 procesadores)

Para monitorizar procesos y recursos:
- kernel: uname, uptime, tload
- procesos: ps, top, gnome-system-monitor
- memoria: free, vmstat 2 20 (cada 2 segundos y máximo 20 veces), swapon -s, pmap
- disco: df, fdisk -l, iostat 2 20 (idem), lsof (ficheros abriertos de ...)
- soporte: sosreport

Monitorizacion del kernel con /proc y /sys

/proc y /sys son 2 fs que no existen en el HDD, ya que los crea el kernel en tiempo real, en /proc info del hard y soft que está funcionando y en /sys es info de todos los dispositivos de almacenamientos de bloques. Cada proceso tiene un directorio en /proc.

En /proc es de solo lectura excepto /proc/sys modifico el kernel en tiempo real, pero no es persistente y al reiniciar se pierden los cambios. Esto ficheros se pueden machacar pero no se pueden modificar (vi, nano, ,....) debo utilizar "echo cambio > fichero_a_modificar".

Para hacer los cambios persistentes lo añado al fichero /etc/sysctl.conf y para aplicarlos sysctl -p

Tema 4. Administración de usuarios
**********************************

Comandos: useradd passwd usermod chage groupadd gpasswd groupmod

En /etc/login.defs ---> para modificar la expiración por defecto de cada usuario.

Tener en cuenta la UMASK de directorios y ficheros, 002 para usuario no de sistema, los ficheros tendrán 664 y los directorios 775

Se pueden crear grupos privados.

Permisos especiales SGID, son directorios colaborativos, si hago que un directorios sea colaborativos y tengo permiso para escribir en el, el fichero generado se creará con los permisos del directorio o grupo colaborativo.

Sticky bit: si tengo permiso en un directorio w puedo borrar cualquier fichero aunque sea de root, pero añadiendo este bit, solo el propietario del fichero puede modificarlo/borrarlo aunque sea el directorio 777

ACLs
----

Para ver si una partición está montada como acl:

[root@station9 prueba]# fdisk -l

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2308 18434587+ 8e Linux LVM
/dev/sda3 2309 2373 522112+ 82 Linux swap / Solaris
[root@station9 prueba]# tune2fs -l /dev/sda1 | grep options
Default mount options: user_xattr acl
[root@station9 prueba]#

Si no está montada como acl no sirven de nada las acls, al mismo tiempo si el fs al que nos llevamos un fichero con acl no soporta acl como vfat ... tampoco sirven de nada las acls.

Para montar un fs como acl o desmontar:
tune2fs -o acl /dev/sda1 (añade)
tune2fs -o -acl /dev/sda1 (quita)

Comandos:

getfacl fichero ---> obtiene las acl de un fichero
setfacl -m u:usuario:permisos fichero ---> modifica las acl de ese fichero.

Tema 5. SELinux
**********************************

Con ls -Z y ps -Z veo el contexto de ficheros y procesos.

[root@station9 prueba]# ls -Z
-rwxrwxrwx+ root student root:object_r:user_home_t a
[root@station9 prueba]#

[root@station9 prueba]# ps -Z
LABEL PID TTY TIME CMD
root:system_r:unconfined_t:SystemLow-SystemHigh 4848 pts/0 00:00:00 bash
root:system_r:unconfined_t:SystemLow-SystemHigh 10004 pts/0 00:00:00 ps
[root@station9 prueba]#

Para gestionar contextos: semanage fcontext -l, por ejemplo para ver el contesto del fichero /etc/hosts

[root@station9 prueba]# semanage fcontext -l | grep host
/usr/share/ghostscript/fonts(/.*)? all files system_u:object_r:fonts_t:s0
/etc/vhosts regular file system_u:object_r:httpd_config_t:s0
/bin/hostname regular file system_u:object_r:hostname_exec_t:s0
/var/tmp/host_0 regular file system_u:object_r:krb5_host_rcache_t:s0
/etc/ssh/ssh_host_key regular file system_u:object_r:sshd_key_t:s0
/etc/ssh/ssh_host_dsa_key regular file system_u:object_r:sshd_key_t:s0
/etc/ssh/ssh_host_rsa_key regular file system_u:object_r:sshd_key_t:s0
/var/lib/amanda/\.amandahosts regular file system_u:object_r:amanda_config_t:s0
[root@station9 prueba]#

Para forzar la restauración original: restorecon -FRvv

Tcp wrap ---> con ldd vemos si un comando está utilizando la librería tcpwrap y por tanto compatible.

[root@station9 mnt]# ldd /usr/sbin/sshd | grep wrap
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x00d3c000)

Dentro de /etc/ hay host.allow y host.deny

martes, 27 de septiembre de 2011

Redimensionar el tamaño de una partición con VirtualBox en Ubuntu


Fuente: http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=redimension-tamano-particion-virtualbox

Redimensionar el tamaño de una partición de VirtualBox



Indice:



Introducción

Las unidades de disco duro virtuales de VirtualBox, una vez creadas, ya no pueden ser redimensionadas desde la propia herramienta. Puede ocurrir, como es el caso de este tutorial, que tengamos información en una máquina virtual pero el tamaño de disco definido sea insuficiente y necesitemos aumentarlo. El proceso consiste básicamente en crear un disco duro nuevo del tamaño deseado y migrar la información del uno al otro.

El entorno utilizado para este tutorial es el siguiente:



Con estas versiones se asegura el correcto comportamiento del tutorial.

Situación de partida



En el caso mostrado en este tutorial, tenemos una máquina virtual con una partición de disco de máximo 8 GB, de los cuales está utilizado aproximadamente la mitad.

Disco duro inicial de 8 GB en VirtualBox

Disco duro inicial de 8 GB en VirtualBox

En esta máquina queremos instalar programas que ocuparán más del espacio restante libre, a si que necesitamos superar la limitación de los 8 GB. Aumentémoslo por ejemplo a 40 GB.

Paso 1. Crear la nueva partición

En el Manejador de Medios Virtuales de VirtualBox creamos un nuevo Disco Duro pulsando sobre Nuevo. Creamos una unidad de almacenamiento de expansión dinámica:

Nueva unidad de almacenamiento de Expansión Dinámica

Nueva unidad de almacenamiento de Expansión Dinámica

En este caso crearemos una imagen de tamaño de 40 GB:

Creamos una imagen de disco del nuevo tamaño deseado

Creamos una imagen de disco con el nuevo tamaño deseado

Finalizamos el asistente y tendremos ahora las dos imágenes de disco: la original de 8 GB y la nueva de 40 GB:

Imagen de disco original y la recién creada

Imagen de disco original y la recién creada

Paso 2. Montar el programa de partición GParted



El ISO del GParted Live CD que me hemos descargado anteriormente lo montamos en el Manejador de Medios Virtuales de VirtualBox, en la pestaña Imagen de CD/DVD:

Montar la imagen del Live CD de GParted

Montar la imagen del Live CD de GParted

Paso 3. Preparar la máquina virtual a redimensionar



La máquina virtual que queremos redimensionar en nuestro caso es:

Máquina Virtual a redimensionar

Máquina Virtual a redimensionar

Accedemos a su Configuración (icono superior), sección System, y configuramos el Boot Order como queda en la imagen: arranque antes por CD/DVD-ROM que por Disco Duro:

Orden de dispositivos de arranque de nuestra máquina virtual

Orden de dispositivos de arranque de nuestra máquina virtual

Asimismo, en la sección de Discos Duros, ambas particiones montadas, siendo la original Primario Maestro y la nueva de mayor tamaño, Primario Esclavo:

Imagenes de disco original y nueva montadas como Maestro y Esclavo

Imagenes de disco original y nueva montadas como Maestro y Esclavo

Por último en la sección de CD/DVD-ROM establecemos la ISO de GParted Live CD como unidad de CD montada:

Montamos la ISO de GParted como unidad deCDROM de nuestra máquina virtual

Montamos la ISO de GParted como unidad de CDROM de nuestra máquina virtual

Ya podemos Aceptar los cambios.

Paso 4. Aplicar los cambios en las particiones



Iniciamos nuestra máquina virtual y si hemos seguido correctamente los pasos anteriores, se arrancará la distribución de linux con GParted:

Distribución linux con GParted

Distribución linux con GParted

Pulsamos Enter para aceptar la opción por defecto (Default Settings). Lo mismo para el diálogo de keymap, para aceptar 'Don't touch keymap'. Cuando pregunte por el lenguaje, podemos introducir el 25 (Spanish), y en el modo de vídeo introducimos el 0 (start X...).

Finalmente arrancara GParted. Pulsamos sobre la partición /dev/hda1, con partición de tipo nfts, la original de 8 GB. Copiamos su contenido mediante el menú Partición | Copy:

Seleccionamos y copiamos la partición original de 8 GB

Seleccionamos y copiamos la partición original de 8 GB

A continuación accedemos a la nueva partición de 40 GB, con el selector superior derecho:

Seleccionamos la nueva partición

Seleccionamos la nueva partición de 40 GB

Pulsamos sobre la partición (tiene la etiqueta ''sin asignar') y creamos una tabla de particiones, menú Dispositivo:

Crear una nueva tabla de particiones sobre la partición

Crear una nueva tabla de particiones

Aceptamos la advertencia que sigue en el proceso (la tabla de particiones se creará por defecto de tipo msdos):

Aceptamos la advertencia pulsando Apply

Aceptamos la advertencia pulsando Apply

A continuación, sobre la partición nueva, pegamos el contenido de la partición antigua, con el menú Partición | Paste:

Pegar contenido de la partición original en la nueva

Pegar contenido de la partición original en la nueva

Aparecerá entonces un diálogo para establecer el tamaño de la partición donde vamos a pegar el contenido. Pulsando el cursor sobre el lado derecho del rectángulo verde, que representa el tamaño de la partición final, arrastramos el mismo hasta la parte derecha del todo para utilizar todo el espacio. Finalmente pulsamos en Paste:

Establecer el tamaño de la partición a alojar la información copiada

Establecer el tamaño de la partición que aloja la información copiada

Pulsamos sobre Apply para que la orden de copia se efectúe:

Pulsamos sobre Apply para realizar ela copia de información

Pulsamos sobre Apply para realizar la copia de información

Al terminar el proceso, pulsamos en Close:

Proceso terminado correctamente

Proceso finalizado correctamente

Por último, vamos a asignar la propiedad de arranque a la partición. Pulsamos sobre la partición y accedemos al menú Partición | Gestionar flags:

Gestionar propiedades de la nueva partición

Gestionamos propiedades de la nueva partición

Seleccionamos boot y aceptamos:

Asignamos el flag Boot

Asignamos el flag boot (arranque)

Ya hemos terminado. Nuestra partición aparecerá de la siguiente forma:

Aspecto final de la nueva partición

Aspecto final de la nueva partición

Podemos cerrar ya GParted, hemos terminado.

Finalizamos la sesión y apagamos GParted

Finalizamos la sesión y apagamos GParted

Paso 5. Configurar la máquina virtual con la nueva partición



De nuevo configuramos las propiedades de nuestra máquina virtual, como hicimos en el paso 3. En cuanto al CDROM, ya no nos interesa montar GParted, restauramos la unidad CD/DVD anfitrión::

Restaurar la unidad CD/DVD anfitrión, ya no necesitamos la ISO de GParted

Restaurar la unidad CD/DVD anfitrión, ya no necesitamos la ISO de GParted

Respecto a los discos duros, ya podemos utilizar únicamente nuestra nueva partición, estableciéndola como Primario Maestro. La particion antigua ya no nos es necesaria, podemos borrarla (¡una vez que hayamos comprobado que la nueva funciona!):

Imagen de disco con la nueva partición dimensionada

Imagen de disco con la nueva partición dimensionada, como Primario Maestro

Paso 6: c'est fini!



Ya podemos utilizar la nueva partición. Al iniciar nuestro Windows XP, que es el sistema oeprativo invitado, se realizará automáticamete un chequeo de disco. Es recomendable hacerlo también si utilizamos otros sistemas operativos (e.g. linux, msdos), aunque sea lanzando el comando correspondiente de forma manual.

Comprobación del sistema de archivos de la nueva partición

Comprobación (automática en caso de Windows) del sistema de archivos del nuevo disco

Una vez iniciado Windows, comprobamos la partición de nuestra unidad de disco duro. El proceso de redimensión ha tenido éxito:

Disco duro con el nuevo tamaño de la partición

Disco duro con el nuevo tamaño de la partición

Conclusión



Existen múltiples maneras de hacer lo explicado en este tutorial, sólo hay que dar una vuelta por internet. Documento este método porque es el que utilizo y, aunque laborioso, es sencillo. Confío en que VirtualBox desarrolle e incluya en la propia distribución una utilidad de particionado de manera que todo este proceso sea aún más sencillo y transparente para el usuario.

martes, 20 de septiembre de 2011

Ver DVDs originales en Ubuntu natty

Para poder ver los dvds originales solo debemos ejecutar esto:

sudo /usr/share/doc/libdvdread4/install-css.sh

Con esto y una vez instalado el VLC pinchamos en abrir medio o disco y listo.

Salu2.

martes, 30 de agosto de 2011

RDIF

Me gustaría abrir un nuevo foro de debate sobre esta tecnología emergente en donde podamos exponer todo nuestro conocimientos.

También sería para mi un gran honor que a partir de aquí se surcaran nuevas formas de explotar esta tecnología y aquí os pongo un ejemplo de ello.






WEBDESCRIPCION
http://www.rfidiot.org/Como construir un lector RDIF
http://trifinite.org/Grupo de seguridad muy interesante, tienen artículos sobre bluetooth hacking y RDIF y ....
http://www.smartcardworld.com/Descripción de diversas tarjetas RDIF


Este és un ejemplo de una tarjeta MIFARE de 1k, su distribución aunque en la página de smartcardworld.com hay más detalles.

img1.jpg

img11.jpg

img2.jpg

img3.jpg

img4.jpg

img5.jpg

A parte de esta pequeña información voy a entrar en detalle un poco más de que es exactamente RDIF (según wikipedia).

Una etiqueta RFID EPC usada por Wal-MartRFID (siglas de Radio Frequency IDentification, en español Identificación por radiofrecuencia) es un sistema de almacenamiento y recuperación de datos remoto que usa dispositivos denominados etiquetas, transpondedores o tags RFID. El propósito fundamental de la tecnología RFID es transmitir la identidad de un objeto (similar a un número de serie único) mediante ondas de radio. Las tecnologías RFID se agrupan dentro de las denominadas Auto ID (Automatic Identification, o Identificación Automática).

Una etiqueta RFID es un dispositivo pequeño, similar a una pegatina, que puede ser adherida o incorporada a un producto, animal o persona. Contienen antenas para permitirles recibir y responder a peticiones por radiofrecuencia desde un emisor-receptor RFID. Las pasivas no necesitan alimentación eléctrica interna, mientras que las activas sí lo requieren. Una de las ventajas del uso de radiofrecuencia (en lugar, por ejemplo, de infrarrojos) es que no se requiere visión directa entre emisor y receptor.


Antecedentes

En la actualidad, la tecnología más extendida para la identificación de objetos es la de los códigos de barras. Sin embargo, éstos presentan algunas desventajas, como son la escasa cantidad de datos que pueden almacenar y la imposibilidad de ser modificados (reprogramados). La mejora obvia que se ideó, y que constituye el origen de la tecnología RFID, consistía en usar chips de silicio que pudieran transferir los datos que almacenaban al lector sin contacto físico (de forma equivalente a los lectores de infrarrojos utilizados para leer los códigos de barras)..


Historia

Se ha sugerido que el primer dispositivo conocido similar a RFID pudo haber sido una herramienta de espionaje inventada por Léon Theremin para el gobierno soviético en 1945. El dispositivo de Theremin era un dispositivo de escucha secreto pasivo, no una etiqueta de identificación, por lo que esta aplicación es dudosa. Según algunas fuentes[1], la tecnología usada en RFID habría existido desde comienzos de los años 1920, desarrollada por el MIT y usada extensivamente por los británicos en la Segunda Guerra Mundial (fuente que establece que los sistemas RFID han existido desde finales de los años 1960 y que sólo recientemente se había popularizado gracias a las reducciones de costes).

Una tecnología similar, el transpondedor de IFF, fue inventada por los británicos en 1939, y fue utilizada de forma rutinaria por los aliados en la Segunda Guerra Mundial para identificar los aeroplanos como amigos o enemigos. Se trata probablemente de la tecnología citada por la fuente anterior.

Otro trabajo temprano que trata el RFID es el artículo de 1948 de Harry Stockman, titulado "Comunicación por medio de la energía reflejada" (Actas del IRE, pp. 1196-1204, octubre de 1948). Stockman predijo que "... el trabajo considerable de investigación y de desarrollo tiene que ser realizado antes de que los problemas básicos restantes en la comunicación de la energía reflejada se solucionen, y antes de que el campo de aplicaciones útiles se explore." Hicieron falta treinta años de avances en multitud de campos diversos antes de que RFID se convirtiera en una realidad.


Arquitectura

El modo de funcionamiento de los sistemas RFID es simple. La etiqueta RFID, que contiene los datos de identificación del objeto al que se encuentra adherido, genera una señal de radiofrecuencia con dichos datos. Esta señal puede ser captada por un lector RFID, el cual se encarga de leer la información y pasársela, en formato digital, a la aplicación específica que utiliza RFID.

Por tanto, un sistema RFID consta de los siguientes tres componentes:

Etiqueta RFID o transpondedor: compuesta por una antena, un transductor radio y un material encapsulado o chip. El propósito de la antena es permitirle al chip, el cual contiene la información, transmitir la información de identificación de la etiqueta. Existen varios tipos de etiquetas. El chip posee una memoria interna con una capacidad que depende del modelo y varía de una decena a millares de bytes. Existen varios tipos de memoria:
Solo lectura: el código de identificación que contiene es único y es personalizado durante la fabricación de la etiqueta.
De lectura y escritura: la información de identificación puede ser modificada por el lector.
Anticolisión. Se trata de etiquetas especiales que permiten que un lector identifique varias al mismo tiempo (habitualmente las etiquetas deben entrar una a una en la zona de cobertura del lector).
Lector de RFID o transceptor: compuesto por una antena, un transceptor y un decodificador. El lector envía periódicamente señales para ver si hay alguna etiqueta en sus inmediaciones. Cuando capta una señal de una etiqueta (la cual contiene la información de identificación de ésta), extrae la información y se la pasa al subsistema de procesamiento de datos.
Subsistema de procesamiento de datos: proporciona los medios de proceso y almacenamiento de datos.

Tipos de etiquetas RFID

Las etiquetas RFID pueden ser activas, semi-pasivas (o semi-activas) o pasivas.

Las etiquetas RFID pasivas no tienen fuente de alimentación propia. La mínima corriente eléctrica inducida en la antena por la señal de escaneo de radiofrecuencia proporciona suficiente energía al circuito integrado CMOS de la etiqueta para poder transmitir una respuesta. Debido a las preocupaciones por la energía y el coste, la respuesta de una etiqueta pasiva RFID es necesariamente breve, normalmente apenas un número de identificación (GUID). La falta de una fuente de alimentación propia hace que el dispositivo pueda ser bastante pequeño: existen productos disponibles de forma comercial que pueden ser insertados bajo la piel. Las etiquetas pasivas, en la práctica tienen distancias de lectura que varían entre unos 10 milímetros hasta cerca de 6 metros dependiendo del tamaño de la antena de la etiqueta y de la potencia y frecuencia en la que opera el lector. Estando en 2007, el dispositivo disponible comercialmente más pequeño de este tipo medía 0.05 milímetros × 0.05 milímetros, y más fino que una hoja de papel; estos dispositivos son prácticamente invisibles.

Las etiquetas RFID semi-pasivas son muy similares a las pasivas, salvo que incorporan además una pequeña batería. Esta batería permite al circuito integrado de la etiqueta estar constantemente alimentado. Además, elimina la necesidad de diseñar una antena para recoger potencia de una señal entrante. Por ello, las antenas pueden ser optimizadas para la señal de backscattering. Las etiquetas RFID semi-pasivas responden más rápidamente, por lo que son más fuertes en el ratio de lectura comparadas con las etiquetas pasivas.

Las etiquetas RFID activas, por otra parte, deben tener una fuente de energía, y pueden tener rangos mayores y memorias más grandes que las etiquetas pasivas, así como la capacidad de poder almacenar información adicional enviada por el transmisor-receptor. Actualmente, las etiquetas activas más pequeñas tienen un tamaño aproximado de una moneda. Muchas etiquetas activas tienen rangos prácticos de diez metros, y una duración de batería de hasta varios años.

Como las etiquetas pasivas son mucho más baratas de fabricar y no necesitan batería, la gran mayoría de las etiquetas RFID existentes son del tipo pasivo. En fecha de 2004, las etiquetas tienen un precio desde 0,40$, en grandes pedidos. El marcado de RFID universal de productos individuales será comercialmente viable con volúmenes muy grandes de 10.000 millones de unidades al año, llevando el coste de producción a menos de 0,05$ según un fabricante. La demanda actual de chips de circuitos integrados con RFID no está cerca de soportar ese coste. Los analistas de las compañías independientes de investigación como Gartner and Forrester Research convienen en que un nivel de precio de menos de 0,10$ (con un volumen de producción de 1.000 millones de unidades) sólo se puede lograr en unos 6 u 8 años, lo que limita los planes a corto plazo para una adopción extensa de las etiquetas RFID pasivas. Otros analistas creen que esos precios serían alcanzables dentro de 10-15 años.

A pesar de las ventajas en cuanto al coste de las etiquetas pasivas con respecto a las activas son significativas, otros factores incluyendo exactitud, funcionamiento en ciertos ambientes como cerca del agua o metal, y confiabilidad hacen que el uso de etiquetas activas sea muy común hoy en día.


Clasificación

Los sistemas RFID se clasifican dependiendo del rango de frecuencias que usan. Existen cuatro tipos de sistemas: de frecuencia baja (entre 125 ó 134,2 kilohercios); de alta frecuencia (13,56 megahercios); UHF o de frecuencia ultraelevada (868 a 956 megahercios); y de microondas (2,45 gigahercios). Los sistemas UHF no pueden ser utilizados en todo el mundo porque no existen regulaciones globales para su uso.


Estandarización

Los estándares de RFID abordan cuatro áreas fundamentales:

Protocolo en el interfaz aéreo: especifica el modo en el que etiquetas RFID y lectores se comunican mediante radiofrecuencia.
Contenido de los datos: especifica el formato y semántica de los datos que se comunican entre etiquetas y lectores.
Certificación: pruebas que los productos deben cumplir para garantizar que cumplen los estándares y pueden interoperar con otros dispositivos de distintos fabricantes.
Aplicaciones: usos de los sistemas RFID.
Como en otras áreas tecnológicas, la estandarización en el campo de RFID se caracteriza por la existencia de varios grupos de especificaciones competidoras. Por una parte está ISO, y por otra Auto-ID Centre (conocida desde octubre de 2003 como EPCglobal[2], de EPC, Electronic Product Code). Ambas comparten el objetivo de conseguir etiquetas de bajo coste que operen en UHF.

Los estándares EPC para etiquetas son de dos clases:

Clase 1: etiqueta simple, pasiva, de sólo lectura con una memoria no volátil programable una sola vez.
Clase 2: etiqueta de sólo lectura que se programa en el momento de fabricación del chip (no reprogramable posteriormente).
Las clases no son ínteroperables y además son incompatibles con los estándares de ISO. Aunque EPCglobal está desarrollando una nueva generación de estándares EPC está (denominada Gen2), con el objetivo de conseguir interoperabilidad con los estándares de ISO, aún se está en discusión sobre el AFI (Application Family Identifier) de 8 bits.

Por su parte, ISO ha desarrollado estándares de RFID para la identificación automática y la gestión de objetos. Existen varios estándares relacionados, como ISO 10536, ISO 14443 y ISO 15693, pero la serie de estándares estrictamente relacionada con las RFID y las frecuencias empleadas en dichos sistemas es la serie 18000.


Regulación de frecuencias

No hay ninguna corporación pública global que gobierne las frecuencias usadas para RFID. En principio, cada país puede fijar sus propias reglas.

Las principales corporaciones que gobiernan la asignación de las frecuencias para RFID son:

EE.UU.: FCC (Federal Communications Commission)
Canadá: DOC (Departamento de la Comunicación)
Europa: ERO, CEPT, ETSI y administraciones nacionales. Obsérvese que las administraciones nacionales tienen que ratificar el uso de una frecuencia específica antes de que pueda ser utilizada en ese país
Japón: MPHPT (Ministry of Public Management, Home Affairs, Post and Telecommunication)
China: Ministerio de la Industria de Información
Australia: Autoridad Australiana de la Comunicación (Australian Communication Authority)
Nueva Zelanda: Ministerio de desarrollo económico de Nueva Zelanda (New Zealand Ministry of Economic Development.
Las etiquetas RFID de baja frecuencia (LF: 125 - 134 kHz y 140 - 148.5 kHz) y de alta frecuencia (HF: 13.56 MHz) se pueden utilizar de forma global sin necesidad de licencia. La frecuencia ultraalta (UHF: 868 - 928 MHz) no puede ser utilizada de forma global, ya que no hay un único estándar global. En Norteamérica, la frecuencia ultraelevada se puede utilizar sin licencia para frecuencias entre 908 - 928 MHz, pero hay restricciones en la energía de transmisión. En Europa la frecuencia ultraelevada está bajo consideración para 865.6 - 867.6 MHz. Su uso es sin licencia sólo para el rango de 869.40 - 869.65 MHz, pero existen restricciones en la energía de transmisión. El estándar UHF norteamericano (908-928 MHz) no es aceptado en Francia y Italia ya que interfiere con sus bandas militares. En China y Japón no hay regulación para el uso de la frecuencia ultraelevada. Cada aplicación de frecuencia ultraelevada en estos países necesita de una licencia, que debe ser solicitada a las autoridades locales, y puede ser revocada. En Australia y Nueva Zelanda, el rango es de 918 - 926 MHz para uso sin licencia, pero hay restricciones en la energía de transmisión.

Existen regulaciones adicionales relacionadas con la salud y y condiciones ambientales. Por ejemplo, en Europa, la regulación Waste Electrical and Electronic Equipment ("Equipos eléctricos y electrónicos inútiles"), no permite que se desechen las etiquetas RFID. Esto significa que las etiquetas RFID que estén en cajas de cartón deber de ser quitadas antes de deshacerse de ellas. También hay regulaciones adicionales relativas a la salud; véase campo electromagnético.


Uso actual

Dependiendo de las frecuencias utilizadas en los sistemas RFID, el coste, el alcance y las aplicaciones son diferentes. Los sistemas que emplean frecuencias bajas tienen igualmente costes bajos, pero también baja distancia de uso. Los que emplean frecuencias más altas proporcionan distancias mayores de lectura y velocidades de lectura más rápidas. Así, las de baja frecuencia se utilizan comúnmente para la identificación de animales, seguimiento de barricas de cerveza, o como llave de automóviles con sistema antirrobo. En ocasiones se insertan en pequeños chips en mascotas, para que puedan ser devueltas a su dueño en caso de pérdida. En los Estados Unidos se utilizan dos frecuencias para RFID: 125 kHz (el estándar original) y 134,5 kHz (el estándar internacional). Las etiquetas RFID de alta frecuencia se utilizan en bibliotecas y seguimiento de libros, seguimiento de palés, control de acceso en edificios, seguimiento de equipaje en aerolíneas, seguimiento de artículos de ropa y ahora último en pacientes de centros hospitalarios para hacer un seguimiento de su historia clínica. Un uso extendido de las etiquetas de alta frecuencia como identificación de acreditaciones, substituyendo a las anteriores tarjetas de banda magnética. Sólo es necesario acercar estas insignias a un lector para autenticar al portador.

Las etiquetas RFID de UHF se utilizan comúnmente de forma comercial en seguimiento de palé y envases, y seguimiento de camiones y remolques en envíos.

Las etiquetas RFID de microondas se utilizan en el control de acceso en vehículos de gama alta.

Algunas autopistas, como por ejemplo la FasTrak de California, el sistema I-Pass de Illinois, el telepeaje TAG en las autopistas urbanas en Santiago de Chile y la Philippines South Luzon Expressway E-Pass utilizan etiquetas RFID para recaudación con peaje electrónico. Las tarjetas son leídas mientras los vehículos pasan; la información se utiliza para cobrar el peaje en una cuenta periódica o descontarla de una cuenta prepago. El sistema ayuda a disminuir el entorpecimiento del tráfico causado por las cabinas de peaje.

Sensores como los sísmicos pueden ser leídos empleando transmisores-receptores RFID, simplificando enormemente la recolección de datos remotos.

En enero de 2003, Michelin anunció que había comenzado a probar transmisores-receptores RFID insertados en neumáticos. Después de un período de prueba estimado de 18 meses, el fabricante ofrecerá neumáticos con RFID a los fabricantes de automóviles. Su principal objetivo es el seguimiento de neumáticos en cumplimiento con la United States Transportation, Recall, Enhancement, Accountability and Documentation Act (TREAD Act).

Las tarjetas con chips RFID integrados se usan ampliamente como dinero electrónico, como por ejemplo la tarjeta Octopus en Hong-Kong, tarjeta bip! en Santiago de Chile para el transporte publico (transantiago), la tarjeta Cívica en Medellín, y en los Países Bajos como forma de pago en transporte público y ventas menores.

Comenzando con el modelo de 2004, está disponible una "llave inteligente" como opción en el Toyota Prius y algunos modelos de Lexus. La llave emplea un circuito de RFID activo que permite que el automóvil reconozca la presencia de la llave a un metro del sensor. El conductor puede abrir las puertas y arrancar el automóvil mientras la llave sigue estando en la cartera o en el bolsillo.

En agosto de 2004, el Departamento de Rehabilitación y Corrección de Ohio (ODRH) aprobó un contrato de 415.000 dólares para ensayar la tecnología de seguimiento con Alanco Technologies. Los internos tienen unos transmisores del tamaño de un reloj de muñeca que pueden detectar si los presos han estado intentando quitárselas y enviar una alarma a los ordenadores de la prisión. Este proyecto no es el primero que trabaja en el desarrollo de chips de seguimiento en prisiones estadounidenses. Instalaciones en Michigan, California e Illinois emplean ya esta tecnología.


Logística

Actualmente, la aplicación más importante de RFID es la logística. El uso de esta tecnología permitiría tener localizado cualquier producto dentro de la cadena de suministro.


Requisitos sobre RFID para su uso en logística

Wal-Mart y el Departamento de Defensa de los Estados Unidos han publicado los requisitos para los fabricantes para situar las etiquetas RFID en todos sus transportes para mejorar la gestión de la cadena de suministro. [1]. Debido al tamaño de estas dos organizaciones, sus mandatos sobre RFID han causado un impacto en miles de compañías de todo el mundo. La fecha límite se ha extendido varias veces porque muchos fabricantes se enfrentan a grandes dificultades para implementar sistemas RFID. En la práctica, las cifras de lecturas exitosas están actualmente en un 80%, debido a la atenuación de la onda de radio causada por los productos y el empaquetado. Dentro de un tiempo está previsto que incluso las compañías más pequeñas sean capaces de poner etiquetas RFID en sus transportes.

Desde enero de 2005, Wal-Mart ha puesto como requisito a sus 100 principales proveedores que apliquen etiquetas RFID en todos sus envíos. Para poder cumplir el requisito, los fabricantes usan codificadores/impresoras RFID para etiquetar las cajas y palés que requieren etiquetas EPC para Wal-Mart. Estas etiquetas inteligentes son producidas integrando el RFID dentro del material de la etiqueta, e imprimiendo el código de barras y otra información visible en la superficie de la etiqueta.


Implantes humanos

Los chips RFID implantables, diseñados originalmente para el etiquetado de animales se está utilizando y se está contemplando también para los seres humanos. Applied Digital Solutions propone su chip "unique under-the-skin format" (formato bajo-la-piel único) como solución a la usurpación de la identidad, al acceso seguro a un edificio, al acceso a un ordenador, al almacenamiento de expedientes médicos, a iniciativas de anti-secuestro y a una variedad de aplicaciones. Combinado con los sensores para supervisar diversas funciones del cuerpo, el dispositivo Digital Angel podría proporcionar supervisión de los pacientes. El Baja Beach Club en Barcelona (España) utiliza un Verichip implantable para identificar a sus clientes VIP, que lo utilizan para pagar las bebidas [2]. El departamento de policía de Ciudad de México ha implantado el Verichip a unos 170 de sus oficiales de policía, para permitir el acceso a las bases de datos de la policía y para poder seguirlos en caso de ser secuestrados.

Amal Graafstra, un empresario del estado de Washington, en Estados Unidos, tenía un chip RFID implantado en su mano izquierda a principios de 2005. El chip medía 12 mm de largo por 2 milímetros de diámetro y tenía un radio de acción para su lectura de dos pulgadas (50 milímetros). La implantación fue realizada por un cirujano plástico, aunque el nombre del doctor no fue desvelado. Cuando le preguntaron qué pretendía hacer con el implante, Graafstra respondió: "estoy escribiendo mi propio software y estoy soldando sobre mi propia materia, prácticamente esto es lo que deseo. Bueno, de forma más precisa, algo que tengo el tiempo y la inspiración para poder hacerlo. En última instancia sin embargo, pienso que el verdadero acceso sin llave requerirá un chip implantable con un sistema muy fuerte de cifrado; ahora tan sólo veo este tipo de cosas en un contexto personal. "1


Aplicaciones potenciales

Las etiquetas RFID se ven como una alternativa que reemplazará a los códigos de barras UPC o EAN, puesto que tiene un número de ventajas importantes sobre la arcaica tecnología de código de barras. Quizás no logren sustituir en su totalidad a los códigos de barras, debidos en parte a su coste relativamente más alto. Para algunos artículos con un coste más bajo la capacidad de cada etiqueta de ser única se puede considerar exagerado, aunque tendría algunas ventajas tales como una mayor facilidad para llevar a cabo inventarios.

También se debe reconocer que el almacenamiento de los datos asociados al seguimiento de las mercancías a nivel de artículo ocuparía muchos terabytes. Es mucho más probable que las mercancías sean seguidas a nivel de palés usando etiquetas RFID, y a nivel de artículo con producto único, en lugar de códigos de barras únicos por artículo.

Los códigos RFID son tan largos que cada etiqueta RFID puede tener un código único, mientras que los códigos UPC actuales se limitan a un solo código para todos los casos de un producto particular. La unicidad de las etiquetas RFID significa que un producto puede ser seguido individualmente mientras se mueve de lugar en lugar, terminando finalmente en manos del consumidor. Esto puede ayudar a las compañías a combatir el hurto y otras formas de pérdida del producto. También se ha propuesto utilizar RFID para comprobación de almacén desde el punto de venta, y sustituir así al encargado de la caja por un sistema automático que no necesite ninguna captación de códigos de barras. Sin embargo no es probable que esto sea posible sin una reducción significativa en el coste de las etiquetas actuales. Se está llevando a cabo una investigación sobre la tinta que se puede utilizar como etiqueta RFID, que reduciría costes de forma significativa. Sin embargo, faltan todavía algunos años para que esto dé sus frutos.


Gen 2

Una organización llamada EPCglobal está trabajando en un estándar internacional para el uso de RFID y EPC en la identificación de cualquier artículo en la cadena de suministro para las compañías de cualquier tipo de industria, en cualquier lugar del mundo. El consejo superior de la organización incluye representantes de EAN International, Uniform Code Council, The Gillette Company, Procter & Gamble, Wal-Mart, Hewlett-Packard, Johnson & Johnson, SATO and Auto-ID Labs. Algunos sistemas RFID utilizan estándares alternativos basados en la clasificación ISO 18000-6.

El estándar gen 2 de EPCglobal fue aprobado en diciembre de 2004, y es probable que llegue a formar la espina dorsal de los estándares en etiquetas RFID de ahora en adelante. Esto fue aprobado después de una contención de Intermec por la posibilidad de que el estándar pudiera infringir varias patentes suyas relacionadas con RFID. Se decidió que el estándar en sí mismo no infringía sus patentes, sino que puede ser necesario pagar derechos a Intermec si la etiqueta se leyera de un modo particular. EPC Gen2 es la abreviatura de "EPCglobal UHF Generation 2".


Identificación de pacientes

En julio de 2004, la Food and Drug Administration (Administración de Comida y Medicamentos) hizo pública la decisión de comenzar un proceso de estudio que determinará si los hospitales pueden utilizar sistemas RFID para identificar a pacientes o para permitir el acceso por parte del personal relevante del hospital a los expedientes médicos. El uso de RFID para prevenir mezclas entre esperma y óvulos en las clínicas de fecundación in vitro también está siendo considerado [3]. Además, la FDA aprobó recientemente los primeros chips RFID de EE.UU. que se pueden implantar en seres humanos. Los chips RFID de 134,2kHz, de VeriChip Corp., una subsidiaria de Applied Digital Solutions Inc., pueden incorporar información médica personal y podrían salvar vidas y limitar lesiones causadas por errores en tratamientos médicos, según la compañía. La aprobación por parte de la FDA fue divulgada durante una conferencia telefónica con los inversionistas. También se ha propuesto su aplicación en el hogar, para permitir, por ejemplo, que un frigorífico pueda conocer las fechas de caducidad de los alimentos que contiene, pero ha habido pocos avances más allá de simples prototipos.


Tráfico y posicionamiento

Otra aplicación propuesta es el uso de RFID para señales de tráfico inteligentes en la carretera (Road Beacon System o RBS) [4]. Se basa en el uso de transpondedores RFID enterrados bajo el pavimento (radiobalizas) que son leídos por una unidad que lleva el vehículo (OBU, de onboard unit) que filtra las diversas señales de tráfico y las traduce a mensajes de voz o da una proyección virtual usando un HUD (Heads-Up Display). Su principal ventaja comparadas con los sistemas basados en satélite es que las radiobalizas no necesitan de mapeado digital ya que proporcionan el símbolo de la señal de tráfico y la información de su posición por sí mismas. Las radiobalizas RFID también son útiles para complementar sistemas de posicionamiento de satélite en lugares como los túneles o interiores, o en el guiado de personas ciegas.





Polémica

¿Cómo se sentiría usted si, por ejemplo, un día se diera cuenta de que su ropa interior permite desvelar su paradero?


La senadora del estado de California Debra Bowen, en una audiencia en 2003
El uso de la tecnología RFID ha causado una considerable polémica e incluso boicots de productos. Las cuatro razones principales por las que RFID resulta preocupante en lo que a privacidad se refiere son:

El comprador de un artículo no tiene por qué saber de la presencia de la etiqueta o ser capaz de eliminarla.
La etiqueta puede ser leída a cierta distancia sin conocimiento por parte del individuo.
Si un artículo etiquetado es pagado mediante tarjeta de crédito o conjuntamente con el uso de una tarjeta de fidelidad, entonces sería posible enlazar la ID única de ese artículo con la identidad del comprador.
El sistema de etiquetas EPCGlobal crea, o pretende crear, números de serie globales únicos para todos los productos, aunque esto cree problemas de privacidad y sea totalmente innecesario en la mayoría de las aplicaciones.
La mayoría de las preocupaciones giran alrededor del hecho de que las etiquetas RFID puestas en los productos siguen siendo funcionales incluso después de que se hayan comprado los productos y se hayan llevado a casa, y esto puede utilizarse para vigilancia, y otros propósitos infames sin relación alguna con sus funciones de inventario en la cadena de suministro. Aunque la intención es emplear etiquetas RFID de corta distancia, éstas pueden ser interrogadas a mayores distancias por cualquier persona con una antena de alta ganancia, permitiendo de forma potencial que el contenido de una casa pueda ser explorado desde una cierta distancia. Incluso un escaneado de rango corto es preocupante si todos los artículos detectados aparecen en una base de datos cada vez que una persona pasa un lector, o si se hace de forma malintencionada (por ejemplo, un robo empleando un escáner de mano portátil para obtener una evaluación instantánea de la cantidad de víctimas potenciales). Con números de serie RFID permanentes, un artículo proporciona información inesperada sobre una persona incluso después de su eliminación; por ejemplo, los artículos que se revenden, o se regalan, pueden permitir trazar la red social de una persona.

Otro problema referente a la privacidad es debido al soporte para un protocolo de singulation (anticolisión). Ésta es la razón por la cual un lector puede enumerar todas las etiquetas que responden a él sin que ellas interfieran entre sí. La estructura de la versión más común de este protocolo es tal que todos los bits del número de serie de la etiqueta salvo el último se pueden deducir por eavesdropping (detección a distancia) pasivo tan sólo en la parte del protocolo que afecta al lector. Por esta razón, si las etiquetas RFID están cerca de algún lector, la distancia en la cual la señal de una etiqueta puede ser escuchada es irrelevante. Lo que importa es la distancia a la que un lector de mucho más alcance puede recibir la señal. Independientemente de que esto dependa de la distancia a la que se encuentre el lector y de qué tipo sea, en un caso extremo algunos lectores tienen una salida de energía máxima (4 W) que se podría recibir a diez kilómetros de distancia.


Pasaportes

Varios países han propuesto la implantación de dispositivos RFID en los nuevos pasaportes, para aumentar la eficiencia en las máquinas de lectura de datos biométricos. El experto en seguridad Bruce Schneier dijo a raíz de estas propuestas: "Es una amenaza clara tanto para la seguridad personal como para la privacidad. Simplemente, es una mala idea." Los pasaportes con RFID integrado únicamente identifican a su portador, y en la propuesta que se está considerando, también incluirían otros datos personales. Esto podría hacer mucho más sencillos algunos de los abusos de la tecnología RFID que se acaban de comentar, y se podría expandir la cantidad de datos para incluir, por ejemplo, abusos basados en la lectura de la nacionalidad de una persona. Por ejemplo, un asalto cerca de un aeropuerto podría tener como objetivo a víctimas que han llegado de países ricos, o un terrorista podría diseñar una bomba que funcionara cuando estuviera cerca de personas de un país en particular.

El Departamento de Estado de los Estados Unidos rechazó en un primer momento estas hipótesis porque pensaban que los chips sólo podrían ser leídos desde una distancia de 10 cm, sin tener en cuenta más de 2.400 comentarios críticos de profesionales de la seguridad, y una demostración clara de que con un equipo especial se pueden leer los pasaportes desde 10 metros. A fecha de mayo de 2005, la propuesta está siendo revisada [6].

La autoridad de los pasaportes de Pakistán ha comenzado a expedir pasaportes con etiquetas RFID.

Carnet de conducir

El estado estadounidense de Virginia ha pensado en poner etiquetas RFID en los carnés de conducción con el objetivo de que los policías y otros oficiales realicen comprobaciones de una forma más rápida. La Asamblea General de Virginia también espera que, al incluir las etiquetas, cueste mucho más obtener documentos de identidad falsos. La propuesta se presentó por primera vez en el Driver's License Modernization Act de 2002, que no fue promulgada, pero en 2004 el concepto todavía estaba considerándose.

La idea fue promovida por el hecho de que varios de los piratas aéreos de los atentados del 11 de septiembre tenían carnés de conducir de Virginia fraudulentos. Sin embargo, la American Civil Liberties Union dijo que además de ser un riesgo para la privacidad y la libertad, la propuesta del RFID no habría entorpecido a los terroristas, dado que la documentación falsa que portaban era válida, pues eran documentos oficiales obtenidos con otra identificación falsa. La debilidad del sistema es que no falla cuando se validan documentos en el momento, sino que falla al verificar la identidad antes de expedirlos.

Bajo la propuesta, no se almacenaría ninguna información en la etiqueta salvo el número correspondiente a la información del portador en una base de datos, sólo accesible por personal autorizado. Además, para disuadir a las falsificaciones de identidad sólo sería necesario envolver un carné de conducir con papel de aluminio. [7], [8]


¿La señal de la bestia?

Ha habido polémica por parte de algunos miembros de la comunidad cristiana sobre que el etiquetado RFID podría representar una marca de la bestia mencionada específicamente en el Apocalipsis. Este tema es estudiado por aquellos cristianos interesados en el campo de la escatología y el dispensacionalismo. Previamente se había sugerido que otras formas de identificación tales como tarjetas de crédito y códigos UPC, podrían ser también señales de la bestia. [9] [10] [11]


Blindajes Faraday como una contramedida al RFID

Se puede utilizar una jaula de Faraday para evitar que las señales de radiofrecuencia se escapen o entren en una zona, actuando como un blindaje RF.

Si se rodeara un dispositivo RFID con un blindaje de Faraday tendría señales entrantes y salientes muy atenuadas, hasta el punto de que no podrían ser utilizables. Un blindaje de Faraday muy sencillo sería un envoltorio de papel de aluminio. Uno más efectivo sería un rectángulo de cobre alrededor del objeto, aunque el papel de aluminio serviría para la mayoría de los propósitos. Un RFID implantado sería más difícil de neutralizar con dicho blindaje, pero incluso una cubierta simple de papel de aluminio atenuaría la componente de campo eléctrico de las señales.

Neutralizar permanentemente el RFID podría necesitar una fuerte corriente eléctrica alterna adyacente al RFID, que sobrecargue la etiqueta y destruya su electrónica. En algunos casos, dependiendo de la composición del RFID, un imán fuerte puede servir para destruir mecánicamente la bobina o la conexión del chip por la fuerza mecánica ejercida en la bobina. Con el desarrollo de la tecnología RFID, pueden ser necesarios otros métodos.

Las etiquetas de 125 kHz, 134 kHz (baja frecuencia), y en varios casos 13.56 MHz (alta frecuencia) están unidas por un campo magnético en lugar de un campo eléctrico,es lo que se denomina acoplamiento inductivo. Como la jaula de Faraday blinda solamente la componente eléctrica del campo electromagnético, el blindaje de papel de aluminio es ineficaz. Cualquier blindaje magnético, como por ejemplo una hoja fina de hierro o acero, encapsulando la bobina de la antena de la etiqueta, será eficaz.