[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ограничение программе доступа в сеть (was: Соотнесение процесса и поля QoS)



Доброго времени суток,

On Sun, Sep 22, 2019 at 10:38:26PM +0300, Dmitry Alexandrov wrote:
> Stanislav Maslovski <stanislav.maslovski@gmail.com> wrote:
> > У меня для аналогичного эффекта (ограничение доступа к сети для некой
> > проприетарщины) много лет используется вот такой простенький setgid
> > wrapper в комбинации c owner GID match в OUTPUT chain:
> 
> Хотел бы заметить, что ограничение доступа в сеть для программы — это
> куда более прозаичная задача, чем назначение его пакетам ToS, и
> решение у нее куда очевиднее, чем cgroups: *selinux*.

Нет, SELinux-ом не пользуюсь. В дебиане юзабельный SELinux появился
(по моим меркам) не так уж и давно. Ключевые слова тут "много лет".

> Все равно ведь вы его используете, раз приложение несвободное, верно?

Не верно.
 
> > Но, как я понимаю, в такой постановке, запущенная через execve()
> > программа сможет поменять свой GID (исходный egid родителя) на свой
> > же EGID (исходный rgid родителя), что может оказаться дырой в защите
> 
> Да что у там: на любую группу из тех, в каких состоит пользователь, она
> сможет поменять. ;-)

С чего бы это? Документация говорит только лишь, что

   An unprivileged process may change its real U(G)ID, effective U(G)ID,
   and saved set-user(group)-ID, each to one of: the current real U(G)ID,
   the current effective U(G)ID or the current saved set-user(group)-ID.

-- 
Stanislav


Reply to: