Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : Sécurité, celle pour les versions 3.x de Moodle est consultable ici : Sécurité et celle pour Moodle 4.x est consultable là : Sécurité.

« Sécurité » : différence entre les versions

De MoodleDocs
Aller à :navigation, rechercher
mAucun résumé des modifications
 
(11 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Mettre à jour}}
Toute application web est complexe, et l'on découvre de temps en temps des trous de sécurité dans chacune d'entre elles. Habituellement, ces problèmes impliquent la saisie de texte que les développeurs n'ont pas anticipée. Le projet Moodle prend la sécurité très au sérieux et améliore continuellement Moodle de façon à résoudre de tels problèmes dès leur apparition, et même avant.
Toute application web est complexe, et l'on découvre de temps en temps des trous de sécurité dans chacune d'entre elles. Habituellement, ces problèmes impliquent la saisie de texte que les développeurs n'ont pas anticipée. Le projet Moodle prend la sécurité très au sérieux et améliore continuellement Moodle de façon à résoudre de tels problèmes dès leur apparition, et même avant.


== Préambule ==
== Préambule ==
*Dans cet article, vous trouverez d'importantes mesures de sécurité à prendre pour votre installation de Moodle.
* Dans cet article, vous trouverez d'importantes mesures de sécurité à prendre pour votre installation de Moodle.
*Les problèmes de sécurité que vous rencontrez doivent être rapportés directement à l'adresse http://security.moodle.org/, sans quoi les développeurs risquent de ne pas y être rendus attentifs, et aussi parce qu'ils ne doivent pas être rendus public avant d'avoir une solution (pour prévenir des attaques et éviter de faire peur indûment).
* Les problèmes de sécurité que vous rencontrez doivent être rapportés directement dans le [[Traqueur de bogues]], comme [http://tracker.moodle.org/secure/CreateIssue!default.jspa problème de sécurité] afin que les développeurs soient prévenus au plus vite, puissent informer les administrateurs de sites Moodle enregistrés, et éviter que ces failles ne soient connues publiquement avant d'avoir une solution (pour prévenir des attaques et éviter de faire peur indûment).
*Veillez à ne pas poster ni dans le gestionnaire de bogues, ni dans les forums, de messages avec du code permettant d'exploiter une faille de sécurité, afin là encore d'éviter les attaques.
* Veillez à ne pas poster ni dans le gestionnaire de bogues, ni dans les forums, de messages avec du code permettant d'exploiter une faille de sécurité, afin là encore d'éviter les attaques.


== Quelques mesures de sécurité simples ==
== Quelques mesures de sécurité simples ==
* La meilleure stratégie de sécurité est une bonne copie de sauvegarde ! Une copie de sauvegarde n'est bonne que si vous pouvez la restaurer. Testez vos procédures de restauration !
* La meilleure stratégie de sécurité est une bonne copie de sauvegarde ! Une copie de sauvegarde n'est bonne que si vous pouvez la restaurer. Testez vos procédures de restauration !
* N'utilisez que des logiciels et services que vous emploirez.
* N'utilisez que des logiciels et services que vous emploierez.
* Effectuez les mises à jour de façon régulière.
* Effectuez les mises à jour de façon régulière.
* Construisez votre modèle de sécurité comme les couches d'habits que vous portez lors d'un hiver froid.
* Construisez votre modèle de sécurité comme les couches d'habits que vous portez lors d'un hiver froid.


== Recommandations de base ==
== Recommandations de base ==
* Mettez à jour Moodle régulièrement, lors de chaque nouvelle version :
* [[Mise à jour|Mettez à jour]] Moodle régulièrement, lors de chaque nouvelle version :
:les failles de sécurité publiées attirent l'attention des pirates après leur publication. Plus la version est ancienne, plus grand est la probabilité qu'elle contienne des failles.
:les failles de sécurité publiées attirent l'attention des pirates après leur publication. Plus la version est ancienne, plus grande est la probabilité qu'elle contienne des failles.
* Désactivez l'option PHP ''register globals'' :
* Désactivez l'option PHP ''register globals'' :
:cela vous aidera à vous prémunir contre des éventuels problèmes XSS dans des scripts de tiers.
:cela vous aidera à vous prémunir contre des éventuels problèmes XSS dans des scripts de tiers.
* Utilisez des mots de passe complexes pour les administrateurs et les enseignants :
* Utilisez des mots de passe complexes pour les administrateurs et les enseignants :
:l'utilisation de mots de passes difficiles à deviner est une pratique de protection de base pour éviter les attaques en force  contre les comptes.
:l'utilisation de mots de passes difficiles à deviner est une pratique de protection de base pour éviter les attaques en force  contre les comptes.
* Ne donnez des privilèges d'enseignants qu'à des utilisateurs fiables. Évitez la création de cours ''bac à sable'' avec des comptes d'enseignant ouverts sur des serveurs de production :
* Ne donnez des privilèges d'[[Enseignant|enseignants]] qu'à des utilisateurs fiables. Évitez la création de cours ''bac à sable'' avec des comptes d'enseignant ouverts sur des serveurs de production :
:les comptes avec privilèges d'enseignant ont des permissions beaucoup plus larges et il est donc plus simple d'y créer des situations dans lesquelles les données peuvent être compromises.
:les comptes avec privilèges d'enseignant ont des permissions beaucoup plus larges et il est donc plus simple d'y créer des situations dans lesquelles les données peuvent être compromises.
* Séparez vos systèmes autant que possible :
* Séparez vos systèmes autant que possible :
Ligne 30 : Ligne 31 :
:Envisagez de mettre en place un script de mise à jour automatique lancé par cron  
:Envisagez de mettre en place un script de mise à jour automatique lancé par cron  
* Mise à jour de logiciels de Mac OS X
* Mise à jour de logiciels de Mac OS X
* Utilisez des versions actuelles de php, apache et moodle
* Utilisez des versions actuelles de php, apache et Moodle


== Utilisez les listes de diffusion pour rester au courant ==
== Utilisez les listes de diffusion pour rester au courant ==
Ligne 50 : Ligne 51 :
* Tenez prêtes vos sauvegardes  
* Tenez prêtes vos sauvegardes  
* Exercez vos procédures de récupération à l'avance  
* Exercez vos procédures de récupération à l'avance  
* Utilisez régulièrement un déctecteur de ''rootkit''
* Utilisez régulièrement un détecteur de ''rootkit''
** Linux, Mac OS X - http://www.chkrootkit.org/  
** Linux, Mac OS X - http://www.chkrootkit.org/  
** Windows - http://www.sysinternals.com/Utilities/RootkitRevealer.html
** Windows - http://www.sysinternals.com/Utilities/RootkitRevealer.html


==Moodle security alerts==
== Alertes de sécurité Moodle ==
*Register your site with Moodle.org
* Enregistrez votre site auprès de Moodle.org :
:Registered users receive email alerts
:les utilisateurs enregistrés reçoivent les alertes par courriel.
*Security alerts also posted online
Les alertes de sécurité sont aussi publiées en ligne :
*Web - http://security.moodle.org/  
* Web - http://moodle.org/security
*RSS feed - http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml
* RSS - http://moodle.org/rss/file.php/1/1/forum/996/rss.xml


==Miscellaneous considerations==
== Considérations supplémentaires ==
These are all things you might consider that impact your overall security:
Les points suivants ont également un impact sur la sécurité de votre Moodle :
*Turn off opentogoogle, esp for K12 sites
* Désactivez le paramètre ''opentogoogle'', en particulier pour les sites avec des élèves de moins de 12 ans
*Use SSL, httpslogins=yes
* Utilisez SSL et activez le paramètre ''httpslogins''
*Disable guest access
* Désactivez l'[[Visiteur anonyme|accès aux visiteurs anonymes]] en cachant le bouton de connexion comme visiteur anonyme
*Place enrollment keys on all courses
* Mettez des [[Clef d'inscription|clefs d'inscription]] pour tous les cours
*Use good passwords
* Utilisez de bons mots de passe
*Use the secure forms setting
* Activez le paramètre''secureforms''
*Set the mysql root user password
* Donnez un mot de passe à l'utilisateur ''root'' de MySQL
*Turn off mysql network access
* Désactivez l'accès à MySQL par le réseau


==Most secure/paranoid file permissions==
== Autorisations de fichiers les plus sûres ==
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):
Si vous faites tourner Moodle sur une machine sur laquelle les connexions des utilisateurs sont interdites et si l'utilisateur ''root'' s'occupe des modifications au code et de la configuration de Moodle (fichier ''config.php''), les autorisations suivantes sont les plus sûres :
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):
1. Dossier ''moodledata'' et tout son contenu et ses sous-dossiers, y compris les sessions :
  owner: root
  possesseur : utilisateur apache (apache, httpd, www-data, etc.)
  group: root
  groupe : groupe apache (apache, httpd, www-data, etc.)
  perms: 755 on directories, 644 on files.
  autorisations : 700 sur les dossiers, 600 sur les fichiers


