Представлен проект OpenSnitch, в рамках которого подготовлен свободный аналог проприетарного сетевого экрана Little Snitch.

Программа представляет собой интерактивную оболочку для подсистемы Netfilter ядра Linux, и обладает следующими возможностями:

  • Отслеживание сетевой активности приложений и различных процессов в режиме реального времени;
  • Вывод экранных уведомлений с подробной информацией о приложении, начавшем сетевую активность (имя процесса и его идентификатор, локальный IP адрес, IP адрес назначения, порт);
  • Гибкий механизм создания правил: блокировка или разрешение выхода в сеть всему приложению или одному конкретному процессу, учёт пользователей, хостов и портов; разрешения в рамках текущей сессии либо на постоянной основе;
  • Ведение подробной статистики блокировок и сетевой активности приложений.

Программа состоит из двух частей: системного демона, написанного на языке Go и работающего с правами root – opensnitchd, взаимодествующего с подсистемой Netfilter через libnetfilter-queue, вносящего изменения в правила Iptables и контролирующего сетевой трафик через libcap; графического интерфейса, построенного с использованием PyQt5 и работающего в непривелегированном режиме. Правила блокировок хранятся в формате JSON, взаимодействие графического интерфейса и системного демона осуществляется по протоколу gRPC.

www.linux.org.ru