Вышло продолжение статьи "Systrace Policies", в которой рассказано как можно используя systrace, ограничить возможность использования определенных системных вызовов в программе, например, запретить открывать определенных файл через open().
Пример правил для ограничения named:
Policy: /usr/sbin/named, Emulation: native
native-accept: permit
native-bind: sockaddr match "inet-*:53" then permit
native-chdir: filename eq "/" then permit
native-chdir: filename eq "/namedb" then permit
native-chroot: filename eq "/var/named" then permit
native-connect: sockaddr eq "/dev/log" then permit
native-fsread: filename eq "/" then permit
native-fsread: filename eq "/dev/arandom" then permit
native-fsread: filename eq "/etc/group" then permit
|