![]() |
C'est quoi un firewall ? Comment ça marche ? |
(Note: Je ne vais parler ici que des firewalls basés sur TCP/IP, le protocole d'internet.)
Un firewall - littéralement "mur de feu" - est un ordinateur (et un programme) qui filtre ce qui passe d'un réseau à un autre.
On s'en sert pour sécuriser les réseaux et les ordinateurs, c'est-à-dire contrôler les accès et bloquer ce qui est interdit.
Souvent, on utilise un firewall pour protéger un réseau local du réseau internet:
Typiquement, il va:
Firewall matériel, firewall logiciel
On entend parfois parler de firewalls matériels.
Ils sont sous la forme de boîtiers compacts. En
réalité, se sont de simples ordinateurs
possédant leur propre système d'exploitation et leur
propre logiciel firewall. Mais ils n'ont rien de différent
d'un simple firewall installé sur un ordinateur.
Le seul avantage des firewalls "matériels" est qu'ils sont
moins encombrants qu'un ordinateur. Mais ils coûtent
généralement cher.
![]() |
![]() |
![]() |
Quelques firewalls "matériels" |
Si vous avez un vieux PC qui traîne, on peut très
bien le transformer en firewall avec quelques logiciels
gratuit !
Par exemple, il existe des disquettes ou CD comme
CoyoteLinux ou Smoothwall qui transforment n'importe
quel vieux PC (même un simple 386 sans disque dur !) en
firewall digne de ce nom.
C'est un moyen de se faire un firewall fiable au meilleur prix.
Voici quelques logiciels qui permettent de transformer n'importe quel PC en firewall gratuitement:
La plupart des firewalls travaillent au niveau des couches 4 (TCP, UDP...), 3 (IP...) et 2 (Ethernet...). Ils ne comprennent rien aux protocoles au dessus (ils sont incapables de filtrer HTTP, SMTP, POP3...).
Certains firewalls sont capables de travailler au niveau de la
couche 7 (applicative). Ils sont généralement
plus lents, plus lourds et plus complexes à configurer mais
permettent de filtrer certains protocoles comme HTTP, SMTP, POP3,
FTP...
Par exemple, c'est utile pour bloquer le
téléchargement de virus, interdire certains sites,
filtrer les cookies...
(Pour plus d'informations sur le modèle OSI, voir http://sebsauvage.net/comprendre/tcpip/osi.html )
Comment ça marche un firewall ?
Un firewall, c'est une liste ordonnée de la forme:
Chaque fois qu'un paquet de données arrive, le firewall compare ce paquet à chaque règle (dans l'ordre) jusqu'à en trouver une qui corresponde au paquet. Il exécute alors l'action correspondante à la règle.
Les règles peuvent être: adresse destination du paquet, adresse source, port destination, port source, date, heure, etc.
Les actions peuvent être: refuser le paquet, ignorer le paquet, accepter le paquet, transmettre le paquet sur un autre réseau, modifier les entêtes du paquet...
Firewalls "personnels" |
Il y a quelques temps, un nouveau type de firewall est apparu: les firewalls dits "personnels". Ils sont destinés aux particuliers qui n'ont pas les moyens d'acheter un ordinateur séparé uniquement pour faire un firewall.
Au lieu d'être une machine séparée, le firewall personnel est un logiciel qui fonctionne directement sur l'ordinateur à protéger.
Il a quelques inconvénients:
Mais il a aussi un avantage: Le firewall personnel est capable de contrôler quels logiciels vont se connecter sur Internet (ce que ne sait pas faire un firewall séparé).
Parmi les firewalls "personnels", citons: Kerio Personal Firewall, Sygate Personal Firewall, ZoneAlarm, Agnitum Outpost, Look'n Stop... (La plupart de ces firewalls sont gratuits pour une utilisation non-professionnelle: profitez-en !)
On peut parfaitement imaginer d'avoir les 2 types de firewalls en même temps: un firewall séparé pour protéger le réseau, et un firewall personnel pour protéger chaque ordinateur.
Comment on ferme un port ouvert ?
(Pour comprendre ce que sont les ports, je vous recommande de lire d'abord le chapitre sur TCP/IP: http://sebsauvage.net/comprendre/tcpip/ )
Un port ne s'ouvre jamais tout
seul. C'est toujours un logiciel précis qui ouvre un port. |
Fermer un port, c'est donc fermer le logiciel qui a ouvert ce port.
(Si vous ne pouvez/voulez pas fermer ce logiciel, il vous reste alors à installer un firewall personnel qui bloquera les tentatives de connexion à ce port. Nous verrons cela plus loin.)
Prenons un exemple:
Comme vous le voyez, sur cet ordinateur il y a 3 logiciels en mémoire:
Si quelqu'un sur internet essaie de se connecter sur votre ordinateur:
Donc pour fermer le port 2074, il suffit de fermer le logiciel de chat.
Dans 99% des cas, le danger sur internet vient des bugs ou de la mauvaise configuration des logiciels qui se mettent en écoute sur un port. |
Il est donc très important:
Comment savoir quels ports sont ouverts sur mon ordinateur ?
Ouvrez une fenêtre MS-Dos (ou un terminal Unix) et tapez
la commande: netstat -a
Vous verrez la liste des ports ouverts. Les ports ouverts en mode serveur (en écoute) sont notés "LISTENING".
Active Connections |
Et pour savoir quel logiciel a ouvert tel ou tel port:
Il vous suffira alors d'arrêter le programme en question (avec le gestionnaire de tâches), de l'empêcher de démarrer au démarrage de Windows (avec un programme comme AutoStart Manager) et éventuellement supprimer le programme en question.
Comment fonctionne le firewall personnel ?
Il va se placer entre les logiciels et le réseau, et intercepter tout ce qui passe, aussi bien en entrée qu'en sortie.
Ainsi le firewall personnel va intercepter la tentative de connexion au logiciel de chat (port 2074). Si le firewall possède une règle qui interdit cela, la connexion sera rejetée, et le logiciel de chat ne verra même pas la tentative de connexion.
En établissant vos propres règles, vous pourrez décider quels logiciels pourront se connecter sur internet ou recevoir des connexions, et de qui.
Ainsi, même si vous n'arrivez pas à fermer certains
ports, vous pourrez établir des règles pour interdire
les connexions sur ces ports. Mais il vaut bien mieux fermer les
logiciels qui ouvrent ces ports. C'est plus sûr que de
bloquer les connexions vers ces ports.
(Il vaut mieux avoir une bassine en bon état plutôt
qu'une passoire dont on essaie de boucher tous les trous ;-)
Et pour établir la liste de règles de votre firewall, il y a une règle à suivre: Tout est interdit, sauf ce qui est strictement nécessaire.
Donc, ne vous posez plus la question "Quels ports fermer ?". La réponse est évidente: tous !
La plupart des firewalls personnels ont un mode "apprentissage" où ils vous affichent des messages d'alerte et vous demandent quoi faire. Cela permet d'établir progressivement un ensemble de règles pour vos logiciels courants. (Vous donnez des autorisations à vos logiciels au cas par cas, et le firewall s'en souvient.) Quelques exemples:
(Ce ne sont que quelques exemples.)
Par la suite, il suffit de désactiver ce mode apprentissage pour ne plus voir les fenêtres d'alerte et travailler en sérénité.
Un firewall n'est pas une arme absolue
Ne pensez pas que votre ordinateur est protégé à 100% parce que vous avez un firewall fiable et bien configuré.
Certains chevaux de Troie sont capables de désactiver les firewalls personnels, ou même se faire passer pour votre navigateur pour aller sur Internet sans que le firewall ne s'en aperçoive.
Même avec un firewall "matériel", il est possible
de tunneller du trafic TCP/IP chiffré dans de simples
requêtes HTTP. Pour parler plus simplement, ça permet
de percer des trous gigantesques dans le plus blindé des
firewalls.
(Pour les détails techniques, voici ici: http://sebsauvage.net/punching/)
Bref, vous le voyez, la sécurité n'est jamais assurée à 100%.
Alors le firewall est inutile ?
Sûrement pas !
Il est absolument indispensable à partir du moment vous
allez sur internet.
C'est un peu comme la ceinture de sécurité: ça n'empêche pas d'avoir des accidents, mais dans la majorité des cas, ça sauve des vies !
Internet est un repaire de pirate
Non. Internet regorge de personnes sympathiques et pleines de
bonne volonté. Je suis sincère, croyez-moi, j'en
rencontre tous les jours.
Mais il y a des cons partout. Et internet n'échappe pas
à la règle.
Il est donc nécessaire de se protéger contre cet
infime pourcentage de connards et les firewalls les
arrêteront dans 99% des cas.
Mon firewall personnel dit que je suis attaqué par un cheval de Troie !
Non. Un cheval de Troie n'attaque pas. Un cheval de Troie est un simple serveur. Pour cela, il fait exactement comme un logiciel de chat ou un serveur web: il ouvre un port en écoute (LISTENING) et il attend des commandes venant de l'extérieur.
L'alerte que vous avez vue, c'est votre firewall qui vous
prévient que quelqu'un sur internet essai de se connecter
sur votre ordinateur sur un port qui est habituellement
utilisé par un cheval de Troie bien précis.
C'est sans danger si le cheval de Troie n'est pas présent
sur votre ordinateur. Pour vous en assurer, installez un antivirus
et un détecteur de cheval de Troie. On en trouve des
gratuits:
Pour en savoir plus: |
Le contenu de cette page est placé sous les termes de la licence suivante : CC Attribution-Noncommercial 4.0 International |
h t t p : / / s e b s a u v a g e . n e t |