Douane: easy firewall with app rules

Douane is a learn as you go firewall that asks for user preferences on what network traffic to allow. Douane Firewall identifies the new applications as soon as they attempt to make a network transfer and blocks it till the user allows it. A rule for the application is created based on user selection.

Douane is implemented as a Linux kernel module in its core. It supports kernel version 3 or higher and uses the Netfilter library. The user interface is written in Python 3 and Gtk 3 making it easily portable over multiple Linux distributions. The Dialog Process generates the GUI dialogs when an unknown activity is detected. The Configurator or control panel interface allows users to configure the firewall from a central place. The last component of Douane is the Daemon process that makes use of DBus to provide a server for inter-component communication and asks users or reminds them of their decisions to allow/deny network traffic.

Features

  • Per application allow or deny traffic
  • Start/stop the firewall
  • Enable/disable the firewall autostart at boot
  • Configure rules
  • Shows latest tweets from Douane

Installation

Packages are available only for Arch Linux at the time of writing. The compilation steps for Ubuntu are:

Compilation area

$ mkdir ~/Douane
$ cd ~/Douane

Kernel module

$ sudo apt-get install dkms
$ git clone https://github.com/Douane/douane-dkms
$ cd douane-dkms
$ sudo make dkms

Being a dkms module, Douane will be recompiled automatically after kernel upgrades.

Daemon process

$ sudo apt-get install libboost-filesystem-dev libboost-regex-dev libboost-signals-dev policykit-1 libdbus-c++-dev libdbus-1-dev liblog4cxx10-dev
$ cd ~/Douane
$ git clone https://github.com/Douane/douane-daemon
$ cd douane-daemon
$ git submodule init && git submodule update
$ make
$ sudo make install

To start the daemon:

$ sudo service douane start

Dialog process

$ sudo apt-get install libboost-signals-dev libdbus-c++-dev libdbus-1-dev liblog4cxx10-dev libgtkmm-3.0-dev
$ cd ~/Douane
$ git clone https://github.com/Douane/douane-dialog
$ cd douane-dialog
$ git submodule init && git submodule update
$ make
$ sudo make install

To start the process:

$ douane-dialog &

Configurator

$ sudo apt-get install python3 python3-gi policykit-1 python3-dbus
$ cd ~/Douane
$ git clone https://github.com/Douane/douane-configurator
$ cd douane-configurator
$ sudo python3 setup.py install

Webpage: Douane

Leave a Reply

Your email address will not be published. Required fields are marked *