domingo, 1 de abril de 2012

SSH sin contraseña y de forma segura usando pareja de claves RSA

Hola a todos de nuevo, hoy voy a explicar de forma muy muy clara como funcionan las claves pública y privada. Ya verán como lo entienden.

Todos sabemos que ssh es un protocolo muy seguro, ya que todo la información que circula por la conexión entre cliente y servidor está encriptada.

Cuando hacemos una conexión a un servidor ssh lo hacemos así:

ssh usuario@direcion.ip.com

El servidor y el cliente ssh negocian el protocolo ssh que se usará (por seguridad debe ser la versión 2)
Y después generan un acuerdo de cifrado para el canal, de manera que ya todo lo que circule por él, esté cifrado.
La conexión continua..

Una vez abierto un canal seguro, el servidor nos pedirá contraseña para acceder y tras introducirla el servidor la comprobará.
Si la clave es correcta obtendremos acceso al servidor ssh.

Aquí se presentan dos inconvenientes.

1.- El password, aunque encriptado, viaja por la red cada vez que nos conectamos y esto puede ser peligroso si alguien estuviese capturando (snifando) datos de nuestra red y fuese capaz de generar fuerza bruta contra nuestros datos para sacar el pass.

2.- Tener que meter una y otra vez la clave cuando iniciamos sesión es 'cansino' y además, si tenemos 20 servidores y los que acceder.... Tenemos que tener 20 claves diferentes, ya que si usamos una sola para todo compromete la seguridad de los 20 pcs si perdemos la clave o alguien nos la roba.

Para todo esto hay una solución, usar un par de claves RSA.




Explicación sobre pareja de claves RSA

¿Que es RSA?
RSA es un sistema de encriptado que usa un algoritmo imposible de solucionar a día de hoy. Se creé que con la llegada de sistemas cuánticos y su rapidez se puedan llegar a solucionar.

¿Por qué una pareja?
Esto mucha gente no lo entiende, y lo voy a explicar muy claro.

Es una pareja de claves porque se crean a pares y de forma que una no sirve sin la otra, una clave es privada y la otra pública.

Clave privada:
Se usa para desencriptar y es la que debe estar solo presente en la máquina cliente y protegerla.

Clave  pública:
Se usa para encriptar y se puede repartir sin miedo a tus amigos.
Esta clave solo encripta y no puede usarse para desencriptar ni lo que se haya encriptado con ella.
Solo la clave privada asociada a ella puede desencriptar lo que se haya encriptado con la clave pública.


¿Y como funciona?
El proceso es el mismo pero con una diferencia...

ssh usuario@direcion.ip.com


El servidor y el cliente ssh negocian el protocolo ssh que se usará (por seguridad debe ser la versión 2)
Y después generan un acuerdo de cifrado para el canal, de manera que ya todo lo que circule por él, esté cifrado.

La conexión continua..
Hasta aquí todo igual, pero ahora comienza la diferencia.....:

El cliente decide usar usar RSA para identificarse, así que le manda al servidor información sobre su clave pública..

El servidor busca en su base da datos en busca de la clave pública del cliente, cuando la encuentra le manda un desafío, si si, como lo oyes. El servidor manda un paquete llamado (challenge) que contiene un número aleatorio cifrado con la clave pública del cliente.

El cliente recibe el paquete incriptado y usa la clave privada para desencriptar el mensaje, una vez desencriptado se lo devuelve al server... y le dice "¡Eh mira, lo he averiguado, así que soy yo!".

El servidor comprueba que el número devuelto es igual que el que mandó encriptado y por tanto el usuario es el que dice ser, ya que ninguna otra persona puede desencriptar el paquete sin no tiene la clave privada asociada a la pública. Así que se permite la sesión.

Yo creo que explicado así se entiende a la perfección.

¿Os habéis fijado que en ningún momento se mandan claves por la red?
Ahora podrías dar a todos tus amigos tu cláve pública y así poder entrar en sus sistemas sin pedir contraseña ni tener que usar una contraseña para cada sitio.

