Sunteți pe pagina 1din 30

Velug-vln

LAMP
Plataforma para el desarrollo de aplicaciones para generar contenido
Web dinámico

Alvaro Jesús Hernández Arteaga


hernandez.alvaro@gmail.com
Qué es LAMP
El termino de Soluciones LAMP se origina a finales del
2000 en Alemania para describir a las aplicaciones web
creadas utilizando la siguiente combinación de
herramientas: * Linux, el sistema operativo;* Apache, el
servidor web;* MySQL, el servidor de bases de datos;*
Perl, PHP, y/o Python, lenguajes de programación.
fuente: wikipedia

Aunque el termino es relativamente nuevo las herramientas que dan base a este
concepto tienen una amplia trayectoria.

Velug-vln
Qué es necesario

Velug-vln
Qué es necesario
GNU / Linux
Servidor WEB
Apache

Lenguaje de programación
Perl
Python
PHP
Cualquiera que su
nombre comience por
“P”
Base de Datos
MySQL
Velug-vln
Cómo funciona?

Internet

LAMP Server

Velug-vln
Cómo funciona?

Internet

LAMP Server

Velug-vln
Ventajas

● Plataforma estable y comprobada


● Arquitectura Cliente/Servidor
● Acceso Universal
● Sintaxis amigable de los lenguajes
● Rapidez en el desarrollo
● Herramientas libres

Velug-vln
Desventajas

● Aplicaciones limitadas a la disponibilidad de


conexión
● Incompatibilidad entre navegadores
● Carencia de un entorno de desarrollo tipo RAD*
● Inseguridad por desconocimiento

*RAD: Rapid Aidded Design (Diseño rápido asistido)


Velug-vln
Fundamentos para el desarrollo

Como consecuencia directa del tipo de ambiente para el cual


se esta llevando a cabo el desarrollo “Plataforma Web”
generalmente se considera como lo más importante, el
aspecto visual del mismo, es decir, el diseño de la interfaz.

Velug-vln
El orden debería ser
El orden correcto en el cual deberían asumirse las
prioridades a la hora de realizar desarrollos para plataformas
web, puede ser este.

✔ Seguridad
✔ Mantenibilidad
✔ Fácil de usar
✔ Rendimiento
✔ Diseño gráfico

Velug-vln
Seguridad en un entorno Web

Por la naturaleza propia de la Web y de Internet como


tal, el tópico de la seguridad debe ser en el que
concentremos nuestro mayor esfuerzo, a la hora de
desarrollar una aplicación para esta plataforma

Velug-vln
Seguridad en un entorno Web
La seguridad es un tema amplio y complicado, nadie puede
ofrecer un sitio que este 100% seguro. Para enfocar este
tema podemos dividir la seguridad implícita en una
aplicación web en los siguientes segmentos:

✔ Seguridad de la Red
✔ Seguridad del servidor
✔ Seguridad de la aplicación

Velug-vln
Seguridad en un entorno Web

El proyecto OWASP (Open Web Application Security Project)


realizo un estudio durante los años 2001 y 2002 sobre los
aspectos de seguridad involucrados en el desarrollo de
aplicaciones para la plataforma Web.

Como conclusión se logro identificar una serie de


vulnerabilidades en el aspecto de seguridad de una
aplicación Web, de los cuales se hizo un rankin de las diez
más comunes.

http://www.owasp.org

Velug-vln
Top Ten de Vulnerabilidades de
las aplicaciones Web

✗ Parámetros sin validar


✗ Falencias en el control de acceso
✗ Manejo precario de cuentas y sesiones
✗ Fallas de Cross-Site Scripting
✗ Desbordamiento de buffers

Velug-vln
Top Ten de Vulnerabilidades de
las aplicaciones Web

✗ Falla de inyección de comandos


✗ Problemas con el manejo de errores
✗ Uso inseguro de criptografía
✗ Fallas de administración remota
✗ Configuración incorrecta a nivel del servidor

Velug-vln
La seguridad en un entorno Web
A modo de corregir o evitar estas frecuentes fallas es
recomendable considerar los siguientes puntos

✔ Siempre verificar la validez de los datos enviados desde


un cliente, tanto en su tamaño como en su tipo.

✔ Ser cautelosos con los scripts que establecen comunicación


con las bases de datos, que el cliente que establece la
conexión con la base de datos no tenga mas permisos que
los necesarios
Velug-vln
La seguridad en un entorno Web

✔ Cualquier operación relativa al sistema de archivos


ejecutada por parte de la aplicación web, es de alto riesgo.
Se debe verificar que la estructura de permisos asignada
no entrega ningún atributo innecesario que pueda ser
explotado y comprometa la integridad del sistema.

