Mostrando entradas con la etiqueta cifrado. Mostrar todas las entradas
Mostrando entradas con la etiqueta cifrado. Mostrar todas las entradas

miércoles, 3 de febrero de 2016

SCP: Copiando de manera segura.








Anteriormente en las entradas sobre ssh SCP  o secure copy no es mas que un medio para transferencia de ficheros entre host usando el protocolo SSH ( secure shell). Con ello podremos realizar nuestras copias de manera segura.

Ahora vamos a ver las diferentes maneras de usarlo:

· De local a remoto:

scp archivolocal usuario@ipdelservidor:/ruta/destino/del/archivodestino

· De remoto a local:

scp usuario@ipdelservidor:/ruta/archivoremoto /ruta/para/el/nuevo/archivo

· De remoto a remoto:

scp usuario@ipdelservidor1:/ruta/en/servidor1/archivo1usuario2@ipdelservidor2:/ruta/en/servidor2

· Para la copia recursiva de directorios usaremos -r como en los dos siguientes ejemplos:

scp -r archivolocal usuario@ipdelservidor:/ruta/destino/del/archivodestino

scp -r usuario@ipdelservidor:/ruta/archivoremoto /ruta/para/el/nuevo/archivo

Mediante scp podremos hacer copias seguras, compartir esos certificados de manera segura añadiendo la capa de seguridad que nos proporciona ssh. 






miércoles, 2 de diciembre de 2015

GPG (GnuPG): Cifrado simétrico sobre Linux







Hoy en día el cifrado de las comunicaciones en el ámbito empresarial es de vital importancia ya que cualquiera con pocos conocimientos podría estar a la escucha de nuestras comunicaciones y estar leyendo o captando todas nuestras comunicaciones. El cifrado GPG nos permitirá que aunque se capten estas comunicaciones solo el destinatario o alguien con la clave ( cifrado simétrico) pueda mostrar el contenido de las comunicaciones en definitiva es un poner una capa más de seguridad en nuestras comunicaciones que muchas veces contienen información sensible ( datos bancarios, identidades, etc..).

GPG o GnuPG es un herramienta de cifrado con soporte simétrico y asimétrico que viene a ser un reemplazo a PGP. Lo usos que le podemos dar GPG son mediante el terminal o aplicaciones gráficas pero también es aplicable para cifrar emails mediante pluggins en navegadores y gestores de correo. GPG viene implementado en múltiples sistemas como OpenBSD, GNU/Linux, etc.


Su funcionamiento es sencillo:



GPG cifra los mensajes usando pares de claves individuales asimétricas generadas por los usuarios. Las claves públicas pueden ser compartidas con otros usuarios de muchas maneras, un ejemplo de ello es depositándolas en los servidores de claves. Siempre deben ser compartidas cuidadosamente para prevenir falsas identidades por la corrupción de las claves públicas. También es posible añadir una firma digital criptográfica a un mensaje, de esta manera la totalidad del mensaje y el remitente pueden ser verificados en caso de que se desconfíe de una correspondencia en particular.
GnuPG también soporta algoritmos de cifrado simétricos, por ejemplo CASTS.
GPG no usa algoritmos de software que están restringidos por patentes, entre estos se encuentra el algoritmo de cifrado IDEA que está presente en PGP casi desde sus inicios. En su lugar usa una serie de algoritmos no patentados como ElGamalCAST5Triple DES (3DES), AES y Blowfish. También es posible usar IDEA en GPG descargando un plugin extra, sin embargo este puede requerir una licencia para usuarios de algunos países en donde esté patentada IDEA.
GPG es un software de cifrado híbrido que usa una combinación convencional de criptografía de claves simétricas para la rapidez y criptografía de claves públicas para el fácil compartimiento de claves seguras, típicamente usando recipientes de claves públicas para cifrar una clave de sesión que es usada una vez. Este modo de operación es parte del estándar OpenPGP y ha sido parte del PGP desde su primera versión.



Y después de un poco de teoría una practica simple de cifrado simétrico con GPG sobre Kali Linux, como dato importante los datos cifrados simetricamente son atacables mediante fuerza bruta, conviene introducir una contraseña alfanumérica robusta.

Lo primero que haremos es crear el fichero con su texto y comprobamos que se puede leer el texto creado mediante la orden cat:

echo "texto cifrado" > texto_cifrado.txt
cat texto_cifrado.txt

Ahora procedemos a hacer un cifrado simétrico nos pedirá que le asignemos una única contraseña y se nos genera un txt que sera texto_cifrado.txt.gpg y comprobamos que no se puede leer como antes medienate la orden cat:

gpg -c texto_cifrado.txt
cat texto_cifrado.txt.gpg

Por último desciframos el mensaje cifrado simétricamente mediante la contraseña anteriormente asignada:

gpg -d texto_cifrado.txt.gpg 

Como dato final hacemos lo mismo con una contraseña mal puesta y comprobamos que no se descifra. En la siguiente imagen esta descrito todo el proceso.





