Открыт код Douane, динамического межсетевого экрана для Linux

Объявлено об открытии исходных текстов всех наработок продукта Douane, в рамках которого подготовлена реализация персонального интерактивного межсетевого экрана для Linux, поддерживающего интеграцию с GNOME. Douane предоставляет наглядный интерфейс для отслеживания сетевой активности пользовательских приложений и блокирования нежелательного сетевого трафика. При выявлении попытки сетевого соединения от приложения, не подпадающего под правила белого списка, программа выводит пользователю диалог с предложением принять решение о продолжении инициированной сетевой операции. Код открыт под лицензией GPLv2 и доступен на GitHub.

Douane состоит из четырёх базовых частей: модуля для ядра Linux, фонового процесса для мониторинга соединений, графического интерфейса для вывода уведомлений и конфигуратора.

  • Интерфейс для вывода уведомлений (douane-dialog) отвечает за подтверждение или блокирование пользователем выявленной активности. Компонент написан на языке С++ и использует обвязку GTKmm для работы с библиотекой GTK+ 3 в проектах на языке С++. При желании могут быть разработаны альтернативные реализации интерфейса, например, на базе Qt и других графических библиотек. Реализация достаточно проста и сводится к инициированию диалога по D-Bus и отправке обратно сделанного пользователям выбора;
  • Конфигуратор douane-configurator отвечает за управление работой межсетевого экрана и корректировку ранее добавленных правил. Интерфейс настройки написан на языке Python 3 с использованием библиотеки GTK+ 3, работа с которой осуществляется через биндинг PyGObject. Правила блокировки так же могут быть отредактированы вручную, они хранятся на диске в формате JSON с определением привязки заданных пользователем действий (разрешить/запретить) к приложению.
  • Модуль ядра douane-dkms написан на языке Си с использованием фреймворка Netfilter и предназначен для перехвата исходящего трафика, определения его связи с отдельными приложениями и осуществления блокировки запрещённого пользователем трафика. Для приостановки сетевой активности программы до принятия решения используется помещение пакета в очередь NF_QUEUE.
  • Фоновый процесс douane-daemon отвечает за контроль за соблюдением ранее принятых решений о допустимости того или иного трафика от приложений и инициирования запроса пользователю в случае появления ранее не наблюдаемой сетевой активности. Демон написан на языке С++, использует D-Bus для обмена данными с компонентами в пространстве пользователя и Netlink для взаимодействия с модулем ядра.



Яндекс.Метрика
Счётчик ТЦ#65533;Ц LiveRSS: Каталог русскоязычных RSS-каналов