From: Emmanuel S. <se...@us...> - 2005-08-20 10:05:55
|
Update of /cvsroot/bugzilla-fr/docs/xml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2365 Modified Files: Tag: BUGZILLA-2_18-BRANCH security.xml Log Message: traduction de security.xml Index: security.xml =================================================================== RCS file: /cvsroot/bugzilla-fr/docs/xml/security.xml,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** security.xml 22 Jul 2005 21:08:41 -0000 1.1.1.1 --- security.xml 20 Aug 2005 10:05:44 -0000 1.1.1.1.2.1 *************** *** 3,37 **** <chapter id="security"> ! <title>Bugzilla Security</title> ! <para>While some of the items in this chapter are related to the operating ! system Bugzilla is running on or some of the support software required to ! run Bugzilla, it is all related to protecting your data. This is not ! intended to be a comprehensive guide to securing Linux, Apache, MySQL, or ! any other piece of software mentioned. There is no substitute for active ! administration and monitoring of a machine. The key to good security is ! actually right in the middle of the word: <emphasis>U R It</emphasis>. </para> ! <para>While programmers in general always strive to write secure code, ! accidents can and do happen. The best approach to security is to always ! assume that the program you are working with isn't 100% secure and restrict ! its access to other parts of your machine as much as possible. </para> <section id="security-os"> ! <title>Operating System</title> <section id="security-os-ports"> ! <title>TCP/IP Ports</title> <!-- TODO: Get exact number of ports --> ! <para>The TCP/IP standard defines more than 65,000 ports for sending ! and receiving traffic. Of those, Bugzilla needs exactly one to operate ! (different configurations and options may require up to 3). You should ! audit your server and make sure that you aren't listening on any ports ! you don't need to be. It's also highly recommended that the server ! Bugzilla resides on, along with any other machines you administer, be ! placed behind some kind of firewall. </para> --- 3,37 ---- <chapter id="security"> ! <title>Sécurité de Bugzilla</title> ! <para>Bien que certains éléments de ce chapitre soient relatifs au système ! d'exploitation pour lequel Buzilla fonctionne ou aux logiciels nécessaires à ! l'exécution de Bugzilla, tout est en rapport avec la protection de vos données. Ceci ne ! prétend pas être un guide complet pour sécuriser Linux, Apache, MySQL ou ! tout autre logiciel mentionné. Rien ne remplace une administration ! dynamique et la surveillance d'une machine. L'élément essentiel pour une bonne ! sécurité, vous la connaissez parfaitement : <emphasis>c vous</emphasis>. </para> ! <para>Bien qu'en général les programmeurs s'efforcent d'écrire du code sécurisé, ! les accidents sont toujours possibles, et ils se produisent. La meilleure approche pour la sécurité ! est de toujours supposer que le programme sur lequel vous êtes en train de travailler n'est pas sécurisé ! à 100% et de restreindre son accès aux autres parties de votre machine autant que possible. </para> <section id="security-os"> ! <title>Le système d'exploitation</title> <section id="security-os-ports"> ! <title>Ports TCP/IP</title> <!-- TODO: Get exact number of ports --> ! <para>La norme TCP/IP établit plus de 65000 ports pour le trafic entrant ! et sortant. Parmi ceux-là , Bugzilla en a besoin précisément d'un pour fonctionner ! (selon les configurations et les options, on pourra en avoir besoin de 2, voire 3). Il faut ! vérifier votre serveur et vous assurer quâil nâest pas à lâécoute sur des ports dont ! vous nâavez pas besoin. Il est également fortement recommandé que le serveur sur ! lequel se trouve Bugzilla, ainsi que toute autre machine que vous administrez, soit ! placé derrière quelque chose du genre coupe-feu. </para> *************** *** 39,64 **** <section id="security-os-accounts"> ! <title>System User Accounts</title> ! <para>Many <glossterm linkend="gloss-daemon">daemons</glossterm>, such ! as Apache's <filename>httpd</filename> or MySQL's ! <filename>mysqld</filename>, run as either <quote>root</quote> or ! <quote>nobody</quote>. This is even worse on Windows machines where the ! majority of <glossterm linkend="gloss-service">services</glossterm> ! run as <quote>SYSTEM</quote>. While running as <quote>root</quote> or ! <quote>SYSTEM</quote> introduces obvious security concerns, the ! problems introduced by running everything as <quote>nobody</quote> may ! not be so obvious. Basically, if you run every daemon as ! <quote>nobody</quote> and one of them gets comprimised it can ! comprimise every other daemon running as <quote>nobody</quote> on your ! machine. For this reason, it is recommended that you create a user ! account for each daemon. </para> <note> ! <para>You will need to set the <option>webservergroup</option> option ! in <filename>localconfig</filename> to the group your webserver runs ! as. This will allow <filename>./checksetup.pl</filename> to set file ! permissions on Unix systems so that nothing is world-writable. </para> </note> --- 39,64 ---- <section id="security-os-accounts"> ! <title>Comptes utilisateur du système</title> ! <para>Beaucoup de <glossterm linkend="gloss-daemon">démons</glossterm> tels ! que le <filename>httpd</filename> d'Apache ou le ! <filename>mysqld</filename> de MySQL s'exécutent aussi bien en tant que <quote>root</quote> ! quâen tant que <quote>nobody</quote>. C'est encore pire sur les machines Windows où la ! majorité des <glossterm linkend="gloss-service">services</glossterm> ! sont exécutés en tant que <quote>SYSTEME</quote>. Bien que l'exécution en tant que <quote>root</quote> ou ! <quote>SYSTEM</quote> présente des problèmes de sécurité évidents, les ! problèmes que présente l'exécution de tout en tant que <quote>nobody</quote> peuvent ! ne pas être si évidents. En gros, si vous exécutez tous les démons en tant que ! <quote>nobody</quote> et que l'un d'entre eux se trouve compromis, il peut ! compromettre tous les autres démons exécutés en tant que <quote>nobody</quote>sur votre ! machine. Pour cette raison, il est conseillé de créer un compte ! utilisateur pour chaque démon. </para> <note> ! <para>Il vous faudra configurer l'option <option>webservergroup</option> ! dans <filename>localconfig</filename> pour le groupe dans lequel votre serveur Web ! s'exécute. Cela premettra à <filename>./checksetup.pl</filename> de configurer les ! permissions des fichiers sur les systèmes Unix de manière à ce que rien ne soit en écriture libre. </para> </note> *************** *** 67,78 **** <section id="security-os-chroot"> ! <title>The <filename>chroot</filename> Jail</title> ! <para>If your system supports it, you may wish to consider running ! Bugzilla inside of a <filename>chroot</filename> jail. This option ! provides unpresidented security by restricting anything running ! inside the jail from accessing any information outside of it. If you ! wish to use this option, please consult the documentation that came ! with your system. </para> --- 67,78 ---- <section id="security-os-chroot"> ! <title>Environnement d'exécution fermé</title> ! <para>Si votre système le supporte, vous souhaitez peut être exécuter ! Bugzilla à l'intérieur d'un environnement d'exécution fermé <filename>chroot</filename>. Cette option ! fournit une sécurité sans précédent en interdisant à tout ce qui s'exécute dans cet environnement ! d'exécution fermé d'accéder à toute information lui étant extérieure. Si vous ! souhaitez utiliser cette option, veuillez consulter la documentation livrée ! avec votre système. </para> *************** *** 87,110 **** <section id="security-mysql-account"> ! <title>The MySQL System Account</title> ! <para>As mentioned in <xref linkend="security-os-accounts"/>, the MySQL ! daemon should run as a non-privleged, unique user. Be sure to consult ! the MySQL documentation or the documentation that came with your system ! for instructions. </para> </section> <section id="security-mysql-root"> ! <title>The MySQL <quote>root</quote> and <quote>anonymous</quote> Users</title> ! <para>By default, MySQL comes with a <quote>root</quote> user with a ! blank password and an <quote>anonymous</quote> user, also with a blank ! password. In order to protect your data, the <quote>root</quote> user ! should be given a password and the anonymous user should be disabled. </para> <example id="security-mysql-account-root"> ! <title>Assigning the MySQL <quote>root</quote> User a Password</title> <screen> --- 87,110 ---- <section id="security-mysql-account"> ! <title>Les comptes Système MySQL</title> ! <para>Comme mentionné dans <xref linkend="security-os-accounts"/>, le démon ! MySQL devrait s'exécuter comme utilisateur unique non privilégié. Ne manquez pas de consulterr ! les instructions de la documentation MySQL ou de la documentation livrée ! avec votre système. </para> </section> <section id="security-mysql-root"> ! <title>Le super utilisateur et l'utilisateur anonyme de MySQL</title> ! <para>Par défaut, MySQL est fourni avec un utilisateur <quote>root</quote> dont le ! mot de passe est vide et avec un utilisateur <quote>anonymous</quote>, dont le mot de ! passe est également vide. Afin de protéger vos données, il faut demander un mot de ! passe à l'utilisateur <quote>root</quote> et l'utilisateur anonyme doit être désactivé. </para> <example id="security-mysql-account-root"> ! <title>Affecter un mot de passe à l'utilisateur <quote>root</quote> de MySQL</title> <screen> *************** *** 116,120 **** <example id="security-mysql-account-anonymous"> ! <title>Disabling the MySQL <quote>anonymous</quote> User</title> <screen> <prompt>bash$</prompt> mysql -u root -p mysql <co id="security-mysql-account-anonymous-mysql"/> --- 116,120 ---- <example id="security-mysql-account-anonymous"> ! <title>Désactiver l'utilisateur <quote>anonymous</quote> de MySQL</title> <screen> <prompt>bash$</prompt> mysql -u root -p mysql <co id="security-mysql-account-anonymous-mysql"/> *************** *** 125,129 **** <calloutlist> <callout arearefs="security-mysql-account-anonymous-mysql"> ! <para>This command assumes that you have already completed <xref linkend="security-mysql-account-root"/>. </para> --- 125,129 ---- <calloutlist> <callout arearefs="security-mysql-account-anonymous-mysql"> ! <para>Cette commande suppose que vous avez déjà effectué <xref linkend="security-mysql-account-root"/>. </para> *************** *** 135,151 **** <section id="security-mysql-network"> ! <title>Network Access</title> ! <para>If MySQL and your webserver both run on the same machine and you ! have no other reason to access MySQL remotely, then you should disable ! the network access. This, along with the suggestion in ! <xref linkend="security-os-ports"/>, will help protect your system from ! any remote vulnerabilites in MySQL. </para> <example id="security-mysql-network-ex"> ! <title>Disabling Networking in MySQL</title> ! <para>Simply enter the following in <filename>/etc/my.conf</filename>: <screen> [myslqd] --- 135,151 ---- <section id="security-mysql-network"> ! <title>Accès au réseau</title> ! <para>Si MySQL et votre serveur Web fonctionnent tous les deux sur la même machine et que ! vous n'avez pas d'autres raisons d'accéder à MySQL à distance, vous devriez désactiver ! l'accès au réseau. Cela, ainsi que ce qui est proposé dans ! <xref linkend="security-os-ports"/>, vous permettra de protéger votre système de ! toutes vulnérabilités à distance de MySQL. </para> <example id="security-mysql-network-ex"> ! <title>Désactiver la gestion du réseau dans MySQL</title> ! <para>Tapez simplement ce qui suit dans <filename>/etc/my.conf</filename>: <screen> [myslqd] *************** *** 171,195 **** <section id="security-webserver"> ! <title>Webserver</title> <section id="security-webserver-access"> ! <title>Disabling Remote Access to Bugzilla Configuration Files</title> ! <para>There are many files that are placed in the Bugzilla directory ! area that should not be accessable from the web. Because of the way ! Bugzilla is currently layed out, the list of what should and should not ! be accessible is rather complicated. A new installation method is ! currently in the works which should solve this by allowing files that ! shouldn't be accessible from the web to be placed in a directory outside ! the webroot. See ! <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=44659">bug 44659</ulink> ! for more information. </para> <tip> ! <para>Bugzilla ships with the ability to create ! <glossterm linkend="gloss-htaccess"><filename>.htaccess</filename></glossterm> ! files that enforce these rules. Instructions for enabling these ! directives in Apache can be found in <xref linkend="http-apache"/> </para> </tip> --- 171,195 ---- <section id="security-webserver"> ! <title>Serveur Web</title> <section id="security-webserver-access"> ! <title>Désactivation des accès à distance pour les fichiers de configuration Bugzilla</title> ! <para>Il y a beaucoup de fichiers placés dans la zone du répertoire Bugzilla ! qui ne doivent pas être accessibles depuis le web. A cause de la présentation ! actuelle de Bugzilla, la liste de ceux qui doivent être accessibles ou ! pas est plutôt compliquée. Une nouvelle méthode d'installation est ! actuellement en cours de réalisation; elle devrait résoudre cela en autorisant les fichiers qui ! ne doivent pas être accessibles depuis le web à être placés dans un répertoire à l'extérieur ! de la racine internet. Voir ! <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=44659">le bogue 44659</ulink> ! pour plus d'informations. </para> <tip> ! <para>A l'état brut, Bugzilla a la capacité de créer ! des fichiers <glossterm linkend="gloss-htaccess"><filename>.htaccess</filename></glossterm> ! qui imposent ces règles. Les instructions pour activer ces ! directives dans Apache sont disponibles dans <xref linkend="http-apache"/>. </para> </tip> *************** *** 197,204 **** <itemizedlist spacing="compact"> <listitem> ! <para>In the main Bugzilla directory, you should:</para> <itemizedlist spacing="compact"> <listitem> ! <para>Block: <simplelist type="inline"> <member><filename>*.pl</filename></member> --- 197,204 ---- <itemizedlist spacing="compact"> <listitem> ! <para>Dans le répertoire principal de Bugzilla, il faut :</para> <itemizedlist spacing="compact"> <listitem> ! <para>bloquer : <simplelist type="inline"> <member><filename>*.pl</filename></member> *************** *** 209,213 **** </listitem> <listitem> ! <para>But allow: <simplelist type="inline"> <member><filename>localconfig.js</filename></member> --- 209,213 ---- </listitem> <listitem> ! <para>Mais autoriser : <simplelist type="inline"> <member><filename>localconfig.js</filename></member> *************** *** 220,230 **** <listitem> ! <para>In <filename class="directory">data</filename>:</para> <itemizedlist spacing="compact"> <listitem> ! <para>Block everything</para> </listitem> <listitem> ! <para>But allow: <simplelist type="inline"> <member><filename>duplicates.rdf</filename></member> --- 220,230 ---- <listitem> ! <para>Dans <filename class="directory">data</filename>:</para> <itemizedlist spacing="compact"> <listitem> ! <para>bloquer tout</para> </listitem> <listitem> ! <para>mais autoriser : <simplelist type="inline"> <member><filename>duplicates.rdf</filename></member> *************** *** 236,264 **** <listitem> ! <para>In <filename class="directory">data/webdot</filename>:</para> <itemizedlist spacing="compact"> <listitem> ! <para>If you use a remote webdot server:</para> <itemizedlist spacing="compact"> <listitem> ! <para>Block everything</para> </listitem> <listitem> ! <para>But allow <simplelist type="inline"> <member><filename>*.dot</filename></member> </simplelist> ! only for the remote webdot server</para> </listitem> </itemizedlist> </listitem> <listitem> ! <para>Otherwise, if you use a local GraphViz:</para> <itemizedlist spacing="compact"> <listitem> ! <para>Block everything</para> </listitem> <listitem> ! <para>But allow: <simplelist type="inline"> <member><filename>*.png</filename></member> --- 236,264 ---- <listitem> ! <para>Dans <filename class="directory">data/webdot</filename>:</para> <itemizedlist spacing="compact"> <listitem> ! <para>si vous utilisez un serveur distant webdot :</para> <itemizedlist spacing="compact"> <listitem> ! <para>bloquer tout</para> </listitem> <listitem> ! <para>mais autoriser <simplelist type="inline"> <member><filename>*.dot</filename></member> </simplelist> ! seulement pour le serveur webdot distant</para> </listitem> </itemizedlist> </listitem> <listitem> ! <para>autrement, si vous utilisez un Graph Viz local :</para> <itemizedlist spacing="compact"> <listitem> ! <para>bloquer tout</para> </listitem> <listitem> ! <para>mais autoriser : <simplelist type="inline"> <member><filename>*.png</filename></member> *************** *** 272,279 **** </listitem> <listitem> ! <para>And if you don't use any dot:</para> <itemizedlist spacing="compact"> <listitem> ! <para>Block everything</para> </listitem> </itemizedlist> --- 272,279 ---- </listitem> <listitem> ! <para>et si vous n'utilisez aucun fichier dot :</para> <itemizedlist spacing="compact"> <listitem> ! <para>bloquer tout</para> </listitem> </itemizedlist> *************** *** 283,290 **** <listitem> ! <para>In <filename class="directory">Bugzilla</filename>:</para> <itemizedlist spacing="compact"> <listitem> ! <para>Block everything</para> </listitem> </itemizedlist> --- 283,290 ---- <listitem> ! <para>Dans <filename class="directory">Bugzilla</filename>:</para> <itemizedlist spacing="compact"> <listitem> ! <para>bloquer tout</para> </listitem> </itemizedlist> *************** *** 292,299 **** <listitem> ! <para>In <filename class="directory">template</filename>:</para> <itemizedlist spacing="compact"> <listitem> ! <para>Block everything</para> </listitem> </itemizedlist> --- 292,299 ---- <listitem> ! <para>Dans <filename class="directory">template</filename>:</para> <itemizedlist spacing="compact"> <listitem> ! <para>bloquer tout</para> </listitem> </itemizedlist> *************** *** 301,322 **** </itemizedlist> ! <para>Be sure to test that data that should not be accessed remotely is ! properly blocked. Of particular intrest is the localconfig file which ! contains your database password. Also, be aware that many editors ! create temporary and backup files in the working directory and that ! those should also not be accessable. For more information, see ! <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=186383">bug 186383</ulink> ! or ! <ulink url="http://online.securityfocus.com/bid/6501">Bugtraq ID 6501</ulink>. ! To test, simply point your web browser at the file; for example, to ! test mozilla.org's installation, we'd try to access ! <ulink url="http://bugzilla.mozilla.org/localconfig"/>. You should get ! a <quote><errorcode>403</errorcode> <errorname>Forbidden</errorname></quote> ! error. </para> <tip> ! <para>Be sure to check <xref linkend="http"/> for instructions ! specific to the webserver you use. </para> </tip> --- 301,322 ---- </itemizedlist> ! <para>Surtout faites bien un test pour voir si les données qui ne doivent pas être accessibles à distance sont ! correctement bloquées. Le fichier localconfig qui contient votre mot de passe de base de données ! est particulièrement intéressant ici. Sachez également que beaucoup d'éditeurs ! créent des fichiers temporaires et de restauration dans le répertoire de travail et que ! ceux-ci ne doivent également pas être accessibles. Pour plus d'informations, voyez ! <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=186383">le bogue 186383</ulink> ! ou ! <ulink url="http://online.securityfocus.com/bid/6501">le Bugtraq ID 6501</ulink>. ! Pour le test, précisez simplement à votre navigateur web où est le fichier; par exemple, pour ! tester une installation mozilla.org, on essaiera d'accéder à ! <ulink url="http://bugzilla.mozilla.org/localconfig"/>. ! Vous devriez obtenir une erreur ! <quote><errorcode>403</errorcode> <errorname>Forbidden</errorname></quote>. </para> <tip> ! <para>N'oubliez pas de consulter, dans <xref linkend="http"/>, les instructions ! spécifiques au serveur web que vous utilisez. </para> </tip> *************** *** 326,352 **** <section id="security-webserver-mod-throttle"> ! <title>Using <filename>mod_throttle</filename> to Prevent a DOS</title> <note> ! <para>This section only applies to people who have chosen the Apache ! webserver. It may be possible to do similar things with other ! webservers. Consult the documentation that came with your webserver ! to find out. </para> </note> ! <para>It is possible for a user, by mistake or on purpose, to access ! the database many times in a row which can result in very slow access ! speeds for other users (effectively, a ! <glossterm linkend="gloss-dos">DOS</glossterm> attack). If your ! Bugzilla installation is experiencing this problem, you may install ! the Apache module <filename>mod_throttle</filename> which can limit ! connections by IP address. You may download this module at ! <ulink url="http://www.snert.com/Software/mod_throttle/"/>. ! Follow the instructions to install into your Apache install. ! The command you need is ! <command>ThrottleClientIP</command>. See the <ulink url="http://www.snert.com/Software/mod_throttle/">documentation</ulink> ! for more information.</para> </section> --- 326,352 ---- <section id="security-webserver-mod-throttle"> ! <title>Utilisation de <filename>mod_throttle</filename> pour éviter un déni de service</title> <note> ! <para>Cette partie ne concerne que les gens qui ont choisi un serveur ! Apache. Il est peut-être possible de faire des choses similaires avec dâautres ! serveurs web. Consultez la documentation livrée avec votre serveur web ! pour voir si c'est le cas. </para> </note> ! <para>Il est possible pour un utilisateur, par erreur ou volontairement, dâaccéder ! plusieurs fois de suite à la base de données, ce qui peut engendrer des vitesses dâaccès ! très faibles pour les autres utilisateurs (en fait, c'est une attaque par ! <glossterm linkend="gloss-dos">DOS</glossterm>). Si votre ! installation Bugzilla rencontre ce problème, vous pouvez installer ! le module Apache <filename>mod_throttle</filename> qui est capable de limiter ! le nombre de connexions par adresse IP. Vous pouvez télécharger ce module à ! <ulink url="http://www.snert.com/Software/mod_throttle/" />. ! Suivez les instructions pour lâinsérer dans votre installation dâApache. ! La commande qu'il vous faut est ! <command>ThrottleClientIP</command>. Veuillez lire la <ulink url="http://www.snert.com/Software/mod_throttle/">documentation</ulink> ! du module pour plus dâinformations.</para> </section> *************** *** 359,384 **** <section id="security-bugzilla-charset"> ! <title>Prevent users injecting malicious Javascript</title> ! <para>It is possible for a Bugzilla user to take advantage of character ! set encoding ambiguities to inject HTML into Bugzilla comments. This ! could include malicious scripts. ! Due to internationalization concerns, we are unable to ! incorporate by default the code changes suggested by <ulink ! url="http://www.cert.org/tech_tips/malicious_code_mitigation.html#3">the ! CERT advisory</ulink> on this issue. ! If your installation is for an English speaking audience only, making the ! change in <xref linkend="security-bugzilla-charset-ex"/> will prevent ! this problem. </para> <example id="security-bugzilla-charset-ex"> ! <title>Forcing Bugzilla to output a charset</title> ! <para>Locate the following line in ! <filename>Bugzilla/CGI.pm</filename>: <programlisting>$self->charset('');</programlisting> ! and change it to: <programlisting>$self->charset('ISO-8859-1');</programlisting> </para> --- 359,383 ---- <section id="security-bugzilla-charset"> ! <title>Empêcher les utilisateurs d'introduire du Javascript malveillant</title> ! <para>Il est possible pour un utilisateur Bugzilla de profiter des ambiguïtés de codage ! du jeu de caractères pour injecter du HTML dans les commentaires Bugzilla. Celui-ci ! pourrait contenir des scripts malveillants. ! En raison de considérations liées à l'internationalisation, nous ne sommes pas en mesure ! d'intégrer par défaut les modifications de code proposées par <ulink ! url="http://www.cert.org/tech_tips/malicious_code_mitigation.html#3">les ! services d'assistance du CERT</ulink> sur cette question. ! Si votre installation est destinée uniquement à un public anglophone, vous éviterez ! ce problème en effectuant la modification de <xref linkend="security-bugzilla-charset-ex"/>. </para> <example id="security-bugzilla-charset-ex"> ! <title>Obliger Bugzilla à sortir un charset</title> ! <para>Trouvez la ligne suivante dans ! <filename>Bugzilla/CGI.pm</filename> : <programlisting>$self->charset('');</programlisting> ! et remplacez la par : <programlisting>$self->charset('ISO-8859-1');</programlisting> </para> |