20 jul 2008

Información confidencial ! criptografia

Programa muy útil y GLP para tener nuestra mas preciada infracción privada.

En el mercado hay innumerable programas para este propósito les muestro uno que además de ser uno de los mejoras , tiene una buena interfaz gráfica y es multiplataforma. TrueCrypt

Progrmas similares
Dekart private
CryptoExpert

Este programa te permite la creación de una unidad virtual, la cual se encuentra cifrada, y que solo puedes ver cuando ejecutas el programa , en esa unidad puedes trabajar como si fuera un disco duro , ejecutar programas desde hay , ver películas , fotos , editar documentos y demás. ester programa además de GLP y multiplatafroma posee múltiples métodos de cifrado y de generados de llaves (hash)

TrueCrypt currently supports the following hash algorithms:
RIPEMD-160
SHA-512
Whirlpool
Algoritmos de cifrado:



Truecryp tiene opciones mas avanzadas como alojar la unidad virtual dentro de otras unidades virtuales o cifrando todo un sistema operativo o tenerlo como una unidad de rescate.

los sistemas operativos en que lo he manejado es windows (winxp)y linux(ubuntu), este programa posee un interfaz gráfica , aunque también se puede manejar por comandos. para la instalación en linux o windows descargar de la pagina http://www.truecrypt.org/downloads.php

*en ubuntu no me aparece el icono en el menú asi que toca agregarlo manualmente o ejecutar desde consola instalación en ubuntu (aqui) en windows, es mucho mas difícil pero como ya todos son expertos "NEXT>"

hay muchos tutoriales ademas el programa es muy intuitivo de como se crean los volúmenes , además es indistinto en linux y windows. http://www.truecrypt.org/docs/ además tanto en windows y linux se instala un PDF , con la información para manejar truecrypt

Veremos alguna opciones cuando creamos un volumen , al principio salen varias opciones, 3 en windows y dos en linux

1> es crear un archivo, (como un iso) cifrado el cual se auto monta como una unidad virtual,
2>es que cejemos una partición o disco y de hay se toma espacio libre para crear una partición cifrada.
3> (solo en windows) permite cifrar el sistema operativo


luego de crear el archivo, nos va a preguntar que método de cifrado y que hash vamos a utilizar bueno todos son buenos, AES, SERPENT, TWOFISH ,la diferencia radica el el modelo matemático, luego existe una combinación de estos lógicamente estas combinaciones son muchísimo o casi imposibles de descifrar. luego encojemos le hash los cuales mejoran de arriba hacia abajo el de menos bit RIPEMD-128 hasta whirlpool .

cual debemos seleccionar? bueno primero leer acerca de cada uno para tu propio conocimiento. tanto el método de cifrado como el hash entre mas robusto mas lento es la trasmisión de acceso de la unidad virtual . por ejemplo es como tener una USB1.0 y una USB2.0.

tomemos en cuenta ciertas cosas como son , para que lo cifro, quienes son los posibles intrusos,

si queremos proteger en una empresa información valiosa que sabemos que pueden haber espías infiltrados que traten de robarla utilizamos la mas robusta posible , pero si solo queremos guardar los datos para que mi hermanito cuando entre al pc no me los borre ni lea mis documentos, entonces utilizamos lo mas liviano ya que entre mas rápido sea la transferencia de archivos mas rápido va andar la maquina cuando ejecutemos archivos desde esa unidad.

una protección extra es ocultar el archivo creado , en windows en propiedades archivo oculto y en linux, fácil solo un punto al comienzo del nombre


. -los volúmenes creados los puedes trasportar y abrirlos tanto en linux como windows.

15 jul 2008

Mover a .. y Copiar a .. en Ubuntu

Enchulando Ubuntu 8.04....

Resulta que nautilus no trae en el menú las opciones mover a, copiar a , al dar click con el botón derecho del mouse..



manos a la obra y enchulemos nuestro Ubuntu

1) Instalamos nautilus-actions-config

apt-get install nautilus-actions-config

2) Abrimos el programa un editor de Texto , en mi caso gedit que trae el entorno Gnome

3) Copiamos estos dos Script , cada uno en un archivo nuevo , y lo guardamos en /usr/bin
yo los llame nautilus_copyto y nautilus_maoveto