Como podréis imaginar, si alguien os copia la clave privada de vuestro ordenador, podrá acceder a cualquier sistema en el que estén la clave pública..... que peligro ¿no?
Tranquilos, generaremos una clave RSA que esté encriptada con clave, de manera que si alguien os la quita se quedará con la cara partida porque hace falta una clave para poder usarla... jejeje.



Preparación del Servidor para permitir autenticación por RSA

Accedemos a nuestro servidor:

ssh usuario@servidor.com

Tendremos que meter la clave como siempre.

Una vez dentro tendremos que editar el archivo /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

Buscamos las siguientes líneas y nos aseguramos de que estén así:
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

La primara opción permite el uso de clave pública para que un cliente se identifique.
La segunda especifíca donde se guarda la relación de claves públicas autorizadas.

Una vez modificado lo que sea necesario presionamos Ctrl+o para guardar, presionamos "enter" para confirmar y luego Ctrl+x para salir.

Comprobamos que existe la carpeta .ssh dentro del directorio home, el cual debe de contener el archivo authorized_keys

ls -al  ~

Si no existe lo crearemos

mkdir ~/.ssh
touch ~/.ssh/authorized_keys

En ese archivo se guardan las claves públicas de los clientes autorizados.

Necesitamos reiniciar el demonio ssh y normalmente eso no supone una caida del cliente que está conectado a ssh... así que:

sudo service ssh restart

Ahora ya podemos salir del ssh:

exit

Configuración del Cliente para usar RSA
El cliente de la versión actual de ssh está configurado para usar en primera instancia automáticamente una privada RSA para identificarse, así que solo tenemos que crearla.




Creación de parejas de claves

Ahora llega el momento de crear nuestra pareja de claves, es importante comprender que podemos crear la pareja de claves en cualquier pc y llevarlas a donde queramos.... pero en este caso las crearemos en el cliente.

Primero comprobamos que existe la carpeta .ssh dentro del directorio home, el cual es necesario ya que es ahí donde se generarán la pareja de claves.

ls -al  ~

Si no existe lo crearemos

mkdir ~/.ssh

Ahora generamos la pareja de claves RSA

ssh-keygen -t rsa

Nota: ssh-keygen genera por defecto claves RSA pero por si las moscas lo hemos especificado.

Creará una clave de 1028 Bits, muy segura, aunque se pueden crear mayores claves con menor rendimiento... claro está.

Tras ejecutar el comando nos preguntará donde generar la clave, le dejamos la ruta por defecto ~/.ssh/id_rsa

Seguidamente nos pedirá una clave de paso, yo uso la misma que para mi sesión, pero podéis usar cualquier clave que sea segura, que contenga numeros, símbolos y letras en minúscula y mayúscula.

Una vez terminado tendréis una clave privada (id_rsa) y otra pública (ud_rsa.pub) en el directorio .ssh de vuestra carpeta personal.

Ahora moveremos la llave pública al servidor usando scp, que pertenese al paquete de ssh y permite copiar contenido usando ssh de forma segura:

scp ~/.ssh/id_rsa.pub usuario@servidor.com:/tmp/

Y metemos la clave para mandar la llave pública a la carpeta temporal del server.


Añadiendo la clave pública al servidor ssh


Tras copiar la clave pública en el server hay que añadirlo al archivo authorized_keys

Accedemos al servidor ssh:

ssh usuario@servidor.com

Y ejecutamos:
cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

Listo, ya podemos salir del server y al entrar no usaremos clave para iniciar sesión, y ojo, sigue leyendo.

exit

Usar ssh-agent para evitar la frase de paso

Si ya has intentado acceder pos ssh para probar la conexión te habrás percatado de que te pide contraseña.... ehhh! jeje para para, no me llames mentirosooooo jejee

Dije que no te pediría clave para iniciar sesión, y de hecho, no lo hace, lo que pasa es que tu clave privada está cifrada ¿Recuerdas que al crearla pusiste una clave para protegerla?

