Skip to content
Snippets Groups Projects
Select Git revision
  • 8637c1e793dab9c21cc5bb70e1efd6ff2356a38a
  • master default protected
  • hpke
  • ppc-chacha-4core
  • delete-internal-name-mangling
  • master-updates
  • ppc-gcm
  • ppc-chacha-2core
  • refactor-ecc-mod
  • ppc-chacha-core
  • use-mpn_cnd-functions
  • optimize-ecc-invert
  • default-m4-quote-char
  • power-asm-wip
  • test-fat
  • chacha-3core-neon
  • x86_64-salsa20-2core
  • salsa20-2core-neon
  • bcrypt
  • arm-salsa20-chacha-vsra
  • test-shlib-dir
  • nettle_3.6_release_20200429
  • nettle_3.6rc3
  • nettle_3.6rc2
  • nettle_3.6rc1
  • nettle_3.5.1_release_20190627
  • nettle_3.5_release_20190626
  • nettle_3.5rc1
  • nettle_3.4.1_release_20181204
  • nettle_3.4.1rc1
  • nettle_3.4_release_20171119
  • nettle_3.4rc2
  • nettle_3.4rc1
  • nettle_3.3_release_20161001
  • nettle_3.2_release_20160128
  • nettle_3.1.1_release_20150424
  • nettle_3.1_release_20150407
  • nettle_3.1rc3
  • nettle_3.1rc2
  • nettle_3.1rc1
  • nettle_3.0_release_20140607
41 results

dsa.c

