domingo, 10 de junio de 2012

Seguridad WEB (1RA Continuacion)

Una de las reglas básicas consiste en facilitar a los usuarios la comprobación de que realmente está navegando en el servidor web de la entidad y a través de una conexión segura, de forma que sus datos viajan cifrados y no pueden ser capturados por terceros.

 
Los indicadores fácilmente reconocibles por un usuario de que ha conectado con un servidor web seguro son la URL en la barra de direcciones del navegador, que debe comenzar por https:// en lugar del habitual http://, y el símbolo de un candado cerrado o una llave completa que aparece en la barra de estado, en la parte inferior del navegador.

 
Adicionalmente, el usuario puede hacer doble click en el icono del candado o la llave, dependiendo del navegador utilizado, para visualizar información detallada del certificado de seguridad.  Algo tan básico y útil de cara al usuario, como el poder comprobar la seguridad de su conexión con el web de la entidad, es en muchas ocasiones ocultado de forma artificial, facilitando la labor de los ataques "phishing".

 
Un ejemplo real lo podemos observar, por ejemplo, en la web de la entidad ING Direct (http://www.ingdirect.es). Aparentemente, por los elementos visibles, no podemos comprobar que estamos conectados a un servidor web seguro y que nuestros datos se enviarán cifrados, dado que ni la dirección comienza por https:// ni apreciamos el icono del candado o llave en la parte inferior del navegador.

 
Éste es el diseño ideal para un ataque "phishing", ya que es fácil de imitar, y el usuario no echará en falta los indicadores visuales que le permiten comprobar que no está conectando con un servidor web seguro.

 

 

 
Lenguajes de programación del lado Servidor

 
Existe una multitud de lenguajes concebidos o no para Internet. Cada uno de ellos explota más a fondo ciertas características que lo hacen más o menos útiles para desarrollar distintas aplicaciones.

 

 

 
Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente.

 
Los lenguajes de lado servidor más ampliamente utilizados para el desarrollo de páginas dinámicas son el ASP, JSP, PERL y PHP.

 

 

 

 

 
ASP.NET (Active Server Pages).

 
Lenguaje comercializado por Microsoft, y usado por programadores para desarrollar entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnología ASP, fue lanzada al mercado mediante una estrategia de mercado denominada .NET.

 
Se desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Los archivos cuentan con la extensión (aspx). Para su funcionamiento de las páginas se necesita tener instalado IIS con el Framework .Net. Microsft Windows 2003 incluye este framework, solo se necesitará instalarlo en versiones anteriores.

 
El lenguaje ASP consiste en una serie de clases .NET utilizadas para crear aplicaciones Web, tanto del lado cliente (Web Form) como del lado servidor (Web Service). La integración de nativa .NET Framework con el sistema operativo Windows Server 2003 hace que su ejecución sea más estable y rápida que otros lenguajes de programación.

 
Las páginas creadas con la tecnología ASP.NET funcionan en todo tipo de navegadores – incluyendo Netscape, Safari y Internet Explorer.

 
Actualizaciones Dinámicas Soporte de servicios web XML Conexiones del tipo DSN, o sin utilización de DSN, para acceder a fuentes de datos ODBC.

 
Ventajas:
  • Completamente orientado a objetos.
  •   Controles de usuario y personalizados.
  •    División entre la capa de aplicación o diseño y el código.
  •     Facilita el mantenimiento de grandes aplicaciones.
  •     Incremento de velocidad de respuesta del servidor.
  •     Mayor velocidad.
  •     Mayor seguridad.

 

Desventajas:
  •  Mayor consumo de recursos.
  •  Tecnología propietaria.
  •  Hospedaje de sitios web costosos.

 
 
 
JSP

Es un lenguaje para la creación de sitios web dinámicos, acrónimo de Java Server Pages. Está orientado a desarrollar páginas web en Java. JSP es un lenguaje multiplataforma.

 
JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET, desarrollado para la creación de aplicaciones web potentes. Posee un motor de páginas basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un servidor Tomcat.

 
 
Características:
  •  Código separado de la lógica del programa.
  •  Las páginas son compiladas en la primera petición.
  •  Permite separar la parte dinámica de la estática en las páginas web.
  •  Los archivos se encuentran con la extensión (jsp).
  •  El código JSP puede ser incrustado en código HTML.


 
Los elementos que pueden ser insertados en las páginas JSP son los siguientes:

  1.  Código: se puede incrustar código “Java”.
  2.  Directivas: permite controlar parámetros del servlet.
  3.  Acciones: permite alterar el flujo normal de ejecución de una página.


Ventajas:
  •  Ejecución rápida del servlets.
  • Crear páginas del lado del servidor.
  •  Multiplataforma.
  • Código bien estructurado.
  •  Integridad con los módulos de Java.
  •  La parte dinámica está escrita en Java.

 
 
 Desventajas:
  •  Complejidad de aprendizaje.



PHP

 
PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación. Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP está desarrollado en política de código abierto, a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores.

 
El cliente solamente recibe una página con el código HTML resultante de la ejecución de la PHP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores.

 
 
Ventajas:
  •   Muy fácil de aprender.
  •    Se caracteriza por ser un lenguaje muy rápido.
  •    Soporta en cierta medida la orientación a objeto. Clases y herencia.
  •     Es un lenguaje multiplataforma: Linux, Windows, entre otros.
  •     Capacidad de conexión con la mayoría de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras.
  •     Capacidad de expandir su potencial utilizando módulos.
  •      Posee documentación en su página oficial la cual incluye descripción y ejemplos de cada una de sus funciones.
  •     Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
  •     Incluye gran cantidad de funciones.
  •     No requiere definición de tipos de variables ni manejo detallado del bajo nivel.
 
Desventajas:
  •     Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser más ineficiente a medida que las solicitudes aumenten de número.
  •      La legibilidad del código puede verse afectada al mezclar sentencias HTML y PHP.
  •      La programación orientada a objetos es aún muy deficiente para aplicaciones grandes.
  •      Dificulta la modularización.
  •      Dificulta la organización por capas de la aplicación.

 

Seguridad:

PHP es un poderoso lenguaje e intérprete, ya sea incluido como parte de un servidor web en forma de módulo o ejecutado como un binario CGI separado, es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor. Estas propiedades hacen que cualquier cosa que sea ejecutada en un servidor web sea insegura por naturaleza.

 

No hay comentarios:

Publicar un comentario