Правило iptables «--uid-owner» игнорируется?

Я пытаюсь создать фильтр iptables, чтобы блокировать доступ в Интернет всем, кроме UID 1000. Вот что у меня есть на данный момент:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m owner --uid-owner 1000 -j ACCEPT
-A OUTPUT -j REJECT --reject-with icmp-net-unreachable
-A OUTPUT -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT

Когда я пытаюсь запустить следующее от имени пользователя root (UID 0):

curl http://ipecho.net/plain
curl: (7) Failed to connect to ipecho.net port 80: Network is unreachable

iptables блокирует его, если желаю. Но когда я пробую это как root:

curl --proxy socks5h://localhost:7777 http://ipecho.net/plain
_ip_address_

, все проходит нормально. Что мне нужно изменить, чтобы заблокировать доступ в Интернет для других пользователей, даже если они используют прокси-сервер?

0
06.02.2017, 19:13
1 ответ

Если вы используете локальный прокси, то исходящий сетевой трафик будет принадлежать uid прокси, а не конечному пользователю. Я предполагаю, что прокси-сервер работает как uid 1000. Что вы используете в качестве прокси?

Вам необходимо использовать прокси, который можно настроить так, чтобы его могли использовать только определенные локальные пользователи.

1
28.01.2020, 02:46

Теги

Похожие вопросы