Seguridad

Pendrive Encriptado

El procedimiento muestra como encriptar un pendrive y poder utilizarlo en forma sencilla.

Dm-crypt es un device-mapper tal que provee cifrado transparente de dispositivos de bloque utilizando la nueva cryptoapi de Linux 2.6. Las escrituras a este dispositivo serán cifradas y las lecturas descifradas. Se podrá montar un sistema de archivos en el mismo de la manera habitual, pero no se podrán acceder los datos sin la clave.

cryptsetup es una herramienta que facilita el uso de dm-crypt, eliminando las llamadas directas a dmsetup.

Sistema de archivos encriptado

El procedimiento muestra como tener una unidad encriptada en un archivo (se crea el mismo con el comando dd) montando como dispotivo (loop).

Dm-crypt es un device-mapper tal que provee cifrado transparente de dispositivos de bloque utilizando la nueva cryptoapi de Linux 2.6. Las escrituras a este dispositivo serán cifradas y las lecturas descifradas. Se podrá montar un sistema de archivos en el mismo de la manera habitual, pero no se podrán acceder los datos sin la clave.

cryptsetup es una herramienta que facilita el uso de dm-crypt, eliminando las llamadas directas a dmsetup.

Extraído de wikipedia (http://es.wikipedia.org/wiki/Dm-crypt)

LogWatch

Logwatch es un sistema de monitoreo de logs configurable.  Analiza los logs del sistema (se suele programar para que se ejecute a la noche) y envía por correo un reporte en las áreas de las áreas configuradas.  Logwatch es usado actualmente por Linux y muchos sistemas UNIX.

Llaves RSA con OpenSSH

Introducción:

¿Qué son las llaves RSA?

El sistema criptográfico con clave pública RSA es un algoritmo asimétrico cifrador de bloques, que utiliza una clave pública, la cual se distribuye (en forma autenticada preferentemente), y otra privada, la cual es guardada en secreto por su propietario.

Una clave es un número de gran tamaño, que una persona puede conceptualizar como un archivo binario o como una cadena de bits.

La seguridad de este algoritmo radica en que no hay maneras rápidas conocidas de factorizar un número grande en sus factores primos utilizando computadoras tradicionales.

Extraído de Wikipedia (http://es.wikipedia.org/wiki/Claves_RSA)

Self-Signed SSL Certificates

SSL (Secure Socket Layer) es un protocolo de seguridad desarrollado para lograr que la transmisión de datos cliente/servidor a través de Internet sea mas segura. El SSL es un protocolo abierto, se basa en la utilización de un sistema de cifrado que emplea algoritmos matemáticos y un sistema de claves que solamente conocen el cliente y servidor. Estas claves permiten la encriptación datos, quien a su vez asegura la ilegibilidad de su contenido ante personas no deseadas, en pocas palabras, garantiza que la informacion que viaja entre cliente/servidor sea accesible solo para ambos extremos del canal (o tunel) de comunicación.

Para utilizar el protocolo SSL es necesario que el servidor soporte SSL y posea el certificado digital de seguridad correspondiente, quien deberá ser firmado por una "Autoridad Certificante" (mas conocida como CA o Certificate Authority).

La Autoridad Certificante o CA es el sistema responsable de la emisión de certificados digitales a los usuarios de un sistema que utiliza autenticación basada en certificados digitales. Dichas entidades son, por lo general empresas que se dedican a la creación de estos certificados. Aquí es donde se presentan 2 posibles caminos:

  • Crear una propia entidad certificante que nos permita firmar todos nuestros certificados
  • Realizar un "Pedido de firma de certificado" (Certificate Sign Request, o CSR) y enviarlo alguna empresa dedicada a la firma de certificados SSL (Thawte, Verysing, etc).


Cuando nos conectamos a un servidor que utiliza el protocolo SSL (como ser https://mail.google.com) el servidor se autentica (o valida su identidad) ante el navegador presentando un certificado digital.
Un certificado es la prueba de que un tercero ha verificado la autenticidad del sitio, así como también la identidad de la compañía responsable. Un certificado "válido" le da al los clietes la tranquilidad de estar enviando los datos de manera segura y al lugar deseado. Entendemos por certificado valido, a todo aquel certificado emitido por una entidad certificante "Conocida por el explorador", ya sea porque este conoce "nativamente" a la autoridad certificante o porque hemos importado manualmente el certificado de nuestra propia entidad certificante.

Este tutorial explica como crear los certificados necesarios y firmarlos con una CA propia, y tambien como crear las pedidos de firma de certificado para enviar a una CA (pasos 6 y 7)

## PEM Format

El formato PEM es el mas conocido otorgado por las Entidades Certificantes.
Por lo general tienen extensiones como .pem, .crt, .cer, and .key. Son archivos ASCII codificados con el algoritmo Base64 y contienen

"-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"

Certificados de servidor, certificados intermedios y claves privadas puede ser puestas en formato PEM.

Apache es un ejemplo the servidores que utilizan el formato PEM. Algunas plataformas soportan el que certificado y la clave privada se encuentren en un mismo archivo, uno debajo del otro, pero la mayoria, como Apache, espera que los certificados y claves se encuentren en archivos separados.

NMAP

Nmap es un programa de código abierto que sirve para efectuar rastreo de puertos TCP y UDP atribuido a Fyodor. Se usa para evaluar la seguridad de sistemas informáticos, así como para descubrir servicios o servidores en una red informática.

(Extraído de Wikipedia)

OpenSSH, iptables y fail2ban

SSH:

SSH (Secure SHell) -intérprete de comandos seguro- es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X (en sistemas Unix) corriendo.

Además de la conexión a otras máquinas, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a las máquinas y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH.

Seguridad:

SSH trabaja de forma similar a como se hace con telnet La diferencia principal es que SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible y ninguna tercera persona pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión; aunque es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular así la información entre destinos.

Al principio sólo existían los r-commands, que eran los basados en el programa rlogin, el cual funciona de una forma similar a telnet.

Historia:

La primera versión del protocolo y el programa eran libres y los creó un finlandés llamado Tatu Ylönen, pero su licencia fue cambiando y terminó apareciendo la compañía SSH Communications Security, que lo ofrecía gratuitamente para uso doméstico y académico, pero exigía el pago a otras empresas. En el año 1997 (dos años después de que se creara la primera versión) se propuso como borrador en la IETF.

A principios de 1999 se empezó a escribir una versión que se convertiría en la implementación libre por excelencia, la de OpenBSD, llamada OpenSSH.

Fail2Ban:

Fail2ban es un script que lee los logs (por ejemplo) cat /var/log/auth.log, /var/log/pwdfail o /var/log/apache/error_log y banea todas aquellas ips que fallan un determinado número de veces. Este baneo se realiza actualizando el firewall (iptables).

Netfilter/iptables:

Netfilter es un framework disponible en el núcleo Linux que permite interceptar y manipular paquetes de red. Dicho framework permite realizar el manejo de paquetes en diferentes estados del procesamiento. Netfilter es también el nombre que recibe el proyecto que se encarga de ofrecer herramientas libres para cortafuegos basados en Linux.

El componente más popular construido sobre Netfilter es iptables, una herramientas de cortafuegos que permite no solamente filtrar paquetes, sino también realizar traducción de direcciones de red (NAT) para IPv4 o mantener registros de log. El proyecto ofrecía compatibilidad hacia atrás con ipchains hasta hace relativamente poco, aunque hoy día dicho soporte ya ha sido retirado al considerarse una herramienta obsoleta. El proyecto Netfilter no sólo ofrece componentes disponibles como módulos del núcleo sino que también ofrece herramientas de espacio de usuario y librerías.Iptables es el nombre de la herramienta de espacio de usuario mediante la cual el administrador puede definir políticas de filtrado del tráfico que circula por la red. El nombre iptables se utiliza frecuentemente de forma errónea para referirse a toda la infraestructura ofrecida por el proyecto Netfilter. Sin embargo, el proyecto ofrece otros subsistemas independientes de iptables tales como el connection tracking system o sistema de seguimiento de conexiones, o que, que permite encolar paquetes para que sean tratados desde espacio de usuario. iptables es un software disponible en prácticamente todas las distribuciones de Linux actuales.

Distribuir contenido 
 
Distribuir contenido