Вопрос (не наезд): apparmor сумеет применять разные правила для одного бинарника? Например, есть несколько приложений на VM (например, на той же java). Бинарник — один. Получится ли как-то контролировать разные приложения? Можно, в принципе, насоздавать симлинков на бинарник виртуальной машины (по одному для каждого приложения), но, имхо, неудобно.
Вообще не в курсе. Я только понимаю, что это две разные реализации примерно одного и того-же.
Но в моей жизни использовать осознанно не приходилось. Более того, selinux мне местами попортил настроение.
Наверное, всё это где-то надо и важно, но мои linux use cases не затрагивают…
вещь хорошая конечно, а вот как сделать policy based routing по группам? на сколько я помню, метки ставить и одновременно проверять группу не получается в iptables. а очень хочется торренты завернуть мимо vpn соединения
Фу, а зачем извращаться с группами и юзерами, нельзя просто по дефолту всем запретить выход в сеть, а избранным приложениям разрешить? А, это же Линукс :) тут нет простых путей)
во фряшном ipfw возможно сделать правила для опеделенных uid, gid, думаю что iptables не уступает ему в функциональности, т.ч. гляньте в эту сторону в man iptables.
Вообще-то играть с itables на удаленной машине чревато. Достаточно одного неверного символа и приходиться сделать так, чтобы машина стала от вас близко. (если некому перегрузить). Сам наступил на эти грабли. Выход нашел в сбросе всех правил на дофолтовые по крону каждые 15 мин.
Я думаю любой админ через это проходит :)
Это нормально.
Я обычно делаю первым правилом разрешение себе на доступ по ssh — так безопаснее играться. Ну и проверить, чтобы в случае сброса была возможность продолжить работу.
Так же рекомендуется использовать stateful фаервол. Можно разрешить любой пакет для уже устанолвенного соединения, а фильтровать только новые. См. ESTABLISHED.
Здесь использеутся sg, а sg — выполняет команду с правами другой группы
Таким образом, чтобы запустить приложение с правами доступа в интернет, надо его просто запустить без использования этого скрипта: вместо noinet firefox, просто firefox.
Ограничение доступа в интернет для приложений в Linux