Для презентации, которую я делаю, я пытаюсь выяснить, существует ли служба белого списка приложений с открытым исходным кодом на основе Linux для Linux, аналогичная политики ограниченного использования программ в Windows с 2002 года. Кажется, есть некоторые коммерческие (например, McAfee application control), но мой поиск в Google пока не смог найти эквивалентный open source.
Я знаю, что вы можете добиться чего-то подобного с SE Linux, особенно теперь, когда Redhat и centos имеют приличную политику для популярных сервисов. Но, похоже, нет ничего, что можно было бы сказать, "эти пользователи могут выполнять эти программы, идентифицированные этими хэшами".
Я ошибся?
Это не тот подход, который использует мир Linux, так как его очень трудно поддерживать в здравом уме. Обновленная версия appX с другим хешем потребует настройки политик, и если вам нужно поддерживать несколько версий для разных пользователей, это просто раздувается. Это особенно сложно с любой системой на основе unix, потому что ОС во многом зависит от возможности выполнять множество небольших утилит, таких как находящиеся в / usr / bin - отслеживание всех этих хэшей просто не стоит проблем. Общий подход в Linux заключается в том, чтобы изолировать каждый процесс в достаточной степени, чтобы он не мог нанести большой ущерб, даже если он является вредоносным - как с помощью защиты ядра, так и с помощью таких инструментов, как SELinux, AppArmour и gr_security.
Под SELinux большинство установленного неуниверсального программного обеспечения получает свой собственный тип домена, поэтому вы можете написать пользовательские политики, чтобы ограничить, какие домены пользователям разрешено выполнять. Если вам нужен пример, вот политика, которая позволяет пользователю войти в систему, запустить большинство общих инструментов командной строки (ls, find и т. Д.) И запустить клиент IRC. Но, например, он не может запускать графический интерфейс, отправлять почту или делать множество других вещей:
policy_module(ircuser, 1.0.0)
role ircuser_r;
irc_role(ircuser_r, ircuser_t)
userdom_restricted_user_template(ircuser)
gen_user(ircuser_u, user, ircuser_r, s0, s0)
Затем вам просто нужно скомпилировать, установить и назначить пользователю, которого вы хотите ограничить.