From b52e136da70b0ff318604a40764f5ec4cebd3480 Mon Sep 17 00:00:00 2001 From: Ludovic Strappazon Date: Fri, 7 Apr 2006 08:35:51 +0000 Subject: [PATCH] Mise a jour de security.tex. --- docs/manual-fr/images.tex | 57 ++++++++++-------- docs/manual-fr/postgresql.tex | 94 ++++++++++++++--------------- docs/manual-fr/requirements.tex | 81 ++++++------------------- docs/manual-fr/security.tex | 102 +++++++++++++++++++++++--------- 4 files changed, 168 insertions(+), 166 deletions(-) diff --git a/docs/manual-fr/images.tex b/docs/manual-fr/images.tex index 325c70c2..0cb67ded 100644 --- a/docs/manual-fr/images.tex +++ b/docs/manual-fr/images.tex @@ -85,7 +85,12 @@ \newcommand\lthtmlboxmathZ{\@next\next\@currlist{}{\def\next{\voidb@x}}% \expandafter\box\next\egroup}% \newcommand\lthtmlmathtype[1]{\gdef\lthtmlmathenv{#1}}% -\newcommand\lthtmllogmath{\lthtmltypeout{l2hSize % +\newcommand\lthtmllogmath{\dimen0\ht\sizebox \advance\dimen0\dp\sizebox + \ifdim\dimen0>.95\vsize + \lthtmltypeout{% +*** image for \lthtmlmathenv\space is too tall at \the\dimen0, reducing to .95 vsize ***}% + \ht\sizebox.95\vsize \dp\sizebox\z@ \fi + \lthtmltypeout{l2hSize % :\lthtmlmathenv:\the\ht\sizebox::\the\dp\sizebox::\the\wd\sizebox.\preveqno}}% \newcommand\lthtmlfigureA[1]{\let\@savefreelist\@freelist \lthtmlmathtype{#1}\lthtmlvboxmathA}% @@ -153,152 +158,152 @@ % !!! IMAGES START HERE !!! {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap27673}% +\lthtmlpictureA{tex2html_wrap27730}% \includegraphics{./bacula-logo.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap27680}% +\lthtmlpictureA{tex2html_wrap27737}% \includegraphics{./bacula-applications.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap27682}% +\lthtmlpictureA{tex2html_wrap27739}% \includegraphics{./bacula-objects.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap27688}% +\lthtmlpictureA{tex2html_wrap27745}% \includegraphics{./flow.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap27890}% +\lthtmlpictureA{tex2html_wrap27946}% \includegraphics{./Bacula-tray-monitor.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28025}% +\lthtmlpictureA{tex2html_wrap28081}% \includegraphics{./Conf-Diagram.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlfigureA{center28062}% +\lthtmlfigureA{center28118}% \begin{center}\vbox{\input{autochangerres} }\end{center}% \lthtmlfigureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28514}% +\lthtmlpictureA{tex2html_wrap28570}% \includegraphics{./win32-nsis.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28515}% +\lthtmlpictureA{tex2html_wrap28571}% \includegraphics{./win32-welcome.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28516}% +\lthtmlpictureA{tex2html_wrap28572}% \includegraphics{./win32-pkg.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28517}% +\lthtmlpictureA{tex2html_wrap28573}% \includegraphics{./win32-location.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28518}% +\lthtmlpictureA{tex2html_wrap28574}% \includegraphics{./win32-service.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28519}% +\lthtmlpictureA{tex2html_wrap28575}% \includegraphics{./win32-service-ok.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28520}% +\lthtmlpictureA{tex2html_wrap28576}% \includegraphics{./win32-start.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28521}% +\lthtmlpictureA{tex2html_wrap28577}% \includegraphics{./win32-finish.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28522}% +\lthtmlpictureA{tex2html_wrap28578}% \includegraphics{./idle.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28523}% +\lthtmlpictureA{tex2html_wrap28579}% \includegraphics{./tray-icon.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28524}% +\lthtmlpictureA{tex2html_wrap28580}% \includegraphics{./menu.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28525}% +\lthtmlpictureA{tex2html_wrap28581}% \includegraphics{./running.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28526}% +\lthtmlpictureA{tex2html_wrap28582}% \includegraphics{./error.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28607}% +\lthtmlpictureA{tex2html_wrap28663}% \includegraphics{./access-is-denied.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28608}% +\lthtmlpictureA{tex2html_wrap28664}% \includegraphics{./view-only.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28609}% +\lthtmlpictureA{tex2html_wrap28665}% \includegraphics{./properties-security.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28610}% +\lthtmlpictureA{tex2html_wrap28666}% \includegraphics{./properties-security-advanced-owner.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} {\newpage\clearpage -\lthtmlpictureA{tex2html_wrap28611}% +\lthtmlpictureA{tex2html_wrap28667}% \includegraphics{./confirm.eps}% \lthtmlpictureZ \lthtmlcheckvsize\clearpage} diff --git a/docs/manual-fr/postgresql.tex b/docs/manual-fr/postgresql.tex index 5e1d254a..3ba62a04 100644 --- a/docs/manual-fr/postgresql.tex +++ b/docs/manual-fr/postgresql.tex @@ -90,12 +90,12 @@ s'agit de pgsql. NDT: sur debian il s'agit de postgres) \item ./create\_bacula\_database - Ce script créé le catalogue {\bf bacula} PostgreSQL. S'il échoue, + Ce script cr\'e\'e le catalogue {\bf bacula} PostgreSQL. S'il \'echoue, c'est probablement que vous n'avez pas les droits requis sur la - base de données. Sur la plupart des systèmes, le propriétaire de - la base de données est {\bf pgsql}, et sur d'autres tels que RedHat ou - Fedora, c'est {\bf postgres}. Vous pouvez déterminer lequel en examinant - le fichier /etc/passwd. Pour créer un nouvel utilisateur avec votre nom + base de donn\'ees. Sur la plupart des syst\`emes, le propri\'etaire de + la base de donn\'ees est {\bf pgsql}, et sur d'autres tels que RedHat ou + Fedora, c'est {\bf postgres}. Vous pouvez d\'eterminer lequel en examinant + le fichier /etc/passwd. Pour cr\'eer un nouvel utilisateur avec votre nom ou le nom {\bf bacula}, vous pouvez faire ce qui suit : \begin{verbatim} @@ -106,13 +106,13 @@ s'agit de pgsql. NDT: sur debian il s'agit de postgres) exit su pgsql (ou postgres) (entrez le nouveau mot de passe) - createuser kern (or peut-être bacula) + createuser kern (or peut-\^etre bacula) Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) (choisissez ce que vous voulez) exit \end{verbatim} - A ce stade, vous devriez pouvoir exécuter la commande ./create\_bacula\_database + A ce stade, vous devriez pouvoir ex\'ecuter la commande ./create\_bacula\_database \item ./make\_bacula\_tables @@ -142,8 +142,8 @@ repertoire_de_PostgreSQL/bin/psql --command \\dp bacula \end{verbatim} \normalsize -J'ai rencontré un problème de permissions avec le mot de passe. J'ai finalement -du modifier mon fichier {\bf pg_hba.conf} (situé dans /var/lib/pgsql/data sur ma +J'ai rencontr\'e un probl\`eme de permissions avec le mot de passe. J'ai finalement +du modifier mon fichier {\bf pg_hba.conf} (situ\'e dans /var/lib/pgsql/data sur ma machine) : \footnotesize @@ -155,12 +155,12 @@ vers \end{verbatim} \normalsize -Ceci a résolu le problème pour moi, mais ce n'est pas pas forcément une bonne -chose du point de vue de la sécurité, mais j'ai ainsi pu exécuter mes scripts de -régression sans mot de passe. +Ceci a r\'esolu le probl\`eme pour moi, mais ce n'est pas pas forc\'ement une bonne +chose du point de vue de la s\'ecurit\'e, mais j'ai ainsi pu ex\'ecuter mes scripts de +r\'egression sans mot de passe. -Un moyen plus sécurisé pour l'authentification auprès de la base de données -consiste à utiliser le hachage MD5 des mots de passe. Pour cela, édites les +Un moyen plus s\'ecuris\'e pour l'authentification aupr\`es de la base de donn\'ees +consiste \`a utiliser le hachage MD5 des mots de passe. Pour cela, \'editez les fichier {\bf pg_hba.conf}, et ajoutez ajoutez ce qui suit juste avant les lignes "local" et "host" existantes : @@ -170,13 +170,13 @@ fichier {\bf pg_hba.conf}, et ajoutez ajoutez ce qui suit juste avant les lignes \end{verbatim} \normalsize -Puis redémarrez le {\it daemon} Postgres (la plupart du temps, avec - "/etc/init.d/postgresql restart") pour activer cette nouvelle règle +Puis red\'emarrez le {\it daemon} Postgres (la plupart du temps, avec + "/etc/init.d/postgresql restart") pour activer cette nouvelle r\`egle d'authentification. Ensuite, en tant qu'administrateur Postgres (connectez-vous en tant qu'utilisateur postgres ou en utilisant {\bf su} pour devenir root, puis - {\bf su postgres}), ajoutez un mot de passe à la base de données bacula + {\bf su postgres}), ajoutez un mot de passe \`a la base de donn\'ees bacula pour l'utilisateur bacula avec les commandes suivantes : \footnotesize @@ -191,7 +191,7 @@ pour l'utilisateur bacula avec les commandes suivantes : Enfin, il vous faudra ajouter ce mot de passe en deux endroits du fichier bacula-dir.conf : au niveau de la ressource Catalog et au niveau de la directive RunBeforeJob de la ressource Job BackupCatalog. Avec les mots de -passe en place, ces deux lignes devraient ressembler à ceci : +passe en place, ces deux lignes devraient ressembler \`a ceci : \footnotesize \begin{verbatim} @@ -205,13 +205,13 @@ Naturellement, vous devriez choisir un meilleur mot de passe, et vous assurer que le fichier bacula-dir.conf qui contient ce mot de passe n'est lisible que par root. -Même avec ces restrictions, il reste un problème de sécurité avec cette approche : -sur certaines plateformes, la variable d'environnement utilisée pour soumettre le -mot de passe à Postgres est inévitablement disponible pour tout utilisateur -local du système. Pour supprimer ce problème, l'équipe Postgres a décrété -obsolète ce mécanisme de passage de mot de passe par variable d'environnement et -recommande d'utiliser un fichier .pgpass. Pour utiliser ce mécanisme, créez un fichier -nommé .pgpass vcontenant une simple ligne : +M\^eme avec ces restrictions, il reste un probl\`eme de s\'ecurit\'e avec cette approche : +sur certaines plateformes, la variable d'environnement utilis\'ee pour soumettre le +mot de passe \`a Postgres est in\'evitablement disponible pour tout utilisateur +local du syst\`eme. Pour supprimer ce probl\`eme, l'\'equipe Postgres a d\'ecr\'et\'e +obsol\`ete ce m\'ecanisme de passage de mot de passe par variable d'environnement et +recommande d'utiliser un fichier .pgpass. Pour utiliser ce m\'ecanisme, cr\'eez un fichier +nomm\'e .pgpass vcontenant une simple ligne : \footnotesize \begin{verbatim} @@ -219,12 +219,12 @@ nomm \end{verbatim} \normalsize -Ce fichier devrait être copié dans les répertoires personnels (NDT : home directories) -de tous les comptes susceptibles d'avoir besoin d'accéder à la base de données : +Ce fichier devrait \^etre copi\'e dans les r\'epertoires personnels (NDT : home directories) +de tous les comptes susceptibles d'avoir besoin d'acc\'eder \`a la base de donn\'ees : typiquement, il s'agit de root, bacula et tout utilisateur de la console Bacula. Les fichiers doivent appartenir aux utilisateur et groupe correspondant : root:root pour la copie -dans ~root, etc. Les permissions doivent être positionnées à 600 pour limiter -l'accès au propriétaire du fichier. +dans ~root, etc. Les permissions doivent \^etre positionn\'ees \`a 600 pour limiter +l'acc\`es au propri\'etaire du fichier. \subsection*{R\'einitialiser la base des catalogues (de sauvegardes)} \index[general]{R\'einitialiser la base des catalogues (de sauvegardes) } @@ -269,8 +269,8 @@ lecteur de sauvegarde. \index[general]{Installer PostgreSQL avec les RPMs} \addcontentsline{toc}{subsection}{Installer PostgreSQL avec les RPMs} Si vous installez PostgreSQL avec les RPMs, il vous faut installer les -binaires PostgreSQL ainsi que les librairies clientes. Ces dernières font -généralement partie de paquetages de développement, aussi vous devez installer : +binaires PostgreSQL ainsi que les librairies clientes. Ces derni\`eres font +g\'en\'eralement partie de paquetages de d\'eveloppement, aussi vous devez installer : \footnotesize \begin{verbatim} @@ -279,7 +279,7 @@ g \end{verbatim} \normalsize -Il en va de même avec la plupart des gestionnaires de paquetages. +Il en va de m\^eme avec la plupart des gestionnaires de paquetages. \subsection*{Migrer de MySQL \`a PostgreSQL} \index[general]{Migrer de MySQL \`a PostgreSQL } @@ -294,7 +294,7 @@ diff\'erents logiciels: \begin{itemize} \item Linux Mandrake 10/Kernel 2.4.22-10 SMP -\item Mysql Ver 12.21 Distrib 4.0.15, pour mandrake-linux-gnu (i586) +\item MySQL Ver 12.21 Distrib 4.0.15, pour mandrake-linux-gnu (i586) \item PostgreSQL 7.3.4 \item Bacula 1.34.5 \end{itemize} @@ -304,7 +304,7 @@ syst\`emes avant de proc\'eder \`a cette migration. \begin{enumerate} \item Arr\^etez bacula (cd /etc/bacula;./bacula stop) -\item Lancez la commande pour extraire les donn\'ees de votre base Mysql: +\item Lancez la commande pour extraire les donn\'ees de votre base MySQL: \footnotesize \begin{verbatim} @@ -317,16 +317,16 @@ syst\`emes avant de proc\'eder \`a cette migration. \item Faites une sauvegarde de votre r\'epertoire /etc/bacula (mais laisser l'original en place ). \item Allez dans le r\'epertoire source de {\bf Bacula} et reconstruisez le en - incluant le support PostgreSQL au lieu de celui de Mysql . V\'erifiez que le + incluant le support PostgreSQL au lieu de celui de MySQL . V\'erifiez que le fichier config.log de votre configuration originale et remplacez enable-mysql par enable-postgresql. \item Recompilez Bacula avec la commande make et si tout se passe correctement - lancez un ``make install''. -\item Arr\^etez Mysql. + lancez un "make install". +\item Arr\^etez MySQL. \item Lancez PostgreSQL sur votre syst\`eme. \item Cr\'eez un utilisateur {\bf Bacula} dans Postgres avec la commande - ``createuser''. En fonction de votre installation, vous serez peut \^etre - amen\'e \`a faire un ``su'' vers l'utilisateur ad\'equat (NDT: su postgres). + "createuser". En fonction de votre installation, vous serez peut \^etre + amen\'e \`a faire un "su" vers l'utilisateur ad\'equat (NDT: su postgres). \item Verifiez que le fichier pg\_hba.conf (NdT sur Debian: /etc/postgres/pg\_hba.conf) contient les permissions ad\'equates pour permettre \`a {\bf Bacula} d'acc\'eder au serveur. Le mien contient les @@ -421,15 +421,15 @@ SELECT SETVAL('pool_poolid_seq', (SELECT MAX(poolid) FROM pool)); faites un test pour valider que tout s'est bien d\'eroul\'e. \end{enumerate} -\subsection*{Mettre à jour PostgreSQL} -\index[general]{Mettre à jour PostgreSQL } -\index[general]{Mettre à jour!PostgreSQL } -\addcontentsline{toc}{subsection}{Mettre à jour PostgreSQL} -Si vous mettez PosgreSQL à jour, vous devez reconfigurer, recompiler et -réinstaller Bacula, faute de quoi vous constaterez probalement des -erreurs étranges. +\subsection*{Mettre \`a jour PostgreSQL} +\index[general]{Mettre \`a jour PostgreSQL } +\index[general]{Mettre \`a jour!PostgreSQL } +\addcontentsline{toc}{subsection}{Mettre \`a jour PostgreSQL} +Si vous mettez PosgreSQL \`a jour, vous devez reconfigurer, recompiler et +r\'einstaller Bacula, faute de quoi vous constaterez probalement des +erreurs \'etranges. Pour cela, il vous faut installer le RPM source, modifier le fichier bacula.spec -pour l'accorder à votre version de PostgreSQL, reconstruire le RPM et l'installer. +pour l'accorder \`a votre version de PostgreSQL, reconstruire le RPM et l'installer. If you upgrade PostgreSQL, you must reconfigure, rebuild, and re-install Bacula otherwise you are likely to get bizarre failures. If you diff --git a/docs/manual-fr/requirements.tex b/docs/manual-fr/requirements.tex index 4ee31dac..f9aaf63f 100644 --- a/docs/manual-fr/requirements.tex +++ b/docs/manual-fr/requirements.tex @@ -1,26 +1,18 @@ %% %% -\section*{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a -Bacula} +\section*{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a Bacula} \label{_ChapterStart51} -\index[general]{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a -Bacula } -\index[general]{Bacula!Caract\'eristiques syst\`eme g\'en\'erales -indispensables \`a } -\addcontentsline{toc}{section}{Caract\'eristiques syst\`eme g\'en\'erales -indispensables \`a Bacula} +\index[general]{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a Bacula } +\index[general]{Bacula!Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a } +\addcontentsline{toc}{section}{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a Bacula} \label{SysReqs} -\subsection*{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a -Bacula} -\index[general]{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a -Bacula } -\index[general]{Bacula!Caract\'eristiques syst\`eme g\'en\'erales -indispensables \`a } -\addcontentsline{toc}{subsection}{Caract\'eristiques syst\`eme g\'en\'erales -indispensables \`a Bacula} +\subsection*{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a Bacula} +\index[general]{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a Bacula } +\index[general]{Bacula!Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a } +\addcontentsline{toc}{subsection}{Caract\'eristiques syst\`eme g\'en\'erales indispensables \`a Bacula} \begin{itemize} \item {\bf Bacula} a \'et\'e compil\'e et ex\'ecut\'e sur les syst\`emes @@ -32,7 +24,7 @@ RH8.0/RH9/RHEL 3.0 avec GCC 3.2. Note, en g\'en\'eral GNU C++ est un paquet s\'epar\'e (e.g. RPM) de GNU C, et vous devrez avoir les deux. Sur les syst\`emes RedHat, le compilateur C++ fait partie du paquet RPM {\bf gcc-c++}. -\item Certains paquets tierce partie sont n\'ecessaires \`a {\bf Bacula}. +\item Certains paquets tiers sont n\'ecessaires \`a {\bf Bacula}. Except\'e pour MySQL et PostgreSQL, ils peuvent tous \^etre trouv\'es dans les distributions {\bf depkgs} et {\bf depkgs1}. \item Si vous voulez construire les binaires Win32, vous aurez besoin du @@ -60,52 +52,13 @@ FreeDesktop. \item Si vous voulez permettre l'\'edition en ligne de commande et l'historique, il vous faudra /usr/include/termcap.h et l'une des biblioth\`eques termcap ou ncurses charg\'ee (libtermcap-devel ou -ncurses-devel). -\end{itemize} - -\subsection*{Syst\`emes d'exploitation support\'es} -\label{SupportedOSes1} -\index[general]{Syst\`emes d'exploitation support\'es } -\addcontentsline{toc}{subsection}{Syst\`emes d'exploitation support\'es} +ncurses-devel). +\item Si vous voulez utiliser des DVD en guise de media de sauvegarde, vous devrez + télécharger les \elink{dvd+rw-tools 5.21.4.10.8}{http://fy.chalmers.se/~appro/linux/DVD+RW/}, + appliquer le \elink{patch}{http://cvs.sourceforge.net/viewcvs.py/*checkout*/bacula/bacula/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch} + pour rendre ces outils compatibles avec Bacula, puis les compiler et installer. + N'utilisez pas les dvd+rw-tools fournis par votre distribution, ils ne + fonctionneront pas avec Bacula. -\begin{itemize} -\item Syst\`emes Linux (compil\'e et test\'e sur RedHat Enterprise Linux - 3.0). -\item Si vous avez un syst\`eme Red Hat r\'ecent ex\'ecutant le noyau 2.4.x - et si vous avez le r\'epertoire {\bf /lib/tls} install\'e sur votre - syst\`eme (par d\'efaut normalement), {\bf Bacula ne fonctionnera pas -correctement} Ceci est d\^u \`a la nouvelle biblioth\`eque pthreads qui est -d\'efectueuse. Vous devez supprimer ce r\'epertoire avant d'ex\'ecuter -Bacula, ou vous pouvez simplement le renommer en {\bf /lib/tls-broken} puis -red\'emarrer votre machine (une des rares occasions o\`u; Linux doit \^etre -red\'emarr\'e). Si vous ne souhaitez pas d\'eplacer/renommer /lib/tls, une -autre alternative est de placer la variable d'environnement -``LD\_ASSUME\_KERNEL=2.4.19'' avant d'ex\'ecuter Bacula. Pour cette option, -vous n'avez pas besoin de red\'emarrer, et tous les programmes autres que -{\bf Bacula} continueront d'utiliser {\bf /lib/tls}. +\end{itemize} -Les retours que nous avons des noyaux 2.6 indiquents que le probl\`eme -subsiste. Cependant, sur les syst\`emes utilisant un noyau 2.6, nous -recommanderions plut\^ot d'utiliser la variable d'environnement (the variable -environment override) (LD\_ASSUME\_KERNEL=2.4.19) plut\^ot que la suppression -de /lib/tls. -\item La plupart des distributions Linux (Gentoo, SUSE, Mandriva, Debian, - ...). -\item Diff\'erentes versions de Solaris. -\item FreeBSD (pilote de bande support\'e \`a partir de la version 1.30 -- - allez voir les consid\'erations {\bf importantes} dans la section - \ilink{Configuration des lecteurs de bandes sur -FreeBSD}{FreeBSDTapes} du chapitre Test des Bandes de ce -manuel.) -\item Windows (Win98/Me, WinNT/2K/XP) clients binaires ({\bf File Daemon}). -\item MacOS X/Darwin (voir - \elink{ http://fink.sourceforge.net/}{http://fink.sourceforge.net/} pour - obtenir les paquets) -\item OpenBSD Client ({\bf File Daemon}). -\item Irix Client ({\bf File Daemon}). -\item Tru64 -\item {\bf Bacula} est r\'eput\'e fonctionner sur d'autres syst\`emes (AIX, - BSDI, HPUX, ...) mais nous ne les avons pas test\'es. -\item Voir le chapitre de Portage de la Documentation Pour D\'eveloppeurs pour - les informations concernant le portage sur d'autres syst\`emes. - \end{itemize} diff --git a/docs/manual-fr/security.tex b/docs/manual-fr/security.tex index 990697ae..1b3caabf 100644 --- a/docs/manual-fr/security.tex +++ b/docs/manual-fr/security.tex @@ -8,25 +8,31 @@ \addcontentsline{toc}{section}{Consid\'erations sur la s\'ecurit\'e de Bacula} \begin{itemize} +\item La sécurité, 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écutez pas le Storage Daemon en tant que root, il sera + dans l'incapacité de régler automatiquement les paramètres de votre lecteur + de bandes. En effet, ces fonctions requièrent les droits root sur la plupart + des systèmes 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éfaut, et si l'accès à votre catalogue est protégé par un mot de passe, + ce dernier est transmis en tant qu'option de ligne de commande à ce script, + ce qui le rend visible à tout utilisateur du système. Si vous voulez + sécuriser ce point, vous devez le passer via une variable d'environnement + ou un fichier sécurisé. \end{itemize} +\subsection*{Compatibilité ascendante} +\index[general]{Compatibilité ascendante} +\addcontentsline{toc}{subsection}{Compatibilité ascendante} +L'un des principaux objectifs de Bacula est de garantir que vous pouvez +restaurer depuis des cartouches (ou depuis des volumes disque) écrites des années +auparavant. Ceci implique que chaque nouvelle version de Bacula devrait être +capable de relire les anciens formats de cartouches. Le premier problème est de +s'assurer que le matériel fonctionne encore malgré les années, et que les supports +sont encore valides. Ensuite, votre système d'exploitation doit être capable +de s'interfacer avec le périphérique et finalement, Bacula doit être capable +de reconnaître les anciens formats. De tous ces problèmes, nous ne pouvons +prendre en charge que le dernier, pour les autres, vous devez vous préparer +consciencieusement. + +Depuis les tous premiers stades de Bacula (janvier 2000) jusqu'à aujourd'hui +(Décembre 2005), Bacula a connu deux formats majeurs d'écriture sur les +cartouches. Le second format a été introduit dans la version 1.27 en +novembre 2002, et n'a pas changé depuis. En principe, Bacula devrait encore pouvoir +lire le format d'origine, mais j'avoue ne pas avoir essayé depuis longtemps... + +Bien que le format des cartouches soit fixé, les types de données qui peuvent être +écrites sur les cartouches sont extensibles, ce qui nous a permis d'ajouter de +nouvelles fonctionnalités telles que les ACLs, les données Win32, les données +chiffrées... Naturellement, une ancienne version de Bacula ne saurait lire des +nouveaux flux de données, mais chaque nouvelle version de Bacula est en principe +capable de lire les anciens flux. + +Si vous voulez être 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ée de chaque version de Bacula que vous +avez utilisée en production. Ainsi, si pour quelque raison nous venions à +abandonner la compatibilité 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 -- 2.39.5