Como dato final las claves simétricas tienen dos problemas la retransmisión de las claves entre el emisor y receptor. Para solucionar esto se puede organizar sistemas de distribución seguros de claves simétricas. Por otro lado es muy importante la robustez de la contraseña ya que los ataques de fuerza bruta han evolucionado forma increíble usando sistemas de Cloud Computing para descifrar las claves en menos tiempo.


martes, 17 de noviembre de 2015

Securizando nuestras conexiones: Instalando y configurarando OpenVPN









Como IT una parte importante es la seguridad y esta hay que tomársela bastante en serio y para el ámbito empresarial más aún. En el mundo empresarial son muchas las ocasiones en que sus empleados trabajan en remoto fuera de la intranet, ya sea por trabajo a pie de calle, porque  su estructura empresarial no está centralizada en un lugar concreto en definitiva, a la hora de trabajar con sus sistemas y redes se tienen que vale de conexiones remotas que no son ni seguras ni estables y es aquí donde entra VPN.

Una VPN o red privada virtual nos permite tener una conexión estable, segura, fiable e incluso más rápida que otro tipo de conexiones remotas. Este tipo de conexión nos permite trabajar  a través de la WAN como si estuviéramos en la propia LAN y esto lo permite creando un túnel de conexión desde nuestro cliente hasta la red interna permitiendo trabajar al cliente remoto de una manera local y segura.





Para poner en práctica todo esto nos vamos a valer de un servidor Debian  y de OpenVPN. Antes de empezar la instalación recomiendo que visitéis los enlaces puestos a lo largo de la entrada y que os empapéis bien de los conocimientos previos, también es recomendable la web de OpenVPN que está en perfecto inglés como se ha de esperar. Vuelvo a repetir OpenVPN no es una instalación sencilla, requiere de conocimientos previos para poder llevar a cabo su correcta instalación, configuración y puesta en marcha.

1.- Instalación: Actualizamos el sistema e instalamos OpenVPN.

sudo apt-get update
sudo apt-get install openvpn

2.- Configuración: Comenzamos con la configuración de ficheros y generación de certificados necesarios.

Copiamos ficheros:

cp –r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa

Nos movemos al directorio easy-rsa:

cd /etc/openvpn/easy-rsa

Editamos el fichero vars:

vim /etc/openvpn/easy-rsa/vars

Dejamos esta línea así:

export KEY_SIZE=2048

Ponemos los valores siguientes:

export KEY_COUNTRY="ES"
export KEY_PROVINCE="SE"
export KEY_CITY="Seville"
export KEY_ORG="TEST"
export KEY_EMAIL="mail.mydomain"
export KEY_EMAIL="mail@host.domain
export KEY_CN=changeme
export KEY_NAME=changeme
export KEY_OU=changeme
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234

Generamos los certificados dentro del directorio easy-rsa, esto puede variar en el tiempo de exportación en función del tamaño del key:

source ./vars
./clean-all

./build-ca

Generamos el certificado del server:

./build-key-server saw

Ahora generamos el certificado del cliente:

./build-key

Generamos la clave HMAC:

openvpn --genkey --secret ta.key
cp ta.key keys

cp -r easy-rsa/keys/ .

Modificamos la configuración VPN para poner el servidor en funcionamiento:

vim /etc/openvpn/server.conf

Dejamos el archivo como aparece a continuación:

port 1194
proto tcp
dev tun

#Nuevos certificados
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/saw.crt
key /etc/openvpn/keys/saw.key
dh /etc/openvpn/keys/dh2048.pem
tls-auth /etc/openvpn/keys/ta.key 0

#rangos de direcciones
server 192.168.1.50 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"

#DNS 
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

client-to-client
keepalive 10 120

cipher AES-256-CBC # Triple-DES
comp-lzo

max-clients 5

user nobody
group nogroup
tcp-nodelay
persist-key
persist-tun

log /var/log/openvpn.log
status /var/log/openvpn-status.log

verb 3
mute 20
#client-config-dir ccd

Habilitamos el bit de forwarding:

echo 1 > /proc/sys/net/ipv4/ip_forward

Eliminamos decomentamos la linea "net.ipv4.ip_forward=1"en el fichero "/etc/sysctl.conf":

vim /etc/syscrl.conf

Cargamos el módulo tun:

modprobe tun

Después de esto habilitamos el servicio y lo arrancamos:

/etc/init.d/openvpn start

Añadimos la siguiente línea de comando para iptables:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s "192.168.88.0/24" -j ACCEPT
iptables -A FORWARD -j REJECT

iptables -t nat -A POSTROUTING -s "192.168.1.0/24" -j MASQUERADE

Finalmente guardar las reglas:

iptables-save


Finalmente vuelvo a recordar que para montar un servidor de este tipo debemos de tener unos conocimientos previos, esta guía es una mera muestra de como montarlo. Para llevarlo a acabo se deben tener conocimientos preestablecidos sobre redes, sistemas operativos, VPN y OpenVPN.



