Как настроить ограничения уровня пользователя для шлюза?

Мне известно, что Ubuntu Server можно использовать в качестве шлюза для подключения к локальной сети через Интернет.

Затем мы используем таблицы IP или другие настройки брандмауэра, чтобы ограничить (например) доступ к определенным веб-сайтам.

Мой вопрос: может ли это ограничение быть применено к отдельным пользователям, и если да, то могут ли некоторые поделиться ссылкой или ресурсом, который я могу использовать для этой цели?

1
задан 12 August 2012 в 21:51

1 ответ

Вы можете использовать что-то вроде iptables -A OUTPUT -m owner --uid-owner 1001 для сопоставления с локальным пользователем. Но это работает только для пользователей на компьютере с брандмауэром.

По сети ваш брандмауэр должен уметь определять, какой пользователь какой. Обычный интернет-трафик имеет только адреса источника и назначения и не помечен именами пользователей, что означает, что ваш брандмауэр не может различать разных пользователей и поэтому не может блокировать разных пользователей по-разному.

Таким образом, блокирование с помощью машины легко, но блокирование пользователем является нетривиальным без какого-либо дополнительного механизма для дифференциации пользователей.

Если вы хотите заблокировать трафик веб-сайта, вы можете сделать это с помощью веб-прокси-сервера, такого как Squid. Вам необходимо настроить брандмауэр для блокировки веб-трафика, кроме трафика, проходящего через squid.

Существуют различные способы настройки пользователей для прохождения через прокси-сервер, включая «автоматическое обнаружение веб-прокси» (wpad), «proxy.pac», «прозрачное проксирование» и вручную.

HTTP поддерживает дополнительный шаг аутентификации прокси, и если вы включите его, пользователям будет предложено ввести имя пользователя и пароль при попытке доступа в Интернет. Тогда кальмар будет знать, кто есть кто.

Наконец, есть различные решения, которые подключаются к squid, которые принимают решения о том, что заблокировано, а что нет; хотя, если вы просто хотите заблокировать некоторые конкретные URL-адреса, вы можете сделать это непосредственно в squid.

0
ответ дан 12 August 2012 в 21:51

Другие вопросы по тегам:

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