martes, 16 de mayo de 2017

SEGURIDAD EN SERVICIOS DE INTERNET




TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE IGUALA

UNIDAD: 4
SEGURIDAD EN SERVICIOS DE INTERNET

ASIGNATURA: SEGURIDAD  INFORMÁTICA

NOMBRE DEL DOCENTE:
M.C VÍCTOR MANUEL JACOBO ADÁN

CARRERA: INGENIERÍA EN SISTEMAS COMPUTACIONALES.

SEMESTRE: 6 GRUPO: “A”

NOMBRE DE LOS ALUMNOS:
GONZALEZ ENCISO GERADO
LÁZARO DELGADO ABEL  JAFET
PINEDA JAIMES EFRAIN
SALINAS MENDOZA EVER
SOTELO BASILIO MIGUEL ANGEL



IGUALA DE LA INDEPENDENCIA, GUERRERO MAYO DEL 2017

Introducción:

La seguridad combina varias disciplinas y determina a menudo si una aplicación Web tiene éxito. Una aplicación Web segura identifica de forma precisa a los usuarios por medio de la autenticación, ayuda a garantizar que esos usuarios sólo tienen acceso al contenido que necesitan mediante una autorización, contribuye a proteger los datos confidenciales por medio de la comunicación y el almacenamiento cifrados, y sigue los procedimientos de seguridad recomendados en la escritura de código con el fin de evitar la creación de riesgos para la seguridad en la propia lógica de la aplicación.
Cuando hablamos de seguridad de la información estamos indicando que dicha información tiene una relevancia especial en un contexto determinado y que, por tanto, hay que proteger.
La Seguridad de la Información se puede definir como conjunto de medidas técnicas, organizativas y legales que permiten a la organización asegurar la confidencialidad, integridad y disponibilidad de su sistema de información.
Los sistemas informáticos permiten la digitalización de todo este volumen de información reduciendo el espacio ocupado, pero, sobre todo, facilitando su análisis y procesado. Se gana en espacio, acceso, rapidez en el procesado de dicha información y mejoras en la presentación de dicha información.
Pero aparecen otros problemas ligados a esas facilidades. Si es más fácil transportar la información también hay más posibilidades de que desaparezca por el camino. Si es más fácil acceder a ella también es más fácil modificar su contenido, etc.
Desde la aparición de los grandes sistemas aislados hasta nuestros días, en los que el trabajo en red es lo habitual, los problemas derivados de la seguridad de la información han ido también cambiando, evolucionando, pero están ahí y las soluciones han tenido que ir adaptándose a los nuevos requerimientos técnicos. Aumenta la sofisticación en el ataque y ello aumenta la complejidad de la solución, pero la esencia es la misma.

4.1 SEGURIDAD EN LA WEB

En la actualidad el crecimiento de internet ha impactado directamente en la seguridad de la información manejada cotidianamente. Sitios de comercio electrónico, servicios, bancos e incluso redes sociales contienen información sensible que en la mayoría de los casos resulta ser muy importante.
Se puede decir que uno de los puntos más críticos de la seguridad en Internet son las herramientas que interactúan de forma directa con los usuarios, en este caso los servidores web. Es común escuchar sobre fallas en los sistemas de protección de los servidores más frecuentemente utilizados, por ejemplo, Apache, NGINX, IIS, etc. (Build With, 2016) O en los lenguajes de programación en que son escritas las aplicaciones. Sin embargo, la mayoría de los problemas detectados en servicios web no son provocados por fallas de ninguna de estas partes, si no que los problemas se generan por malas prácticas de parte de los programadores.
Debemos entender que programar aplicaciones web seguras no es una tarea fácil, ya que requiere por parte del programador, no sólo cumplir con el objetivo funcional básico de la aplicación, sino una concepción general de los riesgos que puede correr la información procesada por el sistema.

Estos tres aspectos a su vez dependen de otros tres elementos principales que engloban prácticamente todos los distintos controles que se pueden establecer en un sistema informático:


Autenticación: los clientes de nuestras aplicaciones o servicios deben ser identificados de forma única, sean usuarios finales, otros servicios o computadoras externas.

Autorización: no solo es necesario saber quiénes acceden a nuestros activos, también es necesario establecer que es lo que pueden hacer con ellos. Un nivel de autorización dado determina qué tipo de operaciones o transacciones puede efectuar un cliente dado sobre un recurso dado.

Registro y Auditoria: luego de efectuada una operación, es importante que esta sea registrada adecuadamente, en particular es esencial si queremos evitar el repudio de transacciones efectuada por un cliente.

Amenazas comunes

Los múltiples ataques externos a los que puede estar expuesto un sitio web son usualmente clasificados en 6 categorías principales. Indicaremos cada una y los tipos de ataques más típicos que incluyen, y a continuación describiremos en mayor detalle cuatro de ellos.

Autenticación: son las que explotan el método de validación de la identidad de un usuario, servicio o aplicación.

·         Fuerza Bruta
·         Autenticación insuficiente
·         Débil validación de recuperación de Password

