Pare-feu - Atelier Informatique de Gratentour

Transcription

Pare-feu - Atelier Informatique de Gratentour
Sur l’usage des
Pare-feu
O CTY
V ERSION 1.0 - 20 SEPTEMBRE 2004
http ://octy.free.fr/
Table des matières
1 Introduction
1
2 Communiquons
2.1 Une adresse pour échanger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Organisons la communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
5
3 Les pare-feu
3.1 Limitations et rôles d’un pare-feu . . . . . . .
3.2 Définition d’une zone de confiance . . . . . .
3.3 Filtrage par logiciels et apprentissage . . . . .
3.4 Filtrage par les caractéristiques de connexion
3.5 Autres fonctionnalités des pare-feu . . . . . .
3.6 Tests et configuration . . . . . . . . . . . . .
4 Conclusion
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
9
11
15
18
19
23
ii
Table des figures
2.1
2.2
2.3
Résultats de la commande ipconfig . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interconnexion logiciels/ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Résultats de la commande netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.14
3.13
3.15
3.16
3.17
Sépration de zones . . . . . . . . . . . . . . . . . . . . . . . .
Definition de la zone de confiance dans le pare-feu Kerio . . . .
Règles de décision par logiciels . . . . . . . . . . . . . . . . . .
Interception d’une connexion sortante vers Internet, sans règle .
Interception d’une connexion entrante depuis Internet, sans règle
Interception d’une connexion sortante . . . . . . . . . . . . . .
Détection de la modification d’un logiciel . . . . . . . . . . . .
Lancement d’un logiciel à partir d’un autre . . . . . . . . . . .
Consultation et modification de la liste de regles de filtrage . . .
Ajout d’une règle de filtrage . . . . . . . . . . . . . . . . . . .
Sélection d’un numéro de port pour la définition d’une règle . .
Requête «ping» autorisée . . . . . . . . . . . . . . . . . . . .
Alarme sur l’application d’une règle de filtrage . . . . . . . . .
Requête «ping» refusée . . . . . . . . . . . . . . . . . . . . .
Test des ports de mon ordinateur . . . . . . . . . . . . . . . . .
Test des ports de mon ordinateur après ajout de règles . . . . . .
Blocage de Netbios . . . . . . . . . . . . . . . . . . . . . . . .
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
6
7
10
10
12
12
13
13
14
14
15
16
17
17
17
18
20
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Chapitre 1
Introduction
L’idée de rédiger ce modeste guide est née des fils de discussions récurents, que l’on trouve au détour
des forums sur Internet, autour de l’emploi des pare-feu. Nombre d’utilisateurs semblent être perdus
face à ce type d’outils car il est vrai que leur utilisation est parfois déroutante. Leur utilisation semble, à
tort dans la majorité des cas, nécessiter une connaissance approfondie de l’informatique actuelle ou des
protocoles utilisés sur la toile par les ordinateurs.
A l’heure ou les systèmes de paiement, les services de gestion bancaire en ligne ou la télé-déclaration
des révenus se démocratisent, s’ouvrir sur Internet nécessite une prise de conscience. De la même manière que pour ces mécanismes qui utilisent activement Internet, les données stockées sur votre ordinateur (photos, comptes bancaires, courrier,. . .) peuvent être la cible d’actes malveillants dès que votre
ordinateur est capable d’interagir avec «l’exterieur».
Un certain nombre de composants de sécurité sont nécessaires pour ne pas avoir de déconvenue ou
de mauvaises surprises (compte en banque allégé, données personnelles publiées,. . .). Le pare-feu en est
un, certains systèmes (Windows XP muni du Service Pack 2 par exemple -SP2-) disposent d’un firewall
intégré, d’autres nécessitent l’ajonction d’un outil (logiciel ou matériel) dédié.
Associé au pare-feu, il est également un composant primordial : l’utilisateur. Une des meilleurs
protection est l’utilisation intelligente de votre ordinateur et du pare-feu. Le but de ce document est de
montrer que cela n’est finalement pas si compliqué et que quelques regles de bon sens permettent de
s’en sortir pas si mal. Pour ce faire il a pour but d’expliquer sur quels principes basiques fonctionne un
pare-feu et ce que vous êtes en droit d’en attendre.
Avec à la démocratisation d’Internet, on dénombre de plus en plus d’utilisateurs francophones qui
ne sont pas à l’aise avec des guides d’utilisation ou manuels rédigés en anglais, j’ai donc privilégié la
rédaction de ce mini guide en français. Il n’est pas rare que les demandes de conseils auxquelles certains
utilisateurs avertis répondent sur les forums de discussions s’accompagnent d’un critère de francophonie,
soit pour le logiciel à utiliser soit pour les documents.
Je ne suis pas un spécialiste de la technologie utilisée par les pare-feu ou de leur développements.
Je présente ici simplement une expérience acquise dans leur utilisation en espérant qu’elle pourra être
2
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
utile à d’autres. Je me dédouane également classiquement, il ne serait en être question autrement dans le
domaine de la sécurité informatique :
Je decline toute responsabilité quant à la perte de données, d’intégrité du système ou
de l’ordinateur, suite à l’application des informations contenues dans ce document.
Notamment en cas de faille ou de configuration incorrecte du logiciel pare-feu et/ou
du système pouvant exposer le système et les données qu’il éberge à des menaces
malveillantes de toute nature que ce soit.
J’ai tenté de minimiser les détails techniques pour adresser un public le plus large possible. Un utilisateur averti trouvera probablement ce document ennuyeux, c’est normal, je n’ai pas vocation à faire un
précis de technologie.
Ce document contient des illustrations et exemples basés sur l’utilisation de d’un système particulier,
et ne constitue en aucun cas un jugement de valeur sur la sécurité de ces éléments :
– Microsoft Windows XP Familial SP1
– Pare-feu Kerio Personnal Firewall 4
L’objectif n’étant pas de fournir une description détaillée du fonctionnement des principaux outils disponibles sur le marché (notamment dans un soucis de stabilité de mon système d’exploitation).
Cependant, toute contribution bénévole (au même titre que celle-ci) visant à étendre les illustrations vers d’autres systèmes d’exploitation ou pare-feu (logiciel ou matériel) seront les bienvenues et
intégrées, sans obligation de temps, à ce document.
Enfin, toute remarque constructive est également la bienvenue pour assurer une mise à jour corrective
ou évolutive.
La première partie de ce document décrit les principes suivants lesquels un ordinateur communique
classiquement via Internet. Les bases étant posées, les pare-feu perdrons peu à peu de leur mystère
mystère, les principes généraux d’utilisation ainsi que des exemples seront présentés dans la deuxième
partie.
50
51
Chapitre 2
Communiquons
54
Ce chapitre explique comment votre ordinateur echange des informations avec d’autres machines
via Internet. Il permet ainsi de fixer le vocabulaire que l’on retrouve traditionnellement lors de la configuration et l’utilisation courante d’un pare-feu.
55
2.1 Une adresse pour échanger
52
53
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Le réseau Internet regroupe des millions d’ordinateurs, tous techniquement capable de communiquer
l’un avec l’autre, sans ambiguïté. Pour parvenir à ceci votre ordinateur possède une adresse unique c’est
son adresse IP (Internet Protocol).
On peut faire une analogie, en simplifiant, avec l’adresse postale (sans mention nominative - elle
représentera un autre service plus tard -). Dans la réalité c’est un peu différent car les fournisseurs
d’accès à Internet disposent chacun d’une plage d’adresses limitée. Dans la majeur partie des cas les
utilisateurs disposent alors d’une adresse IP dite dynamique (à l’opposée d’une adresse IP statique ou
fixe).
Lorsque que vous possédez une adresse IP dynamique votre fournisseur d’accès à Internet vous en
attribue une différente pour chaque session (entre la connexion à Internet et la déconnexion).
Si vous ne savez pas qu’elle type d’adresse IP vous possédez il y a de fortes chances que vous soyez
en IP dynamique. L’accès à une IP statique est souvent un service qu’il faut demander explicitement et
parfois payant, puisque votre fournisseur en a un nombre limité.
Cela a un intérêt lorsque vous souhaitez que votre ordinateur puisse être toujours accessible, sans que
l’on soit obligé de vous «chercher». Dans ce cas, l’analogie avec une adresse postale est totale. C’est le
cas des personnes qui souhaitent mettre à disposition un service sur Internet (serveur, forums,. . .). Bien
qu’il existe aujourd’hui des outils permettant de communiquer automatiquement son adresse lorsqu’elle
change.
Avoir une adresse IP dynamique n’est pas dénué d’intérêt d’un point de vue sécurité. En effet une
personne qui cherche à penétrer votre système est obligée de rechercher votre ordinateur entre chaque
session car vous changez systématiquement d’adresse. Un attaquant digne de ce nom aura d’autres
moyens pour vous pister, mais cela met déjà en place une première barrière.
2.1 Une adresse pour échanger
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
4
Une adresse IP est constituée de quatre nombres entiers, chacun étant compris entre 0 et 255. Cela
permet donc de fournir des adresses pour 4294967295 ordinateurs, c’est le codage adopté depuis des
années par le standard IPv4 (Internet Protocol Version 4, codage des adresses sur «32 bits»).
Cela peut sembler suffisant pour fournir les adresses à tous les ordinateurs existants et cela pour encore plusieurs dizaines d’années. Dans la pratique cela est faux car les adresses ne sont pas attribuées de
manière anarchique. Elles sont structurées en domaines et certaines adresses ne seront jamais utilisées.
Pour palier à cela (entre autre) la communauté scientifique travaille depuis plusieurs années à la
spécification et au déploiement d’IPv6 qui code les adresses IP sur «64 bits» offrant ainsi un espace
d’adressage de 18446744073709551615 possibilités, ce qui devrait nous mettre à l’abri pour un moment.
À ce jour, la plupart des ordinateurs connectés à Internet (la très grande majorité en fait) n’utilise que
le standard IPv4.
Il existe plusieurs méthodes pour connaître l’adresse IP de votre ordinateur, notamment en fonction
des outils livrés lors de votre abonnement par votre fournisseur d’accès. Sous windows XP, la méthode
«universelle» consiste à tapper la commande ipconfig dans une fenêtre de commande (habituellement accessible par le menu «Démarrer/Tous les programmes/Accessoires/Invite
de commandes». La figure 2.1 présente le résultat, indiquant la présence d’une carte réseau ethernet
(ce n’est pas forcément le cas) et une connexion au réseau Free ADSL avec une adresse IP attribuée de
82.65.56.87.
C:\>ipconfig
Configuration IP de Windows
Carte Ethernet Connexion au réseau local:
Suffixe DNS propre à la
Adresse IP. . . . . . .
Masque de sous-réseau .
Passerelle par défaut .
connexion
. . . . .
. . . . .
. . . . .
:
: 10.0.0.10
: 255.255.255.0
:
connexion
. . . . .
. . . . .
. . . . .
:
: 82.65.56.87
: 255.255.255.255
: 82.65.56.87
Carte PPP Free ADSL :
Suffixe DNS propre à la
Adresse IP. . . . . . .
Masque de sous-réseau .
Passerelle par défaut .
C:\>
F IG . 2.1 – Résultats de la commande ipconfig
2.2 Organisons la communication
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
5
Pour faciliter la mémorisation d’adresses, il est possible pour certaines d’utiliser une forme plus
littérale. Par exemple www.google.fr représente celle d’un serveur Web bien connu. Si vous saisissez cette adresse dans votre navigateur il ne sera pas capable de former des messages à destination du
serveur avec une adresse sous cette forme. La première action executée par votre navigateur est donc
de demander sa traduction en une représentation plus classique pour lui (sous la forme d’une série de
quatre nombres). C’est le rôle des serveurs DNS (Domaine Name serveur).
Dans tous les cas lorsque votre pare-feu emettera une alarme concernant une connexion sortante ou
entrante, il vous indiquera au moins l’adresse IP sous forme de nombres.
A retenir
Sur Internet les ordinateurs sont identifiés par une adresse IP composée de quatre
nombres entre 0 et 255 (souvent représentés séparés par des points). Exemple :
82.65.56.87. Cette adresse peut être soit dynamique soit fixe.
2.2 Organisons la communication
Pour présenter les adresses IP nous avons évoqué les communications entre odrinateurs. Dans la
pratique ce n’est pas tout a fait exact, en fait se sont les programmes, qui s’executent sur les ordinateurs,
qui communiquent entre eux.
Par exemple lorsque vous ouvrez un navigateur Web et que vous saisissez l’adresse d’un serveur
(www.free.fr par exemple), le navigateur va communiquer avec le serveur correspondant en utilisant
les ressources logiciels et matérielles de votre ordinateur.
Sur les systèmes d’exploitations actuels (Windows XP, Linux, MacOS,. . .) qui nous permettent d’utiliser les ressources des ordinateurs il s’execute plusieurs logiciels «simultanéments». Chacun d’entre
eux à la possibilité de communiquer avec d’autres logiciels via Internet.
Étant donné que votre ordinateur possède une adresse IP unique il a fallu mettre en place un système
permettant à chaque logiciel de ne pas interférer dans la communication des autres. C’est le système des
ports.
En reprenant l’analogie postale, le port serait le nom d’une personne particulière résidant à l’adresse
donnée. Il est représenté par un nombre positif.
Lorsqu’un logiciel a besoin de communiquer sur Internet il s’attribut un port, on dit alors qu’il ouvre
un port. Par la suite, le logiciel s’attend alors à ce que toutes les informations qui lui sont destinées
arrivent par ce port, on dit qu’il écoute un port.
Dans la pratique c’est votre système d’exploitation qui reçoit ou émet l’ensemble des données en
provenance ou à destination d’Internet. Ces informations sont découpées en paquets élémentaires ayant
un format standardisé compréhensible par les autres ordinateurs. Les formats les plus connus (protocoles) sont TCP («Transmission Control Protocol») et UDP («User Datagram Protocol»).
Dans la plupart des cas, tous ces paquets élémentaires contiennent non seulement l’information qui
transite mais également une entête indiquant entre autre :
2.2 Organisons la communication
6
F IG . 2.2 – Interconnexion logiciels/ports
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
– l’adresse IP de l’émetteur
– l’adresse IP du destinataire
– le port du destinataire
À la réception d’un paquet le système d’exploitation, qui maintient une liste de tous les ports ouverts
par vos applications, détermine à quel logiciel sont destinés les informations. Le logiciel qui est normalement à l’écoute du port dont il a demandé l’ouverture est informé de l’arrivée de données, qu’il peut
par la suite lire et interpréter. La figure 2.2 schématise ce principe.
Le nombre de ports ouvrable simultanément est limité par ordinateur, notamment en fonction des
capacités du système d’exploitation. De plus le codage des numéros de de port dans les paquets élementaires limite les numéros de 1 à 65535. Un logiciel peut ouvrir plusieurs ports simultanément.
Certains numéros de port sont implicitement réservés à des usages particuliers. Par exemple, les logciels serveurs Web sont classiquement associé au port 80 pour recevoir des requêtes de pages.
Si vous saisissez www.voila.fr dans votre navigateur il formulera une demande qui contiendra
l’adresse IP de destination correspondante (récupérée sur un serveur DNS) et le port 80.
Il est possible de forcer l’adressage vers un port particulier en spécifiant le numéro à la suite d’une
adresse, séparés par deux points. Par exemple les adresses www.voila.fr et www.voila.fr :80
saisies dans votre navigateur aboutirons au même résultat alors que www.voila.fr :1563 ne don-
2.2 Organisons la communication
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
7
nera rien. L’ordinateur dont l’adresse est www.voila.fr n’ayant probablement pas de logiciel en
cours d’execution qui ait ouvert le port 1563.
Vous avez probablement entendu parler de «scan de ports». Il s’agit d’un attaquant à la recherche d’une victime. Une fois une adresse IP choisie (aléatoirement généralement) l’attaquant balaie
l’ensemble des ports de la machine pour détecter ceux qui sont ouverts, c’est à dire ceux derrière lesquels un logiciel est capable de recevoir et d’interpréter des informations. C’est la phase préliminaire à
un type d’attaque. La seconde phase consiste à identifier le logiciel qui est à l’écoute d’un des ports ouvert pour éventuellement en exploiter les faiblesses. Un scan de ports est difficilement exploitable pour
un attaquant si les logiciels qui ont ouvert les ports n’ont pas de faiblesses identifiées. Il est primordial
de maintenir ses logiciels à jour avec les différents correctifs proposés par les éditeurs (la fonctionnalité
Windows Update disponible sous Windows XP par exemple).
La commande netstat, toujours dans la fenêtre d’invite de commandes donne la liste des connexions actives sur votre ordinateur. La figure 2.3 représente l’état des connexions lors d’un accès au
serveur Web adsl.free.fr, l’extension des adresses avec le suffixe :htpp signifie implicitement
le port 80.
C:\>netstat
Connexions actives
Proto
TCP
TCP
TCP
Adresse locale
pcperso-home:1138
pcperso-home:1139
pcperso-home:1140
Adresse distante
dgroup.proxad.net:http
80.15.238.18:http
dgroup.proxad.net:http
Etat
ESTABLISHED
ESTABLISHED
ESTABLISHED
F IG . 2.3 – Résultats de la commande netstat
161
162
163
164
165
La même commande utilisée avec une option (netstat -a) fournie la liste des toutes les connexions TCP actives et les ports TCP et UDP actuellement utilisés en écoute. Pour rappel TCP et UDP
sont les principaux protocoles utilisés sur Internet, ces standards définissent comment et sous quelles
formes les informations sont échangées entre les ordinateurs.
A retenir
Les logiciels qui s’executent sur votre ordinateur ouvrent et écoutent des ports, ce
qui permet au systéme d’exploitation de leur transmettre sans ambiguïté des informations en provenance d’Internet. Ces informations ont étés acheminées jusqu’a
votre ordinateur grâce à son adresse IP unique.
166
167
168
169
170
171
172
173
174
175
176
177
Chapitre 3
Les pare-feu
Les pare-feu peuvent prendre plusieurs formes :
– celle d’un logiciel indépendant s’executant sur votre ordinateur ;
– celle d’un logiciel ou service mis en œuvre dans votre système d’exploitation (c’est le cas dans
Windows XP SP2) ;
– celle d’un «firmware» implanté dans un matériel spécifique. C’est le cas des routeurs disposant
d’un module pare-feu.
Dans la première catégorie on trouve des produits proposés gratuitement (généralement sous une
forme limitée) pour un usage non commercial. Par exemple, par ordre alphabétique :
– Kerio Personal Firewall 4, http ://www.kerio.com
– ZoneAlarm, http ://www.zonelabs.com
179
Le premier (Kerio Personal Firewall) servira à illustrer mes propos en présentant leur mise
en œuvre.
180
3.1 Limitations et rôles d’un pare-feu
178
181
182
183
184
185
186
187
188
189
190
Le rôle de base d’un pare-feu et de contrôler les communications qui sont établies entre les logiciels
s’executant sur votre ordinateur et ceux des machines distantes visibles à travers un réseau (Internet ou
autre). Par contrôler on entend autoriser ou refuser les connexions mais aussi les répertorier dans un
journal d’activité si nécessaire.
En général, mais il y a des exceptions que nous présenterons par la suite, le contrôle ne s’effectue pas
sur le contenu mais sur le contenant. Plus précisément sur les caractéristiques de la connexion.
Parmi les fonctionnalités les plus courantes des pare-feu, et que l’on détaillera avec un exemple, on
trouve souvent :
– définition d’une zone de confiance, constituée d’éléments pour lesquels les communications ne
sont pas suspectes (votre ordinateur par exemple) ;
3.2 Définition d’une zone de confiance
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
9
– définition d’une liste de logiciels suceptibles de communiquer des informations vers l’une des
zones définies. Pour chaque logiciel il est possible d’autoriser ou refuser l’établissement d’un
canal de communication ;
– définition d’une liste de ports et protocoles à autoriser ou refuser ;
– définition d’une liste d’adresse IP à autoriser ou refuser pour l’établissement d’une communication ;
– la tenue d’un journal dans lequel le pare-feu va répertorier certains évènements que vous lui aurez
demander de surveiller ;
– la surveillance de l’intégrité des logiciels ;
– filtrage de certaines adresses Internet «littérales» ;
– blocage des «cookies» ;
– emmission d’alarmes sur certains évènements configurables ;
– ...
En aucun cas un pare-feu n’est un outil de détection ou d’éradication de virus, chevaux de troie ou
autres codes malicieux, contrairement aux anti-virus qui peuvent les detecter avant qu’ils ne deviennent
actifs.
Un pare-feu correctement utilisé et configuré pourra cependant en bloquer les conséquences en interceptant une tentative de connexion illégitime en provenance ou a destination de votre ordinateur.
Un pare-feu n’a d’autre choix que de suivre des règles pour décider du caractère légitime ou non
d’une communication. Ces règles sont issues de sa configuration. En général, en cas d’ambiguïté le
pare-feu vous notifie un problème nécessitant une intervention de votre part.
215
Cependant, la majeur partie des pare-feu grand public et à usage personnel disposent d’une interface
simplifiée permettant de fixer le niveau de sécurité requi (souvent traduit par faible, moyen ou fort). Ce
niveau est utilisé pour activer ou désactiver un ensemble de règles plus ou moins restricives et prédéfinies
par l’éditeur du logiciel.
216
3.2 Définition d’une zone de confiance
212
213
214
217
218
219
220
221
222
223
224
225
226
227
Une fois installé le pare-feu va scruter le fonctionnement de votre ordinateur et notamment toutes
les connexions qui seront établies par les logiciels.
Les règles qui seront définies ultérieurement seront faites pour contrôler ce qu’il va rentrer ou sortir
de la zone de confiance. Elle peut être symbolisée comme une zone de libre échange ou il existe deux
niveaux de contrôle, un aux frontières externes et un à l’intérieur.
La figure 3.1 schématise cette séparation opérée par le pare-feu, entre la zone de confiance que vous
créez et Internet.
La zone de confiance est généralement formée des composants constituant votre système et suceptibles d’emettre ou recevoir des communications. Par exemple si vous disposez de deux ordinateurs en
réseau, chacun des deux peut avoir confiance en l’autre. Il est alors possible de définir une zone de
confiance contenant ces deux ordinateurs (identifiés par leur adresse IP).
3.2 Définition d’une zone de confiance
10
F IG . 3.1 – Sépration de zones
228
229
230
231
232
233
234
235
236
Il est évident que cette zone ne doit pas contenir d’éléments non contrôlés (des adresse IP d’ordinateurs sur Internet par exemple). Pour un usage domestique classique (un ordinateur connecté à Internet),
la zone de confiance ne contient que le matériel lié à l’odinateur.
Par exemple :
– l’ordinateur lui même car les logiciels fonctionnant sur un même ordinateur peuvent utiliser des
ports pour communiquer entre eux. Votre ordinateur est identifié par l’adresse IP 127.0.0.1. C’est
l’adresse IP «loopback», elle n’est pas interprétée comme une adresse IP d’une machine sur un
réseau, mais comme étant l’ordinateur émetteur lui même.
– éventuellement une carte réseau.
F IG . 3.2 – Definition de la zone de confiance dans le pare-feu Kerio
237
238
239
La figure 3.2 présente la fenêtre de configuration de la zone de confiance (dite zone de sécurité dans
Kerio Personal Firewall 4), disponible par l’onglet gauche «Sécurité du réseau» puis l’onglet
suppérieur «Zone sécurisé».
3.3 Filtrage par logiciels et apprentissage
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
11
Les pare-feu grand public ne gère généralement qu’une zone de confiance la deuxième zone étant
constituée de tout ce qui n’est pas dans la première. Cela reste suffisant pour la plupart des utilisations
classiques. De plus pratiquement tous les pare-feu detectent automatiquement votre matériel à l’installation et créent une zone de confiance. Il vous suffit donc, après l’installation, de vérifier son contenu et
l’adapter à vos besoins (ajouter ou supprimer des composants).
A retenir
Le pare-feu s’intercalle entre les logiciels de votre ordinateur et Internet. Il défini
généralement deux zones (dont une de confiance) et contrôle les échanges entre les
deux zones et les activités dans la zone de confiance.
3.3 Filtrage par logiciels et apprentissage
A la suite de son installation, des pare-feu tels que ZoneAlarm ou Kerio Personal Firewall
4 ne connaissent rien de vos habitudes et logiciels favoris et donc des connexions légitimes qui font suite
à une utilisation classique de votre ordinateur.
Les pare-feu maintiennent une liste des logiciels ayant fait une demande de connexion par le passé et
l’action qui en a découlé :
– autorisation systématique ;
– refus systématique ;
– demande à l’utilisateur.
La figure 3.3 présente la configuration par logiciels du pare-feu de Kerio, accessible par l’onglet
gauche «Sécurité du réseau» puis l’onglet suppérieur «Applications». On y retrouve pour chaque logiciel (les noms sont floutés dans la capture d’écran) les actions à tenir en cas de connexion entrante ou
sortante, dans la zone de confiance ou Internet. Ce pare-feu offre également la possibilité de tracer dans
un journal les requêtes de connexions des logiciels ainsi que d’émettre une alarme quand certains d’entre
eux ont une telle activité.
En l’absence de règles explicites, chaque logiciel qui tentera de mettre en œuvre une connexion sera
bloqué par le pare-feu qui vous informera de cette tentative et attendra une décision de votre part.
Les figures 3.4 et 3.5 représentent les établissements de connexions pour lesquelles le pare-feu n’a
pas de règle de décision :
– la figure 3.4 est l’interception d’une communication à destination d’Internet, demandée par le
logiciel «latex» (excellent «compilateur» de texte avec lequel je rédige ce document) et à destination de l’ordinateur 195.83.118.1 sur son port 59912. Cette connexion fait suite à une
action de ma part sur le logiciel, qui nécessite de télécharger une extension. Il n’y a donc pas
d’ambiguïté et je peux donc autoriser cette communication. De plus, ayant moi même installé ce
logiciel en connaissance de cause, je peux également cocher l’option créer une règle pour cette
communication et ne plus me demander pour autoriser les futures connexions ;
3.3 Filtrage par logiciels et apprentissage
12
F IG . 3.3 – Règles de décision par logiciels
F IG . 3.4 – Interception d’une connexion sortante vers Internet, sans règle
272
273
274
275
276
277
278
279
280
281
282
– la figure 3.5 quant à elle indique que le logiciel Kerio (le pare-feu lui même) a reçu une demande de connection en provenance d’Internet, et plus précisément de la part de l’ordinateur
195.139.120.94 port 15098. Demande refusée.
Cette phase pendant laquelle le pare-feu nécessite votre intervention est une phase d’apprentissage,
chaque réponse pouvant générer, si vous le souhaitez, une nouvelle entrée dans la table des autorisations/refus systématiques. A tout moment, en cas d’erreur, vous pouvez changer la règle de décision
pour un logiciel grâce à la fenêtre représentée figure 3.3 (ou son équivalente pour un autre logiciel).
Il n’est pas toujours facile de prendre une décision d’autorisation ou de refus dans le cas d’une
connexion sortante. Quand la connexion remontée par le pare-feu est sans ambiguïté par rapport au
logiciel que l’on est en train d’utiliser et l’action que l’on vient d’effectuer, il est facile de choisir. Par
exemple lorsque l’on veut consulter ces courriels (avec le logiciel Outlook par exemple), il ne faut pas
3.3 Filtrage par logiciels et apprentissage
13
F IG . 3.5 – Interception d’une connexion entrante depuis Internet, sans règle
F IG . 3.6 – Interception d’une connexion sortante
283
284
285
286
287
288
289
290
291
292
s’étonner d’avoir une alerte, telle que représentée figure 3.6, qui correspond à une requête de récupération de courrier électronique (pop3 est un protocole spécialisé pour la récupération de courriel et associé
par défault au port 110).
Il est moins évident de prendre position sur des connexions qui sont effectuées automatiquement
soit par le système d’exploitation soit par d’autres logiciels. Certains peuvent effectivement scanner
régulièrement des serveurs à la recherche de mise à jour ou pour des applications «instantannées» (du
type de MSN Messenger par exemple).
Il ne faut pas hésiter à faire des tests, un par un, afin de pouvoir revenir facilement en arrière en cas
de problème. Après la création d’une règle, il est toujours possible de la modifier. Certains pare-feu
disposent également d’une possibilité de sauvegarde et restauration des régles.
3.3 Filtrage par logiciels et apprentissage
14
F IG . 3.7 – Détection de la modification d’un logiciel
293
294
295
296
297
298
299
300
301
Une fois qu’une règle a été definie pour un logiciel il ne faut pas que celui-ci soit mofifié (par un virus
ou un attaquant). Si vous accordez votre confiance à un navigateur Web et créez une règle d’autorisation
systèmatique, il ne faut pas que celui-ci soit infecté par un virus et commence à émettre des informations
personnelle à destination d’un ordinateur sur Internet. Tous les pare-feu disposent donc d’un système de
serveillance des logiciels et bloquent leur execution si un changement a été détecté, comme le montre la
figure 3.7.
De la même manière lorsqu’un logiciel en execute un autre, le processus est intercepté pour en
informer l’utilisateur, comme le montre la figure 3.8. Dans cet exemple, j’ai fais la demande d’une mise
à jour du logiciel Firefox qui lance alors le programme permettant de l’effectuer (setup).
F IG . 3.8 – Lancement d’un logiciel à partir d’un autre
3.4 Filtrage par les caractéristiques de connexion
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
15
3.4 Filtrage par les caractéristiques de connexion
Filtrer les établissements de communications par le logiciel qui en fait la demande n’est pas toujours
suffisant. Il peut être nécessaire par exemple de bloquer un numéro de port quelque soit le logiciel, ou
pour un logiciel particulier bloquer qu’un seul numéro de port ou protocole. Toutes les combinaisons
sont possibles.
Ce type type de filtrage est maintenant proposé par tous les pare-feu et peut être généralement configuré (en connexion entrante ou sortante) pour :
– un port ou une plage de port ;
– une adresse IP ou une plage d’adresse ;
– un protocole.
Cette possibilité d’affiner le filtrage permet de limiter les ports ouverts sur votre ordinateur et de
limiter les risques d’intrusions.
La figure 3.9 (accessible à partir de la fenêtre de configuration du filtrage par logiciel - figure 3.3 - par
le bouton inférieur «Filtrage. . .») permet de consulter et ajouter des règles de filtrage (la liste des ports
filtrés sur mon ordinateur est floutée pour des raisons évidentes de sécurité).
F IG . 3.9 – Consultation et modification de la liste de regles de filtrage
317
318
319
L’ajout de nouvelles règles se fait à partir de la fenêtre de dialogue représentée figure 3.10. Elle
permet de composer, de manière intuitive, des règles de filtrage en fonction des logiciels et/ou des ports
et/ou des adresses IP des ordinateurs distant. La figure 3.11 présente la saisie d’un numéro de port pour
3.4 Filtrage par les caractéristiques de connexion
320
321
16
la création d’une règle. Le port peut être défini soit directement par son numéro soit par le protocole
couremment utilisé sur ce port.
F IG . 3.10 – Ajout d’une règle de filtrage
322
323
324
325
326
327
328
329
330
331
A titre d’exemple et d’entraînement vous pouvez essayer de créer une règle pour bloquer un protocole
et voir les conséquences sur une commande qui l’utilise. Par exemple, la commande ping (à partir d’une
invite de commande) permet de savoir si un ordinateur distant est bien connecté et peut vous répondre.
Cette commande n’utilise pas de port défini, elle est un peu particulière et est en fait caractérisée par
l’emploi du protocole ICMP («Internet Control Message Protocol»). En l’absence de règle, un «ping»
sur le serveur Web de la société Free donne le résultat représente figure 3.12.
Essayez maintenant de filtrer ce protocole, il suffit pour cela (dans la fenêtre représentée figure 3.10
d’ajouter le protocole ICMP et de le bloquer (dans les deux sens par exemple). Valider vos modifications
par une série de «Ok» jusqu’à la fermeture de la fenêtre principale de configuration.
En executant à nouveau la même commande vous devriez obtenir le résultat présenté figure 3.13.
3.4 Filtrage par les caractéristiques de connexion
17
F IG . 3.11 – Sélection d’un numéro de port pour la définition d’une règle
C:\>ping www.free.fr
Envoi d’une requête ’ping’ sur www.free.fr [213.228.0.42]
avec 32 octets de données :
Réponse
Réponse
Réponse
Réponse
de
de
de
de
213.228.0.42
213.228.0.42
213.228.0.42
213.228.0.42
:
:
:
:
octets=32
octets=32
octets=32
octets=32
temps=262 ms TTL=62
temps=187 ms TTL=62
temps=296 ms TTL=62
temps=62 ms TTL=62
Statistiques Ping pour 213.228.0.42:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 62ms, Maximum = 296ms, Moyenne = 201ms
F IG . 3.12 – Requête «ping» autorisée
332
333
334
Si de plus, vous avez activé une alarme sur le déclanchement de cette règle (dans la fenêtre de
création de règles, figure 3.10) vous aurez une notification visuelle du bloquage, telle que représentée
figure 3.14.
F IG . 3.14 – Alarme sur l’application d’une règle de filtrage
3.5 Autres fonctionnalités des pare-feu
18
C:\>ping www.free.fr
Envoi d’une requête ’ping’ sur www.free.fr [213.228.0.42]
avec 32 octets de données :
Délai
Délai
Délai
Délai
d’attente
d’attente
d’attente
d’attente
de
de
de
de
la
la
la
la
demande
demande
demande
demande
dépassé.
dépassé.
dépassé.
dépassé.
Statistiques Ping pour 213.228.0.42:
Paquets : envoyés = 4, reçus = 0, perdus = 4 (perte 100%),
F IG . 3.13 – Requête «ping» refusée
340
Si vous laissez quelques règles de filtrage associées à des alarmes vous serez prévenu en temps
réel des fins de non recevoir effectuées par votre pare-feu. Une simple alarme sur les requêtes «ping»
permet de prendre conscience que votre machine est constamment sollicitée de l’exterieur. Pendant la
rédaction de ce simple paragraphe l’alarme que j’ai activée pour illutrer mes propos avec des captures
d’écran c’est declanchée trois fois. Toutes pour des requêtes consistant à vérifier si mon ordinateur est
présent sur le réseau Internet et toutes en provenance d’adresse IP inconnues.
341
Cela permet, si cela était encore nécessaire, de se convaincre de la nécessité d’installer un pare-feu.
335
336
337
338
339
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
3.5 Autres fonctionnalités des pare-feu
Les fonctionnalités décrites précédemment constituent le minimum pour un pare-feu efficace et correctement configurable.
Pour augmenter l’efficacité de leurs outils, les éditeurs les dotent d’autres fonctionnalités améliorant
soit la sécurité, soit le confort d’utilisation. Vous pourrez les découvrir en parcourant les différents menus
et options de votre pare-feu préféré ainsi que le manuel d’utilisation.
On peut y trouver :
– pour les sytèmes plus complexe, l’ajout de la notion d’heure et date dans la création des règles.
On peut ainsi ouvrir certains ports à des moments précis ou l’on a programmé une mise à jour par
exemple ;
– un système d’analyse du contenu des requêtes Web. Permettant de filtrer l’accès à des sites Internet
en fonction de mot-clefs contenus dans leur adresse littérale. Cela permet entre autre de filtrer les
bannières publicitaires contenues dans certaines pages Web ;
– un système de bloquage de «cookies». Ce sont des petits fichiers texte enregistré sur votre ordinateur à la demande d’une page Web. Ces fichiers peuvent contenir des informations sur votre
3.6 Tests et configuration
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
19
ordinateur. Ils peuvent être relu par la suite lors d’un accès ultérieur à la même page Web. Ils
permettent donc (en s’affranchissant du problème des adresse IP dynamiques) de garder une «mémoire» de votre passage et éventuellement de ce que vous avez déjà fait sur le site en question. Ils
permettent à beaucoup de sociétés de faire du «data-mining», c’est à dire de collecter des informations sur vos habitudes pour ensuite réaliser un marketing ciblé et vous proposer des produits
correspondant à votre profil ;
– la mise à jour automatique du pare-feu. Cela n’est pas systématique mais est pourtant un point
essentiel. La sécurité informatique est une course permanente entre les défenseurs et les attaquant.
Il est primordial que les logiciels s’executant sur votre ordinateur soient tenus à jour. Il en va de
même pour votre pare-feu ;
– la detection d’intrusions, réalisée sur des attaques classiques et répertoirées ou sur des évènements
inconsistants. Essentiel également à mon sens.
3.6 Tests et configuration
Comment configurer son pare-feu dans la pratique ?
Il existe un certain nombre de protocoles et de ports attribués, et donc a priori légitimes. De nombreux
logiciels utilisent quant à eux des numéros de ports quelconques. Difficile alors de faire des règles de
filtrage et bien configurer son pare-feu.
Il existe cependant quelques outils (gratuits) qui permettent de réaliser un test rapide de votre ordinateur afin d’éliminer les failles les plus évidentes (la liste n’est évidemment pas exaustive) :
– http ://check.sdv.fr/
– http ://scan.sygate.com/
– https ://grc.com/x/ne.dll ?bh0bkyd2
– http ://www.pcflank.com/
– ...
Ces outils automatiques vont générer des requêtes à destination de votre ordinateur pour contrôler les
ports ouverts. Ces tentatives seront donc normalement détectées par votre pare-feu qui vous demandera
de prendre position : toujours refuser l’accès à ces test pour que les résultats soient significatifs.
3.6 Tests et configuration
20
F IG . 3.15 – Test des ports de mon ordinateur
384
385
386
387
388
389
390
391
Le premier de ces sites émet un rapport tel que présenté figure 3.15. On peut alors remarquer que trois
ports sont ouverts sur ma machine. En ce qui me concerne, ces protocoles ne me sont pas utiles, mais il
est parfois difficile de prendre une décision.
Une des possibilité est de faire une règle de filtrage sur chacun des ports, dont on soupçonne qu’ils
sont utiles, avec notification d’une alarme. Dans ce cas, si un logiciel a besoin d’ouvrir et communiquer
par l’un de ces ports vous en serez averti. Vous pourrez alors garder ou supprimer cette règle en fonction
du logiciel qui réclame l’usage de ce port.
Pour a part, après trois nouvelles régles et un nouveau test, j’obtiens la figure 3.16
F IG . 3.16 – Test des ports de mon ordinateur après ajout de règles
3.6 Tests et configuration
392
393
394
395
396
397
398
21
Le deuxième site de test scanne votre ordinateur et s’attache à en retrouver le nom et les services
(logiciels à l’écoute d’au moins un port et susceptible de répondre à une sollicitation externe) qui s’executent.
Le nom de votre ordinateur et donc potentiellement votre identité peut être accessible depuis Internet
avec le service Netbios (disponible au moins sur Windows). Si ce site arrive à extraire votre nom, vous
pouvez réaliser une règle pour bloquer Netbios, comme présenté figure 3.17 (ce service utilise plusieurs
ports et protocoles).
F IG . 3.17 – Blocage de Netbios
399
400
401
402
403
404
405
406
407
Un second test viendra confirmer que le nom de votre ordinateur n’est alors plus accessible via
Internet.
Le troisième test scanne les ports entre 0 et 1056, ceux «réservés» pour des services classiques. Ce
test représente, sous forme de tableau, les ports qui sont vérifiés en indiquant par couleur leur état :
– rouge, ouvert ;
– bleu, fermé ;
– vert, furtif.
Le meilleur étant «furtif», en effet si l’ensemble de vos ports ne trahissent aucune activité alors votre
ordinateur est invisible depuis Internet. C’est une excellente protection contre les attaquants (automa-
3.6 Tests et configuration
408
409
410
411
412
413
414
415
416
417
22
tiques ou humains) qui recherchent des cibles. Un port fermé a refusé une connexion mais a trahi sa
présence en donnant une réponse. Un port furtif ne prend même pas la peine de répondre.
Enfin le dernier exemple est un site très complet proposant différents types de tests. Il propose également une base de connaissance dans laquelle il répertorie les règles à définir en fonction de certains
logiciels connus.
Il dipose également d’une base de connaissance sur l’utilisation des ports (indispensable lorsque l’on
commence à configurer son pare-feu).
Le site est en anglais ce qui peut rendre difficile l’interprétation des résultats des tests mais il n’est
pas insurmontable d’obtenir la liste des règles pour son logiciels favori (menu « Firewall rulesets») ou
la descritpion de l’usage courant d’un port (menu «Ports database»).
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
Chapitre 4
Conclusion
J’espère que ce document aura permis de démistifier l’usage des pare-feu et vous fournira un point
de départ pour aller plus loin. Le réseau Internet contient de nombreux sites sur le sujet comme par
exemple :
– http ://www.firewall-net.com/fr/, en français ;
– http ://www.pcflank.com/, en anglais ;
– ...
A vous maintenant de configurer votre pare-feu favori, pour vous faire la main et améliorer vos
connaissances avant de pouvoir choisir de vous même un logiciel payant ou non, il existe de nombreux
pare-feu gratuits ou utilisables temporairement (par ordre alphabétique) :
– Look’n’Stop ;
– Kerio Personal Firewall 4 ;
– Outpost Firewall ;
– Zone Alarm ;
– ...

Documents pareils