viernes, 17 de octubre de 2008

7 habitos para escribir aplicaciones seguras en PHP

Cuando se empieza a tomar en cuenta la seguridad, hay que recordar que en adicion a la plataforma de desarrollo y a los problemas de seguridad del sistema operativo, es necesario garantizar que se esta escribiendo codigo seguro. IBM por medio de la sección DeveloperWorks publica 7 buenos habitos que, cuando se escribe codigo PHP, tenerlos en cuenta hace que las aplicaciones sean aun mas seguras:
. Validar las entradas del usuario. Es posiblemente el habito mas importante que se pueda adoptar cuando se comienza a considerar la seguridad. Las vulnerabilidades mas importantes se derivan del exceso de confianza en los datos que introduce el usuario.
.
Proteger el sistema de archivos
. El efecto que podria llegar a tener el robo de un archivo de sistema podria llegar a impactar no solo a la aplicacion, sino tambien al sistema operativo y al servidor en general.
. Proteger la Base de Datos. La informacion es el activo mas importante que protege la empresa, generalmente las aplicaciones administrativas manejan datos bastante sensibles que se manejan con mucho recelo.
. Proteger los datos de sesion. Toda informacion almacenada en la sesion es susceptible de ser visualizada por cualquiera. Tienes dos alternativas: cifrar los datos, lo que no garantiza por completo su privacidad si es un metodo reversible y/o almacenarlos en Base de datos.
. Protegerse contra las vulnerabilidades de tipo Cross-Site Scripting (XSS). Esta vulnerabilidad esta relacionada con el primer habito recomendado, pero ademas de protegerte de la informacion que aceptas en tu aplicacion, tambien hay que cuidar la informacion que se sale de la misma, principalmente para no incluir codigo que se ejecute/interprete indebidamente del lado del cliente.
. Verificar el intercambio de informacion (posts) entre formas. Ya que la conexion entre el cliente y el servidor no es persistente, debe hacerse una comprobacion del 'remitente' de los datos, ya que pudieron haber sido enviados desde cualquier forma sin haber pasado por las validaciones esperadas.
. Protegerse contra ataques Cross-Site Request Forgeries (CSRF). Este tipo de ataque se basa en la ganancia de privilegios mayores de los debidos por medio de expolits.
Seas un programador novato o ya experimentado, considerar estos habitos sin duda te llevará a conseguir aplicaciones que manejen de una forma mas segura la informacion. Una descripcion mucho mas completa de cada uno de estos puntos asi como código fuente que puedes implementar para cumplir con estas sugerencias en la fuente original, recomiendo ampliamente visitarla.

Sé feliz, vive seguro.

Fuente Desarrollo y Demas cosas


Link relacionados:

- Presentaciones: Seguridad en PHP
- Protege tu codigo con PHP Screw
- PHP Security Scanner
- Vulnerabilidad FI (File Inclusion) o Inclusión de Archivos
- Spike PHP Security Audit Tool
- 8 reglas sencillas para desarrollar un código más seguro

No hay comentarios: