martes, 17 de noviembre de 2015

Protocolos de Seguridad

Hola, hoy les voy hablar acerca de los protocolos de seguridad de la información, primero hay que saber que es un protocolo de seguridad.
Ahora hablaremos, de algunos de los protocolos de seguridad que existen:

AAA


La sigla AAA puede traducirse en español como Autenticación, Autorización y Contabilización (originalmente, Authentication, Authorization y Accounting). Cuando hablamos de AAA (triple A), no nos estamos basando en un solo protocolo o en algunos en especial, sino en una familia de protocolos que proveen los servicios anteriormente mencionados. Si le adicionamos el concepto deAuditoría, tendríamos lo que a veces se conoce como AAAA, o cuádruple A. Para comprender mejor estos sistemas de autenticación, debemos recordar primero los conceptos que representan.

¿Cómo Funciona?
Autenticación 
La autenticación es el proceso por el que una entidad prueba su identidad ante otra. Normalmente la primera entidad es un cliente (usuario, ordenador, etc.) y la segunda un servidor (ordenador). La Autenticación se consigue mediante la presentación de una propuesta de identidad (vg. un nombre de usuario) y la demostración de estar en posesión de las credenciales que permiten comprobarla. Ejemplos posibles de estas credenciales son las contraseñas, los testigos de un sólo uso (one-time tokens), los Certificados Digitales, ó los números de teléfono en la identificación de llamadas. Viene al caso mencionar que los protocolos de autenticación digital modernos permiten demostrar la posesión de las credenciales requeridas sin necesidad de transmitirlas por la red (véanse por ejemplo los protocolos de desafío-respuesta).

Autorización 
Autorización se refiere a la concesión de privilegios específicos (incluyendo "ninguno") a una entidad o usuario basándose en su identidad (autenticada), los privilegios que solicita, y el estado actual del sistema. Las autorizaciones pueden también estar basadas en restricciones, tales como restricciones horarias, sobre la localización de la entidad solicitante, la prohibición de realizar logins múltiples simultáneos del mismo usuario, etc. La mayor parte de las veces el privilegio concedido consiste en el uso de un determinado tipo de servicio. Ejemplos de tipos de servicio son, pero sin estar limitado a: filtrado de direcciones IP, asignación de direcciones, asignación de rutas, asignación de parámetros de Calidad de Servicio, asignación de Ancho de banda, y Cifrado.

Contabilización 
La contabilización se refiere al seguimiento del consumo de los recursos de red por los usuarios. Esta información puede usarse posteriormente para la administración, planificación, facturación, u otros propósitos. La contabilización en tiempo real es aquella en la que los datos generados se entregan al mismo tiempo que se produce el consumo de los recursos. En contraposición la contabilización por lotes (en inglés batch accounting) consiste en la grabación de los datos de consumo para su entrega en algún momento posterior. La información típica que un proceso de contabilización registra es la identidad del usuario, el tipo de servicio que se le proporciona, cuando comenzó a usarlo, y cuando terminó.

Kerberos

El protocolo de autenticación Kerberos está entre los más usados en entornos de red. El sistema Kerberos identifica usuarios implementando una biblioteca grande y compleja de “claves” encriptadas que sólo asigna la plataforma Kerberos. Estas claves no pueden ser leídas o exportadas fuera del sistema. Los usuarios humanos y los servicios de red que requieren acceso a un dominio, son autenticados por Kerberos de la misma forma. Cuando Kerberos verifica que una contraseña de usuario se corresponde con una clave almacenada, autentica al usuario. Cuando el usuario intenta acceder a otro servicio de red, puede ser necesaria otra autenticación. Sin embargo, todos los servicios de red en este sistema interactúan directamente con Kerberos, no con el usuario. La eficiencia del entorno de Kerberos permite a los usuarios autenticarse una vez, y el acceso se concede seguidamente a otros servicios a través de la compartición de claves. Una vez autenticado, juega el rol de una autoridad para ese usuario y administra el proceso del archivo clave para el resto de todos los servicios. El sistema usa estas claves para convencer al resto de servicios de red para los que el usuario ya se ha autenticado. Para el usuario, la experiencia es perfecta. Detrás del escenario, los procesos de autenticación múltiples pueden dar como resultado que el usuario pase sólo la primera etapa.

TACACS


