Есть ли какой-либо брандмауэр уровня приложения для Ubuntu 16.04? (с графическим интерфейсом)

Должен признаться, что я очень новичок в мире Linux, и есть концепции, которые мне кажутся очень незнакомыми.

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

Я обнаружил множество программ в средах Windows, которые не должны подключаться к Интернету, но они (и с моим брандмауэром ZoneAlarm я могу их остановить).

С Gufw (и несколькими другими) вы должны знать, какие приложения вы уже установили (и мы знаем, что это почти невозможно с помощью этого современного OS's с миллиардами кодовых строк).

То, что я ищу, - это брандмауэр, который отслеживает соединение NIC / WAN и обнаруживает любую программу / приложение или что-то, что пытается «поговорить» через него проактивно , независимо от того, какой порт пытается использовать (должен из приложений, о которых я говорил ранее, попытаться подключиться, используя хорошо известные TCP-порты: 80, 443, 8080). Это существует? (Если нет, то как я точно знаю, что делает мой компьютер?)

19
задан 13 September 2017 в 08:46

6 ответов

Douane

Douane - персональный брандмауэр, который защищает конфиденциальность пользователя, позволяя пользователю контролировать, какие приложения могут подключаться к Интернету с их компьютера GNU / Linux.

Установка

До сих пор (2017/05/22) нет доступных пакетов Ubuntu. Вы должны построить его из источника.

Эти инструкции по установке основаны на информации из Douane и протестированы на 64-битной версии Ubuntu 16.04.2.

Открыть (Ctrl + Alt + T) для запуска команд.

Подготовка

Обновите свою систему:

sudo apt update sudo apt full-upgrade

Если вы получаете уведомление с просьбой перезагрузите компьютер и перезапустите его.

Установите зависимости

sudo apt install git build-essential dkms libboost-filesystem-dev libboost-regex-dev libboost-signals-dev policykit-1 libdbus-c++-dev libdbus-1-dev liblog4cxx10-dev libssl-dev libgtkmm-3.0-dev python3 python3-gi python3-dbus

Создайте каталог для компиляции

cd mkdir Douane cd Douane

Создайте модуль ядра

git clone https://github.com/Douane/douane-dkms cd douane-dkms sudo make dkms

Проверьте правильность и правильность установки модуля:

lsmod | grep douane

Вы должны увидеть что-то вроде:

douane 20480 0

Сборка демона

cd ~/Douane git clone --recursive https://github.com/Douane/douane-daemon cd douane-daemon make sudo make install

Построить диалог

cd ~/Douane git clone --recursive https://github.com/Douane/douane-dialog cd douane-dialog make sudo make install

Запустить процесс диалога:

/opt/douane/bin/douane-dialog &

Затем проверить, запущен ли он:

pgrep -a douane-dialog

Вы должны увидеть что-то вроде:

21621 /opt/douane/bin/douane-dialog

Построить конфигуратор

cd ~/Douane git clone https://github.com/Douane/douane-configurator cd douane-configurator sudo python3 setup.py install

Запустить демона и настроить автоматический запуск

Мне пришлось вставить следующий текст в файле /etc/init.d/douane, чтобы enab le автоматический запуск демона:

### BEGIN INIT INFO # Provides: douane # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Douane firewall ### END INIT INFO

Откройте файл для редактирования:

sudo nano /etc/init.d/douane

Затем вставьте вышеуказанный текст после описания программы. Нажмите Ctrl + O, Alt , чтобы сохранить, затем Ctrl + T , чтобы выйти из редактора.

Это первый 21 строки файла после того, как я вставил текст:

#!/bin/bash # # douane This shell script takes care of starting and stopping # douane daemon (A modern firewall at application layer) # # Author: Guillaume Hain zedtux@zedroot.org # # description: douane is the daemon process of the Douane firewall application. \ # This firewall is limiting access to the internet on application bases. ### BEGIN INIT INFO # Provides: douane # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Douane firewall ### END INIT INFO # Source function library. . /lib/lsb/init-functions

Теперь вы можете настроить автозапуск и запустить демон:

sudo systemctl daemon-reload sudo systemctl enable douane sudo systemctl start douane

Активировать фильтр и автоматически запустить dialog

Запустите конфигуратор:

douane-configurator

Затем убедитесь, что переключатели используют Douane для фильтрации сетевого трафика и автоматического запуска Douane при загрузке.

Вы можете просмотреть правила фильтрации в Использовать Douane для фильтрации вкладки сетевого трафика .

Test

Если все в порядке, вы должны увидеть окно Douane, запрашивающее разрешение при открытии приложений, использующих сетевые подключения.

! d46]

12
ответ дан 18 July 2018 в 12:56

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

