Есть ли инструмент, который может определить, какое правило SELinux разрешает определенный доступ?

Используйте встроенные задания , чтобы увидеть запущенные задачи для вашей текущей оболочки.

$ ping google.com >/dev/null 2>&1 &
[1] 32406

$ jobs
[1]+  Running                 ping google.com > /dev/null 2>&1 &

$ ping google.com
[...]
^Z
[2]+  Stopped                 ping google.com

$ jobs
[1]-  Running                 ping google.com > /dev/null 2>&1 &
[2]+  Stopped                 ping google.com

Чтобы убить все запущенные задания, вы можете использовать jobs -p , в котором перечислены идентификаторы всех заданий.

$ for job in $(jobs -p); do kill $job; wait $job; done

Дополнительная литература: http://www.tldp.org/LDP/abs/html/x9644.html

6
06.03.2019, 19:58
1 ответ

Не то, чтобы я знал об этом, нет. Обычно вы «расширяете» макросы и правила запросов, связанные с атрибутами типа, чтобы найти их значение, имена макросов и атрибутов обычно довольно наглядны. Вы также можете запросить журнал git -, чтобы узнать, есть ли в сообщении git commit дополнительная информация.

Существует сценарий, помогающий расширять макросы, который называется «расширитель макросов -», и набор инструментов для анализа политик setools, помогающий находить правила, связанные с атрибутами.

Правило в вашем примере похоже на использование безымянного канала. Обычно это часть макросов перехода домена, чтобы обеспечить конвейерную передачу во входной поток цели, поскольку это довольно часто используется для обработки stdin/stdout/stderr, например:(app_b | app_a)

https://github.com/SELinuxProject/refpolicy/blob/master/policy/support/misc_patterns.spt#L58

Таким образом, если приложение _b запускает приложение _a с переходом домена, приложению _a разрешено читать/записывать канал, унаследованный от приложения _b. Итак, речь идет об обработке stdin, stdout, stderr. Например. цели перехода домена автоматически разрешается использовать унаследованные каналы источника перехода домена.

Но да, анализ сложной политики, написанной другими, может быть проблемой. setools и скрипты, такие как макрорасширитель, делают это немного менее болезненным, а политика самодокументирования -со строгими правилами стиля тоже помогает. Многие из этих вещей являются общими моделями.

1
27.01.2020, 20:30

Теги

Похожие вопросы