Consejos para navegar seguro

Utilizar servidores HTTPS

HTTPS es un protocolo de transmisión de datos seguro basado en HTTP(el mas usado en la web). HTTPS nos provee de las siguientes caracteristicas para navegar seguros:

  • Confidencialidad, HTTPS transporta nuestros datos cifrados, es decir, si alguien tiene acceso a estos datos no podrá entender nada.
  • Integridad de los datos, HTTPS tiene características con las cuales nos asegura que los datos en la comunicación son difíciles de dañar o alterar su contenido.
  • Autenticidad de la identidad del servidor, HTTPS provee un certificado con el cual se asegura de que el servidor con el cual se hace la comunicación si es el real y no una copia fraudulenta.

Si el inicio de una URL empieza por HTTPS o nos aparece un icono en forma de candado quiere decir que se esta usando el protocolo HTTPS y se navega de forma mas segura.

Contraseñas y llaveros digitales

La mayoría de personas por facilidad utilizan la misma contraseña para diferentes páginas, ademas suelen ser palabras o combinaciones de estas que son comunes para recordarlas mas fácil, pero estas son malas prácticas de seguridad, para empezar si alguien tiene acceso a una contraseña podría entrar a diferentes partes donde se use la misma, ademas existen diccionarios para hacer ataques que contienen gran numero de palabras y combinaciones.

Se recomienda utilizar una contraseña larga con combinaciones de caracteres, letras y números, por ejemplo xIM3#.lKqa198)oU, pero ¿Cómo recordar estas contraseñas?

Para esto se hace uso de llaveros digitales, estos son softwares que permiten crear y guardar múltiples contraseñas seguras, largas y complejas. Estos cifran y almacenan las contraseñas en lugares seguros, requieren sólo una contraseña de acceso y también pueden guardar las preguntas de seguridad.

Unos ejemplo de estos llaveros son KeePass, Password Safe o 1Passwod.

Bash Scripting

Uno de los Lenguajes de programación mas importantes que debemos conocer en el área de la seguridad de la información es bash scriting ya que este nos brinda la posibilidad de automatizar tareas de nuestros sistemas operativos GNU Linux, junto a su configuración de una forma mas amigable y fácil, lo que otros interpretes no lo logran hacer con la misma facilidad que nos brinda bash.

Shell es el Intérprete de lenguaje de comandos, esto en español se traduce como caparazón (revestimiento), y es una capa intermedia entre el usuario y el sistema operativo (principalmente su Kernel).

La función principal del shell es: Leer, interpretar, solicitar la ejecución y mostrar los resultados de uno o varios comandos.

Lo primero que tienes que hacer para crear Shell scripts que puedan ser interpretados por Bash es inicializar tu script por los simbolos:

#!/bin/bash

Este llamara a el interprete bash para que se ejecute invocando el intérprete o directamente si tiene permisos de ejecución.

Si quieres saber mas sobre bash scripting puedes mirar este manual subido por la universidad de córdoba  Manual Bash Scripting o ir directamente a la documentación de Bash scripting

SHA256 en Python

La librería estandar de Python contiene un módulo incorporado llamado hashlib que puede realizar criptografía unidireccional. Este módulo incluye los algoritmos de seguridad hash SHA1, SHA224, SHA256, SHA384 y SHA512 así como el algoritmo MD5 de RSA (definido en Internet RFC 1321).
A continuación se presenta un ejemplo importando este módulo:

SHA: Secure Hash Algorithm: Algoritmo de Hash Seguro (familia de funciones hash de cifrado)
Función Hash: Algoritmo que transforma un conjunto de elementos de datos en un único valor de longitud fija.
Valor Hash: Puede ser utilizado para la verificación de la integridad de copias de un dato original sin necesidad de proveer el dato original. (Utilizado para fines de comparación).

Referencias
Hosmer, Python Forensics (2014), páginas 25 y 26.
https://docs.python.org/3/library/hashlib.html