Cron.php y Moodle

Cron.php y Moodle

de German Sanchez Garces -
Número de respuestas: 1

Buenas, hace un par de años que utilizo moodle y me llamó la atención que el archivo cron.php, no viniera protegido por contraseña de serie, obviamente la política de seguridad que se lleve en el servidor de la persona que instala moodle es incontrolable, pero desde el panel de instalación de Moodle, estaría bien ver una opción de cambio de contraseña para que el parámetro "password" viniese activado por defecto. Hace una semana redacté un documento explicando una de las repercusiones que me vinieron a la mente por dejar esta carpeta al aire.

http://www.enelpc.com/2010/11/metiendole-unos-ddos-al-cron-parte-1.html

Redacté tambien en la siguiente entrada, la forma más simple de tapar la falla con una contraseña en la carpeta o simplemente configurando bien las políticas del sitio.

Saludos!

 

Promedio de valoraciones:Útil (4)
En respuesta a German Sanchez Garces

Re: Cron.php y Moodle

de Xavier Paz -

Es un buen artículo, y en parte tienes razón, pero se te escapa un detalle. El cron se puede ejecutar de dos maneras. La externa, mediante un wget y la interna mediante el comando php del sistema. El que cron sea abierto tiene su lógica hasta cierto punto, pues permite ejecutar las tareas programadas sin tener acceso a la plataforma.

El uso de contraseña acarrearía un retardo en cada ejecución, no muy grande posiblemente. El caso es que se puede evitar el tema de la contraseña usando el método del .htaccess. Lo único que habría que hacer es establecer mediante reglas que el fichero del cron no se pueda solicitar desde ip's externas y ejecutarlo mediante el comando php. Así n estaría accesible desde fuera y el coste de ejecución sería menor, evitando los posibles ataques DoS.

Otra sugerencia que se podría hacer al equipo de desarrollo de Moodle es que la ejecución de cron estuviera limitada por configuración, o solo permitida desde una lista blanca de ip's.

Edito: acabo de darme cuenta que si puedes limitar la ejecución del cron y ponerle contraseña. Las opciones están en Administración del sitio >> Seguridad >> Políticas del sitio y son:

  • Ejecución de cron sólo mediante comandos cronclionly
  • Contraseña de cron para acceso remoto cronremotepassword