Seguridad

De MoodleDocs

Nota: Pendiente de Traducir. ¡Anímese a traducir esta página!.     ( y otras páginas pendientes)

Todo el software de aplicación web es altamente complejo, y en todas las aplicaciones se encuentran ocasionalmente aspectos relacionados con la seguridad, que por lo general implican alguna combinación de entrada que los programadores no anticiparon. Desde el proyecto Moodle tomamos en serio la seguridad, y estamos continuamente mejorando el programa para cerrar cada agujero tan pronto como lo encontramos.

Preliminares

  • Usted encontrará en este artículo importantes medidas de seguridad para su instalación de Moodle.
  • Usted debería informar sobre problemas de seguridad directamente a http://security.moodle.org - dado que en cualquier otro lugar los desarrolladores podrían pasarlos por alto. Por otra parte, con el fin de prevenir ataques, los desarrolladores no deberían hacer públicos los problemas hasta que estuvieran resueltos.
  • Por idénticas razones, usted no debería publicar los exploits (i.e., códigos escritos con el fin de aprovechar un error de programación para obtener privilegios) ni en el rastreador de errores (bugs) ni en los foros.

Medidas de seguridad simples

  • ¡La mejor estrategia de seguridad es una buena copia de seguridad! Pero su copia de seguridad no será buena a menos que pueda restaurarla. ¡Compruebe sus procedimientos de restauración!
  • Cargue únicamente el software o los servicios que vaya a usar.
  • Actualícese con regularidad.
  • Diseñe su seguridad en diferentes capas (exterior, intermedia e interior como mínimo) como se abrigaría un día frío de invierno superponiendo diferentes prendas de ropa.

Recomendaciones básicas

  • Actualice Moodle regularmente en cada lanzamiento.
Los agujeros de seguridad publicados atraen la atención de los crakers después del lanzamiento. Cuanto más antigua sea la versión, tanto más probable es que sea vulnerable.
  • Desactive Registros globales.
Esto ayudará a prevenir contra posibles problemas XSS en scripts de terceras partes.
  • Use contraseñas complejas para el administrador y los profesores.
Elegir contraseñas "difíciles" es una práctica de seguridad básica para proteger contra el cracking por "fuerza bruta" de las cuentas.
  • Abra cuentas de profesor únicamente a usuarios dignos de confianza. Evite crear cajas de arena (sandboxes) públicas con cuentas gratuitas de profesor en servidores de producción.
Las cuentas de profesor tienen permisos mucho más libres y es más fácil crear situaciones donde es posible abusar de los datos o robarlos.
  • Separe sus sistemas todo lo que le sea posible
Otra técnica básica de seguridad es usar diferentes contraseñas en diferentes sistemas, usar diversas máquinas para diversos servicios, etc. Esto impedirá que el daño se extienda incluso si una cuenta o un servidor son atacados.

Ejecute actualizaciones regulares

  • Utilice sistemas de actualización automática
  • Windows Update
  • Linux: up2date, yum, apt-get
Considere automatizar las actualizaciones mediante un scritp programado vía cron
  • Sistema de actualización Mac OSX
  • Manténgase al día en php, apache y moodle

Utilice listas de correo para mantenerse actualizado

Cortafuegos

  • Los expertos en seguridad recomiendan un cortafuegos dual
Existen diferentes combinaciones hardware/software
  • Desactivar servicios no usados es a menudo tan efectivo como un cortafuegos
Use netstat -a para revisar puertos de red abiertos
  • Noes una garantía de protección
  • Permita los puertos
80, 443(ssl), and 9111 (for chat),
Admin remoto: ssh 22, or rpd 3389

Be prepared for the worst

Alertas de seguridad de Moodle

  • Registre su sitio en Moodle.org
Los usuarios registrados recibirán alertas por correo electrónico

Otras consideraciones

He aquí algunas otras otras consideraciones que favorecen su seguridad general:

  • Desactive opentogoogle, especialmente en sitios K12
  • Utilice SSL, httpslogins=yes
  • Desactive el acceso de invitados
  • Ponga claves de matriculación en todos los cursos
  • Utilice buenas contraseñas
  • Utilice el ajuste de formularios seguros
  • Ajuste la contraseña de usuario root en mysql
  • Desactive el acceso de red mysql

Permisos de archivo más seguros/paranoides

Assuming you are running this on a sealed server (i.e. no user logins allowed on the machine) and that root takes care of the modifications to both moodle code and moodle config (config.php), then this are the most tight permissions I can think of:

1. moodledata directory and all of its contents (and subdirs, includes sessions):

owner: apache user (apache, httpd, www-data, whatever)
group: apache group (apache, httpd, www-data, whatever)
perms: 700 on directories, 600 on files

2. moodle directory and all of its contents and subdirs (including config.php):

owner: root
group: root
perms: 755 on directories, 644 on files.

If you allow local logins, then 2. should be:

owner: root
group: apache group
perms: 750 on directories, 640 on files

Think of these permissions as the most paranoid ones. You can be secure enough with less tighter permissions, both in moodledata and moodle directories (and subdirectories).

See also