Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
www.RabaNetwork.tk
Derniers commentaires
www.RabaNetwork.tk
25 décembre 2005

11- C'est quoi un firewall ?

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.

firewall2a_1_1

On s'en sert pour sécuriser les réseaux et les ordinateurs, c'est-à-dire contrôller 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:

firewall2b_1_

Typiquement, il va:

  • autoriser les ordinateurs du réseau local à se connecter à internet.
  • bloquer les tentatives de connexion d'internet vers les ordinateurs du réseau local.

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.

firewallmat2_1_ b000287y9u.03.lzzzzzzz_1_ firewallmat3_1_
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:

Firewall et couches OSI

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, atendez le prochain sujet inchaalah

Comment ça marche un firewall ?

Un firewall, c'est une liste ordonnée de la forme:

  • (règle 1, action 1)
  • (règle 2, action 2)
  • (règle 3, action 3)
  • etc.

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.

firewall2c_1_

Il a quelques inconvénients:

  • Si un hacker parvient à s'introduire sur l'ordinateur, il pourra facilement désactiver le firewall (C'est beacoup plus difficile quand le firewall est un ordinateur séparé)
  • Comme il fonctionne en même que les autres logiciels, il ralentit légèrement l'ordinateur.

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 ?

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:

firewall3_1_

Comme vous le voyez, sur cet ordinateur il y a 3 logiciels en mémoire:

  • Le navigateur utilise 4 ports, connectés à un serveur web externe, pour aller chercher des pages HTML et des images. Ces ports sont ouverts en mode client: ils ne reçoivent pas de connexion, mais sont connectés à l'extérieur pour échanger des données.
  • Le traitement de texte n'a aucun besoin d'aller sur internet: il n'a ouvert aucun port.
  • Le logiciel de chat a ouvert le port 2074 en mode serveur: Il attend des connexions venant de l'extérieur (par exemple quelqu'un sur internet qui voudrait discuter avec vous).

Si quelqu'un sur internet essaie de se connecter sur votre ordinateur:

  • sur le port 2068: Sans effet. La connexion sera rejetée, puisque ce port est déjà utilisé par le navigateur, et il n'est pas ouvert en écoute.
  • sur le port 7777: Sans effet. La connexion sera rejetée, puisque ce port n'est même pas ouvert sur l'ordinateur.
  • sur le port 2074: La connexion est établie. Le logiciel de chat pourra recevoir des commandes, auxquelles il pourra décider de répondre ou non.

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.

(ici: le logiciel de chat).

Il est donc très important:

  • de ne pas lancer n'importe quel logiciel sur votre ordinateur,
  • de bien choisir quel logiciel utiliser pour une tâche donnée,
  • de bien configurer ce logiciel,
  • de suivre l'actualité en matière de sécurité et donc:
  • de mettre régulièrement à jour vos logiciels et votre système d'exploitation,
  • de fermer tous les logiciels dont vous n'avez pas besoin,
  • et de vérifier que les logiciels que vous avez choisis ne font pas de choses étranges (par exemple, un traitement de texte n'a aucune raison d'aller sur internet).

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

  Proto  Local Address          Foreign Address    State
  TCP    votreordinateur:2067   serveurweb:80      ESTABLISHED
  TCP    votreordinateur:2068   serveurweb:80      ESTABLISHED
  TCP    votreordinateur:3014   serveurweb:80      ESTABLISHED
  TCP    votreordinateur:3117   serveurweb:80      ESTABLISHED
  TCP    votreordinateur:2074   0.0.0.0:0          LISTENING

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.

firewall4_1_

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 exemple:

  • votre navigateur pourra se connecter où il veut sur les ports 80 (HTTP) et 443 (HTTPS).
  • votre logiciel d'email ne doit se connecter que sur le serveur de mail de votre fournisseur d'accès (par exemple: smtp.free.fr sur le port 25 et pop.free.fr sur le port 110). Tout le reste lui est interdit.
  • votre antivirus peut se connecter uniquement au site de l'éditeur pour se mettre à jour.
  • Votre logiciel de FTP peut se connecter où il veut, mais uniquement sur le port 21. Il peut recevoir des connexions sur le port 20.
  • votre jeu en réseau à recevoir des connexion sur le port qui lui est dédié, et aller se connecter sur le serveur central de jeu.
  • etc.

(Ce ne sont que quelques exemples.)

Par la suite, il suffit de désactiver ce mode apprentissage pour ne plus voir les fenêtes 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% parceque vous avez un firewall fiable et bien configuré.

Certains chevaux de Troie sont capable 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 traffic 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.

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 sympatiques 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.

Publicité
Commentaires
www.RabaNetwork.tk
Publicité
Archives
Publicité