Security overview report
Location: Administration > Reports > Security overview
The security overview report is available in Moodle 1.9.4 onwards.
- 1 Register globals
- 2 Insecure dataroot
- 3 Displaying of PHP errors
- 4 No authentication
- 5 Allow EMBED and OBJECT
- 6 Enabled .swf media filter
- 7 Open user profiles
- 8 Open to Google
- 9 Password policy
- 10 Email change confirmation
- 11 Writable config.php
- 12 XSS trusted users
- 13 Administrators
- 14 Registered user role
- 15 Guest role
- 16 Frontpage role
- 17 Default course role (global)
- 18 Default roles (courses)
- 19 See also
register_globals is a PHP setting that must be disabled for Moodle to operate safely.
The dataroot is the directory where Moodle stores user files. It should not be directly accessible via the web.
Displaying of PHP errors
If PHP is set to display errors, then anyone can enter a faulty URL causing PHP to give up valuable information about directory structures and so on.
Use of the "no authentication" plugin can be dangerous, allowing people to access the site without authenticating.
Allow EMBED and OBJECT
Allowing ordinary users to embed Flash and other media in their texts (eg forum posts) can be a problem because those rich media objects can be used to steal admin or teacher access, even if the media object is on another server.
Enabled .swf media filter
Even the flash media filter can be abused to include malicious flash files.
Open user profiles
User profiles should not be open to the web without authentication, both for privacy reasons and because spammers then have a platform to publish spam on your site.
Open to Google
Allowing Google to enter your site means that all the contents become available to the world. Don't use this unless it's a really public site.
Using a password policy will force your users to use stronger passwords that are less susceptible to being cracked by a intruder.
Email change confirmation
You should generally always force users to confirm email address changes via an extra step where a confirmation link is sent to the user.
The config.php file must not be writeable by the web server process. If it is, then it is possible for another vulnerability to allow attackers to rewrite the Moodle code and display whatever they want.
XSS trusted users
Make sure that you trust all the people on this list: they are the ones with permissions to potentially write XSS exploits in forums etc. See the Using Moodle discussion How to fix XSS trusted users problem for further details.
Review your administrator accounts and make sure you only have what you need.
Registered user role
This checks that the registered user role is defined with sane permissions.
This checks that the guest role is defined with sane permissions.
This checks that the frontpage user role is defined with sane permissions.
Default course role (global)
This checks that the default course role globally is defined with sane permissions.
Default roles (courses)
This check alerts you if any courses are using an odd default course role.
- Using Moodle Security and Privacy forum