From cf24e4288445591be2595c542fcc9d7e5e0330e0 Mon Sep 17 00:00:00 2001 From: "jake%bugzilla.org" <> Date: Sun, 16 Feb 2003 23:43:17 +0000 Subject: Recompiling the docs for the 2.17.4 development release. --- docs/html/Bugzilla-Guide.html | 2770 ++++++++++++++++---------------- docs/html/about.html | 8 +- docs/html/administration.html | 36 +- docs/html/cmdline.html | 4 +- docs/html/conventions.html | 6 +- docs/html/copyright.html | 6 +- docs/html/credits.html | 149 +- docs/html/cust-change-permissions.html | 4 +- docs/html/cust-templates.html | 12 +- docs/html/database.html | 4 +- docs/html/dbdoc.html | 8 +- docs/html/dbmodify.html | 4 +- docs/html/disclaimer.html | 4 +- docs/html/extraconfig.html | 188 +-- docs/html/faq.html | 282 ++-- docs/html/gfdl-0.html | 4 +- docs/html/gfdl-1.html | 4 +- docs/html/gfdl-10.html | 4 +- docs/html/gfdl-2.html | 4 +- docs/html/gfdl-3.html | 4 +- docs/html/gfdl-4.html | 4 +- docs/html/gfdl-5.html | 4 +- docs/html/gfdl-6.html | 4 +- docs/html/gfdl-7.html | 4 +- docs/html/gfdl-8.html | 4 +- docs/html/gfdl-9.html | 4 +- docs/html/gfdl-howto.html | 6 +- docs/html/gfdl.html | 6 +- docs/html/glossary.html | 107 +- docs/html/groups.html | 4 +- docs/html/hintsandtips.html | 8 +- docs/html/how.html | 4 +- docs/html/http.html | 103 +- docs/html/index.html | 16 +- docs/html/installation.html | 40 +- docs/html/integration.html | 4 +- docs/html/introduction.html | 4 +- docs/html/newversions.html | 6 +- docs/html/os-specific.html | 97 +- docs/html/parameters.html | 4 +- docs/html/patches.html | 4 +- docs/html/programadmin.html | 4 +- docs/html/rewrite.html | 4 +- docs/html/rhbugzilla.html | 170 -- docs/html/security.html | 710 +++++--- docs/html/stepbystep.html | 308 +--- docs/html/troubleshooting.html | 8 +- docs/html/upgrading.html | 4 +- docs/html/useradmin.html | 4 +- docs/html/userpreferences.html | 4 +- docs/html/using.html | 8 +- docs/html/variant-fenris.html | 10 +- docs/html/variant-issuezilla.html | 6 +- docs/html/variant-perforce.html | 4 +- docs/html/variant-redhat.html | 170 ++ docs/html/variant-scarab.html | 4 +- docs/html/variant-sourceforge.html | 4 +- docs/html/variants.html | 12 +- docs/html/voting.html | 4 +- docs/html/whatis.html | 4 +- docs/html/why.html | 4 +- docs/txt/Bugzilla-Guide.txt | 459 +++--- 62 files changed, 2959 insertions(+), 2888 deletions(-) delete mode 100644 docs/html/rhbugzilla.html create mode 100644 docs/html/variant-redhat.html (limited to 'docs') diff --git a/docs/html/Bugzilla-Guide.html b/docs/html/Bugzilla-Guide.html index c40121bc0..4c91b1051 100644 --- a/docs/html/Bugzilla-Guide.html +++ b/docs/html/Bugzilla-Guide.html @@ -1,7 +1,7 @@ The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development Release

Jacob Steenhagen

The Bugzilla Team

2.17.3 Development Release Edition

2003-01-02

2003-02-16

D.1. Red Hat Bugzilla
1.1. Copyright Information1.3. New Versions

This is the 2.17.3 version of The Bugzilla Guide. It is so named +> This is the 2.17.4 version of The Bugzilla Guide. It is so named to match the current version of Bugzilla. This version of the guide, like its associated Bugzilla version is a @@ -667,66 +667,115 @@ NAME="credits" contribution to the Bugzilla community:

Matthew P. Barnson - for the Herculaean task of pulling together the Bugzilla Guide and - shepherding it to 2.14. -

Matthew P. Barnson <mbarnson@sisna.com>

Terry Weissman - for initially writing Bugzilla and creating the - README upon which the UNIX installation documentation is largely based. -

for the Herculaean task of pulling together the Bugzilla Guide + and shepherding it to 2.14. +

Terry Weissman <terry@mozilla.org>

Tara Hernandez - for keeping Bugzilla development going - strong after Terry left mozilla.org -

for initially writing Bugzilla and creating the README upon + which the UNIX installation documentation is largely based. +

Tara Hernandez <tara@tequilarists.org>

Dave Lawrence - for providing insight into the key differences between Red Hat's - customized Bugzilla, and being largely responsible for the "Red - Hat Bugzilla" appendix -

for keeping Bugzilla development going strong after Terry left + mozilla.org and for running landfill. +

Dave Lawrence <dkl@redhat.com>

Dawn Endico for - being a hacker extraordinaire and putting up with my incessant - questions and arguments on irc.mozilla.org in #mozwebtools -

for providing insight into the key differences between Red + Hat's customized Bugzilla, and being largely responsible for + Section D.1. +

Dawn Endico <endico@mozilla.org>

for being a hacker extraordinaire and putting up with Matthew's + incessant questions and arguments on irc.mozilla.org in #mozwebtools +

Jacob Steenhagen <jake@bugzilla.org>

for taking over documentation during the 2.17 development + period. +

Last but not least, all the members of the netscape.public.mozilla.webtools newsgroup. Without your discussions, insight, suggestions, and patches, this could never have happened. +>news://news.mozilla.org/netscape/public/mozilla/webtools + newsgroup. Without your discussions, insight, suggestions, and patches, + this could never have happened.

Thanks also go to the following people for significant contributions - to this documentation (in no particular order): -

Zach Liption, Andrew Pearson, Spencer Smith, Eric Hanson, Kevin Brannen, - Ron Teitelbaum, Jacob Steenhagen, Joe Robins, Gervase Markham. + to this documentation (in alphabetical order): + Andrew Pearson, Ben FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, Ron Teitelbaum, Spencer Smith, Zach Liption + .


3.2.1. Autolinkification


3.2.5. Filing Bugs


4.1.5.1. DBI


4.1.5.2. Data::Dumper


4.1.5.3. MySQL-related modules


4.1.5.4. TimeDate modules


4.1.5.5. GD (optional)


4.1.5.6. Chart::Base (optional)


4.1.5.7. Template Toolkit


4.1.7. Bugzilla


perl -pi -e 's@#\!/usr/bonsaitools/bin/perl@#\!/usr/bin/perl@' *cgi *pl Bug.pm processmail syncshadowdb
+>
perl -pi -e 's@#\!/usr/bonsaitools/bin/perl@#\!/usr/bin/perl@' *cgi *pl Bug.pm syncshadowdb
         

4.1.8. Setting Up the MySQL Database


4.1.9.

4.1.10. Securing MySQL

4.1.10. Configuring Bugzilla

If you followed the installation instructions for setting up your - "bugs" and "root" user in MySQL, much of this should not apply to you. - If you are upgrading an existing installation of Bugzilla, you should - pay close attention to this section.

You should run through the parameters on the Edit Parameters page + (link in the footer) and set them all to appropriate values. + They key parameters are documented in Section 5.1. +


4.2. Optional Additional Configuration

4.2.1. Dependency Charts

Most MySQL installs have "interesting" default security - parameters: -

mysqld defaults to running as root
it defaults to allowing external network connections
it has a known port number, and is easy to detect
it defaults to no passwords whatsoever
it defaults to allowing "File_Priv"
As well as the text-based dependency graphs, Bugzilla also + supports dependency graphing, using a package called 'dot'. + Exactly how this works is controlled by the 'webdotbase' parameter, + which can have one of three values: +

  1. A complete file path to the command 'dot' (part of + GraphViz) + will generate the graphs locally +

  2. A URL prefix pointing to an installation of the webdot package will + generate the graphs remotely +

  3. A blank value will disable dependency graphing. +

This means anyone from anywhere on the Internet can not only drop - the database with one SQL command, and they can write as root to the - system.

So, to get this working, install + GraphViz. If you + do that, you need to + enable + server-side image maps in Apache. + Alternatively, you could set up a webdot server, or use the AT&T + public webdot server (the + default for the webdotbase param). Note that AT&T's server won't work + if Bugzilla is only accessible using HARTS. +


4.2.2. Bug Graphs

As long as you installed the GD and Graph::Base Perl modules you + might as well turn on the nifty Bugzilla bug reporting graphs.

To see your permissions do: +>Add a cron entry like this to run + collectstats.pl + daily at 5 after midnight:

mysql -u root -pcrontab -e @@ -3676,203 +3780,253 @@ CLASS="command" >
mysql> - - use mysql; - 5 0 * * * cd <your-bugzilla-directory> ; + ./collectstats.pl
mysql> - - show tables; -

-

After two days have passed you'll be able to view bug graphs from + the Bug Reports page.


4.2.3. The Whining Cron

By now you have a fully functional Bugzilla, but what good are + bugs if they're not annoying? To help make those bugs more annoying you + can set up Bugzilla's automatic whining system to complain at engineers + which leave their bugs in the NEW state without triaging them. +

This can be done by + adding the following command as a daily crontab entry (for help on that + see that crontab man page): +

mysql> - - select * from user;cd <your-bugzilla-directory> ; + ./whineatnews.pl
mysql> - - select * from db; - -

To fix the gaping holes: -

DELETE FROM user WHERE User='';
UPDATE user SET Password=PASSWORD('new_password') WHERE - user='root';
FLUSH PRIVILEGES;

-

If you're not running "mit-pthreads" you can use: -

Depending on your system, crontab may have several manpages. + The following command should lead you to the most useful page for + this purpose: +

man 5 crontab
+	
GRANT USAGE ON *.* TO bugs@localhost;
GRANT ALL ON bugs.* TO bugs@localhost;
REVOKE DROP ON bugs.* FROM bugs@localhost;
FLUSH PRIVILEGES;
+


4.2.4. LDAP Authentication

-

With "mit-pthreads" you'll need to modify the "globals.pl" - Mysql->Connect line to specify a specific host name instead of - "localhost", and accept external connections: -

This information on using the LDAP + authentication options with Bugzilla is old, and the authors do + not know of anyone who has tested it. Approach with caution. +

GRANT USAGE ON *.* TO bugs@bounce.hop.com;
GRANT ALL ON bugs.* TO bugs@bounce.hop.com;
REVOKE DROP ON bugs.* FROM bugs@bounce.hop.com;
FLUSH PRIVILEGES;

