11.08.07
tpe.
В последнем обновлении ядра 2.6.18 от OpenVZ RedHat based ветке по многочисленным просьбам добавили очень классую вещь из
grsec’овских патчей - TPE (Trusted Path Execution). Работает в двух режимах. Full и Partial restircted. Основная мысль понятна из перевода названия - проверка PATH, из которого запускают бинарный файл.
В режиме полного запрещения програмы можно запускать только
из каталогов, пренадлежащих пользователю root и при этом
недоступных на запись группе и остальным пользователям. То есть, можно смело забыть, в частности, про запуск из каталога /tmp. Конечно, это не единственный способ. Можно использовать rbash + restricted PATH. Что я и делаю. Но это ведь не единственный способ запускать программы. Можно также монтировать отдельный раздел с noexec, но это решение не очень подходит, если используются vps (virtual privat servers).
Решение, на мой взгляд, хорошее для веб-сервера.
Что меня окончательно покорило:
Возможность включить это опционально,чтобы была возможность
управлять этой настройкой через sysctl:
kernel.grsecurity.tpe_restrict_all = 0
kernel.grsecurity.tpe_gid = 0
kernel.grsecurity.tpe = 0
И полная виртуализация. Благодаря этому есть возможность для
какого-то vps отключить tpe, а для остальных настроить в соответствии со своими нуждами. Более-менее подробное описание сего можно найти в описании при сборке ядра или документации grsec.