Autorización: explotan el mecanismo de un sitio web de determinar si un usuario o servicio tiene los permisos necesarios para ejecutar una acción.
·         Predicción de Credenciales o Sesión
·         Autorización insuficiente
·         Expiración de Sesión insuficiente
·         Fijado de Sesión
Ataques Lógicos: explotan la lógica de la aplicación (el flujo procedural utilizado por la aplicación para efectuar cierta acción.

·         Abuso de funcionalidad
·         Denial of Service
·         Insuficiente Anti-Automatismo
·         Insuficiente validación de procesos
·         Manipulación de entradas (URL, campos).

Ataques al cliente: atacan al usuario de la aplicación.

·         Content Spoofing
·         Cross-Site Scripting

Ejecución de comandos: ataques diseñados para ejecutar comandos remotos en el servidor.

·         Buffer Overflow
·         Format String
·         LDAP Injection
·         Ejecucuón de Comandos (OS Commanding)
·         SQL Injection
·         SSI Injection
·         XPath Injection
·         Robo de Información: ataques que apuntan a adquirir información específica sobre el sitio web.
·         Indexado de directorio
·         Caminos transversales
·         Predicción de ubicación de recursos
·         Escape de información
·         Los ataques que vamos a describir son SQL Injection, Manipulación de entradas, Ejecución de Comandos, y Cross Site Scripting


4.1.1    Asignación Segura de Nombres de Dominio



Que es un nombre de dominio
Un Nombre de Dominio es, básicamente, una dirección de Internet (ej.: www.midominio.com). Si adquieres un Nombre de Dominio, obtienes la exclusiva para usar dicha dirección en todo el mundo. 
Un dominio o nombre de dominio es el nombre que identifica un sitio web. Cada dominio tiene que ser único en internet. Por ejemplo, "www.masadelante.com" es el nombre de dominio de la página web  de Mas adelante. Un solo servidor web puede servir múltiples páginas web de múltiples dominios, pero un dominio sólo puede apuntar a un servidor.
Un dominio se compone normalmente de tres partes: en www.masadelante.com, las tres uves dobles (www), el nombre de la organización (más adelante) y el tipo de organización (com).
Los tipos de organización más comunes son .COM, .NET, .MIL, y .ORG, que se refieren a comercial, network, militar, y organización (originalmente sin ánimo de lucro, aunque ahora cualquier persona puede registrar un dominio .org).
Puesto que internet se basa en direcciones IP, y no en nombres de dominio, cada servidor web requiere de un servidor de nombres de dominio (DNS) para traducir los nombres de los dominios a direcciones IP. Cada dominio tiene un servidor de nombre de dominio primario y otro secundario.

Durante el período que dure la contratación, nadie más podrá tener una página con tu Nombre de Dominio. Tener un Nombre de Dominio, te proporciona un nombre fácil de recordar (y además elegido por ti) para denominar a tu web (Ej.: www.juanperez.com es más fácil de retener en la memoria que www.servicio_de_hosting.com/juanperez). 

Además, no supone una gran inversión económica y proporciona una mejor imagen entre tus visitantes y de cara a posibles intercambios comerciales o de enlaces. 
Los buscadores también colocan en mejor posición en sus listas de resultados a una página con Nombre de Dominio propio, lo cual revierte en una mayor audiencia.

Definición de Nombre de Dominio
Cuando accedemos a un lugar en Internet normalmente escribimos una dirección en la parte superior del navegador, sea este Explorer, Netscape o cualquier otro. A dicha dirección se le denomina “nombre de dominio” y esconde tras de sí unos números que son denominados protocolos de internet (IP), los que cumplen una función parecida a la de un número telefónico. Un nombre de dominio es, entonces, una manera de asignar un nombre amigable a una localización en Internet proporcionándole una identificación clara. Los nombres de dominios son usados, además, para acceder a la web, al correo electrónico y, en general, a todos los servicios de Internet. Los nombres de dominio en Internet han adquirido un papel fundamental, ya que su registro significa el poder hacer uso de los mismos en todo el mundo. El Sistema de Nombres de Dominio (DNS) traslada los nombres de Internet a los números del Protocolo Internet, necesarios para la transmisión de información a través de la red. Estos pueden tener una extensión que identifique la actividad a que se dedica el poseedor de un nombre de dominio, el país de origen u otros.
Clases de Nombres de Dominio
En la actualidad existen dos tipos de dominios de primer nivel plenamente operativos; los “Dominios genéricos” que son formados por tres letras y están abiertos al público, como son: .com, .org y .net; y los “Dominios territoriales” que son gestionados por cada uno de los países del mundo y tienen una designación de dos letras, por ejemplo: ".es" para España, “.fr" para Francia, “.pe" para el Perú, etc. Considerando la saturación de nombres existente en los dominios genéricos tradicionales y la conveniencia de liberalizar el registro de nombres en Internet, se ha propuesto la creación de siete nuevos dominios genéricos.
Importancia de registrar los nombres
Sin embargo, estos “nombres de dominio” están ocasionando conflictos comerciales alrededor del mundo, por lo que en el caso de tener un nombre de entidad, nombre comercial, marca o nombres de productos es aconsejable registrarlos inmediatamente y, muy especialmente, si se tiene previsto utilizar Internet como cauce para realizar sus actividades comerciales, pues los nombres de dominios se asignan de manera que el primero en solicitarlos es el primero que los registra. Es importante considerar que en el caso de que alguien registre anticipadamente un nombre coincidente con el que usted pretende registrar, será necesario abrir un proceso que establezca la adjudicación definitiva del nombre y, mientras tanto, la asignación quedará en suspenso con todos los inconvenientes que este hecho pueda reportar. En general, cualquier persona, institución o empresa puede registrar un nombre si se cumplen ciertos requisitos legales y técnicos que pueden variar en los diferentes países. Inicialmente, es aconsejable registrar el nombre en los dominios geográficos en los que realice su actividad principal. Es de destacar que este proceso no siempre es fácil dado que algunos países tienen unas reglas muy estrictas sobre cómo deben registrarse cada tipo de organización. También, es importante registrar el nombre en alguno de los dominios genéricos tradicionales (.com, .org y .net) y muy especialmente en el primero, pues se trata del más ampliamente utilizado y con relativa frecuencia se dan casos en que alguien se ha adelantado a registrarlo y lo utilizase para otros fines. Los problemas relativos a la Jurisdicción competente para resolver las controversias que se produzcan en torno a los Nombres de Dominio y, en especial, en torno a los dominios genéricos internacionales, suponen, uno de principales interrogantes al que necesario dar respuesta.

Legislación Comparada sobre los dominios
En Estados Unidos hay numerosos precedentes sobre conflictos entre dominios y marcas. Desde el momento en que Internet empezó a ser una red comercial, numerosos especuladores comenzaron a registrar nombres de empresa y marcas famosas para posteriormente venderlas a los titulares de las mismas en el mundo real. Para evitar este tipo de conductas el organismo encargado del registro de los dominios genéricos estableció un procedimiento para aplicar en dichos casos. En muchos países han ido surgiendo conflictos entre titulares de dominios y marcas, por lo que en algunos países como Alemania o Reino Unido ya tienen disposiciones legales que protegen a los titulares de las marcas registradas. En Estados Unidos se han producido numerosas controversias con los nombres de dominio. Muchas de ellas han acabado en los Tribunales de Justicia. En Inglaterra también han surgido controversias, al igual que en Francia y Alemania, dónde ya se han pronunciado los órganos judiciales, incluso con anterioridad a la ya citada Sentencia Británica; y en breve estos problemas empezarán a ser analizados por los Tribunales de Justicia españoles.
La necesidad de una regulación jurídica del registro de nombres de dominio
No se pretende con este razonamiento una regulación exhaustiva de Internet (lo cual desde luego resulta impensable), pero sí imponer criterios jurídicos en las facetas de este nuevo medio que vayan exigiéndolo. El caso de los nombres de dominio, a todas luces, es una de éstas. Desde una perspectiva privada, las disputas que han existido en EEUU ponen de manifiesto que derechos reconocidos tanto por la legislación de marcas, como los de competencia desleal, pueden verse, como de hecho así ha acontecido, seriamente afectados por los nombres de dominio. Desde una perspectiva pública, son numerosas las cuestiones que habrán de ser debatidas: ¿Es realmente un servicio público la asignación de nombres de dominio? ¿Cómo se efectuará el proceso de elección de nuevos registradores en el mundo, y en Europa? El acto de denegación de la inscripción de un nombre de dominio, o el de su registro, ¿es un acto administrativo y, como tal, susceptible de recurso ante la jurisdicción correspondiente? ¿Cual es la verdadera naturaleza de las normas de asignación de nombres de dominio? Y, consecuencia de todo lo anterior, ¿cual es la jurisdicción competente en el caso de que esta actividad produjere daños a los particulares, o en el caso de impugnación No se pretende con este razonamiento una regulación exhaustiva de Internet (lo cual desde luego resulta impensable), pero sí imponer criterios jurídicos en las facetas de este nuevo medio que vayan exigiéndolo. El caso de los nombres de dominio, a todas luces, es una de éstas. Desde una perspectiva privada, las disputas que han existido en EEUU ponen de manifiesto que derechos reconocidos tanto por la legislación de marcas, como los de competencia desleal, pueden verse, como de hecho así ha acontecido, seriamente afectados por los nombres de dominio. Desde una perspectiva pública, son numerosas las cuestiones que habrán de ser debatidas: ¿Es realmente un servicio público la asignación de nombres de dominio? ¿Cómo se efectuará el proceso de elección de nuevos registradores en el mundo, y en Europa? El acto de denegación de la inscripción de un nombre de dominio, o el de su registro, ¿es un acto administrativo y, como tal, susceptible de recurso ante la jurisdicción correspondiente? ¿Cual es la verdadera naturaleza de las normas de asignación de nombres de dominio? Y, consecuencia de todo lo anterior, ¿cual es la jurisdicción competente en el caso de que esta actividad produjere daños a los particulares, o en el caso de impugnación La Propuesta

Los dominios surgen como una herramienta para simplificar el acceso a los ordenadores que componen la Red. Gracias al sistema de nombres de dominio, se hace posible la identificación de los ordenadores en Internet. Técnicamente, un dominio es una forma sencilla de localizar un ordenador en Internet, pero sobre todo es la garantía de nuestra identidad. Al igual que en el mundo real tenemos diferentes formas de identificarnos, como puede ser el DNI, en Internet el dominio constituye el principal medio de identificación.
El dominio actúa como dirección de la empresa. Los dominios tienen una doble naturaleza: como dirección para localizar un ordenador en Internet y como marca, para identificar una empresa sus productos y servicios. Uno de los aspectos más importantes de los dominios es que son únicos. Es imposible que dos personas u organizaciones tengan simultáneamente la misma dirección, por lo que la evolución de Internet desde sus planteamientos científicos y académicos hacia una Red comercial hace que esta segunda naturaleza haya adquirido una mayor importancia para competir en mercados globales. 
El dominio ayuda a crear y promover la identidad de la empresa en Internet. Establece un punto de contacto con millones de usuarios y personaliza a la empresa frente a sus competidores.

4.1.2 CAPA DE SOCKETS SEGUROS

SSL (Capa de sockets seguros)

Secure Sockets Layer (SSL; en español «capa de conexión segura») y su sucesor Transport Layer Security (TLS; en español «seguridad de la capa de transporte»)son protocolos criptográficos que proporcionan comunicaciones seguras por una red, comúnmente Internet.
SSL fue desarrollado inicialmente para asegurar las transacciones financieras en la Web, pero ahora se utiliza mucho para asegurar transacciones de Internet de todo tipo.
SSL resuelve el problema del "problema compartido" de WEP utilizando una versión ampliada de criptografía de clave pública (vea la sección anterior "Cifrar contenido"). En lugar de requerir que la gente se ponga de acuerdo sobre un secreto (la clave de cifrado en WEP) por adelantado o que haya disponibles claves públicas, un navegador y un servidor equipados con SSL utilizan una tercera parte fiable, conocida como autoridad de certificados, para aceptar la identidad del otro.
Generalmente, SSL se utiliza para interacciones basadas en sesiones cortas, como enviar información de tarjeta de crédito a través de un formulario Web. Pero puede usarse para cifrar sesiones de correo electrónico (enviar y recibir), incluyendo todo el contenido del correo electrónico que va del cliente al servidor, FTP (en una forma generalmente conocida como FTP Seguro) y muchos otros tipos de transacciones. SSL es válido para cualquier servicio de
Internet que intercambia datos en fragmentos en lugar de hacerlo como información fluida. (Por ejemplo, se puede usar SSL para la mensajería instantánea pero no para reproducir música RealAudio.)
Como SSL es verificado por una tercera parte, no tenemos que utilizar la confianza (ciega o confirmada) como sucede en SSH.
SSL se utiliza mucho ahora porque las patentes subyacentes han caducado. Podemos encontrar SSL con nombres como EAP-TLS (Protocolo de autenticación encapsulada-Seguridad de capa de transporte, un tipo de PPP al que se añade seguridad), TLS/SSL u otras variaciones, pero todo es más o menos lo mismo.
Hola Bob.
El atacante no puede leer el tráfico cifrado con SSL.
A diferencia de SSH, en el que podemos conectar dos puertos arbitrarios a través de un túnel (puerto a puerto), SSL funciona de programa a programa, con el cliente cifrando los datos y el servidor descifrándolos.

Historia y desarrollo
Desarrollado por Netscape, SSL versión 3.0 se publicó en 1996, que más tarde sirvió como base para desarrollar TLS versión 1.0, un estándar protocolo IETF definido por primera vez en el RFC 2246. Visa, MasterCard, American Express y muchas de las principales instituciones financieras han aprobado SSL para el comercio sobre Internet.
SSL opera de una manera modular: sus autores lo diseñaron extensible, con soporte para compatibilidad hacia delante y hacia atrás, y negociación entre las partes (peer-to-peer).
Primeras claves débiles
Algunas primeras implementaciones de SSL podían usar claves simétricas con un máximo de sólo 40-bit debido a las restricciones del gobierno de los Estados Unidos sobre la exportación de tecnología criptográfica. Dicho gobierno impuso una clave de 40-bit lo suficientemente pequeña para ser “rota” por un ataque de fuerza bruta por las agencias de seguridad nacional que desearan leer el tráfico cifrado, a la vez que representaban un obstáculo para atacantes con menos medios. Una limitación similar se aplicó a Lotus Notes en versiones para la exportación. Después de varios años de controversia pública, una serie de pleitos, y el reconocimiento del gobierno de Estados Unidos de cambios en la disponibilidad en el mercado de 'mejores' productos criptográficos producidos fuera del país, las autoridades relajaron algunos aspectos de las restricciones de exportación. La limitación de claves de 40-bit en su mayoría ha desaparecido. Las implementaciones modernas usan claves de 128-bit (o más) para claves de cifrado simétricas.

Descripción
SSL proporciona Autenticación  y privacidad  de la información entre extremos sobre Internet mediante el uso de criptografía. Habitualmente, sólo el servidor es autenticado (es decir, se garantiza su identidad) mientras que el cliente se mantiene sin autenticar.

SSL implica una serie de fases básicas:
·         Negociar entre las partes el algoritmo que se usará en la comunicación
·         Intercambio de calves públicas y Autenticación basadas en certificados 
·         Cifrado del tráfico basado en cifrado simétrico
Durante la primera fase, el cliente y el servidor negocian qué algoritmos criptográficos se van a usar. Las implementaciones actuales proporcionan las siguientes opciones:
·         Para criptografía de clave pública: RSA, Diffie-Hellman, DSA (Digital Signature Algorithm) o Fortezza;
·         Para cifrado simétrico: RC2, RC4, IDEA (International Data Encryption Algorithm), DES (Data Encryption Standard), Triple DES y AES (Advanced Encryption Standard);
·         Con funciones hash: MD5 o de la familia SHA.

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.
Cuando se inicia la conexión, el nivel de registro encapsula otro protocolo, el protocolo handshake, que tiene el content_type 22.
El cliente envía y recibe varias estructuras handshake:
·         Envía un mensaje ClientHello especificando una lista de conjunto de cifrados, métodos de compresión y la versión del protocolo SSL más alta permitida. Éste también envía bytes aleatorios que serán usados más tarde (llamados Challenge de Cliente o Reto). Además puede incluir el identificador de la sesión.
·         Después, recibe un registro ServerHello, en el que el servidor elige los parámetros de conexión a partir de las opciones ofertadas con anterioridad por el cliente.
·         Cuando los parámetros de la conexión son conocidos, cliente y servidor intercambian certificados (dependiendo de las claves públicas de cifrado seleccionadas). Estos certificados son actualmente X.509, pero hay también un borrador especificando el uso de certificados basados en OpenPGP.
·         El servidor puede requerir un certificado al cliente, para que la conexión sea mutuamente autenticada.
·         Cliente y servidor negocian una clave secreta (simétrica) común llamada master secret, posiblemente usando el resultado de un intercambio Diffie-Hellman, o simplemente cifrando una clave secreta con una clave pública que es descifrada con la clave privada de cada uno. Todos los datos de claves restantes son derivados a partir de este master secret (y los valores aleatorios generados en el cliente y el servidor), que son pasados a través una función pseudoaleatoria cuidadosamente elegida.
TLS/SSL poseen una variedad de medidas de seguridad:
·         Numerando todos los registros y usando el número de secuencia en el MAC.
·         Usando un resumen de mensaje mejorado con una clave (de forma que solo con dicha clave se pueda comprobar el MAC). Esto se especifica en el RFC 2104).
·         Protección contra varios ataques conocidos (incluyendo ataques man-in-the-middle), como los que implican un degradado del protocolo a versiones previas (por tanto, menos seguras), o conjuntos de cifrados más débiles.
·         El mensaje que finaliza el protocolo handshake (Finished) envía un hash de todos los datos intercambiados y vistos por ambas partes.
·         La función pseudo aleatoria divide los datos de entrada en 2 mitades y las procesa con algoritmos hash diferentes ( MD5 y SHA), después realiza sobre ellos una operación XOR. De esta forma se protege a sí mismo de la eventualidad de que alguno de estos algoritmos se revelen vulnerables en el futuro.


