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
 
(17 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 ==
*The best security strategy is a good backup! But you don't have a good backup unless you are able to restore it. Test your restoration procedures!
* 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 !
*Load only software or services you will use
* N'utilisez que des logiciels et services que vous emploierez.
*Perform regular updates
* Effectuez les mises à jour de façon régulière.
*Model your security after the layers of clothing you wear on a cold winter day
* 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 ==
*Update Moodle regularly on each release
* [[Mise à jour|Mettez à jour]] Moodle régulièrement, lors de chaque nouvelle version :
:Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.
: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.
*Disable register globals
* Désactivez l'option PHP ''register globals'' :
:This will help prevent against possible XSS problems in third-party scripts.
:cela vous aidera à vous prémunir contre des éventuels problèmes XSS dans des scripts de tiers.
*Use strong passwords for admin and teachers
* Utilisez des mots de passe complexes pour les administrateurs et les enseignants :
:Choosing "difficult" passwords is a basic security practice to protect against "brute force" cracking of accounts.
:l'utilisation de mots de passes difficiles à deviner est une pratique de protection de base pour éviter les attaques en force contre les comptes.
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.
* 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 :
:Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.
: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.
*Separate your systems as much as possible
* Séparez vos systèmes autant que possible :
:Another basic security technique is to use different passwords on different systems, use different machines for different services and so on. This will prevent damage being widespread even if one account or one server is compromised.
: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.


==Run regular updates==
== Faites des mises à jour régulières de vos systèmes ==
*Use auto update systems
* Utilisez les mécanismes de mise à jour automatique
*Windows Update  
* Windows Update  
*Linux: up2date, yum, apt-get
* Linux : up2date, yum, apt-get
:Consider automating updates with a script scheduled via cron  
:Envisagez de mettre en place un script de mise à jour automatique lancé par cron  
*Mac OSX update system
* Mise à jour de logiciels de Mac OS X
*Stay current with php, apache, and moodle
* Utilisez des versions actuelles de php, apache et Moodle


==Use mailing lists to stay updated==
== Utilisez les listes de diffusion pour rester au courant ==
*CERT - http://www.us-cert.gov/cas/signup.html
* CERT - http://www.us-cert.gov/cas/signup.html
*PHP - http://www.php.net/mailing-lists.php - sign up for Announcements list
* PHP - http://www.php.net/mailing-lists.php - abonnez-vous à la liste ''Announcements''
*MySQL - http://lists.mysql.com - sign up for MySQL Announcements
* MySQL - http://lists.mysql.com - abonnez-vous à la liste ''MySQL Announcements''


==Firewalls==
== Pare-feu (firewalls) ==
*Security experts recommend a dual firewall
* Les experts en sécurité recommandent un pare-feu double :
:Differing hardware/software combinations
:différentes combinaisons de matériel et logiciels.
*Disabling unused services is often as effective as a firewall
* La désactivation des services non utilisés est souvent aussi efficace qu'un pare-feu :
:Use netstat -a to review open network ports
:utilisez netstat -a pour vérifier les ports réseaux ouverts.
*Not a guarantee of protection
* Les pare-feu ne garantissent pas une protection absolue.
*Allow ports  
* Permettre le trafic sur les ports réseaux :
:80, 443(ssl), and 9111 (for chat),  
:80, 443 (ssl) et 9111 (pour le chat),  
:Remote admin: ssh 22, or rpd 3389
:pour l'administration à distance : 22 (ssh) ou 3389 (rpd).


==Be prepared for the worst==
== Soyez prêt au pire ==
*Have backups ready
* Tenez prêtes vos sauvegardes
*Practice recovery procedures ahead of time
* Exercez vos procédures de récupération à l'avance
*Use a rootkit detector on a regular basis
* Utilisez régulièrement un détecteur de ''rootkit''
**Linux/MacOSX - 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