Web2py - Seguridad
En los capítulos anteriores se contó con información completa sobre la implementación de web2py con diversas herramientas. La principal preocupación para el desarrollo de aplicaciones web2py incluye la seguridad desde la perspectiva del usuario.
Las características únicas de web2py son las siguientes:
Los usuarios pueden aprender la implementación fácilmente. No requiere instalación ni dependencias.
Se ha mantenido estable desde el día del lanzamiento.
web2py es liviano e incluye bibliotecas para la capa de abstracción de datos y el lenguaje de plantilla.
Funciona con la ayuda de la interfaz de puerta de enlace del servidor web, que actúa como una comunicación entre los servidores web y las aplicaciones.
El proyecto de seguridad de aplicaciones web abiertas (OWASP) es una comunidad que enumera las brechas de seguridad de las aplicaciones web.
Brechas de seguridad
Con respecto a OWASP, los problemas relacionados con las aplicaciones web y cómo web2py los supera se analizan a continuación.
Secuencias de comandos cruzadas
También se conoce como XSS. Ocurre cuando una aplicación toma datos proporcionados por un usuario y los envía al navegador del usuario sin codificar o validar el contenido. Los atacantes ejecutan secuencias de comandos para inyectar gusanos y virus mediante secuencias de comandos cruzadas.
web2py ayuda a prevenir XSS al prevenir todas las variables renderizadas en el View.
Fuga de información
A veces, las aplicaciones filtran información sobre el funcionamiento interno, la privacidad y las configuraciones. Los atacantes usan esto para violar datos confidenciales, lo que podría conducir a ataques graves.
web2py evita esto mediante un sistema de tickets. Registra todos los errores y se emite el ticket al usuario cuyo error se está registrando. Estos errores solo son accesibles para el administrador.
Autenticación rota
Las credenciales de la cuenta no suelen estar protegidas. Los atacantes comprometen contraseñas, tokens de autenticación para robar las identidades del usuario.
web2py proporciona un mecanismo para la interfaz administrativa. También obliga a utilizar sesiones seguras cuando el cliente no es "localhost".
Comunicaciones inseguras
A veces, las aplicaciones no pueden cifrar el tráfico de red. Es necesario administrar el tráfico para proteger las comunicaciones sensibles.
web2py proporciona certificados habilitados para SSL para proporcionar cifrado de comunicaciones. Esto también ayuda a mantener una comunicación sensible.
Restricción en el acceso a URL
Las aplicaciones web normalmente protegen la funcionalidad sensible al evitar la visualización de enlaces y URL a algunos usuarios. Los atacantes pueden intentar violar algunos datos sensibles manipulando la URL con cierta información.
En wb2py, una URL se asigna a los módulos y funciones en lugar del archivo dado. También incluye un mecanismo, que especifica qué funciones son públicas y cuáles se mantienen como privadas. Esto ayuda a resolver el problema.