Aplicaciones
SSL se ejecuta en una capa entre los protocolos de aplicación como HTTP, SMTP, NNTP y sobre el protocolo de transporte TCP, que forma parte de la familia de protocolos TCP/IP. Aunque pueda proporcionar seguridad a cualquier protocolo que use conexiones de confianza (tal como TCP), se usa en la mayoría de los casos junto a HTTP para formar HTTPS. HTTPS es usado para asegurar páginas World Wide Web para aplicaciones de comercio electrónico, utilizando certificados de clave pública para verificar la identidad de los extremos.
Aunque un número creciente de productos clientes y servidores pueden proporcionar SSL de forma nativa, muchos aún no lo permiten. En estos casos, un usuario podría querer usar una aplicación SSL independiente como Stunnel para proporcionar cifrado. No obstante, el Internet Engineering Task Force recomendó en 1997 que los protocolos de aplicación ofrecieran una forma de actualizar a TLS a partir de una conexión sin cifrado (plaintext), en vez de usar un puerto diferente para cifrar las comunicaciones – esto evitaría el uso de envolturas (wrappers) como Stunnel.
SSL también puede ser usado para tunelizar una red completa y crear una red privada virtual (VPN), como en el caso de OpenVPN.

4.1.3 HTTP SEGURO


Protocolo seguro de transferencia de hipertexto, más conocido por sus siglas HTTPS, es un protocolo de aplicación  basado en el protocolo HTTP, destinado a la transferencia segura de datos de Hipertexto, es decir, es la versión segura de HTTP.
El sistema HTTPS utiliza un cifrado basado en SSL/TLS para crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) más apropiado para el tráfico de información sensible que el protocolo HTTP. De este modo se consigue que la información sensible (usuario y claves de paso normalmente) no pueda ser usada por un atacante que haya conseguido interceptar la transferencia de datos de la conexión, ya que lo único que obtendrá será un flujo de datos cifrados que le resultará imposible de descifrar.
El puerto estándar para este protocolo es el 443.

Diferencias con HTTP
En el protocolo HTTP las URLs comienzan con "http://" y utilizan por omisión el puerto 80, las URLs de HTTPS comienzan con "https://" y utilizan el puerto 443 por omisión.
HTTP es inseguro y está sujeto a ataques man-in-the-middle y eavesdropping que pueden permitir al atacante obtener acceso a cuentas de un sitio web e información confidencial. HTTPS está diseñado para resistir esos ataques y ser más seguro.
Capas de red
HTTP opera en la capa más alta del modelo OSI, la capa de aplicación; pero el protocolo de seguridad opera en una subcapa más baja, cifrando un mensaje HTTP previo a la transmisión y descifrando un mensaje una vez recibido. Estrictamente hablando, HTTPS no es un protocolo separado, pero refiere el uso del HTTP ordinario sobre una Capa de Conexión Segura cifrada Secure Sockets Layer (SSL) o una conexión con Seguridad de la Capa de Transporte (TLS).
Configuración del servidor
Para preparar un servidor web que acepte conexiones HTTPS, el administrador debe crear un certificado de clave pública para el servidor web. Este certificado debe estar firmado por una autoridad de certificación para que el navegador web lo acepte. La autoridad certifica que el titular del certificado es quien dice ser. Los navegadores web generalmente son distribuidos con los certificados raíz firmados por la mayoría de las autoridades de certificación por lo que estos pueden verificar certificados firmados por ellos.
Adquisición de certificados
Adquirir certificados puede ser gratuito 3  (generalmente sólo si se paga por otros servicios) o costar entre US$134 y US$1,5005 por año.
Las organizaciones pueden también ser su propia autoridad de certificación, particularmente si son responsables de establecer acceso a navegadores de sus propios sitios (por ejemplo, sitios en una compañía intranet, o universidades mayores). Estas pueden fácilmente agregar copias de su propio certificado firmado a los certificados de confianza distribuidos con el navegador.
También existen autoridades de certificación peer-to-peer.

