PORTADA
Seguridad en la Web
lunes, 15 de mayo de 2017
Introduccion
En esta ocasión se les hablara acerca de la seguridad en los sistemas web, que en todo caso a todos nos debe de interesar este tema, ya que, a cualquier persona le puede afectar el no tener una buen seguridad en su red.
Esta investigacion realizada nos hablara de algunos de los aspectos que se deben de cumplir para no ser afectado por un ataque cibernetico, ya que, aunque sea dificil de creer, los ataques pueden llegar desde un simple correo electronico.
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.
Bien lo que nosotros esperamos es que esta información sea de su mayor agrado y que les sirva para tener una mejor seguridad en su red y contrarrestar los ataques que puedan existir a la misma. De antemano por su atención. Gracias.
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 un 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.
También se les brindara la información acerca de algunos de los ataques mas comunes que existen en la red, ya que, existe mucha gente maliciosa que solo a eso se dedica, a perjudicar tu negocio o tu vida personal.
También se les brindara la información acerca de algunos de los ataques mas comunes que existen en la red, ya que, existe mucha gente maliciosa que solo a eso se dedica, a perjudicar tu negocio o tu vida personal.
Bien lo que nosotros esperamos es que esta información sea de su mayor agrado y que les sirva para tener una mejor seguridad en su red y contrarrestar los ataques que puedan existir a la misma. De antemano por su atención. Gracias.
miércoles, 10 de mayo de 2017
4.1 Seguridad en sistemas web.
La seguridad, en informática
como en otras áreas, se basa en la protección de activos. Estos activos pueden
ser elementos tan tangibles como un servidor o una base de datos, o pueden ser
la reputación de una empresa. Generalmente podemos evaluar la seguridad de un
activo en base a tres aspectos principales que no necesitan explicación:
integridad, disponibilidad, confidencialidad.
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.
Todos estos conceptos son
especialmente válidos en el entorno de Internet, y particularmente importantes
dado el crecimiento explosivo de los servicios y aplicaciones accesibles a
través de Internet. Si bien cuando se habla de la seguridad de aplicaciones web
se deben considerar no sólo las amenazas externas a la compañía sino también
las internas (administradores malintencionados, usuarios que provocan
accidentes, etc), en el presente trabajo nos enfocaremos principalmente en las
externas, por ser (generalmente) las más peligrosas e impredecibles.
Es sabido
por otro lado que las aplicaciones más robustas y resistentes a ataques son
aquellas en las cuales las cuestiones de seguridad fueron consideradas desde
las primeras etapas del desarrollo. En las próximas secciones
exploraremos los problemas particulares de seguridad que presentan las
aplicaciones web, y enumeraremos los distintos tipos de ataques o amenazas
externas a las que se puede enfrentar.
Desarrollaremos algunos de
ellos, en particular concentrándonos en aquellos ataques que burlan lo que la
aplicación espera recibir por entrada del usuario; mostraremos cómo se los
puede evitar o mitigar, especialmente desde la perspectiva del desarrollo.
Finalmente, a partir de los
elementos vistos y otros adicionales elaboraremos una lista de elementos de
seguridad que deben ser tenidos en cuenta tanto por desarrolladores,
diseñadores y administradores de la aplicación, como por una eventual auditoría
de sistemas.
Riesgos inherentes al entorno Web
Se ha comprobado que en los
últimos años, 75% o más de los ataques electrónicos fueron a nivel de
aplicación (y no a nivel de host o de red).
Blancos atractivos.
Todo tipo de transacciones se
realizan actualmente en la web, y cada vez en mayor proporción. Detalles de
cuentas bancarias, tarjetas de crédito y todo tipo de información confidencial
y de valor circulan en enormes cantidades y continuamente. Es por ende lógico
que la mayoría de los esfuerzos de hackers y demás atacantes se centre en
vulnerar estas aplicaciones.
Presiones de negocio
La variedad y complejidad de
los requerimientos de usuarios finales continúa creciendo, y con ellos aumenta
la complejidad de las aplicaciones, la cantidad de funcionalidades y fases de
testeo. Esto sumado al incremento en la competencia y en la necesidad de
superarla en el time-to-market, implican sacrificios importantes en los
aspectos no-funcionales de la aplicación y específicamente en los aspectos de
seguridad.
Especialmente cuando no existe una conciencia de seguridad a nivel
corporativo, se tiende a generar una alta presión para terminar el trabajo sin
considerar suficientemente las posibles vulnerabilidades.
Debilidades de HTTP.
Las aplicaciones web están en
parte definidas por su uso del protocolo HTTP como medio de comunicación entre
cliente y servidor. Este protocolo:
- Es simple y basado en ASCII - no se requiere gran esfuerzo para generar pedidos y descifrar el contenido de las respuestas.
- Utiliza un puerto TCP bien conocido – de poco sirve un firewall para proteger una aplicación si tiene que admitir el tráfico a través del puerto 80.
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.
Gran parte de los problemas de
seguridad en las aplicaciones web son causados por la falta de seguimiento en
dos rubros muy importantes de los que depende cualquier aplicación, las
entradas y salidas del sistema.
Además de verificar estos 2
rubros, es importante considerar la exposición accidental de datos que pueden
ser empleados en un posible ataque sobre el sistema.
Los mensajes de error
enviados por el servidor, que suelen ser de gran utilidad durante el proceso de
desarrollo de la aplicación, pueden ser empleados maliciosamente cuando siguen
apareciendo en un entorno de producción, por lo que es necesario deshabilitar
todos estos mensajes y editar algunos otros (como los que se envían cuando el
servidor no encuentra algún archivo en particular) los cuales también pueden
ser utilizados por los atacantes para obtener información sobre nuestro
sistema.
4.1.1 Asignación segura de nombres de dominio (DNS).
¿Qué
significa DNS?
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.
DNS (Domain Name System)USDNS
(Sistema de nombre de dominio)ESDNS (Domänen Namen System)DEDNS (Système de
noms de domaine)FRDNS (Sistema dei nomi di dominio)ITDNS - Sistema de nomes de
domínio BRPolityka prywatnościPL.
Cada equipo conectado
directamente a Internet tiene al menos una dirección IP específica. Sin
embargo, los usuarios no desean trabajar con direcciones numéricas, como por
ejemplo 194.153.205.26, sino con un nombre de dominio o más específicamente,
con direcciones (llamadas direcciones FQDN) como por ejemplo es.kioskea.net.
Es posible asociar nombres en
lenguaje normal con direcciones numéricas gracias a un sistema llamado DNS (Sistema
de Nombres de Dominio). Esta correlación entre las
direcciones IP y el nombre de dominio asociado se llama resolución de nombres
de dominio (o resolución de direcciones).
Nombres del ordenador
Al comienzo de TCP/IP, puesto
que las redes no eran muy extensas, o en otras palabras que el número de
equipos conectados a la misma red era bajo, los administradores de red crearon
archivos llamados tablas de conversión manual. Estas tablas de conversión
manual eran archivos secuenciales, por lo general llamados hosts o hosts.txt, y
asociaban en cada línea la dirección IP del equipo con el nombre literal
relacionado, denominado nombre del ordenador.
Introducción al Sistema de Nombres de Dominio
Sin embargo, el anterior
sistema de tablas de conversión exigía una actualización manual de las tablas
para la totalidad de los equipos en caso de incluir o modificar el nombre de
una máquina. Por lo tanto, con el aumento en tamaño de las redes y sus interconexiones,
fue necesario implementar un sistema de gestión para los nombres que fuese
jerárquico y fácil de administrar.
El sistema llamado Sistema de Nombres de
Dominio (DNS) fue desarrollado en noviembre de 1983 por Paul Mockapetris (RFC
882 y RFC 883) y luego revisado en 1987 en las RFC 1034 y 1035. El DNS ha sido
sometido a varias RFC.
Este sistema ofrece:
- · un espacio de nombre jerárquico que permite garantizar la singularidad de un nombre en una estructura arbórea, como por ejemplo sistemas de archivo Unix.
- · un sistema de servidores de distribución que permite que el espacio de nombre esté disponible.
- · un sistema de cliente que permite "resolver" nombres de dominio, es decir, interrogar a los servidores para encontrar la dirección IP que corresponde a un nombre.
Espacio de nombre
La estructura del sistema DNS
se basa en una estructura de arbórea en donde se definen los dominios de nivel
superior (llamados TLD, Dominios de Nivel Superior); esta estructura está
conectada a un nodo raíz representado por un punto.
Cada nodo del árbol se llama
nombre de dominio y tiene una etiqueta con una longitud máxima de 63
caracteres. Por lo tanto, todos los
nombres de dominio conforman una estructura arbórea inversa en donde cada nodo
está separado del siguiente nodo por un punto (".").
El extremo de la bifurcación
se denomina host, y corresponde a un equipo o entidad en la red. El nombre del
ordenador que se provee debe ser único en el dominio respectivo, o de ser
necesario, en el sub-dominio. Por ejemplo, el dominio del servidor Web por lo
general lleva el nombre www.
La palabra "dominio" corresponde
formalmente al sufijo de un nombre de dominio, es decir, la recopilación de las
etiquetas de nodo de la estructura arbórea, con excepción del ordenador.El
nombre absoluto está relacionado con todas las etiquetas de nodo de una
estructura arbórea, separadas por puntos y que termina con un punto final que
se denomina la dirección FQDN (Nombre de Dominio totalmente calificado).
La
profundidad máxima de una estructura arbórea es 127 niveles y la longitud
máxima para un nombre FQDN es 255 caracteres. La dirección FQDN permite ubicar
de manera única un equipo en la red de redes. Por lo tanto, es.kioskea.net.es, es
una dirección FQDN.
Resolución de nombres de dominio
El mecanismo que consiste en
encontrar la dirección IP relacionada al nombre de un ordenador se conoce como
"resolución del nombre de dominio". La aplicación que permite
realizar esta operación (por lo general, integrada en el sistema operativo se
llama "resolución".
Cuando una aplicación desea
conectarse con un host conocido a través de su nombre de dominio (por ejemplo,
"es.kioskea.net"), ésta interroga al servidor de nombre de dominio
definido en la configuración de su red. De hecho, todos los equipos conectados
a la red tienen en su configuración las direcciones IP de ambos servidores de
nombre de dominio del proveedor de servicios.
Entonces se envía una
solicitud al primer servidor de nombre de dominio (llamado el "servidor de
nombre de dominio principal"). Si este servidor de nombre de dominio tiene
el registro en su caché, lo envía a la aplicación; de lo contrario, interroga a
un servidor de nivel superior (en nuestro caso un servidor relacionado con el
TLD ".net"). El servidor de nombre de nivel superior envía una lista
de servidores de nombres de dominio con autoridad sobre el dominio (en este
caso, las direcciones IP de los servidores de nombres de dominio principal y
secundario para cómofunciona.net).
Entonces el servidor de
nombres de dominio principal con autoridad sobre el dominio será interrogado y
devolverá el registro correspondiente al dominio del servidor (en nuestro caso
www).
Tipos de registros
Un DNS es una base de datos
distribuida que contiene registros que se conocen como RR (Registros de
Recursos), relacionados con nombres de dominio. La siguiente información sólo
es útil para las personas responsables de la administración de un dominio, dado
que el funcionamiento de los servidores de nombre de dominio es completamente transparente
para los usuarios.
Ya que el sistema de memoria
caché permite que el sistema DNS sea distribuido, los registros para cada
dominio tienen una duración de vida que se conoce como TTL (Tiempo de vida).
Esto permite que los servidores intermediarios conozcan la fecha de caducidad
de la información y por lo tanto que sepan si es necesario verificarla o no.
Por lo general, un registro de
DNS contiene la siguiente información:
- · Nombre de dominio: el nombre de dominio debe ser un nombre FQDN, es decir, debe terminar con un punto. En caso de que falte el punto, el nombre de dominio es relativo, es decir, el nombre de dominio principal incluirá un sufijo en el dominio introducido;
- · Tipo: un valor sobre 16 bits que define el tipo de recurso descrito por el registro. El tipo de recurso puede ser uno de los siguientes:
- · A: este es un tipo de base que hace coincidir el nombre canónico con la dirección IP. Además, pueden existir varios registros A relacionados con diferentes equipos de la red (servidores).
- · CNAME (Nombre Canónico): Permite definir un alias para el nombre canónico. Es particularmente útil para suministrar nombres alternativos relacionados con diferentes servicios en el mismo equipo.
- · HINFO: éste es un campo solamente descriptivo que permite la descripción en particular del hardware del ordenador (CPU) y del sistema operativo (OS). Generalmente se recomienda no completarlo para evitar suministrar información que pueda ser útil a piratas informáticos.
- · MX (Mail eXchange): es el servidor de correo electrónico. Cuando un usuario envía un correo electrónico a una dirección (user@domain), el servidor de correo saliente interroga al servidor de nombre de dominio con autoridad sobre el dominio para obtener el registro MX. Pueden existir varios registros MX por dominio, para así suministrar una repetición en caso de fallas en el servidor principal de correo electrónico. De este modo, el registro MX permite definir una prioridad con un valor entre 0 y 65,535:
- · es.kioskea.net. IN MX 10 mail.commentcamarche.net.
- · NS: es el servidor de nombres de dominio con autoridad sobre el dominio.
- · PTR: es un puntero hacia otra parte del espacio de nombres del dominios.
- · SOA (Start Of Authority (Inicio de autoridad)): el campo SOA permite la descripción del servidor de nombre de dominio con autoridad en la zona, así como la dirección de correo electrónico del contacto técnico (en donde el carácter "@" es reemplazado por un punto).
- · Clase: la clase puede ser IN (relacionada a protocolos de Internet, y por lo tanto, éste es el sistema que utilizaremos en nuestro caso), o CH (para el sistema caótico);
- · RDATA: estos son los datos relacionados con el registro. Aquí se encuentra la información esperada según el tipo de registro:
- · A: la dirección IP de 32 bits:
- · CNAME: el nombre de dominio;
1. MX: la
prioridad de 16 bits, seguida del nombre del ordenador;
2. NS: el
nombre del ordenador; PTR: el nombre de dominio
3. PTR:
el nombre de dominio;
4. SOA:
varios campos.
Dominios de nivel superior
Existen dos categorías de TLD
(Dominios de Nivel Superior):
·
Los dominios que se conocen como
"genéricos", llamados gTLD (TLD genérico). Los gTLD son nombres de
dominio de nivel superior genéricos que ofrecen una clasificación de acuerdo
con el sector de la actividad. Entonces cada gTLD tiene sus propias reglas de
acceso:
·
gTLD historial:
- · .arpa relacionado con equipos pertenecientes a la red original;
- · .com inicialmente relacionado con empresas con fines comerciales. Sin embargo, este TLD se convirtió en el "TLD predeterminado" y hasta personas reales pueden adquirir dominios con esta extensión.
- · .edu relacionado con las organizaciones educativas;
- · .gov relacionado con las organizaciones gubernamentales;
- · .int relacionado con las organizaciones internacionales;
- · .edu relacionado con las organizaciones militares;
- · .net inicialmente relacionado con las organizaciones que administran redes. Con el transcurso de los años este TLD se ha convertido en un TLD común, y hasta personas reales pueden adquirir dominios con esta extensión.
- · .org está normalmente relacionado con organizaciones sin fines de lucro.
- · nuevos gTLD presentado en noviembre de 2000 por ICANN:
- · .aero relacionado con la industria aeronáutica;
- · .biz (negocios) relacionado con empresas comerciales;
- · .museum relacionada con los museos;
- · .name relacionada con el nombre de personas reales o imaginarias;
- · .info relacionado con organizaciones que manejan información;
- · .coop relacionado con cooperativas;
- · .pro relacionado con profesiones liberales.
- · gTLD especial:
- · .arpa relacionado con las infraestructuras para la administración de redes. El arpa gTLD también sirve para la resolución inversa de equipos en red y permite hallar el nombre relacionado con una dirección IP.
- · Los dominios que se conocen como "nacionales", se llaman ccTLD (código de país TLD). El ccTLD está relacionado con los diferentes países y sus nombres refieren a las abreviaturas del nombre del país definidas en la norma ISO 3166. La tabla a continuación resume la lista de ccTLD.
4.1.2 Capa de sockets seguros.
El protocolo SSL permite que
dos partes se comuniquen con privacidad e integridad de datos.
SSL (Capa de sockets seguros)
proporciona un protocolo estándar de la industria para la transmisión de datos
de forma segura a través de una red insegura. El protocolo SSL se ha desplegado
ampliamente tanto en las aplicaciones de Internet como en las de intranet. SSL
define métodos de autenticación, cifrado de datos e integridad de mensajes para
un protocolo de transporte fiable, que normalmente es TCP/IP. SSL utiliza las
técnicas de cifrado simétricas y asimétricas.
Una conexión SSL la inicia la
aplicación que emite la llamada, que pasa a ser el cliente SSL. La aplicación
que responde pasa a ser el servidor SSL. Cada sesión SSL nueva comienza con un
reconocimiento SSL, según lo defina el protocolo SSL. SSL no proporciona ningún
servicio de control de accesos formal, ya que SSL funciona a nivel de enlace.
Aunque SSL y TLS son
parecidos, los dos protocolos no interactúan entre ellos. El mecanismo de Capa de
sockets seguros (SSL) estándar del sector, que utiliza certificados digitales
para la autenticación, se puede utilizar para la comunicación segura en
despliegue de Tivoli Provisioning Manager.
El protocolo SSL (Capa de
sockets seguros) proporciona seguridad de capa de transporte: autenticidad y
confidencialidad, para una conexión segura entre un cliente y un servidor
utilizando WebSphere Application Server. El protocolo se ejecuta sobre TCP/IP y
bajo los protocolos de aplicación, como por ejemplo el protocolo de
transferencia de hipertexto (HTTP), el Lightweight Directory Access Protocol
(LDAP) y el Internet Inter-ORB Protocol (IIOP), y proporciona confianza y
privacidad a los datos de transporte.
Dependiendo de las
configuraciones SSL tanto del cliente como del servidor, se pueden establecer
los distintos niveles de confianza, integridad de datos y privacidad. La
comprensión del funcionamiento básico de SSL es muy importante para la
configuración correcta y para conseguir el nivel de protección deseado para los
datos del cliente y de la aplicación.
Una de las características de
seguridad ofrecidas por SSL es el cifrado de datos, que evita la exposición de
información sensible mientras los datos fluyen por la conexión. Otra
característica de seguridad es el registro de datos, que evita la modificación no
autorizada de los datos mientras éstos fluyen por la conexión. Una tercera
característica es la autenticación del cliente y el servidor, que garantiza que
se comunique con la persona o la máquina adecuada. SSL puede ser eficaz a la
hora de asegurar un entorno empresarial.
SSL es utilizado por varios
componentes dentro de WebSphere Application Server para proporcionar confianza
y privacidad. Estos componentes son el transporte HTTP incorporado, el
intermediario para solicitudes de objetos (ORB) y el cliente LDAP seguro:
- El transporte HTTP incorporado en WebSphere Application Server acepta solicitudes HTTP a través de SSL desde un cliente web como un navegador.
- El intermediario de solicitudes de objetos utilizado en WebSphere Application Server puede ejecutar el protocolo Internet Inter-ORB Protocol (IIOP) a través de SSL para asegurar el mensaje.
- El cliente LDAP seguro utiliza LDAP a través de SSL para conectarse de forma segura a un registro de usuarios LDAP y sólo está presente cuando LDAP está configurado como el registro de usuarios. Tivoli Directory Server es una implementación de IBM de LDAP.
Suscribirse a:
Entradas (Atom)
PORTADA
-
¿Qué significa DNS? Definición de Nombre de Dominio Cuando accedemos a un lugar en Internet normalmente escribimos una dirección en la ...
-
PGP Pretty Good Privacy o PGP (privacidad bastante buena) es un programa desarrollado por Phil Zimmermann y cuya finalidad es proteger ...
-
Introducción a S/MIME El S/MIME (Secure MIME o Secure Multipurpose Mail Extension) es un proceso de seguridad utilizado para el interc...