(acrónimo de Terminal Access Controller Access Control System , en inglés ‘sistema de control de acceso mediante control del acceso desde terminales’) es un protocolo de autenticación remota, propietario de cisco, que se usa para comunicarse con un servidor de autenticación comúnmente usado en redes Unix. TACACS permite a un servidor de acceso remoto comunicarse con un servidor de autenticación para determinar si el usuario tiene acceso a la red. TACACS está documentado en el RFC 1492.
TACACS + utiliza Transmission Control Protocol (TCP) Puerto 49 para la comunicación entre el cliente TACACS + y el servidor TACACS +. Un ejemplo es un switch Cisco autenticar y autorizar el acceso administrativo al del interruptor de IOS CLI. El interruptor es el cliente de TACACS + y Cisco Secure ACS es el servidor.

Uno de los diferenciadores clave de TACACS + es su capacidad para separar la autenticación, autorización y contabilidad como funciones separadas e independientes. Esta es la razón por TACACS + se utiliza tan comúnmente para la administración del dispositivo, a pesar de que todavía RADIUS es sin duda capaz de proporcionar AAA administración del dispositivo.

Administración de dispositivos puede ser muy interactiva en la naturaleza, con la necesidad de autenticarse una vez, pero autorizar muchas veces durante una sola sesión administrativa en la línea de comandos de un dispositivo. Un router o switch puede ser necesario para autorizar la actividad de un usuario en función de cada comando. TACACS + está diseñado para dar cabida a ese tipo de necesidad de autorización. Como su nombre lo describe, TACACS + fue diseñado para AAA administración de dispositivos, para autenticar y autorizar a los usuarios en mainframe y terminales de Unix, y otros terminales o consolas.
o en toda la red.

jueves, 12 de noviembre de 2015

RADIUS

Empecemos hablando de FREERADIUS:
RADIUS es un protocolo de autenticación, autorización y manejo de cuentas de usuariobasado en UDP que originalmente desarrollado por Livingston Enterprises y publicado en 1997. Es utilizado para administrar el acceso remoto y la movilidad IP, un protocolo abierto ordinario y, como ocurre en servicios de acceso por modem, DSL, servicios inalámbricos 802.11 o servicios de VoIP (Voice over IP o Voz sobre IP). Este protocolo trabaja a través del puerto 1812 por UDP.
La autenticación gestionada por este protocolo se realiza a través del ingreso de un nombre de usuario y una clave de acceso. Esta información es procesada por un dispositivo NAS a través de PPP  o Protocolo Punto-a-Punto siendo posteriormente validada por un servidor RADIUS a través del protocolo correspondiente valiéndose de diversos esquemas de autenticación, como PAP o Protocolo de Autenticación de Clave de acceso, CHAP o EAP, y permitiendo el acceso al sistema.

El RADIUS servidor se pueden acumular estos datos certificados a nivel local pero también puede almacenar datos de autenticación en un aire libre de SQL de base de datos o incluso un archivo externo de UNIX. De hecho, el radio es una opción excepcional para llevar a cabo la contabilidad sin ningún tipo de molestia. También puede mejorar sensiblemente la seguridad al permitir la centralización del poder ejecutivo contraseña. En general, si la gente toma a través del servidor RADIUS. 

FREERADIUS es un protocolo libre que permite una mayor colaboración de la comunidad y que puede cubrir las necesidades que otros servidores RADIUS no podían. Esta distribuido bajo la GNU General Public License, versión 2, y es gratuito para descargar y utilizar. La suite incluye un FreeRADIUS RADIUS del servidor, una licencia BSD biblioteca cliente RADIUS, un PAM biblioteca, un Apache del módulo, y numerosas utilidades relacionadas con RADIUS adicionales y bibliotecas de desarrollo

 Actualmente incluye soporte para LDAP, SQL y otras bases de datos, así como EAP, EAP-TTLS y PEAP. Actualmente incluye soporte para todos los protocolos comunes de autenticación y bases de datos.
En la mayoría de los casos, la palabra “FreeRADIUS” se refiere a la libre de código abierto RADIUS del servidor de esta suite.
FreeRADIUS es el más popular de código abierto del servidor RADIUS 2  y el gran despliegue del servidor RADIUS la mayoría en el mundo. 2 Es compatible con todos los comunes protocolos de autenticación y el servidor viene con un PHP de administración de usuarios basada en web, la herramienta, llamada dialupadmin. Es la base para muchos RADIUS productos y servicios comerciales, como los sistemas integrados, aparatos de RADIUS que el apoyo de redes de control de acceso y WiMAX. Se suministra la AAA necesidades de muchos de muchas empresas.
En Unix tenemos varias formas de instalar.