Consider also: +> The existing authentication + scheme for Bugzilla uses email addresses as the primary user ID, and a + password to authenticate that user. All places within Bugzilla where + you need to deal with user ID (e.g assigning a bug) use the email + address. The LDAP authentication builds on top of this scheme, rather + than replacing it. The initial log in is done with a username and + password for the LDAP directory. This then fetches the email address + from LDAP and authenticates seamlessly in the standard Bugzilla + authentication scheme using this email address. If an account for this + address already exists in your Bugzilla system, it will log in to that + account. If no account for that email address exists, one is created at + the time of login. (In this case, Bugzilla will attempt to use the + "displayName" or "cn" attribute to determine the user's full name.) + After authentication, all other user-related tasks are still handled by + email address, not LDAP username. You still assign bugs by email + address, query on users by email address, etc. +

Using LDAP for Bugzilla authentication requires the + Mozilla::LDAP (aka PerLDAP) Perl module. The + Mozilla::LDAP module in turn requires Netscape's Directory SDK for C. + After you have installed the SDK, then install the PerLDAP module. + Mozilla::LDAP and the Directory SDK for C are both + available for + download from mozilla.org. +

Set the Param 'useLDAP' to "On" **only** if you will be using an LDAP + directory for + authentication. Be very careful when setting up this parameter; if you + set LDAP authentication, but do not have a valid LDAP directory set up, + you will not be able to log back in to Bugzilla once you log out. (If + this happens, you can get back in by manually editing the data/params + file, and setting useLDAP back to 0.) +

If using LDAP, you must set the + three additional parameters: Set LDAPserver to the name (and optionally + port) of your LDAP server. If no port is specified, it defaults to the + default port of 389. (e.g "ldap.mycompany.com" or + "ldap.mycompany.com:1234") Set LDAPBaseDN to the base DN for searching + for users in your LDAP directory. (e.g. "ou=People,o=MyCompany") uids + must be unique under the DN specified here. Set LDAPmailattribute to + the name of the attribute in your LDAP directory which contains the + primary email address. On most directory servers available, this is + "mail", but you may need to change this. +

You can also try using OpenLDAP with Bugzilla, using any of a number of administration + tools. You should apply the patch attached this bug: + http://bugzilla.mozilla.org/show_bug.cgi?id=158630, then set + the following object classes for your users: +

  1. Turning off external networking with "--skip-networking", - unless you have "mit-pthreads", in which case you can't. Without - networking, MySQL connects with a Unix domain socket.

  2. using the --user= option to mysqld to run it as an - unprivileged user.

    objectClass: person

  3. running MySQL in a chroot jail

    objectClass: organizationalPerson

  4. running the httpd in a chroot jail

    objectClass: inetOrgPerson

  5. making sure the MySQL passwords are different from the OS - passwords (MySQL "root" has nothing to do with system - "root").

    objectClass: top

  6. running MySQL on a separate untrusted machine

    objectClass: posixAccount

  7. making backups ;-)

    objectClass: shadowAccount

+ + Please note that this patch has not yet been + accepted by the Bugzilla team, and so you may need to do some + manual tweaking. That said, it looks like Net::LDAP is probably + the way to go in the future.


4.1.11. Configuring Bugzilla

4.2.5. Preventing untrusted Bugzilla content from executing malicious + Javascript code

You should run through the parameters on the Edit Parameters page - (link in the footer) and set them all to appropriate values. - They key parameters are documented in Section 5.1It is possible for a Bugzilla to execute malicious Javascript + code. Due to internationalization concerns, we are unable to + incorporate the code changes necessary to fulfill the CERT advisory + requirements mentioned in + http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3. -


4.2. Optional Additional Configuration

4.2.1. Dependency Charts

As well as the text-based dependency graphs, Bugzilla also - supports dependency graphing, using a package called 'dot'. - Exactly how this works is controlled by the 'webdotbase' parameter, - which can have one of three values: -

  1. A complete file path to the command 'dot' (part of - GraphViz) - will generate the graphs locally -

  2. A URL prefix pointing to an installation of the webdot package will - generate the graphs remotely -

  3. A blank value will disable dependency graphing. -

-

So, to get this working, install - GraphViz. If you - do that, you need to - enable - server-side image maps in Apache. - Alternatively, you could set up a webdot server, or use the AT&T - public webdot server (the - default for the webdotbase param). Note that AT&T's server won't work - if Bugzilla is only accessible using HARTS. -


4.2.2. Bug Graphs

As long as you installed the GD and Graph::Base Perl modules you - might as well turn on the nifty Bugzilla bug reporting graphs.

Add a cron entry like this to run - collectstats.pl - daily at 5 after midnight: -

bash# - - crontab -e - -
5 0 * * * cd <your-bugzilla-directory> ; - ./collectstats.pl -

-

After two days have passed you'll be able to view bug graphs from - the Bug Reports page.


4.2.3. The Whining Cron

By now you have a fully functional Bugzilla, but what good are - bugs if they're not annoying? To help make those bugs more annoying you - can set up Bugzilla's automatic whining system to complain at engineers - which leave their bugs in the NEW state without triaging them. -

This can be done by - adding the following command as a daily crontab entry (for help on that - see that crontab man page): -

cd <your-bugzilla-directory> ; - ./whineatnews.pl - -

-

Depending on your system, crontab may have several manpages. - The following command should lead you to the most useful page for - this purpose: -

man 5 crontab
-	
-


4.2.4. LDAP Authentication

This information on using the LDAP - authentication options with Bugzilla is old, and the authors do - not know of anyone who has tested it. Approach with caution. -

-

