4.2. Web server

4.2.1. Disabling Remote Access to Bugzilla Configuration Files

There are many files that are placed in the Bugzilla directory area that should not be accessible from the web server. Because of the way Bugzilla is currently layed out, the list of what should and should not be accessible is rather complicated. A quick way is to run testserver.pl to check if your web server serves Bugzilla files as expected. If not, you may want to follow the few steps below.

[Tip]

Bugzilla ships with the ability to create .htaccess files that enforce these rules. Instructions for enabling these directives in Apache can be found in Section 2.2.4.1, “Bugzilla using Apache”

  • In the main Bugzilla directory, you should:

    • Block: *.pl, *localconfig*

  • In data:

    • Block everything

  • 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

Be sure to test that data that should not be accessed remotely is properly blocked. Of particular interest is the localconfig file which contains your database password. Also, be aware that many editors create temporary and backup files in the working directory and that those should also not be accessible. For more information, see bug 186383 or Bugtraq ID 6501. To test, simply run testserver.pl, as said above.

[Tip]

Be sure to check Section 2.2.4, “Web server” for instructions specific to the web server you use.