A continuación se muestra un tutorias muy sencillo de como instalar FreeRADIUS en UBUNTU


1.   En Ubuntu podemos empezar  instalando los paquetes de LAMP (Linux, Apache, MySQL y PHP).
sudo apt-get install apache2
sudo apt-get install php5 libapache2-mod-php5
sudo apt-get install mysql-server

*Importante* antes de hacer la instalación entrar con súper usuario:
Su
Luego digitar la contraseña del root.

 2. Instalamos el paquete de FreeRadius: 


apt-get install freeradius freeradius-mysql



3. Editamos el archivo "users" y creamos un usuario para hacer las pruebas de funcionamiento del radius:
nano /etc/freeradius/users
creamos un nuevo usuario con nuestros propios datos y lo ponemos al final del archivo:

nmarjorie Cleartext-Password := "123456"
Service-Type = Framed-User,
Framed-Protocol = PPP,
# Framed-IP-Address = 172.16.3.33,
# Framed-IP-Netmask = 255.255.255.0,
# Framed-Routing = Broadcast-Listen,
# Framed-Filter-Id = "std.ppp",
# Framed-MTU = 1500,
Framed-Compression = Van-Jacobsen-TCP-IP

La primera prueba que podemos hacer es habilitar el programa en modo debug:
/etc/init.d/freeradius stop
freeradius -X
radtest nmarjorie 1234561 127.0.0.1 1812 testing123
Si todo esta bien, veremos esta información:


Sending Access-Request of id 174 to 127.0.0.1 port 1812
User-Name = "ncalderon"
User-Password = "123456"
NAS-IP-Address = 127.0.1.1
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=174, length=38
Service-Type = Framed-User
Framed-Protocol = PPP
Framed-Compression = Van-Jacobson-TCP-IP
Debemos asegurarnos de recibir un "Access-Accept" del request que se ha enviado.
 ******* Y listo instalamos freeRADIUS en nuestro ubuntu*********

Certificados Digitales

Hola a todos, el día de hoy vamos hablar de un tema super interesante el cual es CERTIFICADOS DIGITALES.

Empezemos con ¿Qué es un Certificado Digital?


El Certificado Digital es el único medio que permite garantizar técnica y legalmente la identidad de una persona en Internet. Se trata de un requisito indispensable para que las instituciones puedan ofrecer servicios seguros a través de Internet. Además:

El certificado digital permite la firma electrónica de documentos, el receptor de un documento firmado puede tener la seguridad de que éste es el original y no ha sido manipulado y el autor de la firma electrónica no podrá negar la autoría de esta firma.

El certificado digital permite cifrar las comunicaciones. Solamente el destinatario de la información podrá acceder al contenido de la misma.

La principal ventaja es que disponer de un certificado le ahorrará tiempo y dinero al realizar trámites administrativos en Internet, a cualquier hora y desde cualquier lugar.

Un Certificado Digital consta de una pareja de claves criptográficas, una pública y una privada, creadas con un algoritmo matemático, de forma que aquello que se cifra con una de las claves sólo se puede descifrar con su clave pareja.

El titular del certificado debe mantener bajo su poder la clave privada, ya que si ésta es sustraída, el sustractor podría suplantar la identidad del titular en la red. En este caso el titular debe revocar el certificado lo antes posible, igual que se anula una tarjeta de crédito sustraída.

La clave pública forma parte de lo que se denomina Certificado Digital en sí, que es un documento digital que contiene la clave pública junto con los datos del titular, todo ello firmado electrónicamente por una Autoridad de Certificación, que es una tercera entidad de confianza que asegura que la clave pública se corresponde con los datos del titular.

La Autoridad de Certificación se encarga de emitir los certificados para los titulares tras comprobar su identidad.

El formato de los Certificados Digitales está definido por el estándar internacional ITU-T X.509. De esta forma, los certificados pueden ser leídos o escritos por cualquier aplicación que cumpla con el mencionado estándar.

Otra utilidad de los Certificados Digitales es que posibilitan el envío de mensajes cifrados: utilizando la clave pública de un Certificado, es posible cifrar un mensaje y enviarlo al titular del Certificado, quien será la única persona que podrá descifrar el mensaje con su clave privada.