Usaremos ssh-agent, que se instala automáticamente al instalar ssh y que se ejecuta al inicio de cada sesión de manera automática.

Usaremos ssh-add para añadir la clave a ssh-agent de manera que esté vinculada a la sesión y no te pida más la pass para desencriptar la clave privada.... ya se encargará ssh de pedírsela a ssh-agent.

ssh-add ~/.ssh/id_rsa

Eso nos pedirá la frase de paso que usamos para crearla, y la añadirá a la base de datos.

Prueba ahora y verás...

Ya puedes usar tu clave privada sin temor, y compartir la pública para poder acceder a otros servidores o pc's sin tener que memorizar gran cantidad de claves.

Nota: Tras reiniciar o cerrar la sesión actual en tu sistema linux, se te volverá a pedir la clave de paso, pero puedes hacer que no te la vuelva a pedir pinchando en la opción "Desbloquear al iniciar sesión" .... o algo así XD

Bien, para terminar os recomiendo que impidáis el acceso mediante clave al server ssh.

¿Para qué?
Pues para evitar ataque de fuerza bruta y que intenten sacar el pass.

Accedemos a nuestro servidor:

ssh usuario@servidor.com

Ya no tendrémos que meter la clave como siempre, y se accederá por RSA automáticamente. XD

Una vez dentro tendremos que editar nuevamente el archivo /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

Buscamos las siguientes líneas y nos aseguramos de que estén así:
#PasswordAuthentication yes

Y la dejamos así:

PasswordAuthentication no 

Ahora reinicias el servicio ssh
 
sudo service ssh restart
Listo, ya no os pedirá contraseña normal y exigirá identificación por RSA.
 
Un saludo y espero que os sirva.

domingo, 25 de marzo de 2012

Configuración de un server para compartir internet


Hay veces que tenemos un ordenador viejo, que no anda con ningún Windows, al menos de los menos viejos, ya  que Windows es un devorador de recursos y exige continuamente hardware nuevo para funcionar.
Linux por el contrario nos brinda la oportunidad de aprovechar prácticamente cualquier pc por muy viejo que sea.

Así que id desempolvando esos viejos pc's.

Veamos, en muchos tutoriales de internet podemos ver fácilmente como compartir internet con otros equipos usando sistemas Linux.

Lo que ocurre es que la mayoría de las veces está orientado a sistemas con interfaz gráfica, y claro está, si estás usando un sistema sin las X, como Ubuntu Server pues te encontrarás que no puedes seguir esos tutos, caso a parte, no siempre sabes que cambios se están haciendo a nivel de configuración...

Bueno, en esta entrada intentaré explicar de forma breve la configuración básica de un sistema para:

-Funcionar como un router. (incluso como repetidor sin necesidad de que el router desde el que viene la señal soporte wds )

-Crear una red local.
-Compartir internet.
-Asignar ips y DNS de forma automática al resto de pcs.

Nota: Hay distribuciones especiales de linux para hacer función de router o proxy, como "Router Linux" o "Freesco" y que pueden andar sin instalación desde un live-CD pero aquí no los usaremos, ya que buscamos usar el sistema que tenemos instalado.

Requisitos:
-Necesitamos al menos 2 interfaz de red, ya que por una nos comunicaremos con el exterior, (internet) y con la otra nos comunicaremos con el resto de pc's.
Pueden ser tarjetas de red Ethernet o Wifi.

-Iptables, que sirve para administrar conexiones y aplicar reglas. (cualquier versión del kernel igual o superior a la 2.6 serviría ya que lo trae por defecto)

-dnsmasq, que nos servirá para asignar ips y dns de forma automática al resto de máquinas que lo soliciten.

Bueno, partiremos de que ya tendremos configurada la conexión a internet en la máquina en la que estamos trabajando de acuerdo a los requisitos de nuestro proveedor.

Encendemos el server y nos logueamos.