Итак, во-первых, позвольте мне сказать, что безопасность важна, но Linux обрабатывает ее совсем по-другому, чем Windows.

Так что давайте рассмотрим ваш вопрос.

Сначала не будет исходящего брандмауэра, который работает так же, как сигнал зоны. Linux просто не нуждается в одном. Многие приложения работают в архитектуре клиент / сервер, даже если вы используете их на одном компьютере. Xorg - отличный пример. Сначала у вас есть сервер (в данном случае часть, которая рисует на экране), и клиент (gedit) gedit разговаривает с сервером о том, как рисовать его кнопки, помещая его в текст и так далее. Даже что-то простое os мышь имеет такую ​​же архитектуру (или может иметь). Программа выступает в роли сервера, который слушает информацию и отправляет данные, когда он ее получает, затем клиент «подключается» к этому «серверу мыши» и ждет информации.

Это настолько распространено в Linux, что если вы должны создать «брандмауэр», который просил разрешения для каждого сетевого подключения, то вы, вероятно, не сможете его настроить, потому что он не мог подключиться к своему собственному сервер.

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

Чтобы защитить пользователей Linux от этого, у нас есть набор из двух очень простых правил, которые выполняют очень хорошую «базовую» работу.

1st, ни один пользователь, кроме root, не может открыть любой порт ниже 1024. (опять же очень высокий уровень). Это означает, что даже для запуска FTP-сервера (на стандартном порту) вам необходим root-доступ. Вы как пользователь обычно можете открывать «высокие порты» (выше 1024). Но см. Правило 2.

2nd. ни один процесс не может получить доступ к любому файлу, к которому пользователь, не запускающий процесс, не смог получить доступ. (опять же очень высокий уровень). Поэтому, если «coteyr» должен был запустить FTP-сервер, то этот FTP-сервер в худшем случае (высокий уровень) имел бы только тот же доступ, что и пользователь coteyr, который его начал.

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

Тем не менее, вы всегда можете создать правило исходящего брандмауэра, и во многих случаях это, вероятно, неплохая идея. Многие службы могут быть (и по умолчанию) настроены на использование сокетов на основе файлов (или на основе памяти), а не на сетевых сокетах.

Правило входящего брандмауэра обычно закрывает любые нечетные промежутки, оставшиеся по правилу 1 или 2 .

Мое дело в этом. Безопасность важна, и я не пытаюсь сказать, что это не так, это просто на земле Linux, у нас есть разные инструменты и цели. Я бы порекомендовал вам взглянуть на права пользователя и группы Linux, а затем использовать такой инструмент, как gfw и IPTABLES, чтобы заполнить любые пробелы.

3
ответ дан 18 July 2018 в 12:56

Существует новый проект под названием OpenSnitch, описанный в

https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for -linux /

Страница проекта - https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for-linux /

На данный момент это считается альфа-программным обеспечением, и, как ни странно, оно написано на Python, но по крайней мере это новая попытка, тогда как Дуэйн - очень старая программа, которая (я думаю) гораздо труднее установить.

Отказ от ответственности: я лично не тестировал ни одну из программ, я просто пытался найти, есть ли другие варианты, и заметил, что никто еще не упоминал OpenSnitch.

2
ответ дан 18 July 2018 в 12:56

Douane

Douane - персональный брандмауэр, который защищает конфиденциальность пользователя, позволяя пользователю контролировать, какие приложения могут подключаться к Интернету с их компьютера GNU / Linux.

Установка

До сих пор (2017/05/22) нет доступных пакетов Ubuntu. Вы должны построить его из источника.

Эти инструкции по установке основаны на информации из Douane и протестированы на 64-битной версии Ubuntu 16.04.2.

Открыть (Ctrl + Alt + T) для запуска команд.

Подготовка

Обновите свою систему:

sudo apt update sudo apt full-upgrade

Если вы получаете уведомление с просьбой перезагрузите компьютер и перезапустите его.

Установите зависимости

sudo apt install git build-essential dkms libboost-filesystem-dev libboost-regex-dev libboost-signals-dev policykit-1 libdbus-c++-dev libdbus-1-dev liblog4cxx10-dev libssl-dev libgtkmm-3.0-dev python3 python3-gi python3-dbus

Создайте каталог для компиляции

cd mkdir Douane cd Douane

Создайте модуль ядра

git clone https://github.com/Douane/douane-dkms cd douane-dkms sudo make dkms

Проверьте правильность и правильность установки модуля:

lsmod | grep douane

Вы должны увидеть что-то вроде:

douane 20480 0

Сборка демона

cd ~/Douane git clone --recursive https://github.com/Douane/douane-daemon cd douane-daemon make sudo make install

Построить диалог

cd ~/Douane git clone --recursive https://github.com/Douane/douane-dialog cd douane-dialog make sudo make install