The existing authentication - scheme for Bugzilla uses email addresses as the primary user ID, and a - password to authenticate that user. All places within Bugzilla where - you need to deal with user ID (e.g assigning a bug) use the email - address. The LDAP authentication builds on top of this scheme, rather - than replacing it. The initial log in is done with a username and - password for the LDAP directory. This then fetches the email address - from LDAP and authenticates seamlessly in the standard Bugzilla - authentication scheme using this email address. If an account for this - address already exists in your Bugzilla system, it will log in to that - account. If no account for that email address exists, one is created at - the time of login. (In this case, Bugzilla will attempt to use the - "displayName" or "cn" attribute to determine the user's full name.) - After authentication, all other user-related tasks are still handled by - email address, not LDAP username. You still assign bugs by email - address, query on users by email address, etc. -

Using LDAP for Bugzilla authentication requires the - Mozilla::LDAP (aka PerLDAP) Perl module. The - Mozilla::LDAP module in turn requires Netscape's Directory SDK for C. - After you have installed the SDK, then install the PerLDAP module. - Mozilla::LDAP and the Directory SDK for C are both - available for - download from mozilla.org. -

Set the Param 'useLDAP' to "On" **only** if you will be using an LDAP - directory for - authentication. Be very careful when setting up this parameter; if you - set LDAP authentication, but do not have a valid LDAP directory set up, - you will not be able to log back in to Bugzilla once you log out. (If - this happens, you can get back in by manually editing the data/params - file, and setting useLDAP back to 0.) -

If using LDAP, you must set the - three additional parameters: Set LDAPserver to the name (and optionally - port) of your LDAP server. If no port is specified, it defaults to the - default port of 389. (e.g "ldap.mycompany.com" or - "ldap.mycompany.com:1234") Set LDAPBaseDN to the base DN for searching - for users in your LDAP directory. (e.g. "ou=People,o=MyCompany") uids - must be unique under the DN specified here. Set LDAPmailattribute to - the name of the attribute in your LDAP directory which contains the - primary email address. On most directory servers available, this is - "mail", but you may need to change this. -

You can also try using OpenLDAP with Bugzilla, using any of a number of administration - tools. You should apply the patch attached this bug: - http://bugzilla.mozilla.org/show_bug.cgi?id=158630, then set - the following object classes for your users: - -

  1. objectClass: person

  2. objectClass: organizationalPerson

  3. objectClass: inetOrgPerson

  4. objectClass: top

  5. objectClass: posixAccount

  6. objectClass: shadowAccount

- - Please note that this patch has not yet been - accepted by the Bugzilla team, and so you may need to do some - manual tweaking. That said, it looks like Net::LDAP is probably - the way to go in the future. -


4.2.5. Preventing untrusted Bugzilla content from executing malicious - Javascript code

It is possible for a Bugzilla to execute malicious Javascript - code. Due to internationalization concerns, we are unable to - incorporate the code changes necessary to fulfill the CERT advisory - requirements mentioned in - http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3. - Executing the following code snippet from a UNIX command shell will - rectify the problem if your Bugzilla installation is intended for an - English-speaking audience. As always, be sure your Bugzilla - installation has a good backup before making changes, and I recommend - you understand what the script is doing before executing it.


bash# perl -pi -e "s/Content-Type\: text\/html/Content-Type\: text\/html\; charset=ISO-8859-1/i" *.cgi *.pl
-        
+ Executing the following code snippet from a UNIX command shell will + rectify the problem if your Bugzilla installation is intended for an + English-speaking audience. As always, be sure your Bugzilla + installation has a good backup before making changes, and I recommend + you understand what the script is doing before executing it.


bash# perl -pi -e "s/Content-Type\: text\/html/Content-Type\: text\/html\; charset=ISO-8859-1/i" *.cgi *.pl
+        

All this one-liner command does is search for all instances of @@ -4367,181 +4138,9 @@ CLASS="section" >


4.2.6. .htaccess - files and security

To enhance the security of your Bugzilla installation, Bugzilla's - checksetup.pl script will generate - .htaccess - - - files which the Apache webserver can use to restrict access to the - bugzilla data files. - These .htaccess files will not work with Apache 1.2.x - but this - has security holes, so you shouldn't be using it anyway. -

If you are using an alternate provider of - webdot - - services for graphing (as described when viewing - editparams.cgi - - in your web browser), you will need to change the ip address in - data/webdot/.htaccess - - to the ip address of the webdot server that you are using.

-

The default .htaccess file may not provide adequate access - restrictions, depending on your web server configuration. Be sure to - check the <Directory> entries for your Bugzilla directory so that - the - .htaccess - - file is allowed to override web server defaults. For instance, let's - assume your installation of Bugzilla is installed to - /usr/local/bugzilla - - . You should have this <Directory> entry in your - httpd.conf - - file:

-

<Directory /usr/local/bugzilla/>
-  Options +FollowSymLinks +Indexes +Includes +ExecCGI
-  AllowOverride All
-</Directory>
-
- -

The important part above is - "AllowOverride All" - - . Without that, the - .htaccess - - file created by - checksetup.pl - - will not have sufficient permissions to protect your Bugzilla - installation.

If you are using Internet Information Server (IIS) or another - web server which does not observe - .htaccess - conventions, you can disable their creation by editing - localconfig - and setting the - $create_htaccess - variable to - 0. -


4.2.7. 4.2.6. directoryindex for the Bugzilla default page.

4.2.8. Bugzilla and 4.2.7. Bugzilla and mod_perl4.2.9. 4.2.8. mod_throttle @@ -4775,11 +4374,11 @@ TARGET="_top" >


system("C:\\perl\\bin\\perl", "processmail", $id, $exporter);
+>
system("C:\\perl\\bin\\perl", "$webdotbase","-Tpng","-o","$pngfilename","$filename");
           

4.3.1.3.2. Making mail work

The easiest way to get mail working is to use the mail patches - on bug - 124174. With any luck, this patch will receive the required - reviews and integrated into the main Bugzilla distribution very soon. - Until that happens, there's at least one report of this patch working - well on Windows. -


4.3.1.3.3. System Calls

4.3.1.3.2. System Calls

In order to get system calls to work on win32's perl, you need to tell the windows shell what interpreter to use. This is done by @@ -4971,7 +4549,7 @@ WIDTH="100%" COLOR="#000000" >


system("./processmail", $id, $exporter);
+>
system("$webdotbase","-Tpng","-o","$pngfilename","$filename");
           

Notice that the ./ is also - removed. -

It appears that the only system call + remaining in the Bugzilla codebase is in + showdependencygraph.cgi. Not changing this + file will only cause dependency graphs to not function if the + webdotbase paramater points to a local + installation of GraphViz. +

Section 5.6Section 5.6.4. More information on configuring specific web servers can be found in Section 5.6Section 5.6.4.


# don't allow people to retrieve non-cgi executable files or our private data
-<FilesMatch ^(.*\.pl|.*localconfig.*|processmail|runtests.sh)$>
+<FilesMatch ^(.*\.pl|.*localconfig.*|runtests.sh)$>
   deny from all
 </FilesMatch>
 <FilesMatch ^(localconfig.js|localconfig.rdf)$>
@@ -5614,8 +5230,8 @@ CLASS="filename"
 >data
       directory are secured as described in Section 5.6Section 5.6.4.
       


ns_register_filter preauth GET /bugzilla/localconfig filter_deny
+ns_register_filter preauth GET /bugzilla/localconfig~ filter_deny
+ns_register_filter preauth GET /bugzilla/\#localconfig\# filter_deny
 ns_register_filter preauth GET /bugzilla/*.pl filter_deny
-ns_register_filter preauth GET /bugzilla/localconfig filter_deny
-ns_register_filter preauth GET /bugzilla/processmail filter_deny
 ns_register_filter preauth GET /bugzilla/syncshadowdb filter_deny
 ns_register_filter preauth GET /bugzilla/runtests.sh filter_deny
-
+ns_register_filter preauth GET /bugzilla/data/* filter_deny
+ns_register_filter preauth GET /bugzilla/template/* filter_deny
+                                                                                
 proc filter_deny { why } {
     ns_log Notice "filter_deny"
     return "filter_return"
@@ -5713,31 +5331,84 @@ ALT="Warning">

This doesn't appear to account for everything mentioned in - Section 5.6. In particular, it doesn't block access - to the data or +>This probably doesn't account for all possible editor backup + files so you may wish to add some additional variations of template directories. It also - doesn't account for the editor backup files that were the topic of +>localconfig. For more information, see bug 186383, or Bugtraq ID 6501. +


4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1


4.5.2. DBD::Sponge::db prepare failed

If you are using webdot from research.att.com (the default + configuration for the webdotbase paramater), you + will need to allow access to data/webdot/*.dot + for the reasearch.att.com machine. +

If you are using a local installation of GraphViz, you will need to allow + everybody to access *.png, - and a partial cause for the 2.16.2 release. + *.gif, *.jpg, and + *.map in the + data/webdot directory.

The User Regexp is a perl regexp and, if not anchored, will match + any part of an address. So, if you do not want to grant access + into 'mycompany.com' to 'badperson@mycompany.com.hacker.net', use + '@mycompany\.com$' as the regexp.

  • After you add your new group, edit the new group. On the + edit page, you can specify other groups that should be included + in this group and which groups should be permitted to add and delete + users from this group.

  • Note that group permissions are such that you need to be a member + of all the groups a bug is in, for whatever + reason, to see that bug. Similarly, you must be a member + of all of the entry groups for a product + to add bugs to a product and you must be a member + of all of the canedit groups for a product + in order to make any change to bugs in that + product. +


    5.6. Bugzilla Security

    Poorly-configured MySQL and Bugzilla installations have + given attackers full access to systems in the past. Please take these + guidelines seriously, even for Bugzilla machines hidden away behind + your firewall. 80% of all computer trespassers are insiders, not + anonymous crackers.

    These instructions must, of necessity, be somewhat vague since + Bugzilla runs on so many different platforms. If you have refinements + of these directions, please submit a bug to Bugzilla Documentation. +

    This is not meant to be a comprehensive list of every possible + security issue regarding the tools mentioned in this section. There is + no subsitute for reading the information written by the authors of any + software running on your system. +


    5.6.1. TCP/IP Ports

    TCP/IP defines 65,000 some ports for trafic. Of those, Bugzilla + only needs 1... 2 if you need to use features that require e-mail such + as bug moving or the e-mail interface from contrib. You should audit + your server and make sure that you aren't listening on any ports you + don't need to be. You may also wish to use some kind of firewall + software to be sure that trafic can only be recieved on ports you + specify. +


    5.6.2. MySQL

    MySQL ships by default with many settings that should be changed. + By defaults it allows anybody to connect from localhost without a + password and have full administrative capabilities. It also defaults to + not have a root password (this is not the same as + the system root). Also, many installations default to running + mysqld as the system root. +

    1. Consult the documentation that came with your system for + information on making mysqld run as an + unprivleged user. +

    2. You should also be sure to disable the anonymous user account + and set a password for the root user. This is accomplished using the + following commands: +

      
bash$ mysql mysql
      +mysql> DELETE FROM user WHERE user = '';
      +mysql> UPDATE user SET password = password('new_password') WHERE user = 'root';
      +mysql> FLUSH PRIVILEGES;
      +          

      From this point forward you will need to use + mysql -u root -p and enter + new_password when prompted when using the + mysql client. +

    3. If you run MySQL on the same machine as your httpd server, you + should consider disabling networking from within MySQL by adding + the following to your /etc/my.conf: +

      The User Regexp is a perl regexp and, if not anchored, will match - any part of an address. So, if you do not want to grant access - into 'mycompany.com' to 'badperson@mycompany.com.hacker.net', use - '@mycompany\.com$' as the regexp.

      
[myslqd]
      +# Prevent network access to MySQL.
      +skip-networking
      +          
  • After you add your new group, edit the new group. On the - edit page, you can specify other groups that should be included - in this group and which groups should be permitted to add and delete - users from this group.

    You may also consider running MySQL, or even all of Bugzilla + in a chroot jail; however, instructions for doing that are beyond + the scope of this document. +

  • Note that group permissions are such that you need to be a member - of all the groups a bug is in, for whatever - reason, to see that bug. Similarly, you must be a member - of all of the entry groups for a product - to add bugs to a product and you must be a member - of all of the canedit groups for a product - in order to make any change to bugs in that - product. -



    5.6. Bugzilla Security

    5.6.3. Daemon Accounts

    Poorly-configured MySQL and Bugzilla installations have - given attackers full access to systems in the past. Please take these - guidelines seriously, even for Bugzilla machines hidden away behind - your firewall. 80% of all computer trespassers are insiders, not - anonymous crackers.

    Many daemons, such as Apache's httpd and MySQL's mysqld default to + running as either "root" or "nobody". Running + as "root" introduces obvious security problems, but the + problems introduced by running everything as "nobody" may + not be so obvious. Basically, if you're running every daemon as + "nobody" and one of them gets comprimised, they all get + comprimised. For this reason it is recommended that you create a user + account for each daemon. +

    These instructions must, of necessity, be somewhat vague since - Bugzilla runs on so many different platforms. If you have refinements - of these directions for specific platforms, please submit them to - mozilla-webtools@mozilla.org -

    You will need to set the webservergroup to + the group you created for your webserver to run as in + localconfig. This will allow + ./checksetup.pl to better adjust the file + permissions on your Bugzilla install so as to not require making + anything world-writable. +


    5.6.4. Web Server Access Controls

    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 directory + outside the webroot. See + bug + 44659 for more information. +

    To secure your installation: - -

      • There is no substitute for understanding the tools on your - system!In the main Bugzilla directory, you should:

      • In data:

        • Block everything

        • But allow: + duplicates.rdf +

      • In data/webdot:

        • If you use a remote webdot server:

          • Block everything

          • But allow + *.dot + only for the remote webdot server

        • Otherwise, if you use a local GraphViz:

          • Block everything

          • But allow: + *.png, *.gif, *.jpg, *.map - until you can recite it from memory!

        • And if you don't use any dot:

          • Block everything

      • In Bugzilla:

        • Block everything

      • Lock down In /etc/inetd.conf. Heck, disable - inet entirely on this box. It should only listen to port 25 for - Sendmail and port 80 for Apache.

      • template:

        • Do not run Apache as - "nobody" - - . This will require very lax permissions in your Bugzilla - directories. Run it, instead, as a user with a name, set via your - httpd.conf file. -

          Block everything

      "nobody" - - is a real user on UNIX systems. Having a process run as user id - "nobody" - - is absolutely no protection against system crackers versus using - any other user account. As a general security measure, I recommend - you create unique user ID's for each daemon running on your system - and, if possible, use "chroot" to jail that process away from the - rest of your system.

      Bugzilla ships with the ability to generate + .htaccess files instructing + Apache which files + should and should not be accessible. For more information, see + Section 4.4.1. +

      -

    1. Ensure you have adequate access controls for the - $BUGZILLA_HOME/data/ directory, as well as the - $BUGZILLA_HOME/localconfig file. - The localconfig file stores your "bugs" database account password. - In addition, some - files under $BUGZILLA_HOME/data/ store sensitive - information. -

      Also, beware that some text editors create backup files in the - current working directory so you need to also secure files like - You should test to make sure that the files mentioned above are + not accessible from the Internet, especially your + localconfig~. -

      localconfig file which contains your database + password. To test, simply point your web browser at the file; for + example, to test mozilla.org's installation, we'd try to access + http://bugzilla.mozilla.org/localconfig. You should + get a 403 Forbidden + error. +

      Simply blocking .*localconfig.* - won't work because the QuickSearch feature requires the web browser - to be able to retrieve localconfig.js and - others may be introduced in the future (see - bug - 186383 for more information. -

      Not following the instructions in this section, including + testing, may result in sensitive information being globally + accessible. +

      Bugzilla provides default .htaccess files - to protect the most common Apache installations. However, you should - verify these are adequate according to the site-wide security policy - of your web server, and ensure that the .htaccess - files are allowed to "override" default permissions set - in your Apache configuration files. Covering Apache security is beyond - the scope of this Guide; please consult the Apache documentation for - details. -

      If you are using a web server that does not support the - .htaccess control method, - you are at risk! - - After installing, check to see if you can view the file - localconfig in your web browser (e.g.: - http://bugzilla.mozilla.org/localconfig - - ). If you can read the contents of this file, your web server has - not secured your bugzilla directory properly and you must fix this - problem before deploying Bugzilla. If, however, it gives you a - "Forbidden" error, then it probably respects the .htaccess - conventions and you are good to go.

    2. When you run checksetup.pl, the script will attempt to modify - various permissions on files which Bugzilla uses. If you do not have - a webservergroup set in the localconfig file, - then Bugzilla will have to make certain files world readable and/or - writable. - THIS IS INSECURE! - - . This means that anyone who can get access to your system can do - whatever they want to your Bugzilla installation.

      This also means that if your webserver runs all cgi scripts - as the same user/group, anyone on the system who can run cgi - scripts will be able to take control of your Bugzilla - installation.

      You should check Section 4.4 to see if instructions + have been included for your web server. You should also compare those + instructions with this list to make sure everything is properly + accounted for. +

      On Apache, you can use .htaccess files to - protect access to these directories, as outlined in Bugs - 57161 and - 186383 - - for the localconfig file, and - Bug - 65572 - - for adequate protection in your data/ directory. - Also, don't forget about the template/ and - Bugzilla/ directories and to allow access to the - data/webdot directory for the - 192.20.225.10 IP address if you are - using webdot from research.att.com. The easiest way to - accomplish this is to set $create_htaccess to 1 - in localconfig. However, the information below - is provided for those that want to know exactly what is created. -

      FIX ME BEFORE RELEASE!!!!! - Note the instructions which follow are Apache-specific. If you - use IIS, Netscape, or other non-Apache web servers, please consult - your system documentation for how to secure these files from being - transmitted to curious users.

    -


    5.7.1. What to Edit


    5.7.2. How To Edit Templates


    5.7.3. Template Formats


    5.7.4. Particular Templates

    A.1.1. Where can I find information about Bugzilla?
    A.1.2. What license is Bugzilla distributed under?
    A.1.3. How do I get commercial support for Bugzilla?
    A.1.4. What major companies or projects are currently using Bugzilla for bug-tracking?
    A.1.5. Who maintains Bugzilla?
    A.1.6. How does Bugzilla stack up against other bug-tracking databases?
    A.1.7. Why doesn't Bugzilla offer this or that feature or compatibility with this other tracking software?
    A.1.8. Why MySQL? I'm interested in seeing Bugzilla run on Oracle/Sybase/Msql/PostgreSQL/MSSQL.
    A.1.9. Why do the scripts say "/usr/bonsaitools/bin/perl" instead of "/usr/bin/perl" or something else?
    A.1.10. Is there an easy way to change the Bugzilla cookie name?
    A.2.1. Is Bugzilla web-based, or do you have to have specific software or a specific operating system on your machine?
    A.2.2. Can Bugzilla integrate with Perforce (SCM software)?
    A.2.3. Does Bugzilla allow the user to track multiple projects?
    A.2.4. If I am on many projects, and search for all bugs assigned to me, will Bugzilla list them for me and allow me to sort by project, severity etc?
    A.2.5. Does Bugzilla allow attachments (text, screenshots, URLs etc)? If yes, are there any that are NOT allowed?
    A.2.6. Does Bugzilla allow us to define our own priorities and levels? Do we have complete freedom to change the labels of fields and format of them, and the choice of acceptable values? @@ -8875,35 +8810,35 @@ HREF="#AEN1731" >
    A.2.7. Does Bugzilla provide any reporting features, metrics, graphs, etc? You know, the type of stuff that management likes to see. :)
    A.2.8. Is there email notification and if so, what do you see when you get an email?
    A.2.9. Can email notification be set up to send to multiple people, some on the To List, CC List, BCC List etc?
    A.2.10. Do users have to have any particular type of email application?
    A.2.11. Does Bugzilla allow data to be imported and exported? If I had outsiders write up a bug report using a MS Word bug template, could that template be imported into "matching" fields? If I wanted to take the results of a query @@ -8912,28 +8847,28 @@ HREF="#AEN1762" >
    A.2.12. Has anyone converted Bugzilla to another language to be used in other countries? Is it localizable?
    A.2.13. Can a user create and save reports? Can they do this in Word format? Excel format?
    A.2.14. Does Bugzilla have the ability to search by word, phrase, compound search?
    A.2.15. Does Bugzilla provide record locking when there is simultaneous access to the same bug? Does the second person get a notice that the bug is in use or how are they notified? @@ -8941,19 +8876,19 @@ HREF="#AEN1791" >
    A.2.16. Are there any backup features provided?
    A.2.17. Can users be on the system while a backup is in progress?
    A.2.18. What type of human resources are needed to be on staff to install and maintain Bugzilla? Specifically, what type of skills does the person need to have? I need to find out if we were to go with Bugzilla, what types of @@ -8963,7 +8898,7 @@ HREF="#AEN1807" >
    A.2.19. What time frame are we looking at if we decide to hire people to install and maintain the Bugzilla? Is this something that takes hours or weeks to install and a couple of hours per week to maintain and customize or is this @@ -8973,7 +8908,7 @@ HREF="#AEN1813" >
    A.2.20. Is there any licensing fee or other fees for using Bugzilla? Any out-of-pocket cost other than the bodies needed as identified above?
    A.3.1. How do I completely disable MySQL security if it's giving me problems (I've followed the instructions in the installation section of this guide)?
    A.3.2. Are there any security problems with Bugzilla?
    A.3.3. I've implemented the security fixes mentioned in Chris Yeh's security advisory of 5/10/2000 advising not to run MySQL as root, and am running into problems with MySQL no longer working correctly. @@ -9019,48 +8954,48 @@ HREF="#faq-email" >
    A.4.1. I have a user who doesn't want to receive any more email from Bugzilla. How do I stop it entirely for this user?
    A.4.2. I'm evaluating/testing Bugzilla, and don't want it to send email to anyone but me. How do I do it?
    A.4.3. I want whineatnews.pl to whine at something more, or other than, only new bugs. How do I do it?
    A.4.4. I don't like/want to use Procmail to hand mail off to bug_email.pl. What alternatives do I have?
    A.4.5. How do I set up the email interface to submit/change bugs via email?
    A.4.6. Email takes FOREVER to reach me from Bugzilla -- it's extremely slow. What gives?
    A.4.7. How come email from Bugzilla changes never reaches me?
    A.5.1. I've heard Bugzilla can be used with Oracle?
    A.5.2. I think my database might be corrupted, or contain invalid entries. What do I do?
    A.5.3. I want to manually edit some entries in my database. How?
    A.5.4. I think I've set up MySQL permissions correctly, but Bugzilla still can't connect.
    A.5.5. How do I synchronize bug information among multiple different Bugzilla databases?
    A.6.1. What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
    A.6.2. Is there a "Bundle::Bugzilla" equivalent for Win32?
    A.6.3. CGI's are failing with a "something.cgi is not a valid Windows NT application" error. Why?
    A.6.4. I'm having trouble with the perl modules for NT not being able to talk to to the database.
    A.7.1. How do I change my user name (email address) in Bugzilla?
    A.7.2. The query page is very confusing. Isn't there a simpler way to query?
    A.7.3. I'm confused by the behavior of the "accept" button in the Show Bug form. Why doesn't it assign the bug to me when I accept it?
    A.7.4. I can't upload anything into the database via the "Create Attachment" link. What am I doing wrong?
    A.7.5. How do I change a keyword in Bugzilla, once some bugs are using it?
    A.8.1. What kind of style should I use for templatization?
    A.8.2. What bugs are in Bugzilla right now?
    A.8.3. How can I change the default priority to a null value? For instance, have the default priority be "---" instead of "P2"?
    A.8.4. What's the best way to submit patches? What guidelines should I follow?

    A.1.1.

    A.1.2.

    A.1.3.

    A.1.4.

    A.1.5.

    A.1.6.

    A.1.7.

    A.1.8.

    A.1.9.

    A.1.10.

    A.2.1.

    A.2.2.

    A.2.3.

    A.2.4.

    A.2.5.

    A.2.6.

    A.2.7.

    A.2.8.

    A.2.9.

    A.2.10.

    A.2.11.

    A.2.12.

    A.2.13.

    A.2.14.

    A.2.15.

    A.2.16.

    A.2.17.

    A.2.18.

    A.2.19.

    A.2.20.

    A.3.1.

    A.3.2.

    A.3.3.

    A.4.1.

    A.4.2.

    A.4.3.

    A.4.4.

    A.4.5.

    A.4.6. - If you are using an alternate Mail Transport Agent (MTA other than - sendmail), make sure the options given in the "processmail" and other - scripts for all - instances of "sendmail" are correct for your MTA. + If you are using an alternate MTA, + make sure the options given in Bugzilla/BugMail.pm + and any other place where sendmail is called from + are correct for your MTA. You should also ensure that the + sendmailnow param is set to on.

    If you are using Sendmail, try enabling "sendmailnow" in editparams.cgi. - If you are using Postfix, you will also need to enable "sendmailnow" If you are using sendmail, try enabling + sendmailnow in editparams.cgi. +

    A.4.7.

    A.5.1.

    A.5.2.

    A.5.3.

    A.5.4.

    A.5.5.

    A.6.1.

    A.6.2.

    A.6.3.

    Microsoft has some advice on this matter, as well:

    A.6.4.

    A.7.1.

    A.7.2.

    A.7.3.

    A.7.4.

    A.7.5.

    A.8.1.

    A.8.2.

    A.8.3.

    A.8.4.


    B.2.1. Bugzilla Database Basics


    B.2.1.1. Bugzilla Database Tables


    D.1. Red Hat Bugzilla

    ScarabSection D.4.

    This section last updated 27 Jul 2002

    Version 1.1, March 2000

    0-9, high ascii

    M
    Message Transport Agent
    (MTA)

    A Message Transport Agent is used to control the flow of email + on a system. Many unix based systems use + sendmail which is what + Bugzilla expects to find by default at /usr/sbin/sendmail. + Many other MTA's will work, but they all require that the + sendmailnow param be set to on. +

    mysqldMySQL

    mysqld is the name of the - MySQL is currently the required + daemon - - for the MySQL database. In general, it is invoked automatically - through the use of the System V init scripts on GNU/Linux and - AT&T System V-based systems, such as Solaris and HP/UX, or - through the RC scripts on BSD-based systems.

    RDBMS for Bugzilla. MySQL + can be downloaded from http://www.mysql.com. While you + should familiarize yourself with all of the documentation, some high + points are: +

    R

    Relational DataBase Managment System
    (RDBMS)

    A relational database management system is a database system + that stores information in tables that are related to each other. +

    S

    The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseBugzilla Security
    5.6.1. TCP/IP Ports
    5.6.2. MySQL
    5.6.3. Daemon Accounts
    5.6.4. Web Server Access Controls
    5.7.
    5.7.1. What to Edit
    5.7.2. How To Edit Templates
    5.7.3. Template Formats
    5.7.4. Particular Templates
    The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development Release

    The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development Release1.1. Copyright InformationThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development Release

    This doesn't appear to account for everything mentioned in - Section 5.6. In particular, it doesn't block access - to the data or +>This probably doesn't account for all possible editor backup + files so you may wish to add some additional variations of template directories. It also - doesn't account for the editor backup files that were the topic of +>localconfig. For more information, see bug 186383, or Bugtraq ID 6501. +

    The Bugzilla Guide

    Matthew P. Barnson - for the Herculaean task of pulling together the Bugzilla Guide and - shepherding it to 2.14. -

    Matthew P. Barnson <mbarnson@sisna.com>

    Terry Weissman - for initially writing Bugzilla and creating the - README upon which the UNIX installation documentation is largely based. -

    for the Herculaean task of pulling together the Bugzilla Guide + and shepherding it to 2.14. +

    Terry Weissman <terry@mozilla.org>

    Tara Hernandez - for keeping Bugzilla development going - strong after Terry left mozilla.org -

    for initially writing Bugzilla and creating the README upon + which the UNIX installation documentation is largely based. +

    Tara Hernandez <tara@tequilarists.org>

    Dave Lawrence - for providing insight into the key differences between Red Hat's - customized Bugzilla, and being largely responsible for the "Red - Hat Bugzilla" appendix -

    for keeping Bugzilla development going strong after Terry left + mozilla.org and for running landfill. +

    Dave Lawrence <dkl@redhat.com>

    Dawn Endico for - being a hacker extraordinaire and putting up with my incessant - questions and arguments on irc.mozilla.org in #mozwebtools -

    for providing insight into the key differences between Red + Hat's customized Bugzilla, and being largely responsible for + Section D.1. +

    Dawn Endico <endico@mozilla.org>

    for being a hacker extraordinaire and putting up with Matthew's + incessant questions and arguments on irc.mozilla.org in #mozwebtools +

    Jacob Steenhagen <jake@bugzilla.org>

    for taking over documentation during the 2.17 development + period. +

    Last but not least, all the members of the netscape.public.mozilla.webtools newsgroup. Without your discussions, insight, suggestions, and patches, this could never have happened. +>news://news.mozilla.org/netscape/public/mozilla/webtools + newsgroup. Without your discussions, insight, suggestions, and patches, + this could never have happened.

    Thanks also go to the following people for significant contributions - to this documentation (in no particular order): -

    Zach Liption, Andrew Pearson, Spencer Smith, Eric Hanson, Kevin Brannen, - Ron Teitelbaum, Jacob Steenhagen, Joe Robins, Gervase Markham. + to this documentation (in alphabetical order): + Andrew Pearson, Ben FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, Ron Teitelbaum, Spencer Smith, Zach Liption + .

    The Bugzilla Guide
    The Bugzilla Guide

    5.7.1. What to Edit

    5.7.2. How To Edit Templates

    5.7.3. Template Formats

    5.7.4. Particular Templates

    The Bugzilla Guide
    The Bugzilla Guide

    B.2.1. Bugzilla Database Basics

    B.2.1.1. Bugzilla Database Tables

    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide

    4.2.1. Dependency Charts

    4.2.2. Bug Graphs

    4.2.3. The Whining Cron

    4.2.6. .htaccess - files and security

    To enhance the security of your Bugzilla installation, Bugzilla's - checksetup.pl script will generate - .htaccess - - - files which the Apache webserver can use to restrict access to the - bugzilla data files. - These .htaccess files will not work with Apache 1.2.x - but this - has security holes, so you shouldn't be using it anyway. -

    If you are using an alternate provider of - webdot - - services for graphing (as described when viewing - editparams.cgi - - in your web browser), you will need to change the ip address in - data/webdot/.htaccess - - to the ip address of the webdot server that you are using.

    -

    The default .htaccess file may not provide adequate access - restrictions, depending on your web server configuration. Be sure to - check the <Directory> entries for your Bugzilla directory so that - the - .htaccess - - file is allowed to override web server defaults. For instance, let's - assume your installation of Bugzilla is installed to - /usr/local/bugzilla - - . You should have this <Directory> entry in your - httpd.conf - - file:

    -
    
<Directory /usr/local/bugzilla/>
    -  Options +FollowSymLinks +Indexes +Includes +ExecCGI
    -  AllowOverride All
    -</Directory>
    -
    - -

    The important part above is - "AllowOverride All" - - . Without that, the - .htaccess - - file created by - checksetup.pl - - will not have sufficient permissions to protect your Bugzilla - installation.

    If you are using Internet Information Server (IIS) or another - web server which does not observe - .htaccess - conventions, you can disable their creation by editing - localconfig - and setting the - $create_htaccess - variable to - 0. -

    4.2.7. 4.2.6. directoryindex for the Bugzilla default page.

    4.2.8. Bugzilla and 4.2.7. Bugzilla and mod_perl4.2.9. 4.2.8. mod_throttle diff --git a/docs/html/faq.html b/docs/html/faq.html index 920e17a58..606519724 100644 --- a/docs/html/faq.html +++ b/docs/html/faq.html @@ -7,7 +7,7 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ ">
    The Bugzilla Guide
    A.1.1. Where can I find information about Bugzilla?
    A.1.2. What license is Bugzilla distributed under?
    A.1.3. How do I get commercial support for Bugzilla?
    A.1.4. What major companies or projects are currently using Bugzilla for bug-tracking?
    A.1.5. Who maintains Bugzilla?
    A.1.6. How does Bugzilla stack up against other bug-tracking databases?
    A.1.7. Why doesn't Bugzilla offer this or that feature or compatibility with this other tracking software?
    A.1.8. Why MySQL? I'm interested in seeing Bugzilla run on Oracle/Sybase/Msql/PostgreSQL/MSSQL.
    A.1.9. Why do the scripts say "/usr/bonsaitools/bin/perl" instead of "/usr/bin/perl" or something else?
    A.1.10. Is there an easy way to change the Bugzilla cookie name?
    A.2.1. Is Bugzilla web-based, or do you have to have specific software or a specific operating system on your machine?
    A.2.2. Can Bugzilla integrate with Perforce (SCM software)?
    A.2.3. Does Bugzilla allow the user to track multiple projects?
    A.2.4. If I am on many projects, and search for all bugs assigned to me, will Bugzilla list them for me and allow me to sort by project, severity etc?
    A.2.5. Does Bugzilla allow attachments (text, screenshots, URLs etc)? If yes, are there any that are NOT allowed?
    A.2.6. Does Bugzilla allow us to define our own priorities and levels? Do we have complete freedom to change the labels of fields and format of them, and the choice of acceptable values? @@ -201,35 +201,35 @@ HREF="faq.html#AEN1731" >
    A.2.7. Does Bugzilla provide any reporting features, metrics, graphs, etc? You know, the type of stuff that management likes to see. :)
    A.2.8. Is there email notification and if so, what do you see when you get an email?
    A.2.9. Can email notification be set up to send to multiple people, some on the To List, CC List, BCC List etc?
    A.2.10. Do users have to have any particular type of email application?
    A.2.11. Does Bugzilla allow data to be imported and exported? If I had outsiders write up a bug report using a MS Word bug template, could that template be imported into "matching" fields? If I wanted to take the results of a query @@ -238,28 +238,28 @@ HREF="faq.html#AEN1762" >
    A.2.12. Has anyone converted Bugzilla to another language to be used in other countries? Is it localizable?
    A.2.13. Can a user create and save reports? Can they do this in Word format? Excel format?
    A.2.14. Does Bugzilla have the ability to search by word, phrase, compound search?
    A.2.15. Does Bugzilla provide record locking when there is simultaneous access to the same bug? Does the second person get a notice that the bug is in use or how are they notified? @@ -267,19 +267,19 @@ HREF="faq.html#AEN1791" >
    A.2.16. Are there any backup features provided?
    A.2.17. Can users be on the system while a backup is in progress?
    A.2.18. What type of human resources are needed to be on staff to install and maintain Bugzilla? Specifically, what type of skills does the person need to have? I need to find out if we were to go with Bugzilla, what types of @@ -289,7 +289,7 @@ HREF="faq.html#AEN1807" >
    A.2.19. What time frame are we looking at if we decide to hire people to install and maintain the Bugzilla? Is this something that takes hours or weeks to install and a couple of hours per week to maintain and customize or is this @@ -299,7 +299,7 @@ HREF="faq.html#AEN1813" >
    A.2.20. Is there any licensing fee or other fees for using Bugzilla? Any out-of-pocket cost other than the bodies needed as identified above?
    A.3.1. How do I completely disable MySQL security if it's giving me problems (I've followed the instructions in the installation section of this guide)?
    A.3.2. Are there any security problems with Bugzilla?
    A.3.3. I've implemented the security fixes mentioned in Chris Yeh's security advisory of 5/10/2000 advising not to run MySQL as root, and am running into problems with MySQL no longer working correctly. @@ -345,48 +345,48 @@ HREF="faq.html#faq-email" >
    A.4.1. I have a user who doesn't want to receive any more email from Bugzilla. How do I stop it entirely for this user?
    A.4.2. I'm evaluating/testing Bugzilla, and don't want it to send email to anyone but me. How do I do it?
    A.4.3. I want whineatnews.pl to whine at something more, or other than, only new bugs. How do I do it?
    A.4.4. I don't like/want to use Procmail to hand mail off to bug_email.pl. What alternatives do I have?
    A.4.5. How do I set up the email interface to submit/change bugs via email?
    A.4.6. Email takes FOREVER to reach me from Bugzilla -- it's extremely slow. What gives?
    A.4.7. How come email from Bugzilla changes never reaches me?
    A.5.1. I've heard Bugzilla can be used with Oracle?
    A.5.2. I think my database might be corrupted, or contain invalid entries. What do I do?
    A.5.3. I want to manually edit some entries in my database. How?
    A.5.4. I think I've set up MySQL permissions correctly, but Bugzilla still can't connect.
    A.5.5. How do I synchronize bug information among multiple different Bugzilla databases?
    A.6.1. What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
    A.6.2. Is there a "Bundle::Bugzilla" equivalent for Win32?
    A.6.3. CGI's are failing with a "something.cgi is not a valid Windows NT application" error. Why?
    A.6.4. I'm having trouble with the perl modules for NT not being able to talk to to the database.
    A.7.1. How do I change my user name (email address) in Bugzilla?
    A.7.2. The query page is very confusing. Isn't there a simpler way to query?
    A.7.3. I'm confused by the behavior of the "accept" button in the Show Bug form. Why doesn't it assign the bug to me when I accept it?
    A.7.4. I can't upload anything into the database via the "Create Attachment" link. What am I doing wrong?
    A.7.5. How do I change a keyword in Bugzilla, once some bugs are using it?
    A.8.1. What kind of style should I use for templatization?
    A.8.2. What bugs are in Bugzilla right now?
    A.8.3. How can I change the default priority to a null value? For instance, have the default priority be "---" instead of "P2"?
    A.8.4. What's the best way to submit patches? What guidelines should I follow?

    A.1.1.

    A.1.2.

    A.1.3.

    A.1.4.

    A.1.5.

    A.1.6.

    A.1.7.

    A.1.8.

    A.1.9.

    A.1.10.

    A.2.1.

    A.2.2.

    A.2.3.

    A.2.4.

    A.2.5.

    A.2.6.

    A.2.7.

    A.2.8.

    A.2.9.

    A.2.10.

    A.2.11.

    A.2.12.

    A.2.13.

    A.2.14.

    A.2.15.

    A.2.16.

    A.2.17.

    A.2.18.

    A.2.19.

    A.2.20.

    A.3.1.

    A.3.2.

    A.3.3.

    A.4.1.

    A.4.2.

    A.4.3.

    A.4.4.

    A.4.5.

    A.4.6. - If you are using an alternate Mail Transport Agent (MTA other than - sendmail), make sure the options given in the "processmail" and other - scripts for all - instances of "sendmail" are correct for your MTA. + If you are using an alternate MTA, + make sure the options given in Bugzilla/BugMail.pm + and any other place where sendmail is called from + are correct for your MTA. You should also ensure that the + sendmailnow param is set to on.

    If you are using Sendmail, try enabling "sendmailnow" in editparams.cgi. - If you are using Postfix, you will also need to enable "sendmailnow" If you are using sendmail, try enabling + sendmailnow in editparams.cgi. +

    A.4.7.

    A.5.1.

    A.5.2.

    A.5.3.

    A.5.4.

    A.5.5.

    A.6.1.

    A.6.2.

    A.6.3.

    Microsoft has some advice on this matter, as well:

    A.6.4.

    A.7.1.

    A.7.2.

    A.7.3.

    A.7.4.

    A.7.5.

    A.8.1.

    A.8.2.

    A.8.3.

    A.8.4.

    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide

    Version 1.1, March 2000

    The Bugzilla Guide

    0-9, high ascii

    M
    Message Transport Agent
    (MTA)

    A Message Transport Agent is used to control the flow of email + on a system. Many unix based systems use + sendmail which is what + Bugzilla expects to find by default at /usr/sbin/sendmail. + Many other MTA's will work, but they all require that the + sendmailnow param be set to on. +

    mysqldMySQL

    mysqld is the name of the - MySQL is currently the required + daemon - - for the MySQL database. In general, it is invoked automatically - through the use of the System V init scripts on GNU/Linux and - AT&T System V-based systems, such as Solaris and HP/UX, or - through the RC scripts on BSD-based systems.

    RDBMS for Bugzilla. MySQL + can be downloaded from http://www.mysql.com. While you + should familiarize yourself with all of the documentation, some high + points are: +

    R

    Relational DataBase Managment System
    (RDBMS)

    A relational database management system is a database system + that stores information in tables that are related to each other. +

    S

    The Bugzilla Guide
    The Bugzilla Guide

    3.2.1. Autolinkification

    3.2.5. Filing Bugs

    The Bugzilla Guide
    The Bugzilla Guide
    Section 5.6Section 5.6.4.

    
# don't allow people to retrieve non-cgi executable files or our private data
    -<FilesMatch ^(.*\.pl|.*localconfig.*|processmail|runtests.sh)$>
    +<FilesMatch ^(.*\.pl|.*localconfig.*|runtests.sh)$>
       deny from all
     </FilesMatch>
     <FilesMatch ^(localconfig.js|localconfig.rdf)$>
    @@ -446,8 +446,8 @@ CLASS="filename"
     >data
           directory are secured as described in Section 5.6Section 5.6.4.
           

    
ns_register_filter preauth GET /bugzilla/localconfig filter_deny
    +ns_register_filter preauth GET /bugzilla/localconfig~ filter_deny
    +ns_register_filter preauth GET /bugzilla/\#localconfig\# filter_deny
     ns_register_filter preauth GET /bugzilla/*.pl filter_deny
    -ns_register_filter preauth GET /bugzilla/localconfig filter_deny
    -ns_register_filter preauth GET /bugzilla/processmail filter_deny
     ns_register_filter preauth GET /bugzilla/syncshadowdb filter_deny
     ns_register_filter preauth GET /bugzilla/runtests.sh filter_deny
    -
    +ns_register_filter preauth GET /bugzilla/data/* filter_deny
    +ns_register_filter preauth GET /bugzilla/template/* filter_deny
    +                                                                                
     proc filter_deny { why } {
         ns_log Notice "filter_deny"
         return "filter_return"
    @@ -545,31 +547,84 @@ ALT="Warning">

    The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development Release

    Jacob Steenhagen

    The Bugzilla Team

    2.17.3 Development Release Edition

    2003-01-02

    2003-02-16

    The Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla Guide - 2.17.4 Development Release

    If you are using webdot from research.att.com (the default + configuration for the webdotbase paramater), you + will need to allow access to data/webdot/*.dot + for the reasearch.att.com machine. +

    If you are using a local installation of GraphViz, you will need to allow + everybody to access *.png, - and a partial cause for the 2.16.2 release. + *.gif, *.jpg, and + *.map in the + data/webdot directory.

    The Bugzilla Guide
    4.1.7. Bugzilla
    4.1.8. Setting Up the MySQL Database
    4.1.9. checksetup.pl
    4.1.10. Securing MySQL
    4.1.11. Configuring Bugzilla
    4.2.1. Dependency Charts
    4.2.2. Bug Graphs
    4.2.3. The Whining Cron
    4.2.6. .htaccess - files and security
    4.2.7. for the Bugzilla default page.
    4.2.8. 4.2.7. Bugzilla and
    4.2.9. 4.2.8.
    4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1
    4.5.2. DBD::Sponge::db prepare failed
    The Bugzilla Guide
    The Bugzilla Guide
    The Bugzilla Guide
    1.3. New Versions

    This is the 2.17.3 version of The Bugzilla Guide. It is so named +> This is the 2.17.4 version of The Bugzilla Guide. It is so named to match the current version of Bugzilla. This version of the guide, like its associated Bugzilla version is a diff --git a/docs/html/os-specific.html b/docs/html/os-specific.html index f54221ff6..ef29d5a22 100644 --- a/docs/html/os-specific.html +++ b/docs/html/os-specific.html @@ -7,7 +7,7 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ ">

    The Bugzilla Guide

    
system("C:\\perl\\bin\\perl", "processmail", $id, $exporter);
    +>
system("C:\\perl\\bin\\perl", "$webdotbase","-Tpng","-o","$pngfilename","$filename");
               

    4.3.1.3.2. Making mail work

    The easiest way to get mail working is to use the mail patches - on bug - 124174. With any luck, this patch will receive the required - reviews and integrated into the main Bugzilla distribution very soon. - Until that happens, there's at least one report of this patch working - well on Windows. -

    4.3.1.3.3. System Calls

    4.3.1.3.2. System Calls

    In order to get system calls to work on win32's perl, you need to tell the windows shell what interpreter to use. This is done by @@ -410,7 +389,7 @@ WIDTH="100%" COLOR="#000000" >

    
system("./processmail", $id, $exporter);
    +>
system("$webdotbase","-Tpng","-o","$pngfilename","$filename");
               

    Notice that the ./ is also - removed. -

    It appears that the only system call + remaining in the Bugzilla codebase is in + showdependencygraph.cgi. Not changing this + file will only cause dependency graphs to not function if the + webdotbase paramater points to a local + installation of GraphViz. +

    Section 5.6Section 5.6.4. More information on configuring specific web servers can be found in The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseRed Hat Bugzilla
    The Bugzilla Guide
    PrevAppendix D. Bugzilla Variants and CompetitorsNext

    D.1. Red Hat Bugzilla

    Red Hat's old fork of Bugzilla which was based on version 2.8 is now - obsolete. The newest version in use is based on version 2.17.1 and is in - the process of being integrated into the main Bugzilla source tree. The - back-end is modified to work with PostgreSQL instead of MySQL and they have - custom templates to get their desired look and feel, but other than that it - is Bugzilla 2.17.1. Dave Lawrence of Red Hat put forth a great deal of - effort to make sure that the changes he made could be integrated back into - the main tree. - Bug - 98304 exists to track this integration. -

    URL: - http://bugzilla.redhat.com/bugzilla/ -

    This section last updated 24 Dec 2002


    PrevHomeNext
    Bugzilla Variants and CompetitorsUpLoki Bugzilla (Fenris)
    \ No newline at end of file diff --git a/docs/html/security.html b/docs/html/security.html index 8d1b047d0..47f212524 100644 --- a/docs/html/security.html +++ b/docs/html/security.html @@ -7,7 +7,7 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ ">The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development Release

    These instructions must, of necessity, be somewhat vague since Bugzilla runs on so many different platforms. If you have refinements - of these directions for specific platforms, please submit them to - mozilla-webtools@mozilla.org +>Bugzilla Documentation.

    This is not meant to be a comprehensive list of every possible + security issue regarding the tools mentioned in this section. There is + no subsitute for reading the information written by the authors of any + software running on your system. +

    5.6.1. TCP/IP Ports

    TCP/IP defines 65,000 some ports for trafic. Of those, Bugzilla + only needs 1... 2 if you need to use features that require e-mail such + as bug moving or the e-mail interface from contrib. You should audit + your server and make sure that you aren't listening on any ports you + don't need to be. You may also wish to use some kind of firewall + software to be sure that trafic can only be recieved on ports you + specify. +

    5.6.2. MySQL

    MySQL ships by default with many settings that should be changed. + By defaults it allows anybody to connect from localhost without a + password and have full administrative capabilities. It also defaults to + not have a root password (this is not the same as + the system root). Also, many installations default to running + mysqld as the system root. +

    To secure your installation: - -

    1. There is no substitute for understanding the tools on your - system! - - Read - The MySQL Privilege System - until you can recite it from memory!

      Consult the documentation that came with your system for + information on making mysqld run as an + unprivleged user. +

    2. Lock down You should also be sure to disable the anonymous user account + and set a password for the root user. This is accomplished using the + following commands: +

      
bash$ mysql mysql
      +mysql> DELETE FROM user WHERE user = '';
      +mysql> UPDATE user SET password = password('new_password') WHERE user = 'root';
      +mysql> FLUSH PRIVILEGES;
      +          

      From this point forward you will need to use + mysql -u root -p and enter + new_password when prompted when using the + mysql client. +

    3. If you run MySQL on the same machine as your httpd server, you + should consider disabling networking from within MySQL by adding + the following to your /etc/inetd.conf. Heck, disable - inet entirely on this box. It should only listen to port 25 for - Sendmail and port 80 for Apache.

      /etc/my.conf: +

      
[myslqd]
      +# Prevent network access to MySQL.
      +skip-networking
      +          
    4. Do not run Apache as - You may also consider running MySQL, or even all of Bugzilla + in a chroot jail; however, instructions for doing that are beyond + the scope of this document. +

    5.6.3. Daemon Accounts

    Many daemons, such as Apache's httpd and MySQL's mysqld default to + running as either "root" or "nobody" - - . This will require very lax permissions in your Bugzilla - directories. Run it, instead, as a user with a name, set via your - httpd.conf file. -

    . Running + as "root" introduces obvious security problems, but the + problems introduced by running everything as "nobody" may + not be so obvious. Basically, if you're running every daemon as + "nobody" and one of them gets comprimised, they all get + comprimised. For this reason it is recommended that you create a user + account for each daemon. +

    "nobody" - - is a real user on UNIX systems. Having a process run as user id - "nobody" - - is absolutely no protection against system crackers versus using - any other user account. As a general security measure, I recommend - you create unique user ID's for each daemon running on your system - and, if possible, use "chroot" to jail that process away from the - rest of your system.

    You will need to set the webservergroup to + the group you created for your webserver to run as in + localconfig. This will allow + ./checksetup.pl to better adjust the file + permissions on your Bugzilla install so as to not require making + anything world-writable. +

    5.6.4. Web Server Access Controls

    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 directory + outside the webroot. See + bug + 44659 for more information. +

    • In the main Bugzilla directory, you should:

      • Block: + *.pl, *localconfig*, runtests.sh -

      • Ensure you have adequate access controls for the - But allow: + $BUGZILLA_HOME/data/ directory, as well as the - localconfig.js, $BUGZILLA_HOME/localconfig file. - The localconfig file stores your "bugs" database account password. - In addition, some - files under localconfig.rdf +

    • In $BUGZILLA_HOME/data/ store sensitive - information. -

      data:

      Also, beware that some text editors create backup files in the - current working directory so you need to also secure files like -

      • Block everything

      • But allow: + localconfig~. -

        duplicates.rdf +

    • In data/webdot:

      • If you use a remote webdot server:

        • Block everything

        • But allow + *.dot + only for the remote webdot server

      • Otherwise, if you use a local GraphViz:

        • Block everything

        • But allow: + *.png, *.gif, *.jpg, *.map +

      • And if you don't use any dot:

        • Block everything

    • In Bugzilla:

      • Block everything

    • In template:

      • Block everything

    Simply blocking .*localconfig.* - won't work because the QuickSearch feature requires the web browser - to be able to retrieve Bugzilla ships with the ability to generate + localconfig.js and - others may be introduced in the future (see - bug - 186383 for more information. -

    .htaccess files instructing + Apache which files + should and should not be accessible. For more information, see + Section 4.4.1. +

    Bugzilla provides default .htaccess files - to protect the most common Apache installations. However, you should - verify these are adequate according to the site-wide security policy - of your web server, and ensure that the .htaccess - files are allowed to "override" default permissions set - in your Apache configuration files. Covering Apache security is beyond - the scope of this Guide; please consult the Apache documentation for - details. -

    If you are using a web server that does not support the - .htaccess control method, - you are at risk! - - After installing, check to see if you can view the file - You should test to make sure that the files mentioned above are + not accessible from the Internet, especially your + localconfig in your web browser (e.g.: - file which contains your database + password. To test, simply point your web browser at the file; for + example, to test mozilla.org's installation, we'd try to access + http://bugzilla.mozilla.org/localconfighttp://bugzilla.mozilla.org/localconfig. You should + get a 403 Forbidden - - ). If you can read the contents of this file, your web server has - not secured your bugzilla directory properly and you must fix this - problem before deploying Bugzilla. If, however, it gives you a - "Forbidden" error, then it probably respects the .htaccess - conventions and you are good to go.

  • When you run checksetup.pl, the script will attempt to modify - various permissions on files which Bugzilla uses. If you do not have - a webservergroup set in the localconfig file, - then Bugzilla will have to make certain files world readable and/or - writable. - THIS IS INSECURE! - - . This means that anyone who can get access to your system can do - whatever they want to your Bugzilla installation.

    This also means that if your webserver runs all cgi scripts - as the same user/group, anyone on the system who can run cgi - scripts will be able to take control of your Bugzilla - installation.

    Not following the instructions in this section, including + testing, may result in sensitive information being globally + accessible. +

    On Apache, you can use .htaccess files to - protect access to these directories, as outlined in Bugs - 57161 and - 186383 - - for the localconfig file, and - Bug - 65572 - - for adequate protection in your data/ directory. - Also, don't forget about the template/ and - Bugzilla/ directories and to allow access to the - data/webdot directory for the - 192.20.225.10 IP address if you are - using webdot from research.att.com. The easiest way to - accomplish this is to set $create_htaccess to 1 - in localconfig. However, the information below - is provided for those that want to know exactly what is created. -

    FIX ME BEFORE RELEASE!!!!! - Note the instructions which follow are Apache-specific. If you - use IIS, Netscape, or other non-Apache web servers, please consult - your system documentation for how to secure these files from being - transmitted to curious users.

    -

    You should check Section 4.4 to see if instructions + have been included for your web server. You should also compare those + instructions with this list to make sure everything is properly + accounted for. +

  • 4.1.11. Configuring Bugzilla

    4.1.10. Configuring Bugzilla

    You should run through the parameters on the Edit Parameters page (link in the footer) and set them all to appropriate values. diff --git a/docs/html/troubleshooting.html b/docs/html/troubleshooting.html index 924c70f50..9b4a2c2cd 100644 --- a/docs/html/troubleshooting.html +++ b/docs/html/troubleshooting.html @@ -7,7 +7,7 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ ">The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development Release

    4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1

    4.5.2. DBD::Sponge::db prepare failed

    The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development Release

    3.2.1. Autolinkification
    3.2.5. Filing Bugs
    The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleasePrevPrevThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseScarabSection D.4.

    This section last updated 27 Jul 2002

    The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseRed Hat Bugzilla
    The Bugzilla Guide - 2.17.4 Development Release
    PrevAppendix D. Bugzilla Variants and CompetitorsNext

    D.1. Red Hat Bugzilla

    Red Hat's old fork of Bugzilla which was based on version 2.8 is now + obsolete. The newest version in use is based on version 2.17.1 and is in + the process of being integrated into the main Bugzilla source tree. The + back-end is modified to work with PostgreSQL instead of MySQL and they have + custom templates to get their desired look and feel, but other than that it + is Bugzilla 2.17.1. Dave Lawrence of Red Hat put forth a great deal of + effort to make sure that the changes he made could be integrated back into + the main tree. + Bug + 98304 exists to track this integration. +

    URL: + http://bugzilla.redhat.com/bugzilla/ +

    This section last updated 24 Dec 2002


    PrevHomeNext
    Bugzilla Variants and CompetitorsUpLoki Bugzilla (Fenris)
    \ No newline at end of file diff --git a/docs/html/variant-scarab.html b/docs/html/variant-scarab.html index b5840e3de..4e5fc3b99 100644 --- a/docs/html/variant-scarab.html +++ b/docs/html/variant-scarab.html @@ -7,7 +7,7 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ ">The Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseNext
    D.1. Red Hat Bugzilla
    NextThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development ReleaseThe Bugzilla GuideThe Bugzilla Guide - 2.17.4 Development Release + for the Herculaean task of pulling together the Bugzilla Guide + and shepherding it to 2.14. + + Terry Weissman + for initially writing Bugzilla and creating the README upon + which the UNIX installation documentation is largely based. - Terry Weissman for initially writing Bugzilla and creating the README - upon which the UNIX installation documentation is largely based. + Tara Hernandez + for keeping Bugzilla development going strong after Terry left + mozilla.org and for running landfill. - Tara Hernandez for keeping Bugzilla development going strong after - Terry left mozilla.org + Dave Lawrence + for providing insight into the key differences between Red + Hat's customized Bugzilla, and being largely responsible for + Section D.1. - Dave Lawrence for providing insight into the key differences between - Red Hat's customized Bugzilla, and being largely responsible for the - "Red Hat Bugzilla" appendix + Dawn Endico + for being a hacker extraordinaire and putting up with Matthew's + incessant questions and arguments on irc.mozilla.org in + #mozwebtools - Dawn Endico for being a hacker extraordinaire and putting up with my - incessant questions and arguments on irc.mozilla.org in #mozwebtools + Jacob Steenhagen + for taking over documentation during the 2.17 development + period. Last but not least, all the members of the - netscape.public.mozilla.webtools newsgroup. Without your discussions, - insight, suggestions, and patches, this could never have happened. + news://news.mozilla.org/netscape/public/mozilla/webtools newsgroup. + Without your discussions, insight, suggestions, and patches, this + could never have happened. Thanks also go to the following people for significant contributions - to this documentation (in no particular order): - - Zach Liption, Andrew Pearson, Spencer Smith, Eric Hanson, Kevin - Brannen, Ron Teitelbaum, Jacob Steenhagen, Joe Robins, Gervase - Markham. + to this documentation (in alphabetical order): Andrew Pearson, Ben + FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, + Ron Teitelbaum, Spencer Smith, Zach Liption . _________________________________________________________________ 1.5. Document Conventions @@ -951,7 +960,7 @@ Chapter 4. Installation to perl on your system inside /usr/bonsaitools/bin perl -pi -e 's@#\!/usr/bonsaitools/bin/perl@#\!/usr/bin/perl@' *cgi *pl Bug.pm -processmail syncshadowdb +syncshadowdb Change /usr/bin/perl to match the location of Perl on your machine. _________________________________________________________________ @@ -1031,71 +1040,7 @@ processmail syncshadowdb Bugzilla. _________________________________________________________________ -4.1.10. Securing MySQL - - If you followed the installation instructions for setting up your - "bugs" and "root" user in MySQL, much of this should not apply to you. - If you are upgrading an existing installation of Bugzilla, you should - pay close attention to this section. - - Most MySQL installs have "interesting" default security parameters: - - mysqld defaults to running as root - it defaults to allowing external network connections - it has a known port number, and is easy to detect - it defaults to no passwords whatsoever - it defaults to allowing "File_Priv" - - This means anyone from anywhere on the Internet can not only drop the - database with one SQL command, and they can write as root to the - system. - - To see your permissions do: - - bash# mysql -u root -p - mysql> use mysql; - mysql> show tables; - mysql> select * from user; - mysql> select * from db; - - To fix the gaping holes: - - DELETE FROM user WHERE User=''; - UPDATE user SET Password=PASSWORD('new_password') WHERE user='root'; - FLUSH PRIVILEGES; - - If you're not running "mit-pthreads" you can use: - - GRANT USAGE ON *.* TO bugs@localhost; - GRANT ALL ON bugs.* TO bugs@localhost; - REVOKE DROP ON bugs.* FROM bugs@localhost; - FLUSH PRIVILEGES; - - With "mit-pthreads" you'll need to modify the "globals.pl" - Mysql->Connect line to specify a specific host name instead of - "localhost", and accept external connections: - - GRANT USAGE ON *.* TO bugs@bounce.hop.com; - GRANT ALL ON bugs.* TO bugs@bounce.hop.com; - REVOKE DROP ON bugs.* FROM bugs@bounce.hop.com; - FLUSH PRIVILEGES; - - Consider also: - - 1. Turning off external networking with "--skip-networking", unless - you have "mit-pthreads", in which case you can't. Without - networking, MySQL connects with a Unix domain socket. - 2. using the --user= option to mysqld to run it as an unprivileged - user. - 3. running MySQL in a chroot jail - 4. running the httpd in a chroot jail - 5. making sure the MySQL passwords are different from the OS - passwords (MySQL "root" has nothing to do with system "root"). - 6. running MySQL on a separate untrusted machine - 7. making backups ;-) - _________________________________________________________________ - -4.1.11. Configuring Bugzilla +4.1.10. Configuring Bugzilla You should run through the parameters on the Edit Parameters page (link in the footer) and set them all to appropriate values. They key @@ -1255,45 +1200,7 @@ set=ISO-8859-1/i" *.cgi *.pl making bugzilla charset aware by default. _________________________________________________________________ -4.2.6. .htaccess files and security - - To enhance the security of your Bugzilla installation, Bugzilla's - checksetup.pl script will generate .htaccess files which the Apache - webserver can use to restrict access to the bugzilla data files. These - .htaccess files will not work with Apache 1.2.x - but this has - security holes, so you shouldn't be using it anyway. - - Note - - If you are using an alternate provider of webdot services for graphing - (as described when viewing editparams.cgi in your web browser), you - will need to change the ip address in data/webdot/.htaccess to the ip - address of the webdot server that you are using. - - The default .htaccess file may not provide adequate access - restrictions, depending on your web server configuration. Be sure to - check the entries for your Bugzilla directory so that the - .htaccess file is allowed to override web server defaults. For - instance, let's assume your installation of Bugzilla is installed to - /usr/local/bugzilla . You should have this entry in your - httpd.conf file: - - - Options +FollowSymLinks +Indexes +Includes +ExecCGI - AllowOverride All - - - The important part above is "AllowOverride All" . Without that, the - .htaccess file created by checksetup.pl will not have sufficient - permissions to protect your Bugzilla installation. - - If you are using Internet Information Server (IIS) or another web - server which does not observe .htaccess conventions, you can disable - their creation by editing localconfig and setting the $create_htaccess - variable to 0. - _________________________________________________________________ - -4.2.7. directoryindex for the Bugzilla default page. +4.2.6. directoryindex for the Bugzilla default page. You should modify the parameter for the Apache virtual host running your Bugzilla installation to allow index.cgi as @@ -1301,13 +1208,13 @@ set=ISO-8859-1/i" *.cgi *.pl index.htm, and so forth. _________________________________________________________________ -4.2.8. Bugzilla and mod_perl +4.2.7. Bugzilla and mod_perl Bugzilla is unsupported under mod_perl. Effort is underway to make it work cleanly in a mod_perl environment, but it is slow going. _________________________________________________________________ -4.2.9. mod_throttle and Security +4.2.8. mod_throttle and Security 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 @@ -1369,7 +1276,7 @@ C:\perl> ppm Template Toolkit. The Template Toolkit website suggests using the instructions on OpenInteract's website. - Note + Tip A complete list of modules that can be installed using ppm can be found at http://www.activestate.com/PPMPackages/5.6plus. @@ -1400,33 +1307,30 @@ my $webservergid = getgrnam($my_webservergroup) my $webservergid = '8' _________________________________________________________________ -4.3.1.3.2. Making mail work - - The easiest way to get mail working is to use the mail patches on bug - 124174. With any luck, this patch will receive the required reviews - and integrated into the main Bugzilla distribution very soon. Until - that happens, there's at least one report of this patch working well - on Windows. - _________________________________________________________________ - -4.3.1.3.3. System Calls +4.3.1.3.2. System Calls In order to get system calls to work on win32's perl, you need to tell the windows shell what interpreter to use. This is done by changing the system calls. You will need to search all of Bugzilla's code for system calls. To tell perl your interpreter, it needs to be the first argument to the system call. For example, you'll need to change: -system("./processmail", $id, $exporter); +system("$webdotbase","-Tpng","-o","$pngfilename","$filename"); with -system("C:\\perl\\bin\\perl", "processmail", $id, $exporter); - - Notice that the ./ is also removed. +system("C:\\perl\\bin\\perl", "$webdotbase","-Tpng","-o","$pngfilename","$filen +ame"); Tip The grep command is very helpful in finding these system calls, assuming you have the cygwin utilities. + + Note + + It appears that the only system call remaining in the Bugzilla + codebase is in showdependencygraph.cgi. Not changing this file will + only cause dependency graphs to not function if the webdotbase + paramater points to a local installation of GraphViz. _________________________________________________________________ 4.3.1.4. Serving the web pages @@ -1434,7 +1338,7 @@ system("C:\\perl\\bin\\perl", "processmail", $id, $exporter); As is the case on Unix based systems, any web server should be able to handle Bugzilla; however, the Bugzilla Team still recommends Apache whenever asked. No matter what web server you choose, be sure to pay - attention to the security notes in Section 5.6. More information on + attention to the security notes in Section 5.6.4. More information on configuring specific web servers can be found in Section 4.4. Note @@ -1492,7 +1396,7 @@ system("C:\\perl\\bin\\perl", "processmail", $id, $exporter); web server that can be configured to run CGI scripts should be able to handle Bugzilla. No matter what web server you choose, but especially if you choose something other than Apache, you should be sure to read - Section 5.6. + Section 5.6.4. The plan for this section is to eventually document the specifics of how to lock down permissions on individual web servers. @@ -1535,7 +1439,7 @@ AllowOverride Limit $BUGZILLA_HOME/.htaccess # don't allow people to retrieve non-cgi executable files or our private data - + deny from all @@ -1591,7 +1495,7 @@ deny from all Also, and this can't be stressed enough, make sure that files such as localconfig and your data directory are secured as described in - Section 5.6. + Section 5.6.4. _________________________________________________________________ 4.4.3. AOL Server @@ -1609,11 +1513,14 @@ deny from all with the following contents (change /bugzilla/ to the web-based path to your Bugzilla installation): ns_register_filter preauth GET /bugzilla/localconfig filter_deny +ns_register_filter preauth GET /bugzilla/localconfig~ filter_deny +ns_register_filter preauth GET /bugzilla/\#localconfig\# filter_deny ns_register_filter preauth GET /bugzilla/*.pl filter_deny -ns_register_filter preauth GET /bugzilla/localconfig filter_deny -ns_register_filter preauth GET /bugzilla/processmail filter_deny ns_register_filter preauth GET /bugzilla/syncshadowdb filter_deny ns_register_filter preauth GET /bugzilla/runtests.sh filter_deny +ns_register_filter preauth GET /bugzilla/data/* filter_deny +ns_register_filter preauth GET /bugzilla/template/* filter_deny + proc filter_deny { why } { ns_log Notice "filter_deny" @@ -1622,11 +1529,19 @@ proc filter_deny { why } { Warning - This doesn't appear to account for everything mentioned in Section - 5.6. In particular, it doesn't block access to the data or template - directories. It also doesn't account for the editor backup files that - were the topic of bug 186383, Bugtraq ID 6501, and a partial cause for - the 2.16.2 release. + This probably doesn't account for all possible editor backup files so + you may wish to add some additional variations of localconfig. For + more information, see bug 186383 or Bugtraq ID 6501. + + Note + + If you are using webdot from research.att.com (the default + configuration for the webdotbase paramater), you will need to allow + access to data/webdot/*.dot for the reasearch.att.com machine. + + If you are using a local installation of GraphViz, you will need to + allow everybody to access *.png, *.gif, *.jpg, and *.map in the + data/webdot directory. _________________________________________________________________ 4.5. Troubleshooting @@ -2124,87 +2039,133 @@ Chapter 5. Administering Bugzilla These instructions must, of necessity, be somewhat vague since Bugzilla runs on so many different platforms. If you have refinements - of these directions for specific platforms, please submit them to - mozilla-webtools@mozilla.org + of these directions, please submit a bug to Bugzilla Documentation. - To secure your installation: + Warning + + This is not meant to be a comprehensive list of every possible + security issue regarding the tools mentioned in this section. There is + no subsitute for reading the information written by the authors of any + software running on your system. + _________________________________________________________________ - 1. There is no substitute for understanding the tools on your system! - Read The MySQL Privilege System until you can recite it from - memory! - 2. Lock down /etc/inetd.conf. Heck, disable inet entirely on this - box. It should only listen to port 25 for Sendmail and port 80 for - Apache. - 3. Do not run Apache as "nobody" . This will require very lax - permissions in your Bugzilla directories. Run it, instead, as a - user with a name, set via your httpd.conf file. +5.6.1. TCP/IP Ports - Note + TCP/IP defines 65,000 some ports for trafic. Of those, Bugzilla only + needs 1... 2 if you need to use features that require e-mail such as + bug moving or the e-mail interface from contrib. You should audit your + server and make sure that you aren't listening on any ports you don't + need to be. You may also wish to use some kind of firewall software to + be sure that trafic can only be recieved on ports you specify. + _________________________________________________________________ - "nobody" is a real user on UNIX systems. Having a process run as user - id "nobody" is absolutely no protection against system crackers versus - using any other user account. As a general security measure, I - recommend you create unique user ID's for each daemon running on your - system and, if possible, use "chroot" to jail that process away from - the rest of your system. - 4. Ensure you have adequate access controls for the - $BUGZILLA_HOME/data/ directory, as well as the - $BUGZILLA_HOME/localconfig file. The localconfig file stores your - "bugs" database account password. In addition, some files under - $BUGZILLA_HOME/data/ store sensitive information. - Also, beware that some text editors create backup files in the - current working directory so you need to also secure files like - localconfig~. +5.6.2. MySQL - Note + MySQL ships by default with many settings that should be changed. By + defaults it allows anybody to connect from localhost without a + password and have full administrative capabilities. It also defaults + to not have a root password (this is not the same as the system root). + Also, many installations default to running mysqld as the system root. + + 1. Consult the documentation that came with your system for + information on making mysqld run as an unprivleged user. + 2. You should also be sure to disable the anonymous user account and + set a password for the root user. This is accomplished using the + following commands: + +bash$ mysql mysql +mysql> DELETE FROM user WHERE user = ''; +mysql> UPDATE user SET password = password('new_password') WHERE user = 'root'; +mysql> FLUSH PRIVILEGES; + + + From this point forward you will need to use mysql -u root -p and + enter new_password when prompted when using the mysql client. + 3. If you run MySQL on the same machine as your httpd server, you + should consider disabling networking from within MySQL by adding + the following to your /etc/my.conf: + +[myslqd] +# Prevent network access to MySQL. +skip-networking + + + 4. You may also consider running MySQL, or even all of Bugzilla in a + chroot jail; however, instructions for doing that are beyond the + scope of this document. + _________________________________________________________________ + +5.6.3. Daemon Accounts - Simply blocking .*localconfig.* won't work because the QuickSearch - feature requires the web browser to be able to retrieve localconfig.js - and others may be introduced in the future (see bug 186383 for more - information. - Bugzilla provides default .htaccess files to protect the most - common Apache installations. However, you should verify these are - adequate according to the site-wide security policy of your web - server, and ensure that the .htaccess files are allowed to - "override" default permissions set in your Apache configuration - files. Covering Apache security is beyond the scope of this Guide; - please consult the Apache documentation for details. - If you are using a web server that does not support the .htaccess - control method, you are at risk! After installing, check to see if - you can view the file localconfig in your web browser (e.g.: - http://bugzilla.mozilla.org/localconfig ). If you can read the - contents of this file, your web server has not secured your - bugzilla directory properly and you must fix this problem before - deploying Bugzilla. If, however, it gives you a "Forbidden" error, - then it probably respects the .htaccess conventions and you are - good to go. - 5. When you run checksetup.pl, the script will attempt to modify - various permissions on files which Bugzilla uses. If you do not - have a webservergroup set in the localconfig file, then Bugzilla - will have to make certain files world readable and/or writable. - THIS IS INSECURE! . This means that anyone who can get access to - your system can do whatever they want to your Bugzilla - installation. + Many daemons, such as Apache's httpd and MySQL's mysqld default to + running as either "root" or "nobody". Running as "root" introduces + obvious security problems, but the problems introduced by running + everything as "nobody" may not be so obvious. Basically, if you're + running every daemon as "nobody" and one of them gets comprimised, + they all get comprimised. For this reason it is recommended that you + create a user account for each daemon. Note - This also means that if your webserver runs all cgi scripts as the - same user/group, anyone on the system who can run cgi scripts will be - able to take control of your Bugzilla installation. - On Apache, you can use .htaccess files to protect access to these - directories, as outlined in Bugs 57161 and 186383 for the - localconfig file, and Bug 65572 for adequate protection in your - data/ directory. Also, don't forget about the template/ and - Bugzilla/ directories and to allow access to the data/webdot - directory for the 192.20.225.10 IP address if you are using webdot - from research.att.com. The easiest way to accomplish this is to - set $create_htaccess to 1 in localconfig. However, the information - below is provided for those that want to know exactly what is - created. - FIX ME BEFORE RELEASE!!!!! Note the instructions which follow are - Apache-specific. If you use IIS, Netscape, or other non-Apache web - servers, please consult your system documentation for how to - secure these files from being transmitted to curious users. + You will need to set the webservergroup to the group you created for + your webserver to run as in localconfig. This will allow + ./checksetup.pl to better adjust the file permissions on your Bugzilla + install so as to not require making anything world-writable. + _________________________________________________________________ + +5.6.4. Web Server Access Controls + + 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 directory outside + the webroot. See bug 44659 for more information. + + * In the main Bugzilla directory, you should: + + Block: *.pl, *localconfig*, runtests.sh + + But allow: localconfig.js, localconfig.rdf + * In data: + + Block everything + + But allow: duplicates.rdf + * In data/webdot: + + If you use a remote webdot server: + o Block everything + o But allow *.dot only for the remote webdot server + + Otherwise, if you use a local GraphViz: + o Block everything + o But allow: *.png, *.gif, *.jpg, *.map + + And if you don't use any dot: + o Block everything + * In Bugzilla: + + Block everything + * In template: + + Block everything + + Tip + + Bugzilla ships with the ability to generate .htaccess files + instructing Apache which files should and should not be accessible. + For more information, see Section 4.4.1. + + You should test to make sure that the files mentioned above are not + accessible from the Internet, especially your localconfig file which + contains your database password. To test, simply point your web + browser at the file; for example, to test mozilla.org's installation, + we'd try to access http://bugzilla.mozilla.org/localconfig. You should + get a 403 Forbidden error. + + Caution + + Not following the instructions in this section, including testing, may + result in sensitive information being globally accessible. + + Tip + + You should check Section 4.4 to see if instructions have been included + for your web server. You should also compare those instructions with + this list to make sure everything is properly accounted for. _________________________________________________________________ 5.7. Template Customization @@ -3237,13 +3198,12 @@ Appendix A. The Bugzilla FAQ A.4.6. Email takes FOREVER to reach me from Bugzilla -- it's extremely slow. What gives? - If you are using an alternate Mail Transport Agent (MTA other than - sendmail), make sure the options given in the "processmail" and other - scripts for all instances of "sendmail" are correct for your MTA. + If you are using an alternate MTA, make sure the options given in + Bugzilla/BugMail.pm and any other place where sendmail is called from + are correct for your MTA. You should also ensure that the sendmailnow + param is set to on. - If you are using Sendmail, try enabling "sendmailnow" in - editparams.cgi. If you are using Postfix, you will also need to enable - "sendmailnow". + If you are using sendmail, try enabling sendmailnow in editparams.cgi. A.4.7. How come email from Bugzilla changes never reaches me? @@ -3914,7 +3874,8 @@ D.3. Issuezilla Issuezilla was another fork from Bugzilla, made by collab.net and hosted at tigris.org. It is also dead; the primary focus of - bug-tracking at tigris.org is their Java-based bug-tracker, Scarab. + bug-tracking at tigris.org is their Java-based bug-tracker, Section + D.4. This section last updated 27 Jul 2002 _________________________________________________________________ @@ -4417,12 +4378,21 @@ J M - mysqld - mysqld is the name of the daemon for the MySQL database. In - general, it is invoked automatically through the use of the - System V init scripts on GNU/Linux and AT&T System V-based - systems, such as Solaris and HP/UX, or through the RC scripts - on BSD-based systems. + Message Transport Agent (MTA) + A Message Transport Agent is used to control the flow of email + on a system. Many unix based systems use sendmail which is what + Bugzilla expects to find by default at /usr/sbin/sendmail. Many + other MTA's will work, but they all require that the + sendmailnow param be set to on. + + MySQL + MySQL is currently the required RDBMS for Bugzilla. MySQL can + be downloaded from http://www.mysql.com. While you should + familiarize yourself with all of the documentation, some high + points are: + + + MySQL Privilege System - Much more detailed information about + the suggestions in Section 5.6.2. P @@ -4450,6 +4420,13 @@ Q progress of bugs over their life cycle, thus the need for the "QA Contact" field in a bug. +R + + Relational DataBase Managment System (RDBMS) + A relational database management system is a database system + that stores information in tables that are related to each + other. + S SGML -- cgit v1.2.3-24-g4f1b