Imaginemos que tenemos conectado el servidor a un moden por cable de red, y que tenemos otra tarjeta libre.

Serían Eth0 y Eth1 respectivamente.
Para empezar tenemos que  echar un vistazo al archivo /etc/network/interfaces y editar lo que nos haga falta.

sudo nano /etc/network/interfaces

En este caso el contenido el el siguiente:

auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp

Esto quiere decir que tenemos configurado la tarjeta de red eth0 para obtener ip por dhcp, pero no hay menciones para eth1, así que lo pondremos nosotros, pero lo haremos de forma manual ya que lo que estamos haciendo es crear una red con esa interfaz.

auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255

Presionamos Ctrl+o para guardar (confirmamos presionando enter) y Ctrl+x 
para cerrar.  

La configuración quedaría así:

Ip de la máquina es 192.168.0.1
La máscara de red es  255.255.255.0
Y la dirección de difusión es la 192.168.0.255

Con eso ya hemos configurado nuestra tarjeta para que coja esos valores.
Pero para que sean efectivos ahora mismo hemos de reiniciar el servicio de red.
sudo /etc/init.d/netwoking restart
Ahora hay que activar ip_forward para que nuestro server no ignore los paquetes
que no vayan destinado a si mismo, ya que pueden ser paquetes para otros
equipos y esto haría que esos equipos no obtuviesen respuesta del exterior.

Para activarlo podemos hacerlo de dos formas:

-Provisionalmente (Se pierde al reiniciar):
echo 1 > /proc/sys/net/ipv4/ip_forward
-De manera permanente:
Editando el archivo /etc/sysctl.conf
sudo nano /etc/sysctl.conf
Y descomentando la linea:

#net.ipv4.ip_forward=1

Descomentar es quitar la "#" de manera que quede así:

net.ipv4.ip_forward=1
Presionamos Ctrl+o para guardar (confirmamos presionando enter)
 y Ctrl+x para cerrar.
Bien, ya nos queda menos, ahora vamos a activar NAT para que los equipos que 
estén conectados a nuestro server puedan salir a internet mediante la ip del server.
Lo que hace nat es como una bifurcación de los datos entre redes.
Para esto usaremos iptables con el siguiente comando:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Vamos a explicarlo:
Iptables es el comando para modificar las reglas.
-t Es para especificar el tipo de tabla a la que van dirigidas las reglas.
nat Es el tipo de tabla.
-A Añade la regla a las ya existentes.
POSTROUTING Modifica los paquetes justo antes de reenviarlos a las máquinas
correspondientes
-o Sirve para especificar hacia que tarjeta van redirigidos los paquetes.
eth0 Es nuestra tarjeta conectada a insternet.
-j Especifica hacia donde se aplican las reglas
MASQUERADE Indica el enmascaramiento ip.
Traducido, que todo lo que entre a nuestro pc por el puerto que no sea eth0 se 
enmascara para reenviarlo a la tarjeta eth0
XD
Esta regla solo se aplica en esta sesión, cuando reiniciemos se desactivará.
(Ya la haremos permanente si nos funciona bien)

Pues desde ya, cualquier pc conectado a nustra tarjeta eth1 tendría acceso a 
internet, pero lo que pasa es que tendríamos que configurar las direciones ip y 
las dns a mano, puesto que no tenemos activo dhcp, peto eso lo podemos arreglar
con el programa dnsmasq

Así que lo instalamos si no lo hemos hecho ya.
sudo apt-get install dnsmasq 

Ahora cambiamos la configuración:
sudo nano /etc/dnsmasq.conf

Buscamos las lineas siguientes y las modificamos para que queden así:

listen-address=192.168.0.1 bind-interfaces dhcp-range=192.168.0.2,192.168.0.254,12h

Unas hay que descomentarlas y otras cambiar los valores.
Presionamos Ctrl+o para guardar (confirmamos presionando enter)
 y Ctrl+x para cerrar.

