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

16

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

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

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

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

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

    
задан jonabrv1965 22.05.2017 в 00:59
источник

3 ответа

11

Дуэйн

  

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

Установка

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

Эти инструкции по установке основаны на информации из Douane Wiki и протестированы на 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 , чтобы включить автоматический запуск демона:

### 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 , Введите , чтобы сохранить, затем Ctrl + X , чтобы выйти редактора.

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

#!/bin/bash
#
# douane      This shell script takes care of starting and stopping
#             douane daemon (A modern firewall at application layer)
#
# Author: Guillaume Hain [email protected]
#
# 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

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

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

douane-configurator

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

Вы можете просмотреть правила фильтрации на вкладке Правила . Щелкнув правой кнопкой мыши по правилу, вы получите возможность его удалить.

Test

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

    
ответ дан Eric Carvalho 22.05.2017 в 01:12
3

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

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

Итак, давайте рассмотрим ваш вопрос.

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

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

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

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

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

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

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

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

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

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

ответ дан coteyr 22.05.2017 в 04:27
1

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

Ссылка

Страница проекта Ссылка

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

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

    
ответ дан user736189 13.09.2017 в 05:36