Вопрос: Правило брандмауэра для локальных, интерактивных пользователей?


Я хочу добавить правило брандмауэра, которое применяется к локальному интерактивному пользователю. Цель состоит в том, чтобы сжать окно и разрешить только соединения, связанные с сетью и почтой, и обновлять соединения службы. Иногда мне нужно открыть браузер, чтобы найти настройку, поэтому мне может потребоваться разрешение исходящего соединения, когда я сижу на клавиатуре.

Linux iptables Pocket Reference не затрагивает тему.

Вопрос: Можно ли добавить правило брандмауэра, которое фильтрует на основе объектов «локальный пользователь» и «интерактивный пользователь»?


0
2018-05-19 15:40


Источник




Ответы:


Вы можете отфильтровать исходящие пакеты на основе uid исходного процесса. Например:

iptables -A OUTPUT -m owner --uid-owner some_user -j DROP

iptables не может различать интерактивные и неинтерактивные процессы. Но вы можете посмотреть в Linux CGROUP для этого. В частности, Подсистема net_cls, Вы можете пометить пакеты с помощью подсистемы net_cls, а затем отфильтровать их с помощью iptables. Таким образом, процесс должен состоять в том, чтобы сначала установить оболочку интерактивного пользователя в net_cls cgroup, которая передает исходящие пакеты, а затем фильтрует эти пакеты с помощью iptables.


1
2018-05-19 16:17