Reiniciamos el servicio con:
sudo /etc/init.d/dnsmasq restart
Y ahora sí, cualquier pc conectado a ese puerto obtendrá ip, dns y acceso a
internet.
Si queremos conectar muchos pc's podemos colocar un hub, de manera que
multiplico por 4 u 8 los puertos de red y todos los pc's tendrían el mismo trato,
sus propias ips, dns y acceso a internet.
Bueno, si nos funciona podemos dejar fija la reglas existentes de iptables así:

Creamos un script que contenga la regla:

sudo nano firewall.sh

Introducimos los parámetros:

#!/bin/sh #Regla de iptables para canalizar iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #Activación de ip_fordward echo 1 > /proc/sys/net/ipv4/ip_forward

Nota:Si activaste ip_fordward de manera permanente no es necesario hacerlo de nuevo.

Guardas el archivo y lo cierras.
Le damos permiso de ejecución y exclusividad para root:

sudo chmod 700 firewall.sh
sudo chown root:root firewall.sh

Ahora solo tendríamos que añadir una linea nueva al final del archivo /etc/init.d/rc.local para que ejecute el script al inicio:

sudo nano /etc/init.d/rc.local

Os movéis hasta el final del archivo y poneis la ruta del script que hemos creado.
En mi caso es:

/etc/firewall.sh

Guardáis y cerráis
Pues listo.
Si lo que queréis es compartir internet por wifi podemos hacerlo así:
Volvemos a editar el archivo /etc/network/interfaces

sudo nano /etc/network/interfaces

En este caso el cambio sería el siguiente:

auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto wlan0 iface wlan0 inet static address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255
wireless_essid "nombre de tu red wifi"
wireless_channel 6
wireless_mode ad hoc
#
# Para usar claves con texto o en hexadecimal descomentar una de las lineas:
#wireless_key s:claveweptexto
wireless_key 0123456789

Presionamos Ctrl+o para guardar (confirmamos presionando enter) y Ctrl+x 
para cerrar.

Reiniciamos la configuración de red:
sudo /etc/init.d/netwoking restart

Con eso el resto de pc's podrán ver un nuevo punto de acceso wifi al que pueden
acceder para tener internet.
El problema es que este tipo de configuración es equipo a equipo, y no se pueden 
conectar más de un pc al mismo tiempo al punto de acceso creado.

Un saludo y espero que os sirva a más de uno.

Una de las fuentes que he visitado:
http://crysol.org/es/router-casero

sábado, 10 de marzo de 2012

Crear archivos y directorios con caracter ascendente o descendente

Gracias al compañero anticongelante miembro de Ubuntu-es.org puedo compartir con ustedes algo que aprendí en el foro...

A veces puede ser necesario crear muchos archivos y/o carpetas del tipo:

fichero1
fichero2
fichero3


O también del tipo:
Carpeta1
Carpeta2
....

O con letras
fichero a
fichero b
etc etc

Para hacer esto acudiremos a una consola o terminal y usaremos el comando correspondiente, por ejemplo, para crear archivos podemos usar touch, y para crear directorios como no, usaremos el comando mkdir.

touch F{1..9} "Crea los ficheros desde el 1 hasta el 9"
Ejemplo: F1 F2 F3 F4 F5 F6 F7 F8 F9

touch F{1..100} "Crea los ficheros desde el 1 hasta el 100"
Ejemplo: F1 F2 F3 F4 F5 F6 F7 F8 F9...F100

touch F{a..z} "Crea los ficheros desde la a hasta la z"
Ejemplo: Fa Fb Fc Fe...Fz

mkdir D{1..9} "Crea los directorios desde el 1 hasta el 9"
Ejemplo: D1 D2 D3 D4 D5 D6 D7 D8 D9

mkdir D{1..100} "Crea los directorios desde el 1 hasta el 100"
Ejemplo: D1 D2 D3 D4 D5 D6 D7 D8 D9...D100

mkdir D{a..z} "Crea los directorios desde el a hasta la z"
Ejemplo: Da Db Dc De...Dz

