OpenSnitch : découvrez comment fonctionne ce pare-feu de programme Linux

LinuxLes systèmes d'exploitation basés sur les systèmes d'exploitation disposent d'un grand nombre de protections pour atténuer les attaques, empêcher l'élévation des privilèges et d'autres attaques très courantes sur ce système d'exploitation. Bien que Linux soit très sûr s'il est correctement configuré, nous ne devons pas cesser de nous occuper complètement de notre système d'exploitation, car les menaces continuent d'exister. Actuellement, plusieurs pare-feu Linux sont disponibles, que nous pouvons installer et utiliser pour rendre notre système Linux plus sûr et plus fiable. Aujourd'hui, nous allons voir l'un des outils inclus dans les pare-feu avec un avenir très prometteur, OpenSnitch.

Qu'est-ce qu'OpenSnitch ?

OpenSnitch est pare-feu application écrite en Python pour les systèmes d'exploitation basés sur GNU / Linux, donc, en principe, tout système d'exploitation basé sur GNU / Linux est compatible avec ce programme, ce qui ajoutera une sécurité supplémentaire.

OpenSnitch

La méthode de fonctionnement d'OpenSnitch consiste à vérifier toutes les demandes de connexion Internet faites par toutes les applications qui ont été installées sur le système d'exploitation. Ce programme permet la création de règles spécifiques pour les différentes applications que nous avons installées sur notre ordinateur ou serveur Linux, ces règles autoriseront ou refuseront l'accès à Internet lorsqu'elles le demanderont. Il est possible qu'une application qui n'a pas créé de règle essaie d'accéder à Internet, à ce moment-là, une zone de texte apparaîtra qui nous donnera la possibilité d'autoriser la connexion ou de la refuser, sans avoir à aller si spécifiquement à créer une règle pour l'application particulière.

D'autres options disponibles sont la possibilité d'enregistrer la décision en tant que règle afin qu'elle reste sur la liste pour les prochaines fois qu'une application spécifique nécessite un accès Internet, nous pouvons appliquer la règle à l'URL exacte du domaine que vous essayez d'atteindre. . Nous aurons également la possibilité de l'autoriser temporairement, et que lorsque nous redémarrons le serveur ou l'ordinateur cette règle ajoutée disparaît.

Toutes les règles que nous créons dans OpenSnitch seront stockées sous forme de fichiers JSON (type de fichier que seul OpenSnitch peut gérer), de cette manière, nous pourrons les modifier ultérieurement si nécessaire manuellement. OpenSnitch possède une interface utilisateur graphique très intuitive, qui nous permettra de voir quelles applications accèdent à Internet à ce moment-là, quelle adresse IP est utilisée par l'équipement, quel utilisateur utilise à la fois le système et OpenSnitch lui-même et quel port est utilisé. utilisé. utiliser pour tout cela.

Une autre option très utile d'OpenSnitch est de créer un rapport au format CSV avec toutes les informations, ici nous trouverons la configuration du pare-feu et toutes les applications enregistrées.

Installer OpenSnitch sur Linux

Nous allons procéder à l'installation d'OpenSnitch, comme vous pouvez le voir toutes les commandes que nous utiliserons pour l'installation sont destinées à Debian ou Ubuntu utilisateurs donc, si vous utilisez une autre distribution, vous devrez ajuster les commandes à la distribution que vous avez installée sur votre équipe.

Tout d'abord, nous allons installer tout le nécessaire pour qu'OpenSnitch puisse fonctionner, y compris Go et aussi Git, les deux sont totalement nécessaires pour une installation correcte, car nous n'avons pas Opensnitch dans les référentiels officiels des différentes distributions Linux. Comment pourrait-il en être autrement, nous devrons nous connecter en tant que root dans notre système d'exploitation, ou exécuter la commande « sudo » devant la commande d'installation via les référentiels. Notre recommandation, comme nous allons devoir effectuer plusieurs étapes et installer plusieurs programmes, est que vous vous connectiez avec le populaire « sudo su » pour avoir déjà les autorisations de superutilisateur et ne pas avoir besoin d'exécuter « sudo » devant chaque commande.

sudo apt-get install protobuf-compiler libpcap-dev libnetfilter-queue-dev python3-pip golang git

allez chercher github.com/golang/protobuf/protoc-gen-go

allez chercher -u github.com/golang/dep/cmd/dep

python3 -m pip install –user grpcio-tools

Ensuite, nous devrons cloner le référentiel OpenSnitch. Au démarrage, l'installation renverra probablement un message indiquant qu'aucun fichier Go n'a été trouvé. Nous ignorerons ce message, mais si un autre nous agresse en nous disant qu'il nous manque le git, nous devrons nous arrêter pour l'installer. Par défaut le « GOPATH » est dans /home/user/go

go get github.com/evilsocket/opensnitch

cd $ GOPATH / src / github.com / evilsocket / opensnitch

Si la $ GOPATH La variable d'environnement n'est pas définie correctement, nous obtiendrons une erreur indiquant « ce dossier n'a pas été trouvé » dans la commande ci-dessus. Pour résoudre ce problème, nous utiliserons le cd commande pour aller à l'emplacement du dossier "/home/usuario/go/src/github.com/evilsocket/opensnitch" qui était en série dans l'installation du système. Maintenant, nous l'installons de la manière habituelle :

make

sudo faire l'installation

Une fois installé correctement, nous l'activerons comme suit :

sudo systemctl enable opensnitchd

service sudo opensnitchd démarrer

opensnitch-ui

Et nous accéderons à l'interface utilisateur graphique où nous aurons toutes les informations et actions que nous pouvons effectuer avec ce grand programme.

Utiliser l'expérience avec OpenSnitch

Ce programme est vraiment utile pour autoriser ou refuser le trafic réseau des différentes applications, navigateurs Web, clients FTP, programmes comme Skype, Google Drive et tout programme nécessitant une connexion Internet pour fonctionner. Avec OpenSnitch, nous pouvons contrôler toutes les connexions en détail et autoriser ou refuser tout au niveau de l'application, et non au niveau de l'adresse IP ou du port comme c'est le cas avec le pare-feu populaire iptables ou nftables que les systèmes d'exploitation basés sur Debian intègrent par défaut.

Il est possible qu'au début nous ayons des dizaines de messages indiquant qu'une application a essayé d'accéder à Internet, c'est tout à fait normal au début, car toutes les applications doivent être spécifiquement autorisées dans le programme, nous aurons donc la meilleure sécurité possible car il est configuré en mode restrictif. Par défaut, tout est bloqué, sauf ce qui est spécifiquement autorisé dans le pare-feu de l'application.

Enfin, nous voudrions indiquer que toutes les règles créées à un certain moment peuvent être facilement exportées au format JSON, pour être importées dans un autre système d'exploitation Linux, c'est-à-dire que nous pouvons effectuer des tests localement ou dans une machine virtuelle, et plus tard copier ce fichier JSON sur le serveur en production, sans aucun problème.

Grâce au bon fonctionnement d'OpenSnitch, nous pourrons contrôler tous les accès de n'importe quel programme que nous avons dans notre équipement, si vous souhaitez un pare-feu complet au niveau applicatif, ce logiciel est idéal pour vous.