Blame
  • Forked from Nettle / nettle
    Source project has a limited visibility.
    security.html 11.80 KiB
    <HTML
    ><HEAD
    ><TITLE
    >Bugzilla Security</TITLE
    ><META
    NAME="GENERATOR"
    CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
    REL="HOME"
    TITLE="The Bugzilla Guide - 2.16.4 Release"
    HREF="index.html"><LINK
    REL="UP"
    TITLE="Administering Bugzilla"
    HREF="administration.html"><LINK
    REL="PREVIOUS"
    TITLE="Groups and Group Security"
    HREF="groups.html"><LINK
    REL="NEXT"
    TITLE="Template Customisation"
    HREF="cust-templates.html"></HEAD
    ><BODY
    CLASS="section"
    BGCOLOR="#FFFFFF"
    TEXT="#000000"
    LINK="#0000FF"
    VLINK="#840084"
    ALINK="#0000FF"
    ><DIV
    CLASS="NAVHEADER"
    ><TABLE
    SUMMARY="Header navigation table"
    WIDTH="100%"
    BORDER="0"
    CELLPADDING="0"
    CELLSPACING="0"
    ><TR
    ><TH
    COLSPAN="3"
    ALIGN="center"
    >The Bugzilla Guide - 2.16.4 Release</TH
    ></TR
    ><TR
    ><TD
    WIDTH="10%"
    ALIGN="left"
    VALIGN="bottom"
    ><A
    HREF="groups.html"
    ACCESSKEY="P"
    >Prev</A
    ></TD
    ><TD
    WIDTH="80%"
    ALIGN="center"
    VALIGN="bottom"
    >Chapter 5. Administering Bugzilla</TD
    ><TD
    WIDTH="10%"
    ALIGN="right"
    VALIGN="bottom"
    ><A
    HREF="cust-templates.html"
    ACCESSKEY="N"
    >Next</A
    ></TD
    ></TR
    ></TABLE
    ><HR
    ALIGN="LEFT"
    WIDTH="100%"></DIV
    ><DIV
    CLASS="section"
    ><H1
    CLASS="section"
    ><A
    NAME="security"
    ></A
    >5.6. Bugzilla Security</H1
    ><DIV
    CLASS="warning"
    ><P
    ></P
    ><TABLE
    CLASS="warning"
    WIDTH="100%"
    BORDER="0"
    ><TR
    ><TD
    WIDTH="25"
    ALIGN="CENTER"
    VALIGN="TOP"
    ><IMG
    SRC="../images/warning.gif"
    HSPACE="5"
    ALT="Warning"></TD
    ><TD
    ALIGN="LEFT"
    VALIGN="TOP"
    ><P
    >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.</P
    ></TD
    ></TR
    ></TABLE
    ></DIV
    ><DIV
    CLASS="note"
    ><P
    ></P
    ><TABLE
    CLASS="note"
    WIDTH="100%"
    BORDER="0"
    ><TR
    ><TD
    WIDTH="25"
    ALIGN="CENTER"
    VALIGN="TOP"
    ><IMG
    SRC="../images/note.gif"
    HSPACE="5"
    ALT="Note"></TD
    ><TD
    ALIGN="LEFT"
    VALIGN="TOP"
    ><P
    >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 <A
    HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla&component=Documentation"
    TARGET="_top"
    >Bugzilla</A
    >.
          </P
    ></TD
    ></TR
    ></TABLE
    ></DIV
    ><DIV
    CLASS="warning"
    ><P
    ></P
    ><TABLE
    CLASS="warning"
    WIDTH="100%"
    BORDER="0"
    ><TR
    ><TD
    WIDTH="25"
    ALIGN="CENTER"
    VALIGN="TOP"
    ><IMG
    SRC="../images/warning.gif"
    HSPACE="5"
    ALT="Warning"></TD
    ><TD
    ALIGN="LEFT"
    VALIGN="TOP"
    ><P
    >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.
          </P
    ></TD
    ></TR
    ></TABLE
    ></DIV
    ><DIV
    CLASS="section"
    ><H2
    CLASS="section"
    ><A
    NAME="security-networking"
    ></A
    >5.6.1. TCP/IP Ports</H2
    ><P
    >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.
          </P
    ></DIV
    ><DIV
    CLASS="section"
    ><H2
    CLASS="section"
    ><A
    NAME="security-mysql"
    ></A
    >5.6.2. MySQL</H2
    ><P
    >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 <EM
    >not</EM
    > the same as
          the system root). Also, many installations default to running
          <SPAN
    CLASS="application"
    >mysqld</SPAN
    > as the system root.
          </P
    ><P
    ></P
    ><OL
    TYPE="1"
    ><LI
    ><P
    >Make sure you are running at least version 3.22.32 of MySQL
              as earlier versions had notable security holes.
              </P
    ></LI
    ><LI
    ><P
    >Consult the documentation that came with your system for
              information on making <SPAN
    CLASS="application"
    >mysqld</SPAN
    > run as an
              unprivleged user.
              </P
    ></LI
    ><LI
    ><P
    >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:
              </P
    ><TABLE
    BORDER="0"
    BGCOLOR="#E0E0E0"
    WIDTH="100%"
    ><TR
    ><TD
    ><FONT
    COLOR="#000000"
    ><PRE
    CLASS="programlisting"
    >&#13;<TT
    CLASS="prompt"
    >bash$</TT
    > mysql mysql
    <TT
    CLASS="prompt"
    >mysql&#62;</TT
    > DELETE FROM user WHERE user = '';
    <TT
    CLASS="prompt"
    >mysql&#62;</TT
    > UPDATE user SET password = password('<TT
    CLASS="replaceable"
    ><I
    >new_password</I
    ></TT
    >') WHERE user = 'root';
    <TT
    CLASS="prompt"
    >mysql&#62;</TT
    > FLUSH PRIVILEGES;
              </PRE
    ></FONT
    ></TD
    ></TR
    ></TABLE
    ><P
    >From this point forward you will need to use
              <B
    CLASS="command"
    >mysql -u root -p</B
    > and enter
              <TT
    CLASS="replaceable"
    ><I
    >new_password</I
    ></TT
    > when prompted when using the
              mysql client.
              </P
    ></LI
    ><LI
    ><P
    >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 <TT
    CLASS="filename"
    >/etc/my.conf</TT
    >:
              </P
    ><TABLE
    BORDER="0"
    BGCOLOR="#E0E0E0"
    WIDTH="100%"
    ><TR
    ><TD
    ><FONT
    COLOR="#000000"
    ><PRE
    CLASS="programlisting"
    >&#13;[myslqd]
    # Prevent network access to MySQL.
    skip-networking
              </PRE
    ></FONT
    ></TD
    ></TR
    ></TABLE
    ></LI
    ><LI
    ><P
    >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.
              </P
    ></LI
    ></OL
    ></DIV
    ><DIV
    CLASS="section"
    ><H2
    CLASS="section"
    ><A
    NAME="security-daemon"
    ></A
    >5.6.3. Daemon Accounts</H2
    ><P
    >Many daemons, such as Apache's httpd and MySQL's mysqld default to
          running as either <SPAN
    CLASS="QUOTE"
    >"root"</SPAN
    > or <SPAN
    CLASS="QUOTE"
    >"nobody"</SPAN
    >. Running
          as <SPAN
    CLASS="QUOTE"
    >"root"</SPAN
    > introduces obvious security problems, but the
          problems introduced by running everything as <SPAN
    CLASS="QUOTE"
    >"nobody"</SPAN
    > may
          not be so obvious. Basically, if you're running every daemon as
          <SPAN
    CLASS="QUOTE"
    >"nobody"</SPAN
    > 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.
          </P
    ><DIV
    CLASS="note"
    ><P
    ></P
    ><TABLE
    CLASS="note"
    WIDTH="100%"
    BORDER="0"
    ><TR
    ><TD
    WIDTH="25"
    ALIGN="CENTER"
    VALIGN="TOP"
    ><IMG
    SRC="../images/note.gif"
    HSPACE="5"
    ALT="Note"></TD
    ><TD
    ALIGN="LEFT"
    VALIGN="TOP"
    ><P
    >You will need to set the <TT
    CLASS="varname"
    >webservergroup</TT
    > to
            the group you created for your webserver to run as in
            <TT
    CLASS="filename"
    >localconfig</TT
    >. This will allow
            <B
    CLASS="command"
    >./checksetup.pl</B
    > to better adjust the file
            permissions on your Bugzilla install so as to not require making
            anything world-writable.
            </P
    ></TD
    ></TR
    ></TABLE
    ></DIV
    ></DIV
    ><DIV
    CLASS="section"
    ><H2
    CLASS="section"
    ><A
    NAME="security-access"
    ></A
    >5.6.4. Web Server Access Controls</H2
    ><P
    >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
          <A
    HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659"
    TARGET="_top"
    >bug
          44659</A
    > for more information.
          </P
    ><P
    ></P
    ><UL
    COMPACT="COMPACT"
    ><LI
    ><P
    >In the main Bugzilla directory, you should:</P
    ><P
    ></P
    ><UL
    COMPACT="COMPACT"
    ><LI
    ><P
    >Block:
                  <TT
    CLASS="filename"
    >*.pl</TT
    >, <TT
    CLASS="filename"
    >*localconfig*</TT
    >, <TT
    CLASS="filename"
    >runtests.sh</TT
    >, <TT
    CLASS="filename"
    >processmail</TT
    >, <TT
    CLASS="filename"
    >syncshadowdb</TT
    >
                  </P
    ></LI
    ><LI
    ><P
    >But allow:
                  <TT
    CLASS="filename"
    >localconfig.js</TT
    >, <TT
    CLASS="filename"
    >localconfig.rdf</TT
    >
                  </P
    ></LI
    ></UL
    ></LI
    ><LI
    ><P
    >In <TT
    CLASS="filename"
    >data</TT
    >:</P
    ><P
    ></P
    ><UL
    COMPACT="COMPACT"
    ><LI
    ><P
    >Block everything</P
    ></LI
    ><LI
    ><P
    >But allow:
                  <TT
    CLASS="filename"
    >duplicates.rdf</TT
    >
                  </P
    ></LI
    ></UL
    ></LI
    ><LI
    ><P
    >In <TT
    CLASS="filename"
    >data/webdot</TT
    >:</P
    ><P
    ></P
    ><UL
    COMPACT="COMPACT"
    ><LI
    ><P
    >If you use a remote webdot server:</P
    ><P
    ></P
    ><UL
    COMPACT="COMPACT"
    ><LI
    ><P
    >Block everything</P
    ></LI
    ><LI
    ><P
    >But allow
                      <TT
    CLASS="filename"
    >*.dot</TT
    >
                      only for the remote webdot server</P
    ></LI
    ></UL
    ></LI
    ><LI
    ><P
    >Otherwise, if you use a local GraphViz:</P
    ><P
    ></P
    ><UL
    COMPACT="COMPACT"
    ><LI
    ><P
    >Block everything</P
    ></LI
    ><LI
    ><P
    >But allow:
                      <TT
    CLASS="filename"
    >*.png</TT
    >, <TT
    CLASS="filename"
    >*.gif</TT
    >, <TT
    CLASS="filename"
    >*.jpg</TT
    >, <TT
    CLASS="filename"
    >*.map</TT
    >
                      </P
    ></LI
    ></UL
    ></LI
    ><LI
    ><P
    >And if you don't use any dot:</P
    ><P
    ></P
    ><UL
    COMPACT="COMPACT"
    ><LI
    ><P
    >Block everything</P
    ></LI
    ></UL
    ></LI
    ></UL
    ></LI
    ><LI
    ><P
    >In <TT
    CLASS="filename"
    >Bugzilla</TT
    >:</P
    ><P
    ></P
    ><UL
    COMPACT="COMPACT"
    ><LI
    ><P
    >Block everything</P
    ></LI
    ></UL
    ></LI
    ><LI
    ><P
    >In <TT
    CLASS="filename"
    >template</TT
    >:</P
    ><P
    ></P
    ><UL
    COMPACT="COMPACT"
    ><LI
    ><P
    >Block everything</P
    ></LI
    ></UL
    ></LI
    ></UL
    ><DIV
    CLASS="tip"
    ><P
    ></P
    ><TABLE
    CLASS="tip"
    WIDTH="100%"
    BORDER="0"
    ><TR
    ><TD
    WIDTH="25"
    ALIGN="CENTER"
    VALIGN="TOP"
    ><IMG
    SRC="../images/tip.gif"
    HSPACE="5"
    ALT="Tip"></TD
    ><TD
    ALIGN="LEFT"
    VALIGN="TOP"
    ><P
    >Bugzilla ships with the ability to generate
            <TT
    CLASS="filename"
    >.htaccess</TT
    > files instructing Apache which files
            should and should not be accessible.
            </P
    ></TD
    ></TR
    ></TABLE
    ></DIV
    ><P
    >You should test to make sure that the files mentioned above are
          not accessible from the Internet, especially your
          <TT
    CLASS="filename"
    >localconfig</TT
    > 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
          <A
    HREF="http://bugzilla.mozilla.org/localconfig"
    TARGET="_top"
    >http://bugzilla.mozilla.org/localconfig</A
    >. You should
          get a <SPAN
    CLASS="errorcode"
    >403</SPAN
    > <SPAN
    CLASS="errorname"
    >Forbidden</SPAN
    >
          error.
          </P
    ><DIV
    CLASS="caution"
    ><P
    ></P
    ><TABLE
    CLASS="caution"
    WIDTH="100%"
    BORDER="0"
    ><TR
    ><TD
    WIDTH="25"
    ALIGN="CENTER"
    VALIGN="TOP"
    ><IMG
    SRC="../images/caution.gif"
    HSPACE="5"
    ALT="Caution"></TD
    ><TD
    ALIGN="LEFT"
    VALIGN="TOP"
    ><P
    >Not following the instructions in this section, including
            testing, may result in sensitive information being globally
            accessible.
            </P
    ></TD
    ></TR
    ></TABLE
    ></DIV
    ></DIV
    ></DIV
    ><DIV
    CLASS="NAVFOOTER"
    ><HR
    ALIGN="LEFT"
    WIDTH="100%"><TABLE
    SUMMARY="Footer navigation table"
    WIDTH="100%"
    BORDER="0"
    CELLPADDING="0"
    CELLSPACING="0"
    ><TR
    ><TD
    WIDTH="33%"
    ALIGN="left"
    VALIGN="top"
    ><A
    HREF="groups.html"
    ACCESSKEY="P"
    >Prev</A
    ></TD
    ><TD
    WIDTH="34%"
    ALIGN="center"
    VALIGN="top"
    ><A
    HREF="index.html"
    ACCESSKEY="H"
    >Home</A
    ></TD
    ><TD
    WIDTH="33%"
    ALIGN="right"
    VALIGN="top"
    ><A
    HREF="cust-templates.html"
    ACCESSKEY="N"
    >Next</A
    ></TD
    ></TR
    ><TR
    ><TD
    WIDTH="33%"
    ALIGN="left"
    VALIGN="top"
    >Groups and Group Security</TD
    ><TD
    WIDTH="34%"
    ALIGN="center"
    VALIGN="top"
    ><A
    HREF="administration.html"
    ACCESSKEY="U"
    >Up</A
    ></TD
    ><TD
    WIDTH="33%"
    ALIGN="right"
    VALIGN="top"
    >Template Customisation</TD
    ></TR
    ></TABLE
    ></DIV
    ></BODY
    ></HTML
    >