Se puede utilizar varias llaves, todas las que se quieran:
touch F{1..9}{a..z}
touch F{1..9}{a..z}{1..5}

Si queréis usar un nombre de carpeta o archivo compuesto por espacios es suficiente con meterlo entre "".

Ejemplo:
touch "kaka de la vaca "{1..10}
 

El resultado sería:
kaka de la vaca 1   kaka de la vaca 3  kaka de la vaca 6  kaka de la vaca 9
kaka de la vaca 10  kaka de la vaca 4  kaka de la vaca 7
kaka de la vaca 2   kaka de la vaca 5  kaka de la vaca 8



A veces es necesario por cuestión de orden que los números sean mostrados como "01, 02, 03, 04" en lugar de "1, 2, 3, 4..."

Pues eso se soluciona tan fácil como agregar el cero delante.

scorpyo@pc-cito:~/Escritorio/pruebas$ touch "Fichero número  "{01..10}
scorpyo@pc-cito:~/Escritorio/pruebas$ ls
Fichero número  01  Fichero número  04  Fichero número  07  Fichero número  10
Fichero número  02  Fichero número  05  Fichero número  08
Fichero número  03  Fichero número  06  Fichero número  09


Un saludo y gracias de nuevo a anticongelante

Fuente: http://www.ubuntu-es.org/node/165890#comment-471384

miércoles, 7 de marzo de 2012

TrueCrypt

Hola muy buenas. Vengo a este blog con un manual básico de TrueCrypt un programa multiplataforma (win, linux, mac..) y opensource (aunque algunas distros lo consideran "non free" p.ej: Fedora) que sirve para encriptar archivos, particiones e incluso todo el disco duro (version de windows).

Para comenzar lo primero que deberíamos hacer es descargar la versión/es que vallamos a usar preferiblemente de la pagina web oficial:



Ahora procedemos a realizar la instalación del programa. Como observaran en la imagen de arriba me baje la versión para Linux 64bits y el tutorial esta basado en Ubuntu 10.04 LTS, pero no hay gran diferencia a la instalación y el uso en otros sistemas operativos.
Primero descomprimimos donde nos guste y después damos permisos de ejecución al archivo descomprimido. Una vez hecho esto clicamos el archivo y tipeamos la opción de ejecutar en un terminal.



Empecemos con el proceso de instalación. Es importante leer la licencia porque por este motivo es por lo que lo consideran algunas distribuciones Linux como software "non free". Fedora anuncio que el uso del software puede acarrear acciones legales contra los usuarios, debido a una mala licencia.
Mas información sobre el tema:
http://www.truecrypt.org/faq
http://www.kriptopolis.org/node/7237



Muy bien, ya tenemos instalado TrueCrypt en nuestro sistema. Vamos a abrirlo y a empezar a familiarizarnos con el.

Empecemos a crear un archivo encriptado para tener nuestros datos susceptibles a salvo. Para ello clicamos en la opción "Create Volume".



La opción de arriba es para crear un archivo encriptado que guardara nuestra información valiosa dentro de el. Se puede usar uno existente pero perderemos toda su información, por eso yo opte por crear un archivo vacío para hacerlo. La opción de abajo es para cifrar una partición o un volumen externo. La particion debe de existir previamente (puedes usar gparted). Eligimos una opcion, en mi caso la primera y pulsamos "Next".


Pasamos a esta pantalla en la que podemos elegir si sera un archivo/partición normal u oculto. Yo seleccionare la primera opción porque no me convenció el concepto de "oculto" que tienen, ya que la partición se ve, solo que esta inaccesible.



Clicamos en "Next" y vamos a esta pantalla. Aquí seleccionaremos el archivo que queremos encriptar (yo previamente cree un archivo vacío nuevo) y damos a "Next".



Ahora podemos elegir el tipo de encriptacion que deseamos y chequear su velocidad. En la opción "Benchmark" se puede hacer una comparativa con todos los tipos de algoritmos para comprobar cual es el que mas se ajusta a sus necesidades de seguridad. También podemos designar el algoritmo del hash.



