Ceci est une ancienne révision du document !
FireStarter
Firestarter est un front-end qui vous aide à configurer facilement votre pare-feu. Il a pour objectif d'être le plus simple possible tout en restant complet et efficace. Il est basé sur les librairies graphiques GTK utilisées pour un environnement de bureau gnome.
Il est donc inutile d'exécuter Firestarter en permanence ! Le pare-feu Netfilter n'a pas besoin de cette interface pour fonctionner.
Un pare-quoi ?
Un pare-feu (firewall pour les anglophones) est un programme (exécuté généralement en arrière-plan, en tant que service) qui empêche les curieux de faire des vilaineries via le réseau sur votre ordinateur. Ce n'est pas une sécurité absolue, loin de là, mais une sécurité de plus. En gros, tout ordinateur relié à un réseau (par exemple, Internet) possède des entrées et des sorties (un peu comme les fenêtres et les portes d'une maison), qui servent à faire transiter les données. Le pare-feu surveille ces « portes » et évite qu'un malotru vienne vous rendre visite à l'improviste. En revanche, il laissera passer ce que vous lui aurez dit de laisser passer.
Installation
Pour l'installation, activez les dépôts Universe, puis installez le paquet firestarter.
Premier lancement
Pour lancer Firestarter, cliquez sur Système → Administration → Firestarter. Au premier lancement, un assistant vous aide à configurer Firestarter en choisissant l'interface à surveiller (il a normalement détecté automatiquement l'interface active). Si votre adresse IP vous est attribuée automatiquement via DHCP, cochez l'option correspondante. "Une IP vous est attribuée automatiquement via DHCP" : DHCP est l'outil qui permet de configurer automatiquement une adresse IP (IP pour "Internet Protocol") et un masque de sous-réseau à un ordinateur connecté à un réseau quelconque gérant le TCP et/ou l'UDP. Ceci évite les conflits entre adresses IP sur un même réseau : si deux ou plusieurs ordinateurs ont la même IP, la passerelle ne saura pas vers où envoyer un paquet donné, et du coup ce paquet n'arrivera pas à son destinataire. Il est possible de désactiver le DHCP, mais dans ce cas-là les adresses IP devront être configurées manuellement via un gestionnaire réseau.
La seconde boîte de dialogue vous propose de partager votre connexion et d'utiliser votre machine comme serveur DHCP. Si vous avez votre PC directement relié à Internet et que vous partagez avec d'autres ordinateurs "derrière vous", cochez les 2 cases, sinon cliquez sur Avancer puis Enregistrer pour terminer l'assistant.
Si vous ne faites pas tourner de serveur sur votre machine, que les logs ne vous intéressent pas et que vous ne souhaitez pas vous plonger davantage dans la configuration de cet outil, vous pouvez vous arrêter ici et en rester à la configuration par défaut, qui devrait vous satisfaire.
Configuration
L'onglet « État »
Cet onglet montre et permet de contrôler l'état général du pare-feu, qui peut être :
- Actif : le pare-feu est en train de faire son travail
- Arrêté : le pare-feu est désactivé, il n'agit en rien sur le trafic
- Bloqué : le pare-feu bloque complètement le trafic entrant et sortant : rien ne passe
Cette page propose également quelques statistiques sur le trafic Internet telles que les connexions actives, le nombre d'alertes et de paquets reçus, etc.
L'onglet « Évènements »
C'est le coin des logs, où vous pouvez voir les tentatives de connexion bloquées avec leur degré de gravité :
- Noir : tentative de connexion régulière sur un port, bloquée par le pare-feu, en règle générale pas de quoi fouetter un chat
- Rouge : possible tentative d'intrusion, également bloquée
- Gris : connexions que Firestarter juge « non dangereuses », en règle générale du trafic « broadcast ».
concernant la zone grise.
Onglet « Politique »
Définissez ici vos règles pour le trafic entrant et sortant de votre machine. Pour le trafic sortant, je suggère l'option par défaut. Pour le trafic entrant, si vous avez des serveurs tournant sur votre machine, ouvrez les ports correspondants :
- clic droit dans la zone « Autoriser le service » ;
- « Ajouter une règle » ;
- sélectionnez dans la liste de nom le nom du service que vous faites tourner (par exemple « FTP » pour un serveur FTP) ou, s'il n'y est pas, écrivez manuellement le nom du service (ex. : TCP, UDP, …) et le numéro du port ;
- laisser l'option par défaut (« Tout le monde ») dans le champ « Source », afin d'ouvrir ce port pour tout le monde ;
- validez en appuyant sur « Ajouter ».
Les préférences
(Édition → Préférences)
Les préférences par défaut conviennent à l'utilisateur lambda. Ceux d'entre vous qui connaissent déjà les protocoles réseau et le firewalling n'auront aucune difficulté à s'y retrouver, je renvoie les autres curieux aux documents facilement trouvables sur le sujet des protocoles réseau et du firewalling.
Monitoring
Une fois firestarter actif, il y a de fortes chances qu'il devienne très bavard.
Si vous regardez les log systèmes (dmesg ou cat /var/log/messages), vous pourrez constater une multitude de lignes du type :
[ 288.276811] Inbound IN=ppp0 OUT= MAC= SRC=218.10.137.141 DST= LEN=561 TOS=0x00 PREC=0x00 TTL=38 ID=0 DF PROTO=UDP SPT=55093 DPT=1026 LEN=541 [ 442.940551] Inbound IN=ppp0 OUT= MAC= SRC=86.75.29.234 DST= LEN=48 TOS=0x00 PREC=0x00 TTL=114 ID=5260 DF PROTO=TCP SPT=3205 DPT=445 WINDOW=65535 RES=0x00 SYN URGP=0
A moins de souhaiter surveiller quelque chose en particulier, ces informations ne sont pas d'un grand intérêt et prennent de la place sur le disque. Pour arrêter ce monitoring, il n'y a pas de réglage accessible dans les fenêtres de paramétrage de firestarter 1).
Par contre, on peut y arriver en modifiant la fin du fichier 2)
/etc/firestarter/configuration
Il faut modifier l'option LOG_LEVEL
# --(Logging)-- # System log level LOG_LEVEL=none
Le pare-feu est-il actif lorsque la fenêtre de Firestarter est fermée ?
La fenêtre ne sert qu'à la configuration. Le pare-feu est donc actif même quand elle est fermée, selon ce que vous avez défini dans les préférences « Pare-feu ». Par défaut, le pare-feu (re)démarre au lancement d'une connexion et à l'ouverture de l'interface de configuration et à l'attribution d'une nouvelle adresse via DHCP, ce qui vous assure la couverture de vos arrières.
Annexes
Adresse multiple en une ligne
Pour indiquer une adresse multiple utilisez la syntaxe suivante : 192.168.0.0/24 pour toutes les adresses de 192.168.0.0 à 192.168.0.255.
L'adresse 192.168.0.0 représente l'adresse de base et /24, le nombre de bits utilisé (soit 3 bytes x 8 bits/byte).
Exemple de configuration
J'insère ici ma configuration, car elle fut pour moi très longue à trouver !
gksudo firestarter
Voici mes préférences avec une carte réseau Ethernet et un modem ADSL, sans partage de connexion. (Je souhaiterais que les spécialistes dans le domaine, commentent ma configuration et dans le cas où elle ne serait pas bonne, me corrigent : L'ami René)
Samba et trafic broadcast
L'ouverture du trafic broadcast est nécessaire pour Samba sur le réseau interne et sur le réseau externe. Cela se fait dans les Options Avancées en décochant les deux cases.
De plus, il faut rajouter l'adresse IP de son PC Windows dans Politique/Autorisation des connexions de l'hôte Ex. : 192.168.0.3 pour un PC, ou 192.168.0.0/24 pour un ensemble de PC windows.
Plus d'info sur Samba sur ce très bon blog sur Samba : Blog de Figaro
Firestarter au démarrage
Comme dit précédemment, Firestarter n'est qu'une interface de configuration. Le lancer automatiquement au démarrage est DANGEREUX car elle n'est pas utile et permettrait à un éventuel attaquant de désactiver facilement le pare-feu (firestarter -p).
Partage de connexion avec Firestarter et dhcpd3
Afin de faire fonctionner le partage de connexion avec Firestarter et dhcp3, installez le paquet dhcp3-server sur la machine qui partage sa connexion et configurez Firestarter pour partager la connexion internet.
Firestarter ne reconnaît pas le serveur dhcpd3. Afin que cela fonctionne tout de même, il suffit de taper cette commande dans un terminal :
sudo ln -s /usr/sbin/dhcpd3 /usr/sbin/dhcpd
Pulseaudio
Si vous avez firestarter d'installé, celui-ci va stopper PulseAudio et l'empêcher de communiquer à travers le port 5353 de Zeroconf/Avahi.
Pour résoudre ce problème :
cd /etc/firestarter sudo chmod +w user-pre
Éditez le fichier /etc/firestarter/user-pre pour rajouter les lignes suivantes :
$IPT -A INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT $IPT -A OUTPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
Puis, sauvegardez et fermer le fichier, et redémarrez le démon avahi :
sudo chmod -w user-pre sudo /etc/init.d/avahi-daemon restart
Lancer Firestarter au démarrage
Testé sur t60p
Firestarter pose quelques problèmes lorsque l'on souhaite le lancer au démarrage de la session. En effet, lorsque l'on se contente d'ajouter Firestarter via Système → Préférences → Sessions, un message d'erreur nous indique que l'interface eth0 (par exemple) n'est pas disponible. Ceci est normal, étant donné que Firestarter se lance en même temps que la connexion au réseau : la connexion n'a donc pas le temps de s'établir. Voici un script qui devrait vous permettre de résoudre le problème.
Premièrement, vous devez demander à ce que Firestarter soit lancé au démarrage :
sudo visudo
Ajoutez la ligne suivante à la fin du fichier :
username ALL= NOPASSWD: /usr/sbin/firestarter
sans oublier de remplacer username
par votre nom d'utilisateur.
Pour d'autres versions de GNU/Linux, il est probable qu'il faille remplacer sbin par bin.
Maintenant, créez un fichier vierge dans /home/«username»/ et nommez le « .start_firestarter ». Ouvrez-le et copiez-collez y ce qu'il faut suivant votre configuration.
Pour les deux interfaces eth0 (wifi) et eth1 (filaire) :
#! /bin/bash verif=$(ifconfig eth0 | grep Octets | cut -d: -f2 | cut -d' ' -f1) verif1=$(ifconfig eth1 | grep Octets | cut -d: -f2 | cut -d' ' -f1) i="0" while [ "$verif" -lt 900 ] && [ "$verif1" -lt 900 ] && [ "$i" -lt 100001 ]; do verif=$(ifconfig eth0 | grep Octets | cut -d: -f3 | cut -d' ' -f1) verif1=$(ifconfig eth1 | grep Octets | cut -d: -f2 | cut -d' ' -f1) let $[ i=i+1 ] done if [ "$i" -lt 100000 ] ; then { sudo firestarter --start-hidden } fi exit 0
Pour l'interface eth0 (wifi) :
#! /bin/bash # by nitro ## récupère le nombre d'octet reçus sur ethO verif=$(ifconfig eth0 | grep Octets | cut -d: -f2 | cut -d' ' -f1) ## compteur i="0" ## Tantque la carte réseau n'a pas reçus 900 octets ou que le compteur n'est pas fini while [ "$verif" -lt 900 ] && [ "$verif1" -lt 900 ]; do verif=$(ifconfig eth0 | grep Octets | cut -d: -f3 | cut -d' ' -f1) let $[ i=i+1 ] done ## si la bloucle c'est finie avant la fin du compteur alors firestarter est lancer dans la barre de tache if [ "$i" -lt 100000 ] ; then { sudo firestarter --start-hidden } fi exit 0
Pour finir, dans Système → Préférences → Sessions ajoutez :
Nom | firestarter |
---|---|
Commande | sh /home/«username»/.start_firestarter |
Problèmes rencontrés
- Incompatible avec Network Manager Gnome (nm-applet) : échec du firewall au démarrage
- Message d'erreur : "A proper configuration for Firestarter was not found. If you are running Firestarter from the directory you built it in, run 'make install-data-local' to install a configuration, or simply 'make install' to install the whole program. Firestarter will now close."
Fermer la boîte de dialogue du message d'erreur et taper la commande suivante :
sudo dpkg-reconfigure firestarter
Cela devrait résoudre le problème, par contre il faut refaire la configuration.
Copies d'écran
Liens
- Tester la sécurité de votre pare-feu [fr] (Site très efficace).
Contributeurs : eks, L’ami René, Figaro, labo-linux_nitro (script de démarrage), fnx, BeAvEr, (brève mises à jour de la documentation.)