Apache Module: MPM ITK
Last modified: November 1, 2022
Overview
The mod_mpm_itk
Apache module causes the Apache process to switch to the domain owner’s user identifier (UID) and group identifier (GID) before it responds to the request. This allows each user to isolate their files from others with the standard file permission settings.
To query all of the SETUID
and SETGID
values on a server, run the following command:
find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \;
Usage
Only use this module if you run modules that do not require thread-aware code.
Requirements
This module requires EasyApache 4, Apache 2.4, MPM Prefork, and the CGI PHP handler.
We strongly recommend that you only install the mod_mpm_itk
Apache module on systems with Secure Computing Mode (seccomp v2) enabled in the kernel.
Compatibility
The MPM ITK module is not compatible with the following functions:
- mod_http2
- mod_ruid2
- mod_userdir
- EAccelerator
- Mod suPHP
- CloudLinux’s™ PHP Selector feature
- cPanel’s Leech Protection interface (cPanel » Home » Security » Leech Protection)
If you select the MPM ITK option, we strongly recommend that you remove the Leech Protection feature from your users’ feature lists. Use WHM’s Feature Manager interface (WHM » Home » Packages » Feature Manager) to change your users’ feature lists.
setuid() and setgid() restrictions
The MPM ITK Apache module implements restrictions on the use of the setuid()
function and the setgid()
function. As a result, scripts that depend on these functions may encounter problems. This includes scripts that use the mail()
function, the shell_exec
function, or the sudo
command.
You can resolve these restrictions with one of the following methods:
- Don’t use the MPM ITK Apache module.
- Update your script to no longer require escalated privileges.
- Turn off security and allow users to execute scripts as the
root
user. You can allow users with UID or GID between0
and4294496296
to bypass security if you add the following code to your/etc/apache2/conf.d/includes/pre_virtualhost_global.conf
file:1 2 3 4
<IfModule mpm_itk.c> LimitUIDRange 0 4294496296 LimitGIDRange 0 4294496296 </IfModule>
We strongly recommend that you do not enable root
privileges for your users. This action has major security implications and could endanger your server.
How to install or uninstall the module
The cPanel Default + MPM ITK EasyApache 4 profile contains the mod_mpm_itk
Apache module by default.
In the interface
The easiest way to install or uninstall the mod_mpm_itk
Apache module is with WHM’s EasyApache 4 interface (WHM » Home » Software » EasyApache 4).
On the command line
Install the module
You must manually uninstall MPM Worker and install MPM Prefork in order for the MPM ITK module to work correctly. You must perform the following steps on the command line before you install the MPM ITK module:
|
|
To install the mod_mpm_itk
Apache module, run the following command on the command line:
yum install ea-apache24-mod_mpm_itk
Uninstall the module
To uninstall the mod_mpm_itk
Apache module, run the following command on the command line:
yum remove ea-apache24-mod_mpm_itk
After you uninstall the MPM ITK module, if you wish you use the MPM Worker, you must perform the following steps on the command line:
|
|