ispmanager 6 lite, pro, host

Operating principle and features

The ispmanager limiting module isolates files and processes and limits the resources of virtual hosting users. The module is an alternative to CloudLinux.

Limiting and isolation can be used together or separately.

Limiting

The module monitors PHP handler processes:

  • Apache mod_php, mod_cgid, mod_fcgid modules 
  • mod_lsphp — an ispmanager Apache module that allows PHP to run in LSAPI mode
  • php-fpm

When a process is launched under a user, the module intercepts it and places it in a limited environment (Limited surrounding or LS container).

For su, sudo, SSH, Cron processes, the module is built into the Pluggable authentication module (PAM). When a user authenticates to these services, the module also intercepts their process and places it in an LS container.

The cgroups v2 mechanism is used to limit resources.

Features:

  • Resource usage control: limit the usage of CPU, physical memory, SWAP file, and the total number of processes
  • Out-of-the-box limiting: basic support for  su, sudo, SSH, Cron, Apache and PHP-FPM services
  • Monitoring: real-time consumption tracking via active LS containers
  • Analytics: view statistics in the dashboard's web interface, via the CLI, or in Prometheus format connector
  • Extensibility: support for isolation for other services with PAM

Isolation 

When LimitedFS is initially activated, a skeleton file system structure is created that is shared by all users. A portion of the shared file system required for the correct operation of programs in the user's environment is copied to it in read-only mode. When LimitedFS is enabled, personal data is created for the user.

The module monitors PHP handler processes:

  • Apache mod_php, mod_cgid, mod_fcgid modules 
  • mod_lsphp — an ispmanager Apache module that allows PHP to run in LSAPI mode
  • php-fpm

When a process is launched under a user, the module intercepts it and places it in an isolated environment (Limited File System , LimitedFS , LFS).

For su, sudo, SSH, Cron processes, the module is integrated into the Pluggable Authentication Module (PAM). When a user authenticates to these services, the module also intercepts their process and places it in the isolated LimitedFS environment. 

After this, pivot_root/chroot replaces the root directory for the process with a previously created one.

Features:

  • Environment separation: individual  /etc and /tmp directories for each user
  • Out-of-the-box isolation: basic support for  su, sudo, SSH, Cron, Apache, and PHP-FPM services
  • Individual namespaces (PIDs): users only see their own su, sudo, SSH, Cron, Apache processes (with the mod_fcgid, mod_lsphp modules) and PHP-FPM
  • Flexible configuration: the ability to add third-party software to LFS, as well as manage black- and whitelists for files and directories
  • Extensibility: support for isolation for other services with PAM

Web server configuration 

Isolation and limiting are available for the following web server configurations:

  • Apache MPM-ITK + PHP as an Apache module
  • Apache MPM-ITK / Apache MPM-Prefork + PHP in CGI mode with suEXEC mechanism
  • Apache MPM-Prefork + PHP in FastCGI mode (Apache)
  • Apache MPM-ITK / Apache MPM-Prefork + PHP in LSAPI mode  (lsphp module)
  • Nginx + PHP-FPM (native PHP version and alternative versions 5.3–8.5)

Comparison with CloudLinux

 CloudLinux OS Sharedispmanager Limiting module
Solution typeAlmaLinux-based operating systemA software package that runs on AlmaLinux

Resource limitation

TechnologyLVE (LightWeight Virtual Environment) — proprietary development solutioncgroups v2-based LS (Limited Surrounding) 
CPU limit✅ ✅ 
RAM limit✅ ✅ 
SWAP limit✅ ✅ 
Process ID limit✅ ✅ 
I/O limit (disk activity)✅ Scheduled
Protection against fork bombs✅ ✅  

File system and process isolation

FS Isolation technologyCageFS — a virtualized file system for each userLimitedFS — mount namespaces + PivotRoot
Users only see their own files✅ CageFS✅ LimitedFS
Hiding system information✅ ✅ 
Protection against compromise of neighboring accounts✅ ✅ 

Programming languages and web server

PHP Selector (multiple PHP versions per user) 

Partially

Details

A number of PHP versions for your website to choose from.

Unavailable: 

  • configuration of PHP extensions for a website
  • use of the selected PHP version on the command line (ispmanager always uses the native version)
Python Selector✅ 

Partially

Details

A number of Python versions for your website to choose from.

Unavailable: 

  • configuration of Python extensions for a website
  • use of the selected Python version on the command line (ispmanager always uses the native version)
Ruby Selector✅ ❌ 
Node.js Selector✅ 

Partially

Details

A number of Node.js versions for your website to choose from.

Unavailable: 

  • configuration of Node.js extensions for a website
  • use of the selected Node.js version on the command line (ispmanager always uses the native version)
Integration with a web serverVia mod_lsapi (native)Via mod_cgid / mod_fcgid / mod_lsphp / PHP-FPM

WordPress Optimization

AccelerateWP (caching, optimization)Included free of charge in all tariffs❌ 
MAx Cache (Apache/Nginx level cache )✅ ❌ 

Integration and Deployment

OS reinstallation required✅ Yes, installation of CloudLinux OS is required instead of CentOS/AlmaLinux❌ No need to reinstall the OS, just install the module
Free trial✅ 30 days✅ 14 days

Support

24/7 technical support✅ in English✅ in English
Knowledge Base and FAQ✅ Extensive, in English✅ in English

Technical details

Isolation

  • Isolation is managed by the lfsctl service
  • lfsctl configuration files: /etc/limitedfs/
  • lfsctl log: /var/log/limitedfs-service.log
  • File systems and mount points for users: /srv/limitedfs/uids/

Limiting

  • The following are responsible for limiting resources:
    • klsd — a service that places new processes into LS containers.
    • lsctl — utility that manages limits for containers.
    • ls_admin — utility for additional limiting settings
  • klsd service configuration file: /etc/klsd/config
  • klsd service log: /var/log/klsd.log

Statistics

  • The lsstats.service data collection daemon and data output utilities are responsible for collecting statistics.
  • lsstats configuration files: /etc/ls-stats/conf.d/
  • lsstats log: /var/log/lsstats-service.log
Active containers

Monitoring of active containers and processes is performed by the lsps utility.