Запустить процесс диалога:

/opt/douane/bin/douane-dialog &

Затем проверить, запущен ли он:

pgrep -a douane-dialog

Вы должны увидеть что-то вроде:

21621 /opt/douane/bin/douane-dialog

Построить конфигуратор

cd ~/Douane git clone https://github.com/Douane/douane-configurator cd douane-configurator sudo python3 setup.py install

Запустить демона и настроить автоматический запуск

Мне пришлось вставить следующий текст в файле /etc/init.d/douane, чтобы enab le автоматический запуск демона:

### BEGIN INIT INFO # Provides: douane # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Douane firewall ### END INIT INFO

Откройте файл для редактирования:

sudo nano /etc/init.d/douane

Затем вставьте вышеуказанный текст после описания программы. Нажмите Ctrl + O, Alt , чтобы сохранить, затем Ctrl + T , чтобы выйти из редактора.

Это первый 21 строки файла после того, как я вставил текст:

#!/bin/bash # # douane This shell script takes care of starting and stopping # douane daemon (A modern firewall at application layer) # # Author: Guillaume Hain zedtux@zedroot.org # # description: douane is the daemon process of the Douane firewall application. \ # This firewall is limiting access to the internet on application bases. ### BEGIN INIT INFO # Provides: douane # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Douane firewall ### END INIT INFO # Source function library. . /lib/lsb/init-functions

Теперь вы можете настроить автозапуск и запустить демон:

sudo systemctl daemon-reload sudo systemctl enable douane sudo systemctl start douane

Активировать фильтр и автоматически запустить dialog

Запустите конфигуратор:

douane-configurator

Затем убедитесь, что переключатели используют Douane для фильтрации сетевого трафика и автоматического запуска Douane при загрузке.

Вы можете просмотреть правила фильтрации в Использовать Douane для фильтрации вкладки сетевого трафика .

Test

Если все в порядке, вы должны увидеть окно Douane, запрашивающее разрешение при открытии приложений, использующих сетевые подключения.

! d46]

12
ответ дан 24 July 2018 в 20:04
  • 1
    Привет, Эрик, большое спасибо за ваш быстрый ответ. Как уже упоминалось, я довольно новичок в Linux. Я нашел эту вещь Дуэйн, прежде чем опубликовать свой вопрос, я взглянул на сайт Дуэна, и нет «пакета». для Ubuntu, только для того, что называется «Archlinux». (Я предполагаю, что еще один дистрибутив Linux) ... Я также обнаружил, что можно адаптировать это к любому дистрибутиву, делающему перекомпиляцию и установку вручную ... Я прав? ... никто уже не скомпилировал и не упаковал для ubuntu? – jonabrv1965 22 May 2017 в 06:33
  • 2
    Прежде всего, спасибо вам снова Эрик за поддержку ... Ум ... более 30 шагов для запуска и запуска приложения в Linux ... не очень удобный, не так ли? ... Я начинаю посмотрите, почему Linux имеет очень низкий прием за пределами техников ... Я попробую (в основном потому, что я должен обойтись без M $ Windoze любой ценой) – jonabrv1965 23 May 2017 в 23:56
  • 3
    Разве нет PPA для создания двоичных файлов? Google нашел launchpad.net/~zedtux/+archive/ubuntu/douane (но я его не тестировал). – Melebius 13 September 2017 в 08:50

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

Итак, во-первых, позвольте мне сказать, что безопасность важна, но Linux обрабатывает ее совсем по-другому, чем Windows.

Так что давайте рассмотрим ваш вопрос.

Сначала не будет исходящего брандмауэра, который работает так же, как сигнал зоны. Linux просто не нуждается в одном. Многие приложения работают в архитектуре клиент / сервер, даже если вы используете их на одном компьютере. Xorg - отличный пример. Сначала у вас есть сервер (в данном случае часть, которая рисует на экране), и клиент (gedit) gedit разговаривает с сервером о том, как рисовать его кнопки, помещая его в текст и так далее. Даже что-то простое os мышь имеет такую ​​же архитектуру (или может иметь). Программа выступает в роли сервера, который слушает информацию и отправляет данные, когда он ее получает, затем клиент «подключается» к этому «серверу мыши» и ждет информации.

Это настолько распространено в Linux, что если вы должны создать «брандмауэр», который просил разрешения для каждого сетевого подключения, то вы, вероятно, не сможете его настроить, потому что он не мог подключиться к своему собственному сервер.

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

Чтобы защитить пользователей Linux от этого, у нас есть набор из двух очень простых правил, которые выполняют очень хорошую «базовую» работу.