✔ Evitar ejecutar comandos del shell vía system() u otras


funciones similares

Velug-vln
La seguridad en un entorno Web

✔ Evitar la transmisión de datos sensibles* en formatos de


texto plano a través de la red. Se recomienda el uso de
canales con encriptamiento como ssl y ssh

*datos sensibles: password, numero de cuentas, etc.


Velug-vln
Mantenibilidad de una aplicación Web

En los sistemas tradicionales el tiempo de vida de una


aplicación es de dos (02) a cinco (05) años. En contraste la
naturaleza dinámica de la Web provoca que las aplicaciones
requieran ser actualizadas en cuestión de pocos meses y no
años. Las mejoras sobre las aplicaciones existentes son
continuas

Nuevas tecnologías que dan paso a nuevos contenidos de manera regular

Velug-vln
Mantenibilidad

Lo antes expuesto obliga a que una aplicación Web deba ser


mantenida o reemplazada. Otro enfoque es que una
aplicación Web se encuentra en constante proceso de
desarrollo, ya que la retroalimentación por parte de los
usuarios y las demandas de su diseño son mas prevalentes
que en sus contraparte tradicionales.

Velug-vln
Mantenibilidad
Los siguientes puntos deberían ser tomados en cuenta a fin de
facilitar el proceso de mantenimiento de las aplicaciones
desarrolladas para entornos Web

✔Siempre incluir tanto archivos como variables de


parametrizacion y/o configuración de la aplicación

✔Separar el código del contenido utilizando plantillas y


hojas de estilo

Velug-vln
Mantenibilidad

✔Desarrollar y/o mantener un estilo único de


programación

✔ Distribuir las tareas en el equipo de trabajo

✔ Escribir suficientes comentarios y documentación

Velug-vln
Fácil de usar (usabilidad)
El termino usabilidad refiere al estudio de cómo hacer el uso de
nuestras aplicaciones fácil e intuitivo. Los sistemas de
aplicaciones se encuentran cada vez mas orientados a usuarios
finales y como consecuencia menos usuarios técnicos. La idea
es lograr que el usuario sea capaz de operar la aplicación con
un mínimo de entrenamiento posible, y que la herramientas que
se le entregan sean descriptivas, con un lenguaje simple y
ameno.

Velug-vln
Fácil de usar (usabilidad)
Para lograr la usabilidad es necesario estar atento a las
necesidades de los usuarios (de todos los niveles) así como ser
capaces de obedecer a las tendencias dentro del área.

Un aspecto importante dentro de la usabilidad de las


aplicaciones Web y que muchas veces no es considerado es el
tamaño de los contenidos utilizados. En la actualidad gran parte
de la conexiones a Internet son de usuarios tipo dial-up

Velug-vln
Rendimiento

El rendimiento de una aplicación Web es un punto critico,


nuestras aplicaciones deben ser capaces de escalarse de
acuerdo a los requerimientos de los clientes que ejecutan las
peticiones. Desde un servidor para el uso en una Intranet hasta
un sitio con miles de visitas diarias, debemos ser capaces de
optimizar el uso de los recursos de la mejor manera posible.

Velug-vln
Rendimiento

Principalmente las optimizaciones deben llevarse a cabo en


dos instancias:

✔ Consultas a las bases de datos

✔ Operaciones que involucren al acceso a los dispositivos de


lectura y escritura

Velug-vln
Rendimiento

Es recomendable hacer pruebas de stressing de la aplicación,


simulando un ambiente de producción masivo de manera de
identificar las posibles falencias y lograr un equilibrio adecuado
entre los recursos de hardware disponible y aquellos que la
aplicación demande.

Velug-vln
Diseño gráfico

Este punto ha sido clasificado como el de menor prioridad en


el desarrollo de aplicaciones Web. Si tomamos en cuenta las
reglas establecidas en los puntos de mantenibilidad y
usabilidad nos daremos cuenta que el aspecto Gráfico de
nuestra aplicación debe ser independiente de su desarrollo,
fácilmente acomodable y que se ajuste a la aparición de
nuevas tecnologías según sus usuarios la demanden.

Velug-vln
Recomendaciones

Sitio web donde se trata el tema de diseño de interfase

http://spanish.joelonsoftware.com/

Sitio web donde se trata el tema de la usabilidad de los


sistemas

http://www.useit.com/alertbox/

Velug-vln
Muchas Gracias
Alvaro Jesús Hernández Arteaga
hernandez.alvaro@gmail.com

Velug-vln

S-ar putea să vă placă și