miércoles, 4 de noviembre de 2015

SSL

Hola a todos hoy vamos a ver lo que es el protocolo SSL,  un poco de historia para saber desde cuando este este protocolo, cuáles son sus variantes, su funcionamiento y donde lo podemos aplicar.

¿Qué es SSL?
SSL significa "Secure Sockets Layer". SSL Definición, Secure Sockets Layer es un protocolo diseñado para permitir que las aplicaciones para transmitir información de ida y de manera segura hacia atrás. Las aplicaciones que utilizan el protocolo Secure Sockets Layer sí saben cómo dar y recibir claves de cifrado con otras aplicaciones, así como la manera de cifrar y descifrar los datos enviados entre los dos.

¿Cómo funciona el SSL? 
Algunas aplicaciones que están configurados para ejecutarse SSL incluyen navegadores web como Internet Explorer y Firefox, los programas de correo como Outlook, Mozilla Thunderbird, Mail.app de Apple, y SFTP (Secure File Transfer Protocol) programas, etc Estos programas son capaces de recibir de forma automática SSL conexiones.
Para establecer una conexión segura SSL, sin embargo, su aplicación debe tener una clave de cifrado que le asigna una autoridad de certificación en la forma de un Certificado. Una vez que haya una única clave de su cuenta, usted puede establecer una conexión segura utilizando el protocolo SSL.

Una breve historia
En los primeros días de la World Wide Web, claves de 40-bit de poco se usaron. Cada bit puede contener un uno o un cero - lo que significaba que eran dos claves diferentes disponibles. Eso es un poco más de un billón claves distintas.
Debido a la velocidad cada vez mayor de computadoras, se hizo evidente que una clave de 40 bits no era lo suficientemente seguro. Posiblemente, con los procesadores de gama alta que vendría en el futuro, los piratas informáticos podría llegar a probar todas las claves hasta encontrar el adecuado, lo que les permite descifrar y robar información privada. Que tomaría algún tiempo, pero era posible.
Las claves se alargaron a 128 bits. Eso es 2 claves, códigos de cifrado o 340.282.366.920.938.463.463.374.607.431.768.211.456 único. (Eso es 340000000000000 billones de billones, para aquellos de ustedes hacer el seguimiento en casa.) Se determinó que si las computadoras siguió avanzando en la velocidad como lo han hecho en el pasado, estos códigos de 128 bits que permanecen seguros durante por lo menos una década más, si no más. Certificados DigiCert no se detienen allí, sin embargo. Los certificados SSL DigiCert también son compatibles con el nuevo estándar de RSA 2048-bit de encriptación.

Versiones SLL

  • SSL 3.0

El protocolo SSL fue desarrollado originalmente por Netscape.6 La versión 1.0 nunca se entregó públicamente; la versión 2.0 se presentó en febrero de 1995 pero "contenía una cantidad de fallas de seguridad que al final llevaron al diseño de la versión SSL 3.0".7 Dicha versión, presentada en 1996, fue un rediseño completo del protocolo producido por Paul Kocher, quien trabajó con los ingenieros de Netscape Phil Karlton y Alan Freier. Las versiones más nuevas de SSL/TLS están basadas en SSL 3.0. El borrador de 1996 de SSL 3.0 fue publicado por la IETF como el histórico RFC 6101. En el mes de octubre de 2014, se generó una nueva vulnerabilidad sobre el protocolo SSL en su versión 3.0, Vulnerabilidad de Poodle.

  • TLS 1.0

TLS 1.0 fue definido en el RFC 2246 en enero de 1999 y es una actualización de SSL versión 3.0. Como dice el RFC, "las diferencias entre este protocolo y SSL 3.0 no son dramáticas, pero son significativas en impedir la interoperabilidad entre TLS 1.0 y SSL 3.0". TLS 1.0 incluye una forma en la cual la implementación puede conectarse en SSL 3.0, debilitando la seguridad.

  • TLS 1.1

TLS 1.1 fue definido en el RFC 4346 en abril de 2006.8 Es una actualización de TLS 1.0. Las diferencias más significativas incluyen:

  • Agrega protección contra ataques de CBC.
    • El vector de inicialización (IV) implícito fue reemplazado por un IV explícito.
    • Cambio en el manejo de los errores de relleno.
  • Soporte para el registro de parámetros de IANA

  • TLS 1.2

