web-dev-qa-db-fra.com

Existe-t-il un pare-feu de niveau application pour Ubuntu 16.04? (avec interface graphique)

Je dois avouer que je suis très nouveau dans le monde Linux et que certains concepts me semblent très inconnus.

Une chose qui me manque le plus est un pare-feu de niveau applicatif bon mais simple. À l'heure actuelle, avec toute cette connectivité envahissante et permanente à Internet, il est indispensable de savoir exactement ce que fait votre ordinateur, pourquoi et avec qui. Un analyseur de protocole est correct, mais trop hostile et prend trop de temps pour "analyser", ce qui est pratiquement inutile pour les utilisateurs à domicile.

J'ai découvert de nombreux programmes dans les environnements Windows qui ne devraient pas se connecter à Internet, mais c'est le cas (et avec mon pare-feu gratuit ZoneAlarm, je peux les arrêter).

Avec Gufw (et plusieurs autres), vous devez savoir quelles applications avez-vous déjà installées (et nous savons que c'est presque impossible avec ce système d'exploitation moderne avec des milliards de lignes de code).

Ce que je recherche, c’est un pare-feu qui surveille la connexion NIC/WAN et détecte tous les programmes/applications ou tout autre dispositif essayant de le "parler" de manière proactive, quel que soit le port utilisé (les applications que je viens de mentionner essayent de se connecter). en utilisant bien connu TCP ports: 80, 443, 8080). Est-ce que ça existe? (Si non, comment puis-je savoir ce que fait mon ordinateur?)

20
jonabrv1965

Douane

Douane est un pare-feu personnel qui protège la vie privée des utilisateurs en leur permettant de contrôler les applications pouvant se connecter à Internet à partir de leur ordinateur GNU/Linux.


Installation

Jusqu'à présent (2017/05/22) il n'y avait pas de paquets Ubuntu disponibles. Vous devez le construire à partir de la source.

Ces instructions d'installation sont basées sur des informations provenant de Douane Wiki et testées sur Ubuntu 16.04.2 64 bits.

Ouvrez un terminal (Ctrl+Alt+T) pour exécuter les commandes.

Préparation

Mettez à jour votre système:

Sudo apt update
Sudo apt full-upgrade

Si vous recevez une notification vous demandant de redémarrer votre ordinateur, redémarrez-le.

Installer les dépendances

Sudo apt install git build-essential dkms libboost-filesystem-dev libboost-regex-dev libboost-signals-dev policykit-1 libdbus-c++-dev libdbus-1-dev liblog4cxx10-dev libssl-dev libgtkmm-3.0-dev python3 python3-gi python3-dbus

Créer un répertoire pour la compilation

cd
mkdir Douane
cd Douane

Construire le module du noyau

git clone https://github.com/Douane/douane-dkms
cd douane-dkms
Sudo make dkms

Vérifiez si le module a été construit et installé correctement:

lsmod | grep douane

Vous devriez voir quelque chose comme:

douane                 20480  0

Construire le démon

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-daemon
cd douane-daemon
make
Sudo make install

Construire le processus de dialogue

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-dialog
cd douane-dialog
make
Sudo make install

Lancer le processus de dialogue:

/opt/douane/bin/douane-dialog &

Ensuite, vérifiez s'il est en cours d'exécution:

pgrep -a douane-dialog

Vous devriez voir quelque chose comme:

21621 /opt/douane/bin/douane-dialog

Construire le configurateur

cd ~/Douane
git clone https://github.com/Douane/douane-configurator
cd douane-configurator
Sudo python3 setup.py install

Démarrer le démon et configurer le démarrage automatique

J'ai dû insérer le texte suivant dans le fichier /etc/init.d/douane afin de permettre le démarrage automatique du démon:

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

Ouvrez le fichier pour le modifier:

Sudo nano /etc/init.d/douane

Collez ensuite le texte ci-dessus après la description du programme. presse Ctrl+O,Enter pour sauver, alors Ctrl+X pour quitter l'éditeur.

Voici les 21 premières lignes du fichier après avoir inséré le texte:

#!/bin/bash
#
# douane      This Shell script takes care of starting and stopping
#             douane daemon (A modern firewall at application layer)
#
# Author: Guillaume Hain [email protected]
#
# description: douane is the daemon process of the Douane firewall application. \
# This firewall is limiting access to the internet on application bases.

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

# Source function library.
. /lib/lsb/init-functions

Maintenant, vous pouvez configurer le démarrage automatique et démarrer le démon:

Sudo systemctl daemon-reload
Sudo systemctl enable douane
Sudo systemctl start douane

