ispmanager 6 lite, pro, host

Принцип работы и возможности

Модуль лимитирования ispmanager изолирует файлы и процессы, а также ограничивает ресурсы пользователей виртуального хостинга. Модуль является российской альтернативой CloudLinux.

Лимитирование и изоляция могут использоваться вместе или по отдельности.

Лимитирование

Модуль отслеживает процессы обработчиков PHP:

  • модулей Apache mod_php, mod_cgid, mod_fcgid 
  • mod_lsphp — модуля Apache от ispmanager, который позволяет выполнять PHP в режиме LSAPI
  • php-fpm

Когда процесс запускается под пользователем, модуль перехватывает его и помещает в лимитированное окружение (Limited Surrounding или LS-контейнер).

Для процессов su, sudo, SSH, Cron модуль встраивается в подключаемый модуль аутентификации (Pluggable Authentication Module, PAM). Когда пользователь проходит аутентификацию в этих службах, модуль также перехватывает его процесс и помещает в LS-контейнер.

Для ограничения ресурсов используется механизм cgroups v2.

Возможности:

  • Контроль ресурсов: ограничение потребления CPU, физической памяти, файла подкачки и общего числа процессов
  • Лимитирование «из коробки»: базовая поддержка сервисов su, sudo, SSH, Cron, Apache и PHP-FPM
  • Мониторинг: отслеживание потребления в реальном времени через активные LS-контейнеры
  • Аналитика: просмотр статистики в веб-интерфейсе панели, через CLI или в формате Prometheus connector
  • Расширяемость: поддержка изоляции для других сервисов с PAM

Изоляция

При первичной активации LimitedFS создается скелет структуры файловой системы, общей для всех пользователей. Туда копируется часть общей файловой системы в режиме read-only, необходимая для корректной работы программ в окружении пользователя. При включении LimitedFS для пользователя создаются его персональные данные.

Модуль отслеживает процессы обработчиков PHP:

  • модулей Apache mod_php, mod_cgid, mod_fcgid 
  • в собственный модуль Apache от ispmanager — mod_lsphp, который позволяет выполнять PHP в режиме LSAPI
  • php-fpm

Когда процесс запускается под пользователем, модуль перехватывает его и помещает в изолированное окружение (Limited File System, LimitedFS, LFS).

Для процессов su, sudo, SSH, Cron модуль встраивается в подключаемый модуль аутентификации (Pluggable Authentication Module, PAM). Когда пользователь проходит аутентификацию в этих службах, модуль также перехватывает его процесс и помещает в изолированное окружение LimitedFS.

После этого pivot_root/chroot подменяет корневую директорию для процесса на заранее созданную.

Возможности:

  • Разделение среды: индивидуальные директории /etc и /tmp для каждого пользователя
  • Изоляция «из коробки»: базовая поддержка сервисов su, sudo, SSH, Cron, Apache и PHP-FPM
  • Собственные пространства имен (PID): пользователь видит только свои процессы su, sudo, SSH, Cron, Apache (с модулями mod_fcgid, mod_lsphp) и PHP-FPM
  • Гибкая настройка: возможность добавлять стороннее ПО в LFS, а также управлять черными и белыми списками для файлов и директорий
  • Расширяемость: поддержка изоляции для других сервисов с PAM

Конфигурация веб-сервера

Изоляция и лимитирование доступны для следующих конфигурации веб-сервера:

  • Apache MPM-ITK + PHP как модуль Apache
  • Apache MPM-ITK / Apache MPM-Prefork + PHP в режиме CGI с механизмом suEXEC
  • Apache MPM-Prefork + PHP в режиме FastCGI (Apache)
  • Apache MPM-ITK / Apache MPM-Prefork + PHP в режиме LSAPI (модуль lsphp)
  • Nginx + PHP-FPM (нативная версия PHP и альтернативные версии 5.3–8.5)

Сравнение с CloudLinux

 CloudLinux OS SharedЛимитирование ispmanager
Тип решенияОперационная система на базе AlmaLinuxПрограммный комплекс, который работает на AlmaLinux

Лимитирование ресурсов

ТехнологияLVE (LightWeight Virtual Environment) — собственная разработкаLS (Limited Surrounding) на базе cgroups v2
Лимит CPU✅ ✅ 
Лимит RAM✅ ✅ 
Лимит SWAP✅ ✅ 
Лимит числа процессов (PIDs)✅ ✅ 
Лимит I/O (дисковая активность)✅ Запланировано
Защита от fork-бомб✅ ✅  

Изоляция файловой системы и процессов

Технология изоляции ФСCageFS — виртуализированная ФС для каждого пользователяLimitedFS — mount namespaces + PivotRoot
Пользователь видит только свои файлы✅ CageFS✅ LimitedFS
Скрытие системной информации✅ ✅ 
Защита от компрометации соседних аккаунтов✅ ✅ 

Языки программирования и веб-сервер

PHP Selector (несколько версий PHP на пользователя) 

Частично

Подробнее

Доступен выбор версии PHP для сайта.

Недоступны: 

  • настройка расширений PHP для сайта 
  • использование выбранной версии PHP в командной строке (в ispmanager всегда используется нативная)
Python Selector✅ 

Частично

Подробнее

Доступен выбор версии Python для сайта.

Недоступны: 

  • настройка расширений Python для сайта 
  • использование выбранной версии Python в командной строке (в ispmanager всегда используется нативная)
Ruby Selector✅ ❌ 
Node.js Selector✅ 

Частично

Подробнее

Доступен выбор версии Node.js для сайта.

Недоступны: 

  • настройка расширений Node.js для сайта 
  • использование выбранной версии Node.js в командной строке (в ispmanager всегда используется нативная)
Интеграция с веб-серверомЧерез mod_lsapi (собственный)Через mod_cgid / mod_fcgid / mod_lsphp / PHP-FPM

Оптимизация WordPress

AccelerateWP (кеширование, оптимизация)Включен бесплатно во все тарифы❌ 
MAx Cache (кеш на уровне Apache/Nginx)✅ ❌ 

Развертывание и интеграция

Требуется переустановка ОС✅ Да — нужно ставить CloudLinux OS вместо CentOS/AlmaLinux❌ Нет — переустанавливать OC не нужно, только установить модуль
Документация на русскомОграниченно (community-переводы)✅ Полная официальная
Бесплатный триал✅ 30 дней✅ 14 дней

Поддержка

Техподдержка 24/7✅ На английском✅ На русском и английском
База знаний и FAQ✅ Большая, на английском✅ На русском и английском

Технические подробности

Изоляция
  • Изоляцией управляет сервис lfsctl
  • Конфигурационные файлы lfsctl: /etc/limitedfs/
  • Журнал lfsctl: /var/log/limitedfs-service.log
  • Файловые системы и точки монтирования для пользователей: /srv/limitedfs/uids/
Лимитирование 
  • За лимитирование ресурсов отвечают:
    • klsd — служба, которая помещает новые процессы в LS-контейнеры
    • lsctl — утилита, которая управляет лимитами для контейнеров
    • ls_admin — утилита дополнительных настроек лимитирования
  • Конфигурационный файл службы klsd: /etc/klsd/config
  • Журнал службы klsd: /var/log/klsd.log
Статистика 
  • За сбор статистики отвечают демон сбора данных lsstats.service и утилиты вывода данных
  • Конфигурационные файлы lsstats: /etc/ls-stats/conf.d/
  • Журнал lsstats: /var/log/lsstats-service.log
Активные контейнеры

Мониторинг активных контейнеров и процессов выполняет утилита lsps.