TLS 1.2 fue definido en el RFC 5246 en agosto del 2008. Se basa en una especificación posterior de TLS 1.1. Las mayores diferencias son:


  • la combinación MD5-SHA-1 en la función pseudoaleatoria (PRF) fue reemplazada por SHA-256, con la opción de usar PRFs especificados en la cipher-suite.
  • la combinación MD5-SHA-1 en el mensaje terminado fue reemplazada por SHA-256, sin la opción de usar algoritmos de hash específicos para la cipher-suite. Sin embargo, el tamaño del hash en el mensaje terminado es truncado a 96 bits.
  • la combinación MD5-SHA-1 en el elemento digitalmente firmado fue reemplazada por un hash simple negociado durante el handshake, que por defecto es SHA-1.
  • Mejoras en la habilidad de clientes y servidores para especificar que algoritmos de hash y de firma van a aceptar.
  • Expansión del soporte de cifras de cifrado autenticadas, usadas mayormente para modo Galois/Counter (GCM) y modo CCM del cifrado con Advanced Encryption Standard (o estándar de cifrado avanzado) (AES).
  • Se agregaron definición de Extensiones de TLS y de Ciphersuites de AES.

TLS 1.2 fue después redefinido en el RFC 6176 de marzo de 2011 redactando su retro compatibilidad con SSL y TLS para que dichas sesiones jamás negocien el uso de SSL versión 2.0.


  • TLS 1.3

Hasta mayo de 2015, TLS 1.3 es un borrador, y los detalles no se han fijado todavía.9 10 Se basa en la especificación anterior TLS 1.1 y 1.2. Las principales diferencias con TLS 1.2 incluyen:

  • Retiro de la hora GMT.
  • Fusiona soporte de ECC del RFC 4492 pero sin curvas explícitas.
  • Retira el campo de longitud innecesaria de la entrada de AD a cifras AEAD.
  • Cambiar el nombre de {Cliente, Servidor} KeyExchange a {Cliente, Servidor} KeyShare
  • Añade un HelloRetryRequest explícita para rechazar el del cliente
  • Apretón de manos revisado a fin de proporcionar el modo 1-RTT.
  • Retiro de grupos DHE personalizados.
  • Eliminado el soporte para la compresión.
  • Eliminado el soporte para el intercambio de claves RSA estática y DH.
  • Eliminado el soporte para sistemas de cifrado no AEAD.


Funcionamiento
El protocolo SSL intercambia registros; opcionalmente, cada registro puede ser comprimido, cifrado y empaquetado con un código de autenticación del mensaje (MAC). Cada registro tiene un campo de content_type que especifica el protocolo de nivel superior que se está usando.


¿En qué casos se debe usar un certificado SSL?
Independientemente de la información que se esté transmitiendo (por ejemplo, desde un formulario alojado en su página web hasta su servidor), debería contar con un certificado SSL, ya que estos certificados no sirven simplemente para proteger transacciones de tarjetas de crédito. Cualquier tipo de información personal es confidencial y debe protegerse. Ya se trate de suscripciones a boletines de noticias o accesos a cuentas, debería contarse como mínimo con un certificado SSL para proteger los datos recogidos y enviados.

  • Para proteger las transacciones online con tarjetas de crédito.
  • Para ofrecer protección online para los accesos al sistema, la información confidencial transmitida a través de formularios web o determinadas áreas protegidas de páginas web.
  • Para proteger el correo web y las aplicaciones como el acceso web a Outlook o los servidores Exchange y Office Communications.
  • Para proteger los procesos de trabajo y la virtualización de aplicaciones como plataformas Citrix Delivery o las plataformas de cloud computing.
  • Para proteger la conexión entre un cliente de correo como Microsoft Outlook y un servidor de correo como Microsoft Exchange.
  • Para proteger la transferencia de archivos sobre https y servicios de FTP, como podrían ser las actualizaciones de nuevas páginas por parte de un propietario de una página web o la transmisión de archivos pesados.
  • Para proteger los accesos y la actividad en paneles de control como Parallels o cPanel entre otros.
  • Para proteger el tráfico en una intranet como es el caso de las redes internas, la función compartir archivos, las extranets o las conexiones a bases de datos.
  • Para proteger los accesos a redes y cualquier otro tráfico de red con VPNs de SSL como podrían ser los servidores de acceso VPN o las aplicaciones como Citrix Access Gateway.