Фаервол приложений в Linux - или контроль доступа приложений к сети

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

OpenSnitch - интерактивный файервол приложений с графическим интерфейсом, который отображает попытки подключения приложений к сети и предоставляет возможность реагировать - разрешить или запретить подключение однократно, на ближайшие 5, 15, 30 минут до 1 часа, или до следующего перезапуска, или, конечно, навсегда. По умолчанию на реакцию дается 15 секунд, после чего соединение отклоняется. Это значение, конечно, может быть изменено в настройках.

OpenSnitch состоит из демона, работающего в фоновом режиме и графического интерфейса.

DEB-дистрибутивы

$ wget https://github.com/evilsocket/opensnitch/releases/download/v1.6.2/opensnitch_1.6.2-1_amd64.deb https://github.com/evilsocket/opensnitch/releases/download/v1.6.3/python3-opensnitch-ui_1.6.3-1_all.deb
$ sudo apt install ./opensnitch*.deb ./python3-opensnitch-ui*.deb

RPM-дистрибутивы

$ wget https://github.com/evilsocket/opensnitch/releases/download/v1.6.2/opensnitch-1.6.2-1.x86_64.rpm https://github.com/evilsocket/opensnitch/releases/download/v1.6.3/opensnitch-ui-1.6.3-1.noarch.f29.rpm

yum:

$ sudo yum localinstall opensnitch-*.rpm; sudo yum localinstall opensnitch-ui*.rpm

dnf:

$ sudo dnf install ./opensnitch-*.rpm ./opensnitch-ui-*.rpm

Проверка работоспособности демона:

DEB и RPM-дистрибутивы

$ sudo systemctl status opensnitch

ARCH-дистрибутивы

$ sudo systemctl status opensnitchd

Если нет, то:

DEB и RPM-дистрибутивы

$ sudo systemctl start opensnitch # Чтобы запустить
$ sudo systemctl enable opensnitch # Для автоматического запуска при загрузке системы

ARCH-дистрибутивы

$ sudo systemctl start opensnitchd # Чтобы запустить
$ sudo systemctl enable opensnitchd # Для автоматического запуска при загрузке системы

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

Если новый процесс попытается подключиться к сети, появится похожий запрос и будет создано новое правило:

По умолчанию всегда выбирается только конкретный процесс, но можно также нажать на символ плюса (+) и выбрать, чтобы правило применялось только к конкретному IP-адресу, порту назначения или, например, к пользователю, запустившему процесс: