Возможности системы и принципы её работы

Возможности системы

Система изоляции изолирует процессы пользователя от процессов других пользователей, так что один пользователь не может видеть домашние директории и файлы других пользователей. Процессы пользователя выполняются не в реальной (настоящей) файловой системе (ФС), где видны все пользователи, а в своей «персональной», изолированной файловой системе. Изоляция пользователей повышает стабильность и безопасность сервера, уменьшая возможность влияния одного пользователя на других. Файлы реальной файловой системы, содержащие конфиденциальную информацию, а также потенциально опасные программы (например программы suid), отсутствуют в изолированной файловой системе. Это уменьшает число возможных векторов злонамеренных атак и улучшает безопасность сервера.

Система изоляции может быть интегрирована в любой системный сервис, который поддерживает PAM (Pluggable Authentication Module — подключаемые модули аутентификации). При установке системы изоляции автоматически выполняются настройки для интеграции с сервисами su, ssh, cron. Также реализована интеграция изоляции в модуль mod_fcgid для сервера Apache.

Системные требования

Система изоляции работает на операционной системе МСВСфера 9 ОС.

Как работает система изоляции

При загрузке сервера запускается сервис limitedfs.service, который создает LimitedFS для каждого пользователя в системе, для которого включена LimitedFS. Сервис limitedfs.service запускается до сервисов, которые используют функции изоляции (или лимитирования). Например до сервисов httpd, sshd, cron.

После загрузки сервера система изоляции (и система лимитирования) инициализированы и начинают работать в момент, когда какой-либо из сервисов, перечисленных ранее, с которыми интегрируются лимиты или изоляция, должен запустить процесс пользователя. При этом начинает работу PAM-модуль (в случае если процесс пользователя запущен сервисами su, ssh, cron) или модуль веб-сервера. Для пользователя создаётся изолированное окружение (если оно ещё не было создано) и выполнение передаётся процессу пользователя. Этот процесс будет работать в изолированном окружении данного пользователя.