nautilus_Copyto
#! /bin/sh
# nautilus_copy_to
################################################## ########################
# Shellscript: Add CopyTo function to Nautilus
# Version : 1.01-2
# Author : Tony Whelan
# Modificado - optimizado : Dugar Agamez (2008-07-14)
# Traducido : Español (Dugar Agamez - Colombia)
# Date : 2007-04-24
# Category : File Utilities
################################################## ########################
# Description
# Provide (via Nautilus Actions Configuration) a right-click menu option
# to Copy selected files to another location via a file dialog
# For simplicity, this version only allows copying files, not folders
################################################## ########################
# This version improves the extraction of filename from pathname
# and adds quotes around $i for correct processing of filenames containing spaces
# Note that this script will not copy files from remote machines (SMB)
# The Nautilus Actions Confuguration tool should only allow local files to present this script
################################################# #########################
#Actualizacion (2008-07-14)
#correccion en la sintesis
#mensaje de Archivos copiados
#mejoramiento de la pregunta de sobreescribir archivo
#barra de proceso del copiado, con porcentages y nombre del archivo en tiempo real
#
#
# Define variables
PN="Nautilus CopyTo" # program name
VER='1.01-2'
errmsg1="Se necesitan uno o mas archivos como parametro de entrada"
errmsg2="Este Scrip esta diseñado para ser llamado por Nautilus"
errmsg3="El archivo no se puede copiar en el destino"
copied=0 # Count of files copied
per=0 # porcentage de la copia
skipped=0 # Count of files skipped
dest="" # destination pathname
errcount=0 # count of any errors returned by copy operation
curfile="" # name of file currently being processed (without path)
s_size="" # file size of source file
s_date="" # date/time stamp of source file
t_size="" # file size of target file
t_date="" # date/time stamp of target file


###############################
# Define subroutines

# Display usage message and exit script when user presses OK
Usage () {
zenity --error --title "$PN $VER" --text "$errmsg1 $errmsg2"
exit 1 # return code of 1 signifies script failed to complete action
}

# Display supplied message text (one parameter) and return on press of OK button
msg () {
zenity --info --title "$PN $VER" --text "$1"
}

# Display message showing target filename, and size/datestamps, and prompt to over-write
okwrite (){
# On return, the $? variable is 0 if you press Ok and 1 if you press Cancel.
response=`zenity --question --title "$PN $VER - Archivo Existente" --text "¿Desea sobrescribir el archivo $1?
\nArchivo Existente:\n $2 bytes, Modificado $3\nSobrescribir con:\n $4 bytes, Modificado $5"`
}

###############################

