Les Pare-feu (firewall)
Contrairement à l'image ci-dessus, nous
parlerons de Pare-feu (firewall) logiciels, ce qui est le plus
utilisé "à la maison". Sur cette illustration, le
pare-feu est une 'boite' dédiée pour cette
activité, évitant de configurer des pare-feu sur chaque
système. C'est ce que l'on trouve en environnement
d'entreprise... A la maison, on installe un programme qui fera le
Pare-feu sur votre PC. Mais le principe est le même, il s'agit de
contrôler ce qui entre et sort de notre PC. Rappelons quelques
règles de base:
Votre PC est donc connecté à Internet, et vous partagez
des fichiers (partager veut dire que vous rendez des fichiers
présents sur votre PC disponibles à d'autres utilisteurs.
Votre PC est identifié par une adresse IP (qui utilise le
protocole TCP/IP donc), ensuite les différents programmes
(Kazaa, Emule) vont utiliser un port pour demander une connexion
à la machine distante. Sans devenir trop technique, en plus de
l'adresse de votre PC (chaque message comporte un adresse source et une
adresse destination, comme un mail), un numéro de port est
associé dans le message circulant sur le réseau (le port
source et destination). Alors qu’une adresse IP localise un PC sur Internet, un port définit une application tournant sur ce PC.
Les ports 1024-65535 peuvent être utilisés par
n’importe quelle application. Lors d’une communication
typique client-serveur le port de destination est connu (une connexion
est établie avec ce port où un message lui est
envoyé). C'est ainsi que les applications se
différencient (ou plutôt s'identifient) les unes des
autres, un simple numéro dans le message...
Il faut donc se protéger contre toute demande de connexion non
souhaitée (et donc interdire l'accès libre à nos
ports). C'est ce que fait un pare-feu (ou firewall): vous pouvez
accepter ou refuser toute connexion sur n'importe quel port. Plus vous
êtes rigoureux, plus vous êtes protégés...
plus vous êtes laxistes, plus vous êtes
vulnérables...
Le Pare-feu va venir s'interfacer entre Windows et l'accès au
réseau, comme le montre la figure ci-dessous, contrôlant
ainsi toute ce qui entre et sort de votre PC:
Il existe plusieurs Pare-feu gratuits, comme Zone Alarm Free (version allégée mais gratuite), ou encore Kerio Personal Firewall
(que j'utiliserai dans les exemples donnés plus loin), gratuit,
mais en version anglaise (un mode d'emploi est disponible en
français sur le site).
A noter : Zone Alarm fonctionne mal avec Emule (personnellement je
n'aime pas l'interface, peu intuitive). Un autre Pare-feu (avec une
version FREE) est Agnitum Outpost (en anglais également). C'est celui que j'utilise.
CONFIGURER KAZAA
Voici une présentation Powerpoint
trouvée sur le net, expliquant comment un transfert de fichier
s'initialise avec Kazaa. C'est en anglais, mais c'est assez parlant: The Kazza Problem. Laissez les 5 ou 6 premiers pages, et concentrez vous sur les 3 exemples donnés:
- l'un avec tous les ports ouverts
- le second avec le port TCP 1214 bloqué en entrée
- enfin avec le port TCP 1214 bloqué en entrée et sortie.
On voit que Kazaa essaiera de toutes façons de passer par
tous les ports. C'est ce qu'il appelle le "Dynamic use of Port nearly
ANY port for access". Autrement dit le port est choisi dynamiquement.
Sur le site de Kazaa, ils recommendent d'ouvrir TOUS les ports TCP et
UDP, en connections entrantes et sortantes. Les dernières
versions offrent la possibilité de dévalider la port 1214
(port historiquement utilisé avec Kazaa) car il y a des failles
connues et exploitées.
Bref comme Outlook Express est souvent victime d'attaques (vers,
chevaux de troie, virus) car c'est le client de messagerie mail le plus
utilisé, de la même manière Kazaa est le plus
victime de ces attaques...
CONFIGURER KERIO
Nous allons voir comment configurer un Pare-Feu, Kerio en
l'occurence. Mais le principe est très semblable pour tout autre
pare-feu. Nous verrons aussi ce qu'il faut autoriser pour le
logiciel Emule (P2P).
Le mode apprentissage
Tout cela parait bien compliqué, mais cela
se fait assez facilement. Par exemple, dans Kerio, l'utilisateur peut
choisir entre trois types de politique de sécurité :
minimum, medium et maximum.
- La sécurité minimum autorise toutes les connexions à l'exception de celles explicitement interdites.
- Lorsque l'on passe en sécurité medium, Kerio Personal Firewall opère en mode apprentissage. Si une application inconnue essaie d'initier une connexion, une boîte de dialogue s'ouvrira et en fonction de la réponse de l'utilisateur la communication sera interdite, autorisée temporairement, ou autorisée de manière permanente.
- Le niveau de sécurité maximum bloque toutes les communications entre l'ordinateur hôte et le réseau.
Les connexions sortantes
On voit que le mode medium permet de créer "à la demande" une règle permanente. C'est le mode à configurer dans un premier temps, le temps de lancer toutes nos applications nécessitant une connexion à Internet. C'est ainsi que l'on va configurer son Pare-feu: parlons d'abord de nos applications locales ayant besoin d'un accès à Internet, comme Outlook Express, Internet Explorer, ou Emule... Il suffit de les lancer et de répondre à Kerio de créer une règle permanente puisque l'on sait quelle application en fait la demande. Si je lance Internet Explorer par exemple, la boite suivante apparaîtra:
Puisque je veux autoriser cette connexion, je coche "create
appropriate filter rule" (créer une règle de filtrage
appropriée). Ainsi, au prochain démarrage d'Internet
Explorer, aucune question ne me sera posée. Une fois ces
règles créées, on passe en mode de
sécurité maximum, et toute demande est
systématiquement refusée.
ATTENTION: Ne pas oublier de
repasser en mode medium" lorsque l'on lance un nouveau programme ayant
besoin d'un accès à Internet, car le message d'erreur ne
sera pas forcément clair, du genre "connexion impossible avec le
serveur"... Si l'on ne pense passe au Pare-feu, on peut chercher
longtemps... On oublie souvent que l'on vient d'installer un Pare-feu
dans les premiers temps... habituez-vous à ce réflexe !
Les connexions entrantes
Tout bon logiciel accédant à
Internet se devrait de fournir dans sa documentation quels ports sont
à autoriser, en émission et en réception.
Un logiciel comme Emule
utilise par défaut des ports bien particuliers, et il suffit
alors de configurer son pare-feu en respectant les règles
fournies. Voici la liste des ports à configurer comme l'indique l'aide de Kerio.
Vous remarquerez qu'il y a 5 ports à configurer (4661, 4662,
4672, 4665 et 4771), et que chacun se configure selon les
critères suivants:
- protocole (TCP ou UDP)
- direction: incoming ou outgoing (entrantes ou sortantes)
- un port local et un port remote (distant)
Dans Kerio, vous ouvrez le mode administration, mode advanced, et vous pouvez alors créer des règles selon ces critères. Mieux, vous pouvez y associer l'application Emule, ce qui ajoute à la sécurité. Voici par exemple comment configurer le premier port indiqué dans la page ports à configurer : soit le port local 4662 en protocole TCP, direction entrante et n'importe quel port distant. Dans la partie Application, je précise que seul le programme Emule peut utiliser cette règle.
Procédez ainsi pour chaque port indiqué, et vous serez correctement protégé.
Vous constaterez que dans le monde du P2P, des utilisateurs tentent
d'accéder à votre PC sur d'autres ports que ceux
définis/recommandés pour une application donnée,
soit pour essayer d'aller plus vite, soit pour bidouiller je ne sais
quoi. Raison de plus pour n'ouvrir QUE les ports indiqués, et
fermer tous les autres.
Tous les ports énumérés dans la page ports à configurer doivent être ouverts dans votre configuration du firewall.
Vous pouvez vous préserver des réglages compliqués
en ajoutant une "règle" qui permet à emule.exe tout
trafic UDP,TCP sur tous les ports dans toutes les directions. Cela ne
va pas compromettre votre sécurite car à ce jour il n'y a
pas de faille connue exploitée sur eMule.
(ce qui n'est pas le cas de Kazaa...).
Laissez votre Pare-feu en mode "medium" avec un logiciel P2P qui
tourne, quelqu'il soit (ou même sans)... vous ne tarderez pas
à voir des demandes de connexions entrantes défiler, vous
empêchant d'utiliser votre PC tellement elles sont
fréquentes. Imaginez ce qui se passe quand vous n'avez pas de
Pare-feu...
Local Port Scanner
Le freeware Local Port Scanner permet
vérifier s’il n’y a pas des nouveaux ports ouverts
sur la machine qui pourraient provenir de vers, ou de trojans . Local
Port Scanner permet d'ailleurs de rechercher les Trojans les plus
connus présents sur le PC.
A lancer de temps en temps pour vérifier si de nouveaux ports n'ont pas été ouverts.