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.
  • Modele su seguridad despues de las capas de ropa que usted usa en un día frío del invierno

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

Firewalls

  • Security experts recommend a dual firewall
Differing hardware/software combinations
  • Disabling unused services is often as effective as a firewall
Use netstat -a to review open network ports
  • Not a guarantee of protection
  • Allow ports
80, 443(ssl), and 9111 (for chat),
Remote admin: 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

Miscellaneous considerations

These are all things you might consider that impact your overall security:

  • Turn off opentogoogle, esp for K12 sites
  • Use SSL, httpslogins=yes
  • Disable guest access
  • Place enrollment keys on all courses
  • Use good passwords
  • Use the secure forms setting
  • Set the mysql root user password
  • Turn off mysql network access

Most secure/paranoid file permissions

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