Ensuring system security
In the last section of this Moodle security chapter, we deal with configuration settings impacting system security, covering access to dataroot, cron execution, secure HTTP, and the IP blocker.
Configuring access to dataroot
In the Notifications screenshot earlier in the chapter, you probably spotted the warning that the dataroot
directory is directly accessible via the internet. Moodle requires additional space on a server to store uploaded files, such as course documents and user pictures. The directory is called dataroot
and must not be accessible via the web. If this directory is accessible directly, unauthorized users can get access to content.
Important note
$CFG->dataroot
must not be accessible via the web!
To prevent dataroot
from being accessible, move the directory outside the web directory (ensure not to mangle permissions) and modify config.php
accordingly by changing the $
CFG->dataroot
entry.
In externally hosted environments...