Блеск и нищета Systrace Антон Карпов & Андрей Матвеев Хакер, номер #070, стр. 070-074-6 # make USE_SYSTRACE=yes install clean Таким образом, при выполнении команды make цели configure, build и fake будут защищены Systrace'ом, и устанавливаемая программа не сможет совершить никаких подозрительных и уж тем более деструктивных действий. Хотя не секрет, что сборка программ из портов не приветствуется политикой OpenBSD. Вместо этого рекомендуется использовать прекомпилированные пакеты. Ядреный систрейс Systrace работает через устройство /dev/systrace, что требует поддержки ядром специального псевдоустройства: pseudo-device Systrace 1 Разумеется, /sys/conf/GENERIC имеет такую опцию по умолчанию. Вообще, OpenBSD-team не рекомендует пересобирать ядро: в GENERIC можно найти все, что нужно, не подвергая систему опасности ее запороть. Так что от тебя даже не примут багрепорт, если ты нашел ошибку в Systrace не на GENERIC-ядре ;). Минусы Systrace Если при использовании Systrace все становится таким вкусным и секурным, то возникает резонный вопрос: "Почему до сих пор в Net и OpenBSD не затрейсили все демоны и базовые бинарики?". К сожалению, ответов здесь будет несколько: - существенно снижена скорость работы программ (за счет дополнительных вызовов семейства exec, постоянного контроля за сисколлами, протоколирования запросов и т.д.); - разработчикам невероятно сложно создать полис, способный удовлетворить все потребности пользователей; - пока не существует ни одного полиса, корректно работающего с NIS и некоторыми видами аутентификации; - потенциальная опасность возникновения гонок привилегий (race conditions), например, из-за того, что Систрейс перехватывает и замещает имена файлов; - далеко не идеальная разработка. INFO Разумеется, Systrace - не первая тулза, работающая с политикой ограничения системных вызовов. Самый популярный аналог разработан для FreeBSD и называется Cerb (cerber.sf.net). Главный его недостаток - статические политики, требующие перекомпиляции при изменении. Systrace же каждый раз перечитывает конфиг, что, к сожалению, сказывается на производительности. CD На нашем диске ты найдешь маленький бонус - четыре Systrace-враппера (простейший, два варианта stsh и swrapper, специально созданный для запуска suid'ных бинариков), а также набор полисов Hairy Eyeball. |