]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 510496: Recommend the admin to run mysql_secure_installation rather than playing...
authorlpsolit%gmail.com <>
Tue, 18 Aug 2009 11:05:24 +0000 (11:05 +0000)
committerlpsolit%gmail.com <>
Tue, 18 Aug 2009 11:05:24 +0000 (11:05 +0000)
docs/en/xml/glossary.xml
docs/en/xml/installation.xml
docs/en/xml/security.xml

index 5b6d1a6e7dc9e19e49ca8ffc3f23220e5c07e624..127b94038c151a448c8f11c87c1439d5768a2010 100644 (file)
           <varlistentry>
             <term><ulink url="http://www.mysql.com/doc/en/Privilege_system.html">Privilege System</ulink></term>
             <listitem>
-              <para>Much more detailed information about the suggestions in
-              <xref linkend="security-mysql"/>.
+              <para>Information about how to protect your MySQL server.
               </para>
             </listitem>
           </varlistentry>
index 5ac68aac53622eab55f0ae54f8b973c9cc36a058..ebca08ba8e61cc15a7e87d72ea2e7204cd8e59e1 100644 (file)
@@ -1,5 +1,5 @@
 <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"> -->
-<!-- $Id: installation.xml,v 1.157.2.10 2009/07/29 12:32:42 lpsolit%gmail.com Exp $ -->
+<!-- $Id: installation.xml,v 1.157.2.11 2009/08/18 11:05:24 lpsolit%gmail.com Exp $ -->
 <chapter id="installing-bugzilla">
   <title>Installing Bugzilla</title>
 
 
         <caution>
           <para>
-            MySQL's default configuration is very insecure.
-            <xref linkend="security-mysql"/> has some good information for
-            improving your installation's security.
+            MySQL's default configuration is insecure.
+            We highly recommend to run <filename>mysql_secure_installation</filename>
+            on Linux or the MySQL installer on Windows, and follow the instructions.
+            Important points to note are:
+            <orderedlist>
+              <listitem>
+                <para>Be sure that the root account has a secure password set.</para>
+              </listitem>
+              <listitem>
+                <para>Do not create an anonymous account, and if it exists, say "yes"
+                to remove it.</para>
+              </listitem>
+              <listitem>
+                <para>If your web server and MySQL server are on the same machine,
+                you should disable the network access.</para>
+              </listitem>
+            </orderedlist>
           </para>
         </caution>
  
           <title>Allow large attachments and many comments</title>
           
           <para>By default, MySQL will only allow you to insert things
-          into the database that are smaller than 64KB. Attachments
+          into the database that are smaller than 1MB. Attachments
           may be larger than this. Also, Bugzilla combines all comments
           on a single bug into one field for full-text searching, and the
-          combination of all comments on a single bug are very likely to
-          be larger than 64KB.</para>
+          combination of all comments on a single bug could in some cases
+          be larger than 1MB.</para>
           
           <para>To change MySQL's default, you need to edit your MySQL
           configuration file, which is usually <filename>/etc/my.cnf</filename>
index b6bd0bcc824e1cb93b18c1fb8623a32c71c3eb31..0462ba2da98879f78c5be8d7991560ac6d0ab254 100644 (file)
@@ -1,5 +1,5 @@
 <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"> -->
-<!-- $Id: security.xml,v 1.15 2008/04/04 06:48:22 mozilla%colinogilvie.co.uk Exp $ -->
+<!-- $Id: security.xml,v 1.18.2.1 2009/08/18 11:05:24 lpsolit%gmail.com Exp $ -->
 
 <chapter id="security">
 <title>Bugzilla Security</title>
@@ -57,7 +57,7 @@
     
       <note>
         <para>You will need to set the <option>webservergroup</option> option
-        in <filename>localconfig</filename> to the group your webserver runs
+        in <filename>localconfig</filename> to the group your web server runs
         as. This will allow <filename>./checksetup.pl</filename> to set file
         permissions on Unix systems so that nothing is world-writable.
         </para>
     </section>
   
   </section>
-  
-  
-  
-  <section id="security-mysql">
-  <title>MySQL</title>
-  
-    <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-privileged, 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>
-<prompt>bash$</prompt> mysql mysql
-<prompt>mysql&gt;</prompt> UPDATE user SET password = password('<replaceable>new_password</replaceable>') WHERE user = 'root';
-<prompt>mysql&gt;</prompt> FLUSH PRIVILEGES;
-        </screen>
-      </example>
-      
-      <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"/>
-<prompt>Enter Password:</prompt> <replaceable>new_password</replaceable>
-<prompt>mysql&gt;</prompt> DELETE FROM user WHERE user = '';
-<prompt>mysql&gt;</prompt> FLUSH PRIVILEGES;
-        </screen>
-        <calloutlist>
-          <callout arearefs="security-mysql-account-anonymous-mysql">
-            <para>This command assumes that you have already completed
-            <xref linkend="security-mysql-account-root"/>.
-            </para>
-          </callout>
-        </calloutlist>
-      </example>
-          
-    </section>
-    
-    <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 vulnerabilities in MySQL.
-      </para>
-      
-      <example id="security-mysql-network-ex">
-      <title>Disabling Networking in MySQL</title>
-      
-        <para>Simply enter the following in <filename>/etc/my.cnf</filename>:
-        <screen>
-[mysqld]
-# Prevent network access to MySQL.
-skip-networking
-        </screen>
-        </para>
-      </example>
-      
-    </section>
-
 
-<!-- For possible addition in the future: How to better control the bugs user
-    <section id="security-mysql-bugs">
-    <title>The bugs User</title>
-    
-    </section>
--->
-  
-  </section>
-  
-  
-  
   <section id="security-webserver">
-  <title>Webserver</title>
+  <title>Web server</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>
+        There are many files that are placed in the Bugzilla directory
+        area that should not be accessible from the web server. Because of the way
+        Bugzilla is currently layed out, the list of what should and should not
+        be accessible is rather complicated. A quick way is to run
+        <filename>testserver.pl</filename> to check if your web server serves
+        Bugzilla files as expected. If not, you may want to follow the few
+        steps below.
       </para>
       
       <tip>
@@ -296,52 +206,21 @@ skip-networking
       properly blocked. Of particular interest 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 
+      those should also not be accessible. 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.
+      To test, simply run <filename>testserver.pl</filename>, as said above.
       </para>
       
       <tip>
         <para>Be sure to check <xref linkend="http"/> for instructions
-        specific to the webserver you use.
+        specific to the web server you use.
         </para>
       </tip>
     
     </section>
 
-
-    <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>
-
       
   </section>