Activer le filtre et démarrer automatiquement la boîte de dialogue

Démarrer le configurateur:

douane-configurator

Assurez-vous ensuite que les commutateurs utilisent Douane pour filtrer mon trafic réseau et . Démarrez automatiquement Douane au démarrage sont tous deux activés.

Vous pouvez consulter les règles de filtrage dans l'onglet Règles . En cliquant avec le bouton droit sur une règle, vous obtenez une option pour la supprimer.

Tester

Si tout va bien, la fenêtre de Douane devrait vous demander une autorisation lorsque vous ouvrez des applications utilisant des connexions réseau.

12
Eric Carvalho

Un nouveau projet appelé OpenSnitch est décrit à

https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for-linux/

La page du projet est https://www.opensnitch.io/

À ce stade, il est considéré comme un logiciel alpha, et étrangement, il est écrit en Python, mais au moins, il s’agit d’une nouvelle tentative, alors que Douane est un très vieux programme qui (je pense) est beaucoup plus difficile à installer.

Clause de non-responsabilité: Je n'ai personnellement testé ni l'un ni l'autre programme. J'essayais simplement de trouver d'autres options et j'ai remarqué que personne n'avait encore mentionné OpenSnitch.

4
user736189

C'est une très bonne question, mais je déteste les questions comme celle-ci car il est très difficile de répondre à ces questions sans prétendre que la sécurité n'est pas importante.

Permettez-moi d’abord de dire que la sécurité est importante, mais que Linux la gère très différemment de Windows.

Alors, abordons votre question.

Tout d'abord, il ne va pas y avoir de pare-feu sortant fonctionnant de la même manière qu'une alarme de zone. Linux n'en a tout simplement pas besoin. De nombreuses applications fonctionnent dans une architecture client/serveur même si vous les utilisez sur le même ordinateur. Xorg est un excellent exemple. Vous avez d’abord un serveur (dans ce cas la partie qui dessine à l’écran) et un client (gedit) gedit parle au serveur pour dessiner ses boutons, placer son texte, etc. Même quelque chose d'aussi simple qu'une souris a cette architecture (ou pourrait avoir). Un programme agit comme un serveur écoutant les informations et envoyant des données quand il les reçoit, puis un client se "connecte" à ce "serveur de souris" et attend des informations.

Cela est tellement répandu dans Linux que si vous deviez créer un "pare-feu" qui demandait une autorisation pour chaque connexion réseau, vous ne seriez probablement pas en mesure de le configurer car il ne pouvait pas se connecter à son propre serveur.

C’est un exemple très approximatif, certains sont trompeurs parce que leur niveau est très élevé. Mais c'est toujours très vrai.

Pour nous protéger les utilisateurs de Linux contre cela, nous avons un ensemble de deux règles très basiques qui font un très bon travail "de base".

Premièrement, aucun utilisateur, à l'exception de root, ne peut ouvrir un port inférieur à 1024. (encore une fois, niveau très élevé). Cela signifie que même pour exécuter un serveur FTP (sur un port standard), vous devez avoir un accès root. En tant qu'utilisateur, vous pouvez généralement ouvrir des "ports élevés" (supérieurs à 1024). Mais voir la règle deux.

2ème. aucun processus ne peut accéder à aucun fichier auquel l'utilisateur qui a démarré le processus n'a pas accès. (Encore une fois, très haut niveau) Donc, si "coteyr" devait démarrer un serveur FTP, alors ce serveur FTP dans le pire des cas (niveau élevé) n'aurait que le même accès que l'utilisateur coteyr qui l'avait démarré.

En raison de la combinaison de ces deux règles, un "logiciel" qui demande chaque fois que quelque chose essaie de connecter un pare-feu est un obstacle, et il n’est pas très demandé.

Cela dit, vous pouvez toujours créer une règle de pare-feu sortante et, dans de nombreux cas, ce n'est probablement pas une mauvaise idée. De nombreux services peuvent être (et sont par défaut) configurés pour utiliser des sockets basés sur des fichiers (ou basés sur la mémoire) et non des sockets basés sur le réseau.

Une règle de pare-feu en entrée ferme généralement les impasses éventuelles laissées par les règles 1 ou 2.

Mon point est la suivante. La sécurité est importante et je n'essaie pas de dire que ce n'est pas le cas, c'est seulement ici, dans Linux, que nous avons différents outils et objectifs. Je vous recommande d’examiner les autorisations des utilisateurs et des groupes Linux, puis d’utiliser un outil tel que gfw et IPTABLES pour combler les lacunes éventuelles.

3
coteyr