Malas prácticas de programación

Luego de haber sufrido infinidad de ataques a muchos de los blogs que hosteo, hace ya buen tiempo decidí cortar por lo sano, simplemente instalé Suhosin, en mis servers y deje que todo tipo de actividad extraña fuera bloqueada (Ojo, esto es sólo a nivel PHP, eso no quiere decir que no intalen firewalls, IDS u otras medidas adicionales de seguridad en sus servidores). Hasta el día de hoy creía no tener efectos secundarios. Sin embargo, debido a que éste blog usa un viejo plugin para el módulo de "Contactame", descubrí que luego de la última actualización dicho plugin no estaba funcionando.

Al principio creí que era debido a la última migración/actualización que hice de mi server. Si mi memoria no me falla este es el septimo server que hospeda mi blog. Luego de recibir el reporte de @cnieto de que el formulario tenía problemas, hice lo que siempre hago asegurarme de que el exim4 este seteado para hacer relays a dominios externos. Luego de ello pense que el problema se había solucionado, sin embargo para mi sorpresa en un test que hice luego de haber reconfigurado el exim, me di cuenta de que aún no funcionaba.

Luego de leer los logs, encontré este misterioso mensaje:

"ALERT – configured request variable name length limit exceeded – dropped variable"

Con detalles de la IP desde donde me estaba conectando y un increíblemente largo nombre de variable de 204 caracteres de largo. Seamos honestos a que mente retorcida se le puede ocurrir darle 204 caracteres de longitud al nombre de una variable. Al parecer el plugin que estoy usando lo hace, razón por lo cual tuve que editar el archivo "/etc/php5/conf.d/suhosin.ini" y cambiar los valores por defecto de estas dos variables:

;suhosin.post.max_name_length = 64
;suhosin.request.max_varname_length = 64

Por los siguientes:

suhosin.post.max_name_length = 254
suhosin.request.max_varname_length = 254

Luego de reiniciar el Apache, el formulario de "Contactame" ya estaba nuevamente operando como lo hacía en el anterior server. Creo que en Lenny el módulo Suhosin se ha vuelto más paranoico o sencillamente tampoco estaba funcionando en el anterior server que era Lenny también pero estaba en RackspaceCloud, si los chicos del "Fanatical Support", que terminaron desiluncionandome, razón por la cual  volví a hostear nuevamente el servidor virtual de mi blog en el server físico que tengo colocado en el data center de la compañía donde trabajo. Como sea el problema no estaba en el seteo del sistema que estaba racionalmente configurado, sino en las malas prácticas de programación que al parecer algunos desarrolladores de pequeños proyectos Open Source suelen tener. Es por eso que la gran mayoría de proyectos Open Source nunca crecen.

Bueno ya pude desahogar mi enojo, para eso también sirve el blog. Desde ahora ya esta activa nuevamente la página de "Contactame".

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.