Шаблон security.psl.in
Шаблон security.psl.in используется для автоматической генерации части файла security.psl перед сборкой программы Einit средствами CMake.
Файл security.psl содержит часть описания политики безопасности решения.
Использование шаблона security.psl.in позволяет не добавлять EDL-описания системных программ в файл security.psl вручную.
Шаблон security.psl.in должен содержать описание политики безопасности решения, созданное вручную, включая следующие декларации:
- установка глобальных параметров политики безопасности решения;
- включение PSL-файлов в описание политики безопасности решения;
- включение EDL-файлов прикладных программ в описание политики безопасности решения;
- создание объектов моделей безопасности;
- привязка методов моделей безопасности к событиям безопасности;
- создание профилей аудита безопасности.
Для автоматического включения системных программ, необходимо использовать макрос @INIT_EXTERNAL_ENTITIES@.
Для некоторых системных программ в составе SDK поставляются политики безопасности по умолчанию, которые можно использовать в решении. Эти политики расположены в директории /opt/KasperskyOS-Community-Edition-<platform>-<version>/sysroot-*-kos/include/kl/<имя программы>.psl. Чтобы включить эти политики в шаблон security.psl.in необходимо использовать декларацию use <ссылка на PSL-файл>._.
Также при создании описания политики можно использовать шаблонизатор Ginger.
Пример шаблона security.psl.in
security.psl.in
execute: kl.core.Execute
use nk.base._
use EDL Einit
use EDL kl.core.Core
use EDL Client
use EDL Server
@INIT_EXTERNAL_ENTITIES@
/* Запуск программ разрешен */
execute {
grant ()
}
/* Отправка и получение запросов, ответов и ошибок разрешены. */
request {
grant ()
}
response {
grant ()
}
error {
grant ()
}
/* Обращения по интерфейсу безопасности игнорируются. */
security {
grant ()
}