Después de pulsar en "Next" nos aparece esta pantalla en la que podemos elegir el tamaño que deseamos para nuestro archivo oculto. Una vez establecido el valor deseado clicamos de nuevo "Next".



Ahora vamos con un paso importante, es el momento de establecer la contraseña. Alternativamente se puede usar un "keyfile" es decir un archivo contraseña, esto tiene tanto pros como contras, ya que si modificas el archivo pierdes la contraseña (contra), pero también puedes usar un "keyfile" alojado en internet y de este modo el archivo no estaría en tu equipo pero seria fácilmente recuperable.



Si introducen una contraseña corta les saltara esta advertencia. Pueden ignorarla o también pueden cambiar su contraseña por una mas larga. La ignorare porque considero que una contraseña de 12-15 caracteres es lo suficientemente fuerte para un ataque por fuerza bruta.



Ahora pasamos a elegir en que formato se guardaran nuestro archivos encriptados. Elegimos y "Next"



En esta pantalla seleccionamos "Format" y ya estaría creado.





El programa entra en blucle y empieza desde el principio otra vez. Pulsamos "Exit".



Para montar un archivo/volumen encriptado vamos a la pantalla principal del programa y seleccionamos un slot.



Pulsamos la opción de "Select File" ("Select Device" en el caso de particiones) y damos a "Mount".



Nos pedira la contraseña del archivo/volumen encriptado. La introducimos, o un "keyfile" si es el caso.



Nos pedirá privilegios de admin (en Ubuntu 10.04 LTS). Introducimos nuestro pass.



Y ya tenemos montado y accesible nuestro archivo/volumen encriptado. Ahora podemos empezar a almacenar en el toda nuestra información de una manera mucho mas segura.



Espero que les sirva. Un saludo eseketedigo.

viernes, 10 de febrero de 2012

Script para jugar y aprender

He creado un Script al que voy dando soporte poco a poco y de vez en cuando.
No es nada profesional, pero si que puede ser de gran ayuda.

El script sirve para hacer preguntas al usuario a modo test y desde una base de conocimientos que ya tiene, son muy pocos los temas que el programa tiene, pero se le pueden añadir nuevos.

Para seros sinceros, mi madre lo está usando para sus oposiciones y le va genial.

El programa tiene estas opciones:

-Crea un usuario para guardar la estadística de Aciertos, Fallos, Media, Nombre, etc...
-Se permite la síntesis de texto a voz. (El programa hablará)
-Se permitirá elegir un tema.
-Se permite elegir la curiosidad del programa por aprender. (Su base de datos crecerá y lo usará contra ti)
-Las preguntas se podrán mostrar de forma aleatoria o secuencial.


Enlace para la descarga versión 1.01:
http://ubuntuone.com/4kTf3VjUpbXjj6oQLHEE1X

domingo, 5 de febrero de 2012

Inmutabilizar

Hay veces, que queremos impedir que un archivo se mueva o borre.
Normalmente se puede recurrir a los permisos, de manera que el archivo solo se pueda mover, borrar o escribir por el usuario al que está registrado el archivo/carpeta o por root.

Pero a veces uno quiere ir más allá, y quiere impedir el posible borrado accidental de un archivo.

Os voy a enseñar el uso básico del comando chattr

Empezaremos por crear un archivo en el escritorio para probar con él.
Abrimos una terminal y nos dirigimos al escritorio así:

scorpyo@pc-cito:~$ cd ~/Escritorio

Con eso nos plantaremos en nuestro escritorio obteniendo el siguiente prompt

scorpyo@pc-cito:~/Escritorio$

Ahora imaginemos que tenemos un archivo llamado "prueba" o lo creamos así como sigue:

scorpyo@pc-cito:~/Escritorio$ touch prueba

Ahora, si hacemos un ls veréis que aparece ese archivo nuevo en el escritorio.

Vamos a inmutabilizarlo.


