1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
2 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
---|
3 | "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
---|
4 | <chapter id="Security">
|
---|
5 | <title>Guide de sécurité</title>
|
---|
6 |
|
---|
7 | <sect1>
|
---|
8 | <title>Principes généraux de sécurité</title>
|
---|
9 |
|
---|
10 | <para>Les principes suivants sont fondamentaux pour utiliser une application
|
---|
11 | en toute sécurité.
|
---|
12 | <glosslist>
|
---|
13 | <glossentry>
|
---|
14 | <glossterm>Maintenir à jour le logiciel</glossterm>
|
---|
15 | <glossdef>
|
---|
16 | <para>
|
---|
17 | Une des bonnes pratiques de sécurité est d'avoir des versions de
|
---|
18 | logiciel et des correctifs à jour. Activez la notification de
|
---|
19 | mise à jour de VirtualBox pour être averti quand une nouvelle
|
---|
20 | version de VirtualBox est disponible. Quand vous mettez à jour
|
---|
21 | VirtualBox, n'oubliez pas de mettre à jour aussi les suppléments
|
---|
22 | invité. Maintenez à jour le système d'exploitation hôte ainsi
|
---|
23 | que l'invité.
|
---|
24 | </para>
|
---|
25 | </glossdef>
|
---|
26 | </glossentry>
|
---|
27 |
|
---|
28 | <glossentry>
|
---|
29 | <glossterm>Restreindre l'accès réseau des services critiques</glossterm>
|
---|
30 | <glossdef>
|
---|
31 | <para>
|
---|
32 | Utilisez les moyens, tels qu'un pare-feu, pour protéger votre
|
---|
33 | ordinateur et vo(s) invité(s) de l'extérieur. Choisir le bon mode
|
---|
34 | de réseau pour les VMs permet de distinguer le réseau de l'hôte
|
---|
35 | de l'invité et vice versa.
|
---|
36 | </para>
|
---|
37 | </glossdef>
|
---|
38 | </glossentry>
|
---|
39 |
|
---|
40 | <glossentry>
|
---|
41 | <glossterm>Suivre le principe du privilège le plus restreint</glossterm>
|
---|
42 | <glossdef>
|
---|
43 | <para>
|
---|
44 | Le principe du privilège le plus restreint dispose qu'il faut
|
---|
45 | donner aux utilisateurs les privilèges strictement nécessaires
|
---|
46 | pour accomplir leurs tâches. Exécutez toujours VirtualBox en
|
---|
47 | tant qu'utilisateur ordinaire. Nous déconseillons fortement
|
---|
48 | d'exécuter VirtualBox avec des privilèges système.
|
---|
49 | </para>
|
---|
50 | <para>
|
---|
51 | Choisissez des droits restrictifs quand vous créez des fichiers
|
---|
52 | de configuration, par exemple quand vous créez
|
---|
53 | /etc/default/virtualbox, voir
|
---|
54 | <xref linkend="linux_install_opts"/>. Le mode 0600 serait
|
---|
55 | idéal.
|
---|
56 | </para>
|
---|
57 | </glossdef>
|
---|
58 | </glossentry>
|
---|
59 |
|
---|
60 | <glossentry>
|
---|
61 | <glossterm>Surveiller l'activité du système</glossterm>
|
---|
62 | <glossdef>
|
---|
63 | <para>
|
---|
64 | La sécurité du système repose sur trois piliers : de bons
|
---|
65 | protocoles de sécurité, une bonne configuration du système et
|
---|
66 | la surveillance du système. L'évaluation et la lecture des
|
---|
67 | fruits de l'évaluation constituent la troisième exigence. Chaque
|
---|
68 | composant d'un système a un certain degré de capacité à être
|
---|
69 | surveillé. Suivez les conseils d'évaluation de ce document et
|
---|
70 | surveillez régulièrement les fruits de l'évaluation.
|
---|
71 | </para>
|
---|
72 | </glossdef>
|
---|
73 | </glossentry>
|
---|
74 |
|
---|
75 | <glossentry>
|
---|
76 | <glossterm>Garder à jour les informations de sécurité</glossterm>
|
---|
77 | <glossdef>
|
---|
78 | <para>
|
---|
79 | Oracle améliore en permanence ses logiciels et sa documentation.
|
---|
80 | Vérifiez ce passage chaque année pour trouver les révisions.
|
---|
81 | </para>
|
---|
82 | </glossdef>
|
---|
83 | </glossentry>
|
---|
84 |
|
---|
85 | </glosslist>
|
---|
86 | </para>
|
---|
87 | </sect1>
|
---|
88 |
|
---|
89 | <sect1>
|
---|
90 | <title>Installation et configuration sécurisées</title>
|
---|
91 |
|
---|
92 | <sect2>
|
---|
93 | <title>Aperçu de l'installation</title>
|
---|
94 | <para>
|
---|
95 | Vous ne devriez télécharger le paquet de base de VirtualBox qu'à partir d'une
|
---|
96 | source de confiance, telle que le site Internet officiel
|
---|
97 | <ulink url="http://www.virtualbox.org">http://www.virtualbox.org</ulink>.
|
---|
98 | Vous devriez vérifier l'intégrité du paquet avec la somme de contrôle
|
---|
99 | SHA256 fournie sur le site officiel.
|
---|
100 | </para>
|
---|
101 | <para>
|
---|
102 | Vous pouvez trouver des instructions générales d'installation de VirtualBox
|
---|
103 | pour les hôtes supportés au <xref linkend="installation"/>.
|
---|
104 | </para>
|
---|
105 | <para>
|
---|
106 | Sur les hôtes Windows, l'installeur permet de désactiver le support USB,
|
---|
107 | le support du réseau bridgé, le support du réseau host-only et les bindings
|
---|
108 | du langage Python, voir <xref linkend="installation_windows"/>. Toutes ces
|
---|
109 | fonctionnalités sont activées par défaut mais la désactivation de certaines
|
---|
110 | d'entre elles pourrait être adaptée si vous n'avez pas besoin des
|
---|
111 | fonctionnalités correspondantes sur une machine virtuelle. Les bindings du
|
---|
112 | langage Python ne sont nécessaires que si vous devez utiliser l'API de
|
---|
113 | VirtualBox avec des applications Python externes. En particulier, le
|
---|
114 | support USB et le support des deux modes réseaux nécessitent d'installer
|
---|
115 | des pilotes du noyau Windows sur l'hôte. Donc, la désactivation de ces
|
---|
116 | fonctions peut non seulement permettre d'encadrer l'utilisateur dans
|
---|
117 | certaines fonctionnalités, mais aussi de minimiser le champ d'attaque d'un
|
---|
118 | pirate potentiel.</para>
|
---|
119 | <para>
|
---|
120 | En général, on installe tout le paquet VirtualBox. Il faut faire
|
---|
121 | l'installation avec les privilèges système. Tous les binaires de VirtualBox
|
---|
122 | devraient être lancés en tant qu'utilisateur ordinaire et jamais en tant
|
---|
123 | qu'utilisateur privilégié.
|
---|
124 | </para>
|
---|
125 | <para>
|
---|
126 | Le pack d'extension d'Oracle VM VirtualBox apporte des fonctionnalités
|
---|
127 | supplémentaires et il doit être téléchargé et installé à part, voir
|
---|
128 | <xref linkend="intro-installing"/>. Comme pour le paquet de base, vous devriez vérifier
|
---|
129 | la somme de contrôle SHA256 du pack d'extension. Comme le système d'installation
|
---|
130 | exige des privilèges systèmes, VirtualBox vous demandera le mot de passe
|
---|
131 | système pendant l'installation du pack d'extension.
|
---|
132 | </para>
|
---|
133 | </sect2>
|
---|
134 |
|
---|
135 | <sect2>
|
---|
136 | <title>Configuration post installation</title>
|
---|
137 | <para>
|
---|
138 | Normalement, aucune configuration post installation d'un composant de
|
---|
139 | VirtualBox n'est nécessaire. Cependant, sur les hôtes Solaris et Linux,
|
---|
140 | il faut configurer les droits adaptés pour que les utilisateurs exécutent
|
---|
141 | des VMs et puissent accéder à certaines ressources de l'hôte. Par exemple,
|
---|
142 | les utilisateurs Linux doivent faire partie du groupe <emphasis>vboxusers</emphasis>
|
---|
143 | pour pouvoir donner des périphériques USB à un invité. Si vous devriez
|
---|
144 | accéder à une interface série à partir d'une VM, il faut donner les bons
|
---|
145 | droits à l'utilisateur pour qu'il puisse accéder à ce périphérique. La
|
---|
146 | même chose s'applique à d'autres ressources comme la partition brute, les
|
---|
147 | lecteurs DVD/CD et les périphériques de son.
|
---|
148 | </para>
|
---|
149 | </sect2>
|
---|
150 | </sect1>
|
---|
151 |
|
---|
152 | <sect1>
|
---|
153 | <title>Fonctions de sécurité</title>
|
---|
154 | <para>Cette section évoque les mécanismes de sécurité spécifiques à
|
---|
155 | VirtualBox.</para>
|
---|
156 |
|
---|
157 | <sect2>
|
---|
158 | <title>Le modèle de sécurité</title>
|
---|
159 | <para>
|
---|
160 | Une des propriétés des gestionnaires de machines virtuels (VMMs) comme
|
---|
161 | VirtualBox est d'enfermer un invité en l'exécutant dans un environnement
|
---|
162 | protégé, une machine virtuelle laquelle fonctionne en tant que processus
|
---|
163 | d'un utilisateur du système d'exploitation hôte. L'invité ne peut pas
|
---|
164 | communiquer directement avec le matériel hôte ou avec d'autres ordinateurs,
|
---|
165 | mais uniquement via le VMM. Le VMM offre des ressources physiques et des
|
---|
166 | périphériques émulés à l'invité, auxquels on accède par le système d'exploitation hôte pour effectuer les
|
---|
167 | tâches nécessaires. Les paramètres de la VM contrôlent les ressources
|
---|
168 | fournies à l'invité, par exemple la quantité de mémoire de l'invité ou
|
---|
169 | le nombre de processeurs invités (voir <xref linkend="generalsettings"/>)
|
---|
170 | et les fonctionnalités activées pour cet invité (par exemple le contrôle à distance, certains paramètres
|
---|
171 | d'affichage et autres).
|
---|
172 | </para>
|
---|
173 | </sect2>
|
---|
174 |
|
---|
175 | <sect2>
|
---|
176 | <title>Configuration sécurisée des machines virtuelles</title>
|
---|
177 | <para>
|
---|
178 | Plusieurs aspects de la configuration d'une machine virtuelle sont sujets
|
---|
179 | à des considérations de sécurité.</para>
|
---|
180 |
|
---|
181 | <sect3>
|
---|
182 | <title>Le réseau</title>
|
---|
183 | <para>
|
---|
184 | Le mode réseau par défaut des VMs est NAT, ce qui signifie que la VM
|
---|
185 | se comporte comme un ordinateur derrière un routeur, voir
|
---|
186 | <xref linkend="network_nat"/>. L'invité fait partie d'un sous-réseau
|
---|
187 | privé appartenant à cette VM et l'adresse IP de l'invité n'est pas visible
|
---|
188 | de l'extérieur. Ce mode réseau fonctionne sans paramétrage supplémentaire
|
---|
189 | et il suffit pour la plupart des besoins.
|
---|
190 | </para>
|
---|
191 | <para>
|
---|
192 | Si vous utilisez le réseau bridgé, la VM se comporte comme un ordinateur
|
---|
193 | dans le même réseau que l'hôte, voir <xref linkend="network_bridged"/>.
|
---|
194 | Dans ce cas, l'invité a un accès réseau identique à l'hôte et un
|
---|
195 | pare-feu pourrait être nécessaire pour protéger d'autres ordinateurs
|
---|
196 | du sous-réseau contre des invités malveillants potentiels et pour
|
---|
197 | protéger l'invité contre un accès direct par les autres ordinateurs.
|
---|
198 | Dans certains cas, il est intéressant de songer à utiliser une règle
|
---|
199 | de redirection pour un port spécifique en mode NAT, plutôt que d'utiliser
|
---|
200 | le réseau bridgé.
|
---|
201 | </para>
|
---|
202 | <para>
|
---|
203 | Certaines configurations n'ont pas besoin que la VM soit connectée au
|
---|
204 | réseau public. Le réseau interne (voir <xref linkend="network_internal"/>)
|
---|
205 | ou le réseau host-only (voir <xref linkend="network_hostonly"/>) suffisent
|
---|
206 | souvent pour connecter des VMs entre elles ou pour ne connecter des VMs
|
---|
207 | qu'à l'hôte mais pas au réseau public.
|
---|
208 | </para>
|
---|
209 | </sect3>
|
---|
210 |
|
---|
211 | <sect3>
|
---|
212 | <title>Authentification sur un bureau distant (VRDP)</title>
|
---|
213 | <para>Quand on utilise le pack d'extension de VirtualBox fourni par Oracle
|
---|
214 | pour accéder à distance (VRDP), on peut éventuellement utiliser
|
---|
215 | plusieurs méthodes pour configurer l'authentification RDP. La méthode
|
---|
216 | "null" est très peu sûre, vous devriez l'éviter sur un réseau public.
|
---|
217 | Voir <xref linkend="vbox-auth" /> pour les détails.</para>
|
---|
218 | </sect3>
|
---|
219 |
|
---|
220 | <sect3 id="security_clipboard">
|
---|
221 | <title>Presse-papier</title>
|
---|
222 | <para>
|
---|
223 | Le presse-papier partagé permet aux utilisateurs de partager des
|
---|
224 | données entre l'hôte et l'invité. L'activation du presse-papier en
|
---|
225 | "mode bidirectionnel" permet à l'invité de lire et d'écrire dans le
|
---|
226 | presse-papier de l'hôte. Le mode "hôte vers invité" et "Invité vers
|
---|
227 | hôte" limitent l'accès à un seul sens. Si l'invité peut accéder au
|
---|
228 | presse-papier de l'hôte, il peut aussi accéder potentiellement à des
|
---|
229 | données sensibles de l'hôte partagées dans le presse-papier.
|
---|
230 | </para>
|
---|
231 | <para>
|
---|
232 | Si l'invité peut lire et/ou écrire dans le presse-papier de l'hôte,
|
---|
233 | un utilisateur distant qui se connecte à l'invité par le réseau aura
|
---|
234 | également cette possibilité, ce qui peut ne pas être souhaitable. Par
|
---|
235 | conséquent, le presse-papier partagé est désactivé pour les nouvelles
|
---|
236 | machines.
|
---|
237 | </para>
|
---|
238 | </sect3>
|
---|
239 |
|
---|
240 | <sect3>
|
---|
241 | <title>Dossiers partagés</title>
|
---|
242 | <para>Si un dossier de l'hôte est partagé avec l'invité, n'importe quel utilisateur
|
---|
243 | connecté à distance à l'invité par le réseau peut accéder aussi à ces
|
---|
244 | fichiers car le mécanisme de partage des dossiers ne peut pas être désactivé
|
---|
245 | de manière sélective pour des utilisateurs distants.
|
---|
246 | </para>
|
---|
247 | </sect3>
|
---|
248 |
|
---|
249 | <sect3>
|
---|
250 | <title>Accélération graphique 3D</title>
|
---|
251 | <para>L'activation de la 3D avec les suppléments invité expose l'hôte
|
---|
252 | à des risques supplémentaires de sécurité ; voir <xref
|
---|
253 | linkend="guestadd-3d" />.</para>
|
---|
254 | </sect3>
|
---|
255 |
|
---|
256 | <sect3>
|
---|
257 | <title>CD/DVD passthrough</title>
|
---|
258 | <para>L'activation du CD/DVD passthrough permet à l'invité d'effectuer
|
---|
259 | des opérations avancées sur le lecteur CD/DVD, voir <xref linkend="storage-cds"/>.
|
---|
260 | Cela peut poser un problème de sécurité car un invité pourrait écraser
|
---|
261 | des données sur un DVD.
|
---|
262 | </para>
|
---|
263 | </sect3>
|
---|
264 |
|
---|
265 | <sect3>
|
---|
266 | <title>USB passthrough</title>
|
---|
267 | <para>
|
---|
268 | La présentation de périphériques USB à l'invité offre à l'invité un
|
---|
269 | accès complet à ces périphériques, voir <xref linkend="settings-usb"/>.
|
---|
270 | Par exemple, outre la lecture et l'écriture du contenu des partitions
|
---|
271 | d'un disque USB externe, l'invité pourra également lire et écrire la
|
---|
272 | table de partitions et des données matérielles sur ce disque.
|
---|
273 | </para>
|
---|
274 | </sect3>
|
---|
275 |
|
---|
276 | </sect2>
|
---|
277 |
|
---|
278 | <sect2>
|
---|
279 | <title>Configurer et utiliser l'authentification</title>
|
---|
280 |
|
---|
281 | <para>Les composants suivants de VirtualBox peuvent utiliser des mots de
|
---|
282 | passe pour l'authentification :<itemizedlist>
|
---|
283 |
|
---|
284 | <listitem>
|
---|
285 | <para>Lors de l'utilisation du stockage iSCSI à distance et si le
|
---|
286 | serveur de stockage exige une authentification, vous pouvez fournir
|
---|
287 | un mot de passe d'initiateur avec la commande
|
---|
288 | <computeroutput>VBoxManage storageattach</computeroutput>. Tant que
|
---|
289 | vous ne fournissez pas de réglage de mots de passe (l'option
|
---|
290 | <screen>--settingspwfile</screen> en ligne de commande), ce mot
|
---|
291 | de passe secret est stocké <emphasis role="bold">sans chiffrement</emphasis>
|
---|
292 | dans la configuration de la machine et il est donc potentiellement
|
---|
293 | lisible sur l'hôte. Voir <xref
|
---|
294 | linkend="storage-iscsi" /> et <xref
|
---|
295 | linkend="vboxmanage-storageattach" />.</para>
|
---|
296 | </listitem>
|
---|
297 |
|
---|
298 | <listitem>
|
---|
299 | <para>Quand vous utilisez le service Web de VirtualBox pour contrôler
|
---|
300 | un hôte VirtualBox à distance, les connexions au service sont authentifiées
|
---|
301 | de plusieurs façons. Ceci est décrit en détails dans manuel de référence
|
---|
302 | du kit de développement logiciel de VirtualBox (SDK) ; merci de
|
---|
303 | voir <xref linkend="VirtualBoxAPI" />.</para>
|
---|
304 | </listitem>
|
---|
305 | </itemizedlist></para>
|
---|
306 | </sect2>
|
---|
307 |
|
---|
308 | <!--
|
---|
309 | <sect2>
|
---|
310 | <title>Configurer et utiliser les contrôles d'accès</title>
|
---|
311 | </sect2>
|
---|
312 |
|
---|
313 | <sect2>
|
---|
314 | <title>Configurer et utiliser l'évaluation de sécurité</title>
|
---|
315 | </sect2>
|
---|
316 |
|
---|
317 | <sect2>
|
---|
318 | <title>Congigurer et utiliser d'autres fonctions de sécurité</title>
|
---|
319 | </sect2>
|
---|
320 | -->
|
---|
321 |
|
---|
322 | <sect2>
|
---|
323 | <title>Opérations potentiellement non sécurisées</title>
|
---|
324 |
|
---|
325 | <para>Les fonctions suivantes de VirtualBox peuvent présenter des problèmes
|
---|
326 | de sécurité :<itemizedlist>
|
---|
327 | <listitem>
|
---|
328 | <para>L'activation de la 3D par les suppléments invité expose l'hôte
|
---|
329 | à des risques de sécurité supplémentaires ; voir <xref
|
---|
330 | linkend="guestadd-3d" />.</para>
|
---|
331 | </listitem>
|
---|
332 |
|
---|
333 | <listitem>
|
---|
334 | <para>En téléportant une machine, le flux de données par lequel passe
|
---|
335 | le contenu de la mémoire de la machine est transféré d'un hôte à l'autre
|
---|
336 | sans chiffrement. Un tiers ayant un accès au réseau par lequel les
|
---|
337 | données sont transférées pourrait donc intercepter ces données. On
|
---|
338 | pourrait utiliser un tunnel SSH pour sécuriser la connexion entre les
|
---|
339 | deux hôtes. Mais au moment de téléporter une VM par un réseau non fiable,
|
---|
340 | la première question à vous poser est celle de savoir comment les VMs
|
---|
341 | peuvent accéder de manière sécurisée à la/aux même(s) image(s) de disque
|
---|
342 | virtuel avec une performance raisonnable. </para>
|
---|
343 | </listitem>
|
---|
344 |
|
---|
345 | <listitem>
|
---|
346 | <para>Quand vous utilisez le service Web de VirtualBox pour contrôler
|
---|
347 | un hôte VirtualBox à distance, les connexions au service (par lesquelles
|
---|
348 | les appels de l'API sont transférées en SOAP XML) ne sont pas chiffrées,
|
---|
349 | elles utilisent par défaut le HTTP en clair. C'est un risque potentiel
|
---|
350 | de sécurité ! Pour des détails sur le service Web, merci de voir
|
---|
351 | <xref linkend="VirtualBoxAPI" />.</para>
|
---|
352 | <para>Les services web ne sont pas lancés par défaut. Merci de vous
|
---|
353 | reporter au <xref linkend="vboxwebsrv-daemon"/> pour voir comment
|
---|
354 | démarrer ce service et activer le support SSL/TLS. Il faut le démarrer
|
---|
355 | en tant qu'utilisateur ordinaire et seules les VMs de cet utilisateur
|
---|
356 | sont contrôlables. Par défaut, le service sonde localhost, empêchant
|
---|
357 | toute connexion distante.</para>
|
---|
358 | </listitem>
|
---|
359 |
|
---|
360 | <listitem>
|
---|
361 | <para>Le trafic envoyé par une connexion réseau en tunnel UDP n'est
|
---|
362 | pas chiffré. Vous pouvez soit le chiffrer au niveau du réseau hôte
|
---|
363 | (avec IPsec), soit utiliser des protocoles chiffrés dans le réseau
|
---|
364 | invité (tel que SSH). Les propriétés de sécurité sont similaires à un Ethernet bridgé.</para>
|
---|
365 | </listitem>
|
---|
366 | </itemizedlist></para>
|
---|
367 | </sect2>
|
---|
368 |
|
---|
369 | <sect2>
|
---|
370 | <title>Chiffrement</title>
|
---|
371 |
|
---|
372 | <para>Les composants suivants de VirtualBox utilisent le chiffrement pour
|
---|
373 | protéger les données sensibles :<itemizedlist>
|
---|
374 | <listitem>
|
---|
375 | <para>Quand on utilise le pack d'extension de VirtualBox fourni par
|
---|
376 | Oracle pour le support du bureau distant (VRDP), les données peuvent
|
---|
377 | être éventuellement chiffrées. Voir <xref linkend="vrde-crypt" /> pour
|
---|
378 | des détails. Seule la méthode Enhanced RDP Security (RDP5.2) avec le
|
---|
379 | protocole TLS offre une connexion sécurisée. La Standard RDP Security
|
---|
380 | (RDP4 et RDP5.1) est vulnérable à une attaque man-in-the-middle.</para>
|
---|
381 | </listitem>
|
---|
382 | </itemizedlist></para>
|
---|
383 | </sect2>
|
---|
384 | </sect1>
|
---|
385 |
|
---|
386 | <!--
|
---|
387 | <sect1>
|
---|
388 | <title>Security Considerations for Developers</title>
|
---|
389 | </sect1>
|
---|
390 | -->
|
---|
391 |
|
---|
392 | </chapter>
|
---|