Comment installer Open Snitch sur Ubuntu
Un Pare-feu Plus Intuitif pour Linux : Découverte d'Open Snitch
Le système Linux intègre un pare-feu performant, mais son utilisation peut s'avérer complexe pour les nouveaux venus. L'absence d'interfaces graphiques intuitives et de notifications claires rend difficile la compréhension des actions entreprises par les programmes. Généralement, la configuration se fait via le terminal, à moins d'installer un outil dédié. Si vous recherchez une solution plus accessible, Open Snitch pourrait vous intéresser. Cette application de pare-feu s'inspire grandement de Little Snitch, disponible sur Mac OS. L'installation d'Open Snitch n'est pas triviale, car elle requiert la configuration manuelle d'un chemin GO pour le langage de programmation Google Go, ainsi que l'installation du programme avec ce dernier. Néanmoins, une fois cette étape franchie, même un utilisateur novice peut en bénéficier pleinement.
Attention : Open Snitch est encore en phase expérimentale et peut ne pas fonctionner correctement sur toutes les versions d'Ubuntu. Il est recommandé de suivre scrupuleusement les instructions et de consulter la page Github pour plus de détails.
Configuration du Chemin d'Accès
Open Snitch est codé en Go, ce qui implique que son installation nécessite le langage Go. Malheureusement, l'installation classique de Google Go sur Linux ne suffit pas. Il est primordial de configurer un chemin d'accès afin de permettre l'installation aisée des packages sur votre machine.
Pour ce faire, ouvrez une fenêtre de terminal et exécutez les instructions qui suivent.
Commencez par effectuer une sauvegarde de votre fichier bash_profile avec les commandes mv et cp:
cd ~/ cp .bash_profile ~/Documents mv ~/Documents/.bash_profile ~/Documents/.bash_profile-backup
Maintenant que votre configuration est sécurisée, ouvrez le fichier bash_profile avec l'éditeur Nano pour paramétrer correctement le chemin Go:
nano ~/.bash_profile
Insérez le code suivant dans le fichier bash_profile:
export GOPATH=$HOME/go
Il est également nécessaire de définir le répertoire Go bin. Ajoutez le code ci-dessous dans Nano pour cela :
export GOBIN=$HOME/go/bin
Une fois les chemins ajoutés, appuyez sur Ctrl+O pour sauvegarder vos modifications.
Ensuite, grâce à la commande source, mettez à jour l'environnement Bash avec le nouveau chemin Go:
source ~/.bash_profile
Installation de Go
Votre PC Linux est maintenant configuré avec un chemin d'accès correct. L'étape suivante consiste à installer le langage de programmation Go lui-même. Ouvrez un terminal et suivez les instructions pour installer Google Go. Notez bien qu'Open Snitch ne fonctionnera pas sans Google Go version 1.8 ou supérieure.
sudo apt install golang-go python3-pip python3-setuptools protobuf-compiler libpcap-dev libnetfilter-queue-dev python-pyqt5 pyqt5-dev pyqt5-dev-tools git
Instructions génériques
L'installation de Google Go sur les distributions Linux moins courantes est un peu plus complexe. Commencez par télécharger la dernière version du code source avec l'utilitaire wget.
Avant de poursuivre l'installation d'Open Snitch, il vous faudra installer les dépendances suivantes. Les noms peuvent légèrement différer d'une distribution à l'autre. Utilisez les dépendances Ubuntu comme référence.
Remarque : Open Snitch a été conçu pour fonctionner sur Ubuntu et le développeur ne fournit d'ailleurs que les instructions concernant les dépendances pour cette distribution Linux. Si vous l'essayez sur un autre système d'exploitation, cela peut fonctionner, mais des problèmes peuvent survenir.
wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz
Le téléchargement devrait être rapide. Une fois terminé, utilisez la commande Tar pour décompresser l'archive à l'emplacement approprié sur votre PC Linux.
sudo tar -C /usr/local -xvzf go1.10.2.linux-amd64.tar.gz
Puis, ouvrez votre profil Bash et ajoutez-y le chemin "Go root". L'ajout de l'emplacement Go à ce fichier est nécessaire car vous installez Go manuellement à partir du code plutôt que d'utiliser le package natif inclus.
nano ~/.bash_profile
Insérez ce code dans l'éditeur Nano pour définir le chemin racine:
export GOROOT=/usr/local/go
Enregistrez les modifications avec Ctrl+O, puis mettez à jour l'environnement:
source ~/.bash_profile
Installation d'Open Snitch
L'installation d'Open Snitch sur Ubuntu commence par la récupération du code source. Utilisez Go pour télécharger les deux dépendances importantes utilisées par Open Snitch :
go get github.com/golang/protobuf/protoc-gen-go go get -u github.com/golang/dep/cmd/dep
Ensuite, utilisez l'outil d'installation de package Python 3 pour obtenir les dépendances Python nécessaires à Open Snitch.
AVERTISSEMENT : N'exécutez pas la commande ci-dessous en tant que root ou sudo, cela installerait les bibliothèques à l'échelle du système, ce qui n'est pas requis pour Open Snitch.
python3 -m pip install --user grpcio-tools
Toutes les dépendances étant prises en charge, clonez le dernier code source du programme grâce à Go:
go get github.com/evilsocket/opensnitch
Ignorez le message "no files" ou similaire de Go. Déplacez le terminal dans le répertoire adéquat avec la commande CD:
cd $GOPATH/src/github.com/evilsocket/opensnitch
Il est maintenant possible d'exécuter les commandes make et make install pour compiler Open Snitch sur votre PC Linux Ubuntu.
make sudo make install
Le code est compilé et installé. Activez ensuite le démon Open Snitch:
sudo systemctl enable opensnitchd sudo systemctl start opensnitchd
Si l'installation a réussi, vous devriez pouvoir lancer Open Snitch en recherchant le raccourci sur votre bureau. Sinon, exécutez opensnitch-ui dans le terminal.
Utilisation d'Open Snitch
Une fois installé et lancé, Open Snitch ne demande pas de configuration spécifique. Laissez le programme s'exécuter en arrière-plan. Il surveillera et vous notifiera des applications qui tentent de modifier des paramètres sur votre machine.

Pour autoriser temporairement une application, cliquez sur "Autoriser une fois". Pour l'autoriser de manière permanente, choisissez "Autoriser définitivement".
De même, vous pouvez refuser temporairement en cliquant sur "Refuser" ou bloquer définitivement en sélectionnant "Bloquer".