Обычно брандмауэры используются для предотвращения поступления плохих "пакетов" из внешнего мира. Но в наши дни мы в основном находимся за маршрутизаторами, и большая часть этой опасности смягчается маршрутизатором. Опасность, с которой мы сталкиваемся, в основном изнутри. Пресловутый троянский конь.
В мире Windows есть много брандмауэров приложений, а в OSX есть удобная утилита под названием "Little Snitch", которая делает эту работу, гарантируя, что приложения не будут запрашивать данные за пределами их области действия. Даже мой iPhone, взломанный, имеет приложение, которое не позволяет приложениям получать доступ к веб-сайтам за пределами их области действия. Удивительно, сколько данных они "отправляют" на веб-сайты вроде scorecard.com и различные серверы Apple. Я отключаю их, и приложения продолжают работать, поэтому я знаю, что это не нужно.
В мире Linux, похоже, мало что есть в этом духе. Вы можете использовать его iptables
и некоторые другие скрипты на Perl, чтобы получить результат очень неуклюжим способом.
Возьмем, к примеру, этот пост, на который часто ссылаются, когда задают подобный вопрос.
Как контролировать доступ в интернет для каждой программы?
Это не ответ на вопрос.
Они говорят о брандмауэрах, которые полностью отсекают порт, что не то, что нужно большинству людей. Все, чего хочет большинство людей, это чтобы приложение X, которое должно быть локальным приложением, не выходило и не общалось в Интернете, когда ему это не нужно. Или программа, которая получает доступ к погоде Yahoo, переходит на пять других сайтов, не связанных с ее работой по доступу к погоде. Или в моем одном из банковских приложений на iPhone выходит за пределы банка на веб-сайт WebTrends. Конечно, это не связано с Ubuntu, но это пример плохого поведения приложений.
Другое приложение, упомянутое в этом посте, — Leopard Flower, которое не обновлялось целый год, и мне бы не хотелось, чтобы оно работало с выходом следующего релиза Ubuntu.
Все остальные посты, связанные с этой областью, продолжают давать рекомендации для приложений, которые полностью отсекают доступ для приложения, но не предоставляют простую идею "Маленького стукача" о том, что Приложение X хочет получить доступ к Вебу Y, Разрешить или Запретить доступ. Никаких сложных правил iptable, никаких полных отключений портов.
Достаточно ли я внимательно искал или для Ubuntu просто не существует «Брандмауэра приложений»?
решение1
AppArmor
AppArmor — это реализация Linux Security Module для управления доступом на основе имен. AppArmor ограничивает отдельные программы набором перечисленных файлов и возможностями черновика posix 1003.1e.
ссылка ниже.
решение2
SE Linux — один из примеров межсетевого экрана уровня приложений для Linux, но его довольно сложно реализовать, поскольку он очень продуман.
решение3
Я не знаю, что вы находите таким плохим в apparmor. Конечно, он требует немного чтения man-страниц. Но в остальном я нахожу его простым в использовании.
Я использовал персональные (т. е. приложения) брандмауэры в прошлом, когда я все еще использовал Windows (на работе). Я не нахожу apparmor каким-либо недостатком, за исключением отсутствия GUI. Однако, в свою очередь, он предоставляет дополнительные функции безопасности - вы не можете предотвратить DoS-атаку программы, которая просто съедает ресурсы, с персональным брандмауэром для Windows, тогда как вы можете сделать это с apparmor.
Кроме того, в нем есть хорошие инструменты диагностики и управления — посмотрите aa-unconfined и все другие команды aa-* (сначала вам нужно установить apparmor-utils).
Вы увидите, что даже с минимальной конфигурацией, которую вы получаете при установке системы Ubuntu по умолчанию, вы все еще довольно хорошо защищены. Это во многом связано с механизмом setuid и несколькими низкоуровневыми операциями, требующими привилегий в Linux — большинство приложений никогда не получают прямой доступ к сети.
Кроме того, посмотрите Tomoyo. Он пока не такой зрелый, как apparmor или SELinux, но я думаю, что стоит попробовать.
решение4
Могу ли я предложить вам взглянуть на мое приложение?http://douaneapp.com/.
Это брандмауэр приложений, ограничивающий сетевой доступ для каждого приложения. Не стесняйтесь присылать мне комментарии и отзывы.