scorpyo@pc-cito:~/Escritorio$ sudo chattr +i -V prueba

sudo es el comando que especifica que la operación que sigue se hará como administrador (Pedirá la clabe de administrador).
chattr es el comando para crear cambios en el sistema de archivos ext2 ext3 y ext4.
+i añade el valor de inmutabilidad al archivo.
-V Muestra una descripción detallada de la operación que se realiza.
prueba es el nombre del archivo.

Ahora, si queréis intentar borrar el archivo, cambiarlo o moverlo....
Es imposible, literalmente imposible.

Es más, ni root puede borrar el archivo sin antes quitar la inmutabilidad.

Para quitarlo solo tenemos que hacer la misma operación pero con el parámetro -i en lugar de +i.

scorpyo@pc-cito:~/Escritorio$ sudo chattr -i -V prueba

chattr es un comando muy interesante al que hay que dedicarle un poco de atención, puede ser muy importante para el uso en servidores que deban de guardar cierta información inalterable.

Un saludo.

sábado, 4 de febrero de 2012

Yo si te comprendo

A veces, la vida nos da lecciones que al principio no comprendemos.

Estas lecciones parecen duras, injustas o incluso increibles.

Lo malo de estas "lecciones" son el tiempo que duran, por el contrario, lo bueno que tienen es lo preparado que nos hacen estar para la proxima vez que nos ocurra algo parecido.

No todo lo que nos ocurre tiene por que ser malo, es cierto que hay cosas horribles que nos pueden pasar, es cierto que hay cosas que no se olvidan jamas. Pero no todas son así, y ninguna nos hace sufrir como en los primeros momentos, ya que uno lo va asimilando.

Quiero dirigirme a todos los que os sintáis así en este momento, y que os sentéis y reflexionéis.

Seguro que os acordáis de eso tan malo que os pasó de pequeños (a todos nos pasan cosas en el cole XD) y que creiamos que se acababa el mundo.

Sin embargo, aquí estáis, leyendo esto posiblemente con los ojos brillosos y esperando encontrar un poco de paz o una respuesta al por qué.

Lo cierto, es que ninguna de estas palabras puede hacer que te reconfortes tal y como uno quisiera, pero si que te hará pensar y darte cuenta de que lo importante aquí no es aguantar el tipo, si no desahogarse.

Mi consejo es una serie de etapas:

-Llora, llora todo lo que quieras, el llanto es una manera que tenemos de desahogarnos, si no llorásemos acabaríamos por explotar o algo peor.
Llora por rabia, por amor, por lo que quieras, pero suelta ese malestar de manera que las lágrimas se lleven algo de ese veneno que te nubla la mente y el alma.

-Habla las cosas.
Habla con un amigo o con alguien que creas que te pueda ayudar, que te escuche; A veces no hace falta que la otra persona diga nada, tan solo que escuche.
Hablar ayuda a comprender mejor la situación en la que te encuentras, porque razonas las cosas que andan en tu cabeza de manera más lógica.

-Reflexiona.
Tengo un amigo que siempre me decía una frase que no he olvidado nunca:
"Si un problema tiene solución no te preocupes, y si no lo tiene.... ¿Por qué te vas a preocupar?"  <Javier P.>
Sé que no se puede aplicar a todo, pero si a la mayoría.

-Tiempo
El tiempo es muy importante ya que hace que uno asimile la situación.
A veces son días, meses o años, pero el normalmente el tiempo hace que te sientas mejor.

Esos son mis consejos, que como es normal, son humildemente mías y no pretendo entrar en un debate de ello.
No todo lo que digo es aplicable a todo el mundo ni a todas las situaciones... pero yo creo que no está de más compartir lo que pienso.

Hay una persona que me ha hecho sentir el impulso de escribir esto, ya que me ha recordado lo mal que se pasa cuando uno se encuentra mal y no se tiene a donde acudir, hasta el punto de acudir a unos desconocidos en un chat.
Un abrazo para ella.

Aquí tenéis un amigo.

Un saludo.