Это был бы netfilter / ipfilter с некоторым сценарием, который делал бы вещи в интерактивном режиме (возможно, с хорошим API, доступным в Ubuntu), используя фоновые сценарии.
Вы могли бы попробовать Anoubis . Доступны инструкции по установке и пакеты для Karmic Koala (я новичок в superuser, так что вам нужно будет найти их самостоятельно>: - S Подсказка: на странице загрузки прокрутите вниз до "Распространения").
1
stribika
Ну, не совсем интерактивно, но я знаю о 3 способах ограничения доступа к программам в сети.
По умолчанию linux назначает разрешения пользователям, и каждая программа, которую они запускают, имеет одинаковые разрешения. Запустите ненадежную программу как отдельный пользователь. Это довольно просто, если вы можете это сделать. (Иногда вам не нравится, когда программа запрашивает привилегии root.) Добавьте следующее правило брандмауэра:
iptables -A OUTPUT -m owner --uid-owner $ -j DROP
Если вы не боитесь исправления ядра, попробуйте grsecurity . Это позволяет разные разрешения для разных исполняемых файлов для одного и того же пользователя. Это, вероятно, лучший способ, потому что вы можете интегрировать его с правилами iptables и указать подробные ограничения. Правила должны выглядеть примерно так:
... role your_regular_user u ... subject /path/to/untrusted/program connect disabled ... ...
Отключите функцию connect () с помощью LD_PRELOAD. Это самый уродливый способ использовать его, только если у вас нет другого выбора. Вам понадобится такая библиотека:
Я использовал gufw в течение некоторого времени, это приятно и легко установить / настроить. gufw не поставляется с установками Ubuntu. Вы должны установить его вручную «sudo apt-get install gufw».