# If no parameters supplied, display usage message and exit
[ $# -lt 1 ] && Usage

# Display the CopyTo dialog box for user to select destination
# Note the single quotes in first code line below are backwards single quotes!
# These redirect standard output to the environment variable 'dest'
dest=`zenity --file-selection --directory --title "Seleccione el directorio destino"`

# if variable returned is not a valid folder name, user made no selection so abort
[ ! -d "$dest" ] && exit 1

# Process the parameters
(for i in $*
do
# Get the filename without the path
# use double quotes around $i to handle filenames with spaces
curfile=`basename "$i"`

# Does the file exist at the destination?
if [ -f "$dest/$curfile" ] # if exist
then
# get current source file's size and date/time details
s_date=`find "$i" -printf "%Ta %Td %Tb %TY %TH:%TM:%TS"`
s_size=`find "$i" -printf "%s"`
# get destination file size and date/time details
t_date=`find "$dest/$curfile" -printf "%Ta %Td %Tb %TY %TH:%TM:%TS"`
t_size=`find "$dest/$curfile" -printf "%s"`
# prompt user whether to overwrite target with source
okwrite "$curfile" "$t_size" "$t_date" "$s_size" "$s_date"

if test `expr $?` -gt 0
then
skipped=`expr $skipped + 1`
continue
fi
fi
# copy the file preserving the source file's attributes where possible
echo "#"$curfile

if cp -pr "$i" "$dest/$curfile"
then
copied=`expr $copied + 1`
per=`expr $copied \* 100 \/ $#`
echo $per
else
msg "Lo siento, no se puede copiar $curfile a ${dest}. No tenienes los permisos necesarios"
fi
sleep 0.1 # si decea puede omitir esta linea solo permite visualizar mejor el efecto grafico

done)|zenity --progress --percentage=0 --auto-close --title "Copiando..." --text "Archivo"

exit 0



Nautilus_Moveto
#! /bin/sh
# nautilus_move_to
################################################## ########################
# Shellscript: Add MoveTo function to Nautilus
# Version : 1.01-2
# Author : Tony Whelan
# Modificado - optimizado : Dugar Agamez (2008-07-14)
# Traducido : Español (Dugar Agamez - Colombia)
# Date : 2007-04-24
# Category : File Utilities
################################################## ########################
# Description
# Provide (via Nautilus Actions Configuration) a right-click menu option
# to Move selected files to another location via a file dialog
# For simplicity, this version only allows moving files, not folders
################################################## ########################
# This version improves the extraction of filename from pathname
# and adds quotes around $i for correct processing of filenames containing spaces
# Note that this script will not copy files from remote machines (SMB)
# The Nautilus Actions Confuguration tool should only allow local files to present this script
################################################### #######################
#Actualizacion (2008-07-14)
#correccion en la sintesis
#mensaje de Archivos Movidos
#mejoramiento de la pregunta de sobreescribir archivo
#barra de proceso del copiado, con porcentages y nombre del archivo en tiempo real
#
#
# Define variables
PN="Nautilus CopyTo" # program name
VER='1.01-2'
errmsg1="Se necesitan uno o mas archivos como parametro de entrada"
errmsg2="Este Scrip esta diseñado para ser llamado por Nautilus"
errmsg3="El archivo no se puede mover al destino"
copied=0 # Count of files copied
per=0 # porcentage de la copia
skipped=0 # Count of files skipped
dest="" # destination pathname
errcount=0 # count of any errors returned by copy operation
curfile="" # name of file currently being processed (without path)
s_size="" # file size of source file
s_date="" # date/time stamp of source file
t_size="" # file size of target file
t_date="" # date/time stamp of target file


###############################
# Define subroutines

# Display usage message and exit script when user presses OK
Usage () {
zenity --error --title "$PN $VER" --text "$errmsg1 $errmsg2"
exit 1 # return code of 1 signifies script failed to complete action
}

# Display supplied message text (one parameter) and return on press of OK button
msg () {
zenity --info --title "$PN $VER" --text "$1"
}

# Display message showing target filename, and size/datestamps, and prompt to over-write
okwrite (){
# On return, the $? variable is 0 if you press Ok and 1 if you press Cancel.
response=`zenity --question --title "$PN $VER - Archivo Existente" --text "¿Desea sobrescribir el archivo $1?
\nArchivo Existente:\n $2 bytes, Modificado $3\nSobrescribir con:\n $4 bytes, Modificado $5"`
}

###############################

# If no parameters supplied, display usage message and exit
[ $# -lt 1 ] && Usage

# Display the CopyTo dialog box for user to select destination
# Note the single quotes in first code line below are backwards single quotes!
# These redirect standard output to the environment variable 'dest'
dest=`zenity --file-selection --directory --title "Seleccione el directorio destino"`

# if variable returned is not a valid folder name, user made no selection so abort
[ ! -d "$dest" ] && exit 1

# Process the parameters
(for i in $*
do
# Get the filename without the path
# use double quotes around $i to handle filenames with spaces
curfile=`basename "$i"`

# Does the file exist at the destination?
if [ -f "$dest/$curfile" ] # if exist
then
# get current source file's size and date/time details
s_date=`find "$i" -printf "%Ta %Td %Tb %TY %TH:%TM:%TS"`
s_size=`find "$i" -printf "%s"`
# get destination file size and date/time details
t_date=`find "$dest/$curfile" -printf "%Ta %Td %Tb %TY %TH:%TM:%TS"`
t_size=`find "$dest/$curfile" -printf "%s"`
# prompt user whether to overwrite target with source
okwrite "$curfile" "$t_size" "$t_date" "$s_size" "$s_date"

if test `expr $?` -gt 0
then
skipped=`expr $skipped + 1`
continue
fi
fi
# copy the file preserving the source file's attributes where possible
echo "#"$curfile

if mv "$i" "$dest/$curfile"
then
copied=`expr $copied + 1`
per=`expr $copied \* 100 \/ $#`
echo $per
else
msg "Lo siento, no se puede mover $curfile a ${dest}. No tenienes los permisos necesarios"
fi
sleep 0.1 # si decea puede omitir esta linea solo permite visualizar mejor el efecto grafico

done)|zenity --progress --percentage=0 --auto-close --title "Moviendo..." --text "Archivo"

exit 0



descarga de los script (aqui)
Script original es de Tony Whelan , traducido y mejorado por mi.
/usr/bin/nautilus_copyto
/usr/bin/nautilus_moveto

4) Abrimos Configuraciones de acciones de nautilus
el programa el se encuentra en Sistema/Preferencia/ se llama Configuración de acciones de Nautilus

5) Damos en y configuramos de la siguiente manera para nautilus_copyto,
en icono puedes escoger el que mas te guste o valla con tu tema actual, el el cuadro consejo puedes colocar cualquier mensaje es es que aparece en la bara de estado




































damos click en y luego presionamos nuevamente





















le damos en
queda con los dos menu añadido, para que nautilus y los script funcionen correctamente deberemos reiniciar a nautilus , en la consola de comandos ejecutamos

killall nautilus

Esto nos cierra y abre nuevamente nuestro nautilus


Puedes copiar y mover arvhivos y/o carpetas, tambin grupos de estos,


















Listo ya tenemos nuestros script funcionando....

Actualización :

para que puedas copiar archivos/carpetas que contengan los nombres con espacios, ejemplo : la playa.jpg , hay que cambiar los separadores de argumentos que por defecto es el espacio, por otro.
agregar en cada uno de los archivos

#! /bin/sh

IFS='ç' # puedes agregar cualquier carácter que no uses , puede ser coma , ó \ ó ^ etc

# nautilus_copy_to

.
.