2009-06-17 3 views
3

Есть ли какие-либо рекомендации по обработке приложений Java с помощью SELinux? Может ли он конфигурировать SELinux для каждого приложения Java или может обрабатываться только VM, потому что он вызывает финальные системные вызовы?SELinux и Java

+2

Всегда будьте осторожны, думая о редактировании файлов политики SELinux. В идеальном мире мы хотели бы написать политику один раз, а затем все вписываться в эту политику. Конечно, это невозможно, но нужно стремиться к этому. –

ответ

3

У вас может быть любое количество JVM и любое количество версий JVM. Вы можете настроить их самостоятельно, если хотите.

Я бы предположил, что количество JVM должно быть около количества ядер, которые у вас есть или меньше. Если вы начнете иметь сотни JVM, это может быть сложно управлять и настраивать.

4

Если вы спрашиваете, будут ли работать Java и SELinux, это зависит от того, как определяется политика. Вы будете в основном обеспокоены тем, в какой области работает Java-процесс, как он попал в этот домен и что этот домен разрешен.

Домен - это просто контекст SELinux, чтобы увидеть, какой контекст/домен запускает процесс, как попробовать параметр -Z для ps (т.е. ps -Z). Аналогично, для просмотра контекста файлов используйте параметр -Z для ls (ie ls -Z)

Вам было бы интересно посмотреть источник политики SELinux или воспользоваться инструментом анализа, например sesearch или apol (from setools), чтобы увидеть какая политика позволяет и как java попадает в конкретный домен.

Оттуда вы можете исправить/написать политику, которая может быть вовлеченным процессом, но инструменты были написаны, например, SLIDE (плагин eclipse), seedit (хотя у меня нет опыта с этим).

2

Это не только исполняемые файлы, о которых вам нужно беспокоиться, но и все его файлы. Это реальная сила за SElinux. Я выступаю против выключения этого ценного инструмента. То, что я обнаружил у Редхата Дэн Уолш, состоит в том, что unconfined_u исчезнет. Ну, это означает, что вам нужно перестроить файлы данных, в том числе в .eclipse, в вашем домашнем каталоге. Я сократил свой основной вход в staff_u, где у меня есть доступ к sudo, но изменил fcontext на /HOME_DIR/.eclipse(/.*)+ на staff_java_t