If you allow local logins, then 2. should be:
2. Dossier ''moodle'' et tout son contenu et ses sous-dossiers, y compris le fichier ''config.php'' :
  owner: root
  possesseur : root
  group: apache group
  groupe : root
  perms: 750 on directories, 640 on files
  autorisations : 755 sur les dossiers, 644 sur les fichiers


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).
Si vous autorisez les connexions locales, le point 2. doit être modifié ainsi :
possesseur : root
groupe : groupe apache
autorisations : 750 sur les dossiers, 640 sur les fichiers
 
Ces autorisations sont à considérer comme paranoïaques. Il est tout à fait possible d'être sécurisé avec des autorisations moins restrictives, tant sur le dossier ''moodledata'' que sur le dossier ''moodle'' et leurs sous-dossiers.


== Voir aussi ==
== Voir aussi ==
*Discussion [http://moodle.org/mod/forum/discuss.php?d=39404 Guide to Securing your Moodle Server] sur le forum de Using Moodle
*Discussion [http://moodle.org/mod/forum/discuss.php?d=39404 Guide to Securing your Moodle Server] sur le forum de Using Moodle


[[Category:Administrateur]]
[[Catégorie:Administrateur]]


[[en:Security]]
[[en:Security]]
[[es:Seguridad]]
[[es:Seguridad]]

Dernière version du 9 novembre 2009 à 14:35

Cet article a besoin d'une mise à jour. Veuillez SVP le mettre à jour et retirer cette notice une fois la mise à jour effectuée. Si le bloc "Autres langues" (voir pied de page), comprend un lien "English", vous pouvez vous inspirer du contenu anglais.



Toute application web est complexe, et l'on découvre de temps en temps des trous de sécurité dans chacune d'entre elles. Habituellement, ces problèmes impliquent la saisie de texte que les développeurs n'ont pas anticipée. Le projet Moodle prend la sécurité très au sérieux et améliore continuellement Moodle de façon à résoudre de tels problèmes dès leur apparition, et même avant.

Préambule

  • Dans cet article, vous trouverez d'importantes mesures de sécurité à prendre pour votre installation de Moodle.
  • Les problèmes de sécurité que vous rencontrez doivent être rapportés directement dans le Traqueur de bogues, comme problème de sécurité afin que les développeurs soient prévenus au plus vite, puissent informer les administrateurs de sites Moodle enregistrés, et éviter que ces failles ne soient connues publiquement avant d'avoir une solution (pour prévenir des attaques et éviter de faire peur indûment).
  • Veillez à ne pas poster ni dans le gestionnaire de bogues, ni dans les forums, de messages avec du code permettant d'exploiter une faille de sécurité, afin là encore d'éviter les attaques.

Quelques mesures de sécurité simples

  • La meilleure stratégie de sécurité est une bonne copie de sauvegarde ! Une copie de sauvegarde n'est bonne que si vous pouvez la restaurer. Testez vos procédures de restauration !
  • N'utilisez que des logiciels et services que vous emploierez.
  • Effectuez les mises à jour de façon régulière.
  • Construisez votre modèle de sécurité comme les couches d'habits que vous portez lors d'un hiver froid.

Recommandations de base

  • Mettez à jour Moodle régulièrement, lors de chaque nouvelle version :
les failles de sécurité publiées attirent l'attention des pirates après leur publication. Plus la version est ancienne, plus grande est la probabilité qu'elle contienne des failles.
  • Désactivez l'option PHP register globals :
cela vous aidera à vous prémunir contre des éventuels problèmes XSS dans des scripts de tiers.
  • Utilisez des mots de passe complexes pour les administrateurs et les enseignants :
l'utilisation de mots de passes difficiles à deviner est une pratique de protection de base pour éviter les attaques en force contre les comptes.
  • Ne donnez des privilèges d'enseignants qu'à des utilisateurs fiables. Évitez la création de cours bac à sable avec des comptes d'enseignant ouverts sur des serveurs de production :
les comptes avec privilèges d'enseignant ont des permissions beaucoup plus larges et il est donc plus simple d'y créer des situations dans lesquelles les données peuvent être compromises.
  • Séparez vos systèmes autant que possible :
une autre technique de base consiste à utiliser différents mots de passe sur des systèmes différents, à utiliser différentes machines pour des services différents, etc. Ceci évitera que les éventuels dommages ne se répandent, même si un compte ou un serveur est compromis.

Faites des mises à jour régulières de vos systèmes

  • Utilisez les mécanismes de mise à jour automatique
  • Windows Update
  • Linux : up2date, yum, apt-get
Envisagez de mettre en place un script de mise à jour automatique lancé par cron
  • Mise à jour de logiciels de Mac OS X
  • Utilisez des versions actuelles de php, apache et Moodle

Utilisez les listes de diffusion pour rester au courant

Pare-feu (firewalls)

  • Les experts en sécurité recommandent un pare-feu double :
différentes combinaisons de matériel et logiciels.
  • La désactivation des services non utilisés est souvent aussi efficace qu'un pare-feu :
utilisez netstat -a pour vérifier les ports réseaux ouverts.
  • Les pare-feu ne garantissent pas une protection absolue.
  • Permettre le trafic sur les ports réseaux :
80, 443 (ssl) et 9111 (pour le chat),
pour l'administration à distance : 22 (ssh) ou 3389 (rpd).

Soyez prêt au pire

Alertes de sécurité Moodle

  • Enregistrez votre site auprès de Moodle.org :
les utilisateurs enregistrés reçoivent les alertes par courriel.

Les alertes de sécurité sont aussi publiées en ligne :

Considérations supplémentaires

Les points suivants ont également un impact sur la sécurité de votre Moodle :

  • Désactivez le paramètre opentogoogle, en particulier pour les sites avec des élèves de moins de 12 ans
  • Utilisez SSL et activez le paramètre httpslogins
  • Désactivez l'accès aux visiteurs anonymes en cachant le bouton de connexion comme visiteur anonyme
  • Mettez des clefs d'inscription pour tous les cours
  • Utilisez de bons mots de passe
  • Activez le paramètresecureforms
  • Donnez un mot de passe à l'utilisateur root de MySQL
  • Désactivez l'accès à MySQL par le réseau

Autorisations de fichiers les plus sûres

Si vous faites tourner Moodle sur une machine sur laquelle les connexions des utilisateurs sont interdites et si l'utilisateur root s'occupe des modifications au code et de la configuration de Moodle (fichier config.php), les autorisations suivantes sont les plus sûres :

1. Dossier moodledata et tout son contenu et ses sous-dossiers, y compris les sessions :

possesseur : utilisateur apache (apache, httpd, www-data, etc.)
groupe : groupe apache (apache, httpd, www-data, etc.)
autorisations : 700 sur les dossiers, 600 sur les fichiers

2. Dossier moodle et tout son contenu et ses sous-dossiers, y compris le fichier config.php :

possesseur : root
groupe : root
autorisations : 755 sur les dossiers, 644 sur les fichiers

Si vous autorisez les connexions locales, le point 2. doit être modifié ainsi :

possesseur : root
groupe : groupe apache
autorisations : 750 sur les dossiers, 640 sur les fichiers

Ces autorisations sont à considérer comme paranoïaques. Il est tout à fait possible d'être sécurisé avec des autorisations moins restrictives, tant sur le dossier moodledata que sur le dossier moodle et leurs sous-dossiers.

Voir aussi