Usar un control de acceso
El sistema puede también ser usado para la autenticación de clientes con el objetivo de limitar el acceso a un servidor web a usuarios autorizados. Para hacer esto el administrador del sitio típicamente crea un certificado para cada usuario, un certificado que es guardado dentro de su navegador. Normalmente, este contiene el nombre y la dirección de correo del usuario autorizado y es revisado automáticamente en cada reconexión para verificar la identidad del usuario, potencialmente sin que cada vez tenga que ingresar una contraseña.
En caso de claves privadas comprometidas
Un certificado puede ser revocado si este ya ha expirado, por ejemplo cuando el secreto de la llave privada ha sido comprometido. Los navegadores más nuevos como son Firefox,6 Opera,7 e Internet Explorer sobre Windows Vista 8 implementan el Protocolo de Estado de Certificado Online (OCSP) para verificar que ese no es el caso. El navegador envía el número de serie del certificado a la autoridad de certificación o, es delegado vía OCSP y la autoridad responde, diciéndole al navegador si debe o no considerar el certificado como válido.9

Adopción de HTTPS
En febrero de 2017, la adopción HTTPS fue:
Argentina: 9,77% del total de dominios.10
España: 5,11% del total de dominios.11
México: 13.31% del total de dominios.12
Chile: 18,71% del total de dominios.13
Colombia: 4,85% del total de dominios.14
Limitaciones
El nivel de protección depende de la exactitud de la implementación del navegador web, el software del servidor y los algoritmos de cifrado actualmente soportados. Vea la lista en Idea Principal.
También, HTTPS es vulnerable cuando se aplica a contenido estático de publicación disponible. El sitio entero puede ser indexado usando una araña web, y la URI del recurso cifrado puede ser adivinada conociendo solamente el tamaño de la petición/respuesta. Esto permite a un atacante tener acceso al texto plano (contenido estático de publicación), y al texto cifrado (La versión cifrada del contenido estático), permitiendo un ataque criptográfico.
Debido a que SSL opera bajo HTTP y no tiene conocimiento de protocolos de nivel más alto, los servidores SSL solo pueden presentar estrictamente un certificado para una combinación de puerto/IP en particular Esto quiere decir, que en la mayoría de los casos, no es recomendable usar Hosting virtual name-based con HTTPS. Existe una solución llamada Server Name Indication (SNI) que envía el hostname al servidor antes de que la conexión sea cifrada, sin embargo muchos navegadores antiguos no soportan esta extensión. El soporte para SNI está disponible desde Firefox 2, Opera 8, e Internet Explorer 7 sobre Windows Vista.

