]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manual-fr/security.tex
This commit was manufactured by cvs2svn to create tag
[bacula/docs] / docs / manual-fr / security.tex
index 990697ae8dbf0b16421bc18ffc57a04eb8b62672..82e3b8d16a5cfc96029f43190d661cf071d67dd3 100644 (file)
@@ -8,25 +8,31 @@
 \addcontentsline{toc}{section}{Consid\'erations sur la s\'ecurit\'e de Bacula}
 
 \begin{itemize}
+\item La s\'ecurit\'e, c'est de pouvoir restaurer vos fichiers, aussi, lisez 
+   attentivement le chapitre \ilink{Critical Items Chapter}{Critical} de 
+   ce manuel.
 \item Le client ({\bf bacula-fd}) doit \^etre ex\'ecut\'e en tant que root
    afin d'avoir  l'acc\`es \`a tous les fichiers du syst\`eme. 
 \item Il n'est pas n\'ecessaire d'ex\'ecuter le Director en tant que root. 
 \item Il n'est pas n\'ecessaire d'ex\'ecuter le Storage Daemon en tant que
    root, mais  vous devez vous assurer qu'l peut utiliser le lecteur de bandes,
    dont l'acc\`es  est presque toujours r\'eserv\'e \`a root par d\'efaut.
-\item 
+   De plus, si vous n'ex\'ecutez pas le Storage Daemon en tant que root, il sera 
+   dans l'incapacit\'e de r\'egler automatiquement les param\`etres de votre lecteur 
+   de bandes. En effet, ces fonctions requi\`erent les droits root sur la plupart 
+   des syst\`emes d'exploitation.
 \item Vous devriez restreindre l'acc\`es au fichiers de configuration de
    Bacula, de  sorte que les mots de passe ne soient pas lisibles par tous.  Les
    {\it daemons} {\bf Bacula} sont prot\'eg\'es par des mots de passe et CRAM-MD5
-(i.e. les mots de passe ne sont pas envoy\'es sur le r\'eseau). Ceci assur
+(i.e. les mots de passe ne sont pas envoy\'es sur le r\'eseau). Ceci assure
 que tout le  monde ne peut acc\'eder aux {\it daemons}. C'est une protection
-raisonnablement bonne,  mais qui peut \^etre craqu\'e par un expert. 
+raisonnablement bonne,  mais qui peut \^etre craqu\'ee par un expert. 
 \item Si vous utilisez les ports recommand\'es 9101,9102 et 9103, vous voudrez
    probablement  prot\'eger ces ports des acc\`es externes \`a l'aide d'un
    firewall et/ou en utilisant  tcp wrappers ({\bf etc/hosts.allow}).  
-\item Actuellement, toutes les donn\'es sont envoy\'ees sur le r\'eseau sans
-   chiffrage. Par  cons\'equent, \`a moins que vous n'utilisiez {\bf ssh} ou {\bf
-   stunnel} pour la  transmission de port (port forwarding), il n'est pas
+\item Actuellement, toutes les donn\'ees sont envoy\'ees sur le r\'eseau sans
+   chiffrement. Par  cons\'equent, \`a moins que vous n'utilisiez {\bf ssh} ou {\bf
+   stunnel} pour la  transmission de port (NDT: port forwarding), il n'est pas
 recommand\'e de faire des  sauvegardes \`a travers un r\'eseau non
 s\'ecuris\'e (par exemple, Internet). Nous  pr\'evoyons d'int\'egrer le
 chiffrage {\bf ssl} dans une version future.  
@@ -44,18 +50,64 @@ chiffrage {\bf ssl} dans une version future.
    connectera en  utilisant les enregistrements appropri\'es {\bf DirAddress},
    {\bf FDAddress},  ou {\bf SDAddress} dans les fichiers de configurations
 respectifs des {\it daemons}  
+\item Soyez conscient que si vous sauvegardez votre catalogue avec le script 
+   par d\'efaut, et si l'acc\`es \`a votre catalogue est prot\'eg\'e par un mot de passe, 
+   ce dernier est transmis en tant qu'option de ligne de commande \`a ce script, 
+   ce qui le rend visible \`a tout utilisateur du syst\`eme. Si vous voulez 
+   s\'ecuriser ce point, vous devez le passer via une variable d'environnement 
+   ou un fichier s\'ecuris\'e.
 \end{itemize}
 
+\subsection*{Compatibilit\'e ascendante}
+\index[general]{Compatibilit\'e ascendante}
+\addcontentsline{toc}{subsection}{Compatibilit\'e ascendante}
+L'un des principaux objectifs de Bacula est de garantir que vous pouvez 
+restaurer depuis des cartouches (ou depuis des volumes disque) \'ecrites des ann\'ees 
+auparavant. Ceci implique que chaque nouvelle version de Bacula devrait \^etre 
+capable de relire les anciens formats de cartouches. Le premier probl\`eme est de 
+s'assurer que le mat\'eriel fonctionne encore malgr\'e les ann\'ees, et que les supports 
+sont encore valides. Ensuite, votre syst\`eme d'exploitation doit \^etre capable 
+de s'interfacer avec le p\'eriph\'erique et finalement, Bacula doit \^etre capable 
+de reconna\^itre les anciens formats. De tous ces probl\`emes, nous ne pouvons 
+prendre en charge que le dernier, pour les autres, vous devez vous pr\'eparer 
+consciencieusement.
+
+Depuis les tous premiers stades de Bacula (janvier 2000) jusqu'\`a aujourd'hui 
+(D\'ecembre 2005), Bacula a connu deux formats majeurs d'\'ecriture sur les 
+cartouches. Le second format a \'et\'e introduit dans la version 1.27 en 
+novembre 2002, et n'a pas chang\'e depuis. En principe, Bacula devrait encore pouvoir 
+lire le format d'origine, mais j'avoue ne pas avoir essay\'e depuis longtemps...
+
+Bien que le format des cartouches soit fix\'e, les types de donn\'ees qui peuvent \^etre 
+\'ecrites sur les cartouches sont extensibles, ce qui nous a permis d'ajouter de 
+nouvelles fonctionnalit\'es telles que les ACLs, les donn\'ees Win32, les donn\'ees 
+chiffr\'ees... Naturellement, une ancienne version de Bacula ne saurait lire des 
+nouveaux flux de donn\'ees, mais chaque nouvelle version de Bacula est en principe 
+capable de lire les anciens flux.
+
+Si vous voulez \^etre absolument certain de pouvoir lire vos vieilles cartouches, 
+vous devriez :
+
+1. Essayer de lire les vieilles cartouches de temps en temps, une fois par an 
+par exemple.
+
+2. Conserver une copie statiquement li\'ee de chaque version de Bacula que vous 
+avez utilis\'ee en production. Ainsi, si pour quelque raison nous venions \`a 
+abandonner la compatibilit\'e avec les anciens formats de cartouches, vous pourriez 
+toujours remettre en service une vieille copie de Bacula...
+
+Le second point est probablement excessif, en toute rigueur, il pourrait vous 
+sauver un jour.
+
 \label{wrappers}
 
-\subsection*{Configurer et tester TCP Wrappers avec Bacula}
-\index[general]{Configurer et tester TCP Wrappers avec Bacula }
-\index[general]{Bacula!Configurer et tester TCP Wrappers avec }
-\addcontentsline{toc}{subsection}{Configurer et tester TCP Wrappers avec
-Bacula}
+\subsection*{Configurer et tester TCP Wrappers}
+\index[general]{Configurer et tester TCP Wrappers}
+\index[general]{Bacula!Configurer et tester TCP Wrappers}
+\addcontentsline{toc}{subsection}{Configurer et tester TCP Wrappers}
 
 Les TCP Wrappers sont impl\'ement\'es si vous les activez lors de la
-configuration ({\bf ./configure \verb{--{with-libwrap}). Avec ce code activ\'e, vous
+configuration ({\bf ./configure \verb{:--:{with-tcp-wrappers}). Avec ce code activ\'e, vous
 pourrez contr\^oler qui peut acc\'eder \`a vos {\it daemons}. Ce contr\^ole
 est obtenu par la modification du fichier {\bf /etc/hosts.allow}. Le nom de
 programme qu'utilise {\bf Bacula} pour appliquer ces restrictions est celui
@@ -69,7 +121,7 @@ et les tests de TCP Wrappers avec Bacula.
 
 Si vous lisez hosts\_options(5), vous verrez une option nomm\'ee twist. Cette
 option remplace le processus courant par une instance de la commande shell
-sp\'ecifi\'ee. Ce qui suit est un exemple typique de son utilisation : 
+sp\'ecifi\'ee. Voici un exemple typique de son utilisation : 
 
 \footnotesize
 \begin{verbatim}
@@ -80,19 +132,11 @@ ALL : ALL \
 \normalsize
 
 \label{question-1}
-{\bf question 1} Le code libwrap tente d'\'eviter {\bf twist} s'il est
-ex\'ecut\'e dans un processus r\'esident (i.e. , mais ce test ne prot\'egera
-pas le premier appel hosts\_access(). Il en r\'esulte que le processus (e.g.
+Le code libwrap tente d'\'eviter {\bf twist} s'il est
+ex\'ecut\'e dans un processus r\'esident. Il en r\'esulte que le processus (e.g.
 bacula-fd, bacula-sd, bacula-dir) sera stopp\'e si la premi\`ere connection
 \`a son port provoque l'invocation de l'option twist. Le risque est qu'une
-attaque provoque l'arr\^et des {\it daemons}. 
-
-The libwrap code tries to avoid {\bf twist} if it runs in a resident process,
-but that test will not protect the first hosts\_access() call. This will
-result in the prcess (e.g. bacula-fd, bacula-sd, bacula-dir) being terminated
-if the first connection to their port results in the twist option being
-invoked. The potential, and I stree potential, exists for an attacker to
-prevent the daemons from running. Cette situation est \'evit\'ee si votre
+attaque provoque l'arr\^et des {\it daemons}.  Cette situation est \'evit\'ee si votre
 fichier /etc/hosts.allow contient un jeu de r\`egles appropri\'e. L'exemple
 suivant est suffisant : 
 
@@ -112,7 +156,7 @@ configuration respectifs. Dans ces exemples, le Director est undef-dir, le
 Storage Daemon est undef-sd, et le File Daemon est undef-fd. Ajustez pour
 coller \`a votre configuration. L'exemple de r\`egles ci-dessus suppose que
 SD, FD et DIR sont tous sur la m\^eme machine. Si vous avez un client FD
-distant, il vous suffira de placer le jeu de r\^egles suivant sur ce client : 
+distant, il vous suffira de placer le jeu de r\`egles suivant sur ce client : 
 
 \footnotesize
 \begin{verbatim}
@@ -122,7 +166,7 @@ undef-fd : ALL : deny
 \normalsize
 
 O\`u director.example.org est l'h\^ote qui contactera le client (i.e. la
-machine sur laquelle le Bacula Director tourne). L'usage de ``ALL : deny''
+machine sur laquelle le Bacula Director tourne). L'usage de "ALL : deny"
 assure que l'option twist (si pr\'esente) n'est pas invoqu\'ee. Pour tester
 correctement votre configuration, d\'emarrez le(s) {\it daemon(s)}, puis
 essayez de vous y connecter depuis une adresse IP qui devrait \^etre capable
@@ -154,7 +198,7 @@ $
 \normalsize
 
 Alors, twist a \'et\'e invoqu\'ee, et votre configuration est incorrecte. vous
-devez ajouter la directive ``deny''. Il est important de noter que vos tests
+devez ajouter la directive "deny". Il est important de noter que vos tests
 doivent inclure le red\'emarrage des {\it daemons} apr\`es chaque tentative de
 connexion. Vous pouvez aussi tcpdchk(8) et tcpdmatch(8) pour valider jeu de
 r\`egles /etc/hosts.allow. Voici un test simple avec tcpdmatch : 
@@ -174,7 +218,7 @@ access: granted
 
 Si vous ex\'ecutez Bacula en tant que {\it standalone daemon}, les
 avertissements ci-dessus peuvent \^etre ignor\'es sans scrupules. Voici un
-exemple qui r\'ev\`ele que ``deny'' fait defaut \`a vos r\`egles, et que
+exemple qui r\'ev\`ele que "deny" fait defaut \`a vos r\`egles, et que
 l'option twist a \'et\'e invoqu\'ee. 
 
 \footnotesize
@@ -196,7 +240,7 @@ access: delegated
 \index[general]{Executer Bacula sans \^etre root }
 \addcontentsline{toc}{subsection}{Executer Bacula sans \^etre root}
 
-Un conseil de s\'ecurit\'e de Dan Languille: 
+Voici quelques recommandations de Dan Languille :  
 
 C'est une bonne id\'ee d'ex\'ecuter vos {\it daemons} avec des  privil\`eges
 aussi faibles que possible. En d'autres termes,  si vous pouvez, n'ex\'ecutez