martes, 9 de junio de 2015

Bitlocker sobre Linux: Abriendo dispositivos cifrados con Bitlocker en Linux usando Dislocker.






Después de ver "Bitlocker: Encriptando & Desencriptando dispositivos" comentaba que existía la forma de desencriptar dispositivos cifrados con bitlocker en linux. Pues a lo largo de esta entrada se os va a explicar como realizar esto sobre Linux. 

Lo que vamos a usar para poder realizar esta tarea es Dislocker, que no es mas que una utilidad que nos va a permitir realizar esta tarea. Lo primero que haremos será descargar Dislocker mediante descarga normal o usando de wget de la siguiente forma "wget http://www.hsc.fr/ressources/outils/dislocker/download/dislocker.tar.bz2". 




Una vez descargado descomprimimos Dislocker haciendo uso de tar con los parámetros correspondientes "tar -xvjf dislocker.tar.bz2".

Ya teniéndolo descomprimido instalaremos dos librerías que nos harán falta "aptitude install libfuse-dev libpolarssl-dev".

Después de esto nos dirigimos a la carpeta "src" de Dislocker y ejecutamos la orden "make".




Y ahora la orden make install.




Ahora realizada ya la instalación comenzaremos creando las carpetas para montar los dispositivos "mkdir usbdrivebitlocker" y "mkdir usbmountbitlocker".




Una vez creadas conectamos el dispositivo y lo identificamos mediante la orden "fdisk -l" y vemos que es "/dev/sdc1" esto puede variar.




Ahora una vez ya identificado comenzamos desencriptando el disco con la utilidad dislocker "dislocker -r  -V /dev/sdc1 -p -- /media/usbdrivebitlocker" y nos pedirá una contraseña que es la contraseña de recuperación.




Ahora comenzaremos con el montaje mediante mount, "mount -o loop /media/usbdrivebitlocker/dislocker-file /media/usbmountbitlocker"




Y ya tenemos montado y con acceso a nuestro dispositivo desde linux, que había sido encriptado con bitlocker.









jueves, 28 de mayo de 2015

Bitlocker: Encriptando & Desencriptando dispositivos.







Hoy voy hablar del sistema de cifrado Bitlocker, este aunque nos parezca nuevo es un cifrado que lleva ya implementado tiempo concretamente desde Windows Vista hasta Windows 8.1 por el momento. 

Lo primero que hay que decir en su defecto que es un sistema de cifrado de Microsoft y por lo tanto solo funcionará para trabajar con él en sistemas Windows, aunque más adelante en siguientes entradas os mostraré que con sistemas Linux o OSX podremos abrir estos discos cifrados. En definitiva este sistema de cifrado es recomendable para empresas en las que trabajen con Windows como sistema operativo ya que como he dicho antes este sistema de cifrado no es multiplaforma.

El ejemplo que os voy a mostrar es sobre Windows 8.1, trabajando con cifrado sobre un USB ( por motivos geográficos estoy con el sistema en ingles como idioma pero no creo que tengáis problema con ello).

Lo primero que haremos será introducir el usb localizarlo y entrar en la herramienta de cifrado de Bitlocker.




Lo primero que haremos será tomar como opción una contraseña. También tenemos como opción usar una smart card, esta opción para empresas que trabajen con este tipo de tarjetas para fortalecer el acceso a determinados discos cifrados al que solo se tendrá acceso con esta tarjeta.




Ahora este punto es importante guardar la contraseña de recuperación, esta contraseña nos permitirá recuperar el acceso al dispositivo sin conocer la contraseña anteriormente establecida. Podemos guardarla en nuestra cuenta de Microsoft, imprimirla o como haré yo guardarla en un documento.




 Ahora toca el tipo de cifrado, en el ejemplo usaré el cifrado más rápido ya que al ser una unidad USB se va a mover por diferentes dispositivos. Pero si vamos a tratar con los mismos sistemas podremos hacer un cifrado más lento (completo).




Comenzamos el cifrado, es importante que no se desconecte el dispositivo. Si se quiere parar el proceso pulsamos pause y extraemos el dispositivo.




 Ahora ya podemos trabajar con el tan solo con conectarlo y acceder a el se nos pide la contraseña para acceder.




Si accedemos a las opciones de Bitlocker podemos ver las opciones que se nos dan en nuestro caso desencriptaremos el dispositivo para deshacer el cifrado.




Una vez pulsamos turn off Bitlocker se desencripta el dispositivo.




Por ultimo hablar de la contraseña de recuperación, es importante tenerla por que la necesitaremos en caso de olvidar la contraseña. Pero también es muy importante por que desde los sistemas Linux u OSX el proceso para desencriptar o tener acceso a ellos se realiza con esta contraseña.




Próximamente mostraré proceso para trabajar con este cifrado en sistemas Linux y OSX.