1st, ни один пользователь, кроме root, не может открыть любой порт ниже 1024. (опять же очень высокий уровень). Это означает, что даже для запуска FTP-сервера (на стандартном порту) вам необходим root-доступ. Вы как пользователь обычно можете открывать «высокие порты» (выше 1024). Но см. Правило 2.

2nd. ни один процесс не может получить доступ к любому файлу, к которому пользователь, не запускающий процесс, не смог получить доступ. (опять же очень высокий уровень). Поэтому, если «coteyr» должен был запустить FTP-сервер, то этот FTP-сервер в худшем случае (высокий уровень) имел бы только тот же доступ, что и пользователь coteyr, который его начал.

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

Тем не менее, вы всегда можете создать правило исходящего брандмауэра, и во многих случаях это, вероятно, неплохая идея. Многие службы могут быть (и по умолчанию) настроены на использование сокетов на основе файлов (или на основе памяти), а не на сетевых сокетах.

Правило входящего брандмауэра обычно закрывает любые нечетные промежутки, оставшиеся по правилу 1 или 2 .

Мое дело в этом. Безопасность важна, и я не пытаюсь сказать, что это не так, это просто на земле Linux, у нас есть разные инструменты и цели. Я бы порекомендовал вам взглянуть на права пользователя и группы Linux, а затем использовать такой инструмент, как gfw и IPTABLES, чтобы заполнить любые пробелы.

3
ответ дан 24 July 2018 в 20:04
  • 1
    [D0] & GT; ни один процесс не может получить доступ к любому файлу, который пользователь, запускающий процесс, не смог получить доступ к - который ничем не отличается от Windows, как вы, кажется, подразумеваете. Это не разница ОС. Однако, честно говоря, если вы просто разрешили все петлевые соединения, тогда такой брандмауэр не будет мешать никаким клиентским / серверным приложениям TCP на одном компьютере - вполне возможно установить один из них, который контролирует только доступ к сети. (Кроме того, если вы не используете Windows 9x, ACL Windows, во всяком случае, более мощные, чем традиционные разрешения Unix, что опять-таки мало связано с ограничением сети.) – Bob 22 May 2017 в 13:39
  • 2
    На самом деле, снова прочитав ответ ... Я не уверен, что релевантно использовать не известные порты - это полезно только для предотвращения маскировки системных служб (например, притворяется sshd на 22), но вопрос, похоже, больше спрашивает об анализе данных. Которые являются почти полностью исходящими соединениями и имеют мало общего с портами, которым вы можете привязываться. – Bob 22 May 2017 в 13:47
  • 3
    Во-первых, не будет выходного брандмауэра, который работает так же, как сигнал зоны. Linux просто не имеет большой потребности в одном - IP-таблицы будут контролировать исходящие, а также в ближайшие, пожалуйста, не говорите, что вы действительно не знаете. – djsmiley2k 22 May 2017 в 14:13
  • 4
    Привет, Хонза, во время моей «домашней работы». Я видел несколько раз таких ответов, как ваш. И я это немного понимаю, но ... и это большой «но» ... не то, что я ищу ... Я понимаю порт, низкий уровень воздействия (из-за низкой распространенности платформы) и все другие концепции, которые вы упомянули ... но то, что я ищу, - это понять простым способом (например, zonealarm), что мой компьютер делает за пределами самого компьютера .. (это Xorg / gedit, чтобы следовать вашему примеру, вам нужно идти в Интернет, чтобы что-нибудь сделать? Если так, я хочу / должен знать, почему / когда / где ... – jonabrv1965 23 May 2017 в 23:48
  • 5
    Тогда вы собираетесь копать немного глубже. try netstat Прямо сейчас у моего окна есть 1354 открытых соединения. 65 из них - сетевые подключения. Для меня это довольно мало (не говоря о том, что это для всех), но затем вы начнете пытаться выяснить, что делает каждая из этих соединений. Как я уже сказал, это не значит, что безопасность не важна, это совсем другая среда. – coteyr 24 May 2017 в 06:16

Существует новый проект под названием OpenSnitch, описанный в

https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for -linux /

Страница проекта - https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for-linux /

На данный момент это считается альфа-программным обеспечением, и, как ни странно, оно написано на Python, но по крайней мере это новая попытка, тогда как Дуэйн - очень старая программа, которая (я думаю) гораздо труднее установить.

Отказ от ответственности: я лично не тестировал ни одну из программ, я просто пытался найти, есть ли другие варианты, и заметил, что никто еще не упоминал OpenSnitch.

2
ответ дан 24 July 2018 в 20:04
  • 1
    & GT; «странно это написано на языке Python». - Нет, это не странно, на самом деле очень хорошая идея использовать язык высокого уровня для всего, кроме "горячего" частей, чтобы сэкономить время и сделать меньше ошибок. – Sarge Borsch 15 April 2018 в 10:46

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

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