4.1.4 SEGURIDAD EN CORREO ELECTRÓNICO.


La utilización del correo electrónico por Internet o por otras redes que no sean de confianza supone riesgos de seguridad para su sistema, aunque este esté protegido por unos cortafuegos.
Debe conocer estos riesgos para garantizar que su política de seguridad indique cómo minimizarlos.
El correo electrónico es similar a otras formas de comunicación. Es importante ser prudente a la hora de enviar información confidencial por correo electrónico. El correo electrónico viaja a través de numerosos sistemas antes de llegar a su destino, por lo que es posible que alguien lo intercepte y lo lea. Por lo tanto, convendrá que emplee medidas de seguridad para proteger la confidencialidad del correo electrónico.
Riesgos más comunes de la seguridad del correo electrónico
Estos son algunos de los riesgos asociados al uso del correo electrónico:
La Inundación (tipo de ataque de denegación de servicio) se produce cuando un sistema queda sobrecargado con múltiples mensajes de correo electrónico. Para un atacante es relativamente fácil crear un programa sencillo que envíe millones de mensajes de correo electrónico (incluso mensajes vacíos) a un único servidor de correo electrónico para intentar inundarlo. Sin la seguridad correcta, el servidor de destino puede experimentar una denegación de servicio porque el disco de almacenamiento del servidor queda lleno de mensajes inútiles. El sistema también puede dejar de responder porque todos sus recursos están ocupados en procesar el correo del ataque.
Correo masivo (spam) (correo basura) es otro tipo de ataque común dirigido al correo electrónico. Con el aumento del número de empresas que practican el comercio electrónico en Internet, se ha producido una invasión de mensajes comerciales de correo electrónico no deseados o no solicitados. Este es el correo basura, que se envía a una amplia lista de distribución de usuarios de correo electrónico, llenando el buzón de correo de todos los usuarios.
La Confidencialidad es un riesgo asociado al envío de correo electrónico a otra persona a través de Internet. El mensaje de correo electrónico pasa a través de numerosos sistemas antes de llegar al destinatario. Si el mensaje no está cifrado, cualquier pirata informático podría hacerse con él y leerlo en cualquier punto de la ruta de entrega.
Opciones de seguridad del correo electrónico
Para prevenir los riesgos de inundaciones y el correo masivo (spam), debe configurar el servidor de correo electrónico correctamente. La mayoría de las aplicaciones de servidor proporcionan métodos para combatir este tipo de ataques. Asimismo, puede colaborar con el proveedor de servicios de Internet (IPS) para asegurarse de que aporta algún tipo de protección adicional contra estos ataques.
Las medidas de seguridad adicionales que necesite dependerán del nivel de confidencialidad que desee, así como de qué características de seguridad ofrezcan sus aplicaciones de correo electrónico. Por ejemplo, ¿basta con mantener la confidencialidad del contenido del mensaje de correo electrónico?, ¿o bien desea que sea confidencial toda la información asociada al correo electrónico (como las direcciones IP de origen y destino)?
Algunas aplicaciones tienen características de seguridad integradas que tal vez ofrezcan la protección que necesita. Por ejemplo, Lotus Notes Domino proporciona varias características de seguridad integradas, como la capacidad de cifrado de un documento completo o de campos individuales de un documento.
Para cifrar el correo, Lotus Notes Domino crea una clave pública y una clave privada exclusivas para cada usuario. La clave privada se utiliza para cifrar el mensaje, de forma que solo lo podrán leer aquellos usuarios que tengan su clave pública. Debe enviar la clave pública a los destinatarios que desee, para que puedan utilizarla para descifrar la nota cifrada. Si alguien le envía correo cifrado, Lotus Notes Domino utiliza la clave pública del remitente para descifrar automáticamente la nota.
Puede encontrar más información sobre el uso de las características de cifrado de Notes en los archivos de ayuda en línea del programa.
Si desea proporcionar más confidencialidad para el correo electrónico o para otro tipo de información que fluya entre las sucursales, clientes remotos o socios comerciales, tiene dos opciones.
Si SSL está soportado por la aplicación del servidor de correo electrónico, puede utilizar la capa de sockets segura (SSL) para crear una sesión de comunicaciones seguras entre el servidor y los clientes de correo electrónico. SSL también proporciona soporte a la autenticación opcional del lado del cliente, si la aplicación de cliente está escrita para este uso. Como la sesión completa está cifrada, SSL también garantiza la integridad de los datos mientras se estén transmitiendo.
Otra posible opción es configurar una conexión de red privada virtual (VPN). Puede utilizar el sistema para configurar diversas conexiones VPN, incluso entre clientes remotos y su sistema. Cuando se utiliza una conexión VPN, todo el tráfico que fluye entre los extremos de la comunicación está cifrado, lo que garantiza la confidencialidad y la integridad de los datos.

4.1.5 MIME SEGURO


S/MIME (Secure / Multipurpose Internet Mail Extensions, del inglés, Extensiones de Correo de Internet de Propósitos Múltiples / Seguro) es un estándar para criptografía de clave pública y firmado de correo electrónico encapsulado en MIME.
S/MIME fue desarrollado originalmente por RSA. La especificación original usó la especificación MIME de IETF recientemente desarrollada con el estándar de facto de mensaje seguro PKCS #7.
S/MIME provee los siguientes servicios de seguridad criptográfica para aplicaciones de mensajería electrónica:
Autenticación, integridad  y no repudio  (mediante el uso de firma digital) y
Privacidad y seguridad de los datos (mediante el uso de cifrado)
S/MIME específica el tipo application/pkcs7-mime (tipo smime "enveloped-data") para envoltura de datos (cifrado): la entidad MIME completa a ser envuelta se cifra y se empaca en un objeto que luego se inserta en una entidad MIME application/pkcs7-mime.
La funcionalidad S/MIME está construida en la mayoría de apps de correo electrónico modernos y son capaces de inter operar entre ellos. Un correo firmado tiene estos encabezados ocultos (visibles en "Ver código fuente del mensaje")
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary=""
This is a cryptographically signed message in MIME format.
[Texto del correo]
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Firma criptográfica S/MIME
Correo Cifrado
Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type=enveloped-data
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7m"
Content-Description: Mensaje cifrado S/MIME
[Número  y letras aleatorios]
Certificados S/MIME
Antes de que S/MIME pueda usarse en alguna de las aplicaciones antes mencionadas, se debe obtener e instalar una clave/certificado individual tanto de la autoridad certificadora (AC) interna como de una AC pública. Una buena práctica es usar claves privadas separadas (y certificados asociados) para firma y para cifrado.
Limitaciones
S/MIME sólo puede funcionar apropiadamente con aplicaciones y programas instalables de correo electrónico, servicio de correo electrónico basado en páginas web nunca clasifican mensajes firmados y puede limitarse a mostrar un email vacío con un adjunto smime.p7s (el cual contiene realmente el mensaje)

4.1.6 PGP, GPG.


GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales desarrollado por Werner Koch, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el estándar del IETF denominado OpenPGP.
Usos
GPG es estable, calificado como un software para el uso en producción y es comúnmente incluido en los sistemas operativos como FreeBSD, OpenBSD, NetBSD y GNU/Linux.
Aunque básicamente el programa tiene una interfaz textual, actualmente hay varias aplicaciones gráficas que utilizan recursos de GPG. Por ejemplo, ha sido integrado dentro de Kmail y Evolution, también hay un plugin llamado Enigmail que se integra con Mozilla y Thunderbird que trabajan en Windows, GNU/Linux  y otros sistemas operativos. Debido a que los plugins no forman parte del mecanismo de GPG y no están especificados en los estándares OpenPGP, ni sus respectivos desarrolladores están vinculados con los proyectos de plugins, se podría pensar que las ventajas de seguridad de GPG puedan estar comprometidas o incluso perdiendo su efectividad como resultado de esta falta de coordinación y apoyo, pero al ser las herramientas de código abierto o scripts interpretados (como en el caso de los plugins en Thunderbird), se garantiza un funcionamiento fiable con la herramienta GPG.
GPG también puede ser compilado en otras plataformas como Mac OS X  y Windows. En Mac OS X hay portada una aplicación libre llamada MacGPG, que ha sido adaptada para usar el ambiente del usuario y sus definiciones de clases nativas. La compilación cruzada no es un ejercicio trivial, por lo menos en parte debido a que las provisiones de seguridad cambian con el sistema operativo  y su adaptación a menudo se vuelve difícil, pero los compiladores de alta calidad deben producir ejecutables que interactúen correctamente con otras implementaciones GPG.
Funcionamiento
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 ElGamal, CAST5, Triple 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.
Problemas
El estándar OpenPGP especifica varios métodos de mensajes con firmas digitales. Debido a un error al intentar mejorar la eficiencia de uno de los métodos, se introdujo una vulnerabilidad de seguridad (Nguyen 2004) que afectó a un único método de mensajes firmado digitalmente utilizado en algunas versiones de GPG (desde la 1.0.2 hasta la 1.2.3, con menos de 1.000 claves listadas en los servidores de claves). Dicha vulnerabilidad ha sido corregida a partir de la versión
GPG. El episodio ilustra la dificultad de realizar implementaciones correctas de algoritmos criptográficos, protocolos e incluso criptosistemas.
GPG es un sistema en línea de comandos. Diferentes implementaciones gráficas están disponibles pero sólo algunas tienen implementadas todas sus características (por ejemplo: borrado de ID, usuarios o firmas). Debido a que todas las instrucciones deben ser pasadas a la línea de comandos, rápidamente llegan a dificultar el uso correcto de aspectos no triviales del programa. El trabajo sobre una versión de biblioteca está en progreso.



conclusión:

Conclusión
Cuanto más valiosa sea la información en su base de datos, mayores serán las probabilidades de que la información sea blanco de ataques. Si sus registros consisten en información confidencial o financiera que podría facilitar el fraude, su base de datos será más atractiva para hackers que puedan utilizar o vender esta información para obtener beneficios económicos. Recuerde que hasta sus datos personales básicos también pueden ser de valor. Sus datos pueden usarse para usurpar la personalidad de alguien, difundir malware o simplemente como un medio de alterar sus servicios por motivos personales.

Las amenazas a la seguridad evolucionan tan rápido como la tecnología que intentan comprometer. La base de datos CVE (Vulnerabilidades y Exposiciones Comunes) incluye de por sí más de 59.000 amenazas conocidas contra la seguridad de la información, y una búsqueda en la base de datos de apache devuelve una lista de más de 500 vulnerabilidades conocidas.
Mientras que las técnicas usadas para acceder a datos y modificar código varían considerablemente, por lo general una infracción de seguridad tiene uno de los siguientes cuatro objetivos:
·         Acceso a bases de datos y robo o corrupción de datos personales o confidenciales
·         Modificar el código de un sitio web con el fin de cambiar lo que los usuarios ven
·         Interceptar datos personales y confidenciales

·         Ataques de denegación de servicio (DoS) que deshabilitan la disponibilidad de los servicios


Referencias

Aguilar, A. & Hernández, A. (25 de Abril de 2014). Obtenido de Sugerencias de Seguridad para Sitios Web: http://www.seguridad.unam.mx/documento/?id=1143
Aguilar, A. (21 de Agosto de 2015). Obtenido de ¿Qué es y cómo opera un ataque de Cross-Site Scripting (XSS)?: http://www.seguridad.unam.mx/documento/?id=35
OWASP. (3 de Febrero de 2014). Obtenido de Top 10 2013-A3-Cross-Site Scripting (XSS): https://www.owasp.org/index.php/Top_10_2013-A3-Cross-Site_Scripting_(XSS)
OWASP. (21 de Agosto de 2015). Obtenido de Top 10 2013-Top 10:https://www.owasp.org/index.php/Top_10_2013-Top_10
OWASP. (27 de Enero de 2016). Obtenido de Transport Layer Protection Cheat Sheet: https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Shee





No hay comentarios:

Publicar un comentario