ESC

Escribe para buscar entre todos los artículos

Volver al archivo

Hardening Moodle: ¿Cómo no convertirse en un centro de control de malware?

Guía de medidas de seguridad y hardening para instalaciones de Moodle, incluyendo configuración de permisos, cortafuegos, políticas de contraseñas y alertas.

Introducción

Esta página contiene importantes medidas de seguridad para su instalación de Moodle. Debe informar los problemas de seguridad al rastreador de Moodle (¡y marcarlo como un problema de seguridad!) para que los desarrolladores puedan verlo e informar a los sitios registrados de Moodle sobre las correcciones lo antes posible. No debe publicar exploits reales en los foros ni en ninguna otra parte de la web (para proteger a los administradores de Moodle que aún no han actualizado).

Medidas de seguridad simples

  • ¡La mejor estrategia de seguridad es una buena copia de seguridad! Pero no tienes una buena copia de seguridad a menos que puedas restaurarla. ¡Pon a prueba tus procedimientos de restauración!
  • Cargue solo el software o los servicios que utilizará.
  • Realizar actualizaciones regulares.
  • Modele su seguridad después de las capas de ropa que usa en un día frío de invierno.

Recomendaciones básicas

  • Actualiza Moodle regularmente en cada lanzamiento. Los agujeros de seguridad publicados atraen la atención de los crackers después del lanzamiento. Cuanto más antigua sea la versión, más vulnerabilidades es probable que contenga.
  • Use https para asegurar todas las páginas (no solo la página de inicio de sesión). Proteja todo el tráfico de su instancia de Moodle y sus usuarios al hacer que todas las páginas sean accesibles solo a través de https. Esto no solo protege las contraseñas en el inicio de sesión, sino que también garantiza la privacidad de sus usuarios para que todos los datos de los usuarios no puedan ser interceptados o manipulados (“inyecciones”) de terceros. Los certificados https gratuitos están disponibles en https://letsencrypt.org/. Además, establezca httpslogin = yes en su configuración de moodle para agregar una capa adicional de protección para enviar credenciales de inicio de sesión.
  • El registro global DEBE estar deshabilitado. Esto ayudará a evitar posibles problemas de XSS en scripts de terceros.
  • Use contraseñas seguras para administradores y maestros. Elegir contraseñas “difíciles” es una práctica de seguridad básica para protegerse contra el craqueo de cuentas por “fuerza bruta”.
  • Solo dar cuentas de profesor a usuarios de confianza. Evite crear espacios públicos con cuentas de profesor gratuitas en servidores de producción. Las cuentas de los maestros tienen permisos mucho más libres y es más fácil crear situaciones donde los datos pueden ser objeto de abuso o robo.
  • Separa tus sistemas tanto como sea posible. Otra técnica de seguridad básica es usar diferentes contraseñas en diferentes sistemas, usar diferentes máquinas para diferentes servicios, etc. Esto evitará que los daños se extiendan incluso si se compromete una cuenta o un servidor.

Ejecutar actualizaciones regulares

Utilizar sistemas de actualización automática:

  • actualización de Windows
  • Linux: up2date, yum, apt-get
  • Considere automatizar las actualizaciones con un script programado a través de cron
  • Sistema de actualización de Mac OSX
  • Mantente actualizado con php, apache y moodle

Utilice las listas de correo para mantenerse actualizado

Cortafuegos

  • Los expertos en seguridad recomiendan un firewall dual
  • Diferentes combinaciones de hardware / software
  • Deshabilitar los servicios no utilizados suele ser tan efectivo como un firewall
  • Utilice netstat -a para revisar los puertos de red abiertos
  • No es garantía de protección.
  • Permitir puertos 80, 443 (ssl) y 9111 (para chatear)
  • Administrador remoto: ssh 22, o rdp 3389

Política de contraseñas

Se puede configurar una política de contraseñas en Configuración > Administración del sitio > Seguridad > Políticas del sitio. Hay una casilla de verificación para determinar si la complejidad de la contraseña se debe aplicar o no, la opción para establecer la longitud mínima de la contraseña, el número mínimo de dígitos, el número mínimo de caracteres en minúscula, el número mínimo de caracteres en mayúscula y el número mínimo de caracteres no alfanuméricos.

Prepárate para lo peor

Alertas de seguridad de Moodle

Consideraciones varias

  • Utilice la configuración de formularios seguros
  • Establezca siempre una contraseña de usuario root de mysql
  • Desactivar el acceso a la red mysql
  • Use SSL, httpslogins = yes
  • Use buenas contraseñas: configure una política de contraseñas en Configuración > Administración del sitio > Seguridad > Políticas del sitio
  • No habilite la configuracion de opentogoogle
  • Deshabilitar el acceso de invitados
  • Coloque las claves de inscripcion en todos los cursos o establezca Course Enrollable = No para todos los cursos
  • Asegúrese de que la sugerencia de la clave de inscripción esté deshabilitada

Permisos de archivos más seguros / paranoicos

(Aplica solo a instalaciones basadas en Linux/Unix)

Dependiendo de la configuración de su servidor, hay dos escenarios diferentes:

  1. Esta ejecutando Moodle en su propio servidor dedicado.
  2. Esta ejecutando Moodle en un entorno de alojamiento compartido.

Ejecutando Moodle en un servidor dedicado

  1. Directorio de moodledata y todos sus contenidos:

    • propietario: usuario de apache
    • grupo: grupo de apache
    • permisos: 700 en directorios, 600 en archivos
  2. Directorio moodle y todos sus contenidos (incluido config.php):

    • propietario: root
    • grupo: root
    • permisos: 755 en directorios, 644 en archivos

Ejecutando Moodle en un entorno de alojamiento compartido

  • Si la cuenta del servicio web y el propietario de los directorios/archivos son los mismos: 700 para directorios y 600 para archivos.
  • Si el grupo de servicios web y el grupo de directorios/archivos es el mismo: 770 para directorios y 660 para archivos.
  • Si no es así: 777 para directorios y 666 para archivos (menos seguro pero única opción).

Ver más en:

SV
Autor

Sebastián Vargas

CISO & Fundador de TTPSEC SpA. Más de 15 años en ciberseguridad, governance, riesgo y compliance. Escribiendo sobre seguridad de la información desde 2018.

¿Te sirve el contenido?

Recomendarme en LinkedIn
Volver al archivo