2.7 Ensure the User Directories Module Is Disabled (Automated)
Profile Applicability
- Level 1
Description
The UserDir directive must be disabled so that user home directories are not accessed via the web site with a tilde (~) preceding the username. The directive also sets the path name of the directory that will be accessed. For example:
http://example.com/~ralph/might access apublic_htmlsub-directory of ralph user's home directory- The directive
UserDir ./might map~rootto the root directory (/).
Rationale
The user directories should not be globally enabled since it allows anonymous access to anything users may want to share with other users on the network. Also consider that every time a new account is created on the system, there is potentially new content available via the web site.
Audit
Perform the following to determine if the modules are enabled.
Run the httpd server with the -M option to list enabled modules:
# httpd -M | grep userdir
Note: If the modules are correctly disabled, there will be no output when executing the above command.
Remediation
Perform either one of the following to disable the user directories module:
- For source builds with static modules, run the Apache
./configurescript with the--disable-userdir configurescript options.$ cd $DOWNLOAD_HTTPD$ ./configure --disable-userdir
- For dynamically loaded modules, comment out or remove the LoadModule directive for
mod_userdirmodule from thehttpd.conffile.##LoadModule userdir_module modules/mod_userdir.so
Default Value
The mod_userdir module is not enabled with a default source build.
References
CIS Controls
- v8: 4.8 Uninstall or Disable Unnecessary Services on Enterprise Assets and Software
- v7: 9.2 Ensure Only Approved Ports, Protocols and Services Are Running
Profile
- Level 1