Chapitre 4. Sécurité de Bugzilla

Table des matières

Le système d'exploitation
Ports TCP/IP
Comptes utilisateur du système
Environnement d'exécution fermé
MySQL
Les comptes Système MySQL
Le super utilisateur et l'utilisateur anonyme de MySQL
Accès au réseau
Serveur Web
Désactivation des accès à distance pour les fichiers de configuration Bugzilla
Utilisation de mod_throttle pour éviter un déni de service
Bugzilla
Empêcher les utilisateurs d'introduire du Javascript malveillant

Bien que certains éléments de ce chapitre soient relatifs au système d'exploitation pour lequel Buzilla fonctionne ou aux logiciels nécessaires à l'exécution de Bugzilla, tout est en rapport avec la protection de vos données. Ceci ne prétend pas être un guide complet pour sécuriser Linux, Apache, MySQL ou tout autre logiciel mentionné. Rien ne remplace une administration dynamique et la surveillance d'une machine. L'élément essentiel pour une bonne sécurité, vous la connaissez parfaitement : c vous.

Bien qu'en général les programmeurs s'efforcent d'écrire du code sécurisé, les accidents sont toujours possibles, et ils se produisent. La meilleure approche pour la sécurité est de toujours supposer que le programme sur lequel vous êtes en train de travailler n'est pas sécurisé à 100% et de restreindre son accès aux autres parties de votre machine autant que possible.

Le système d'exploitation

Ports TCP/IP

La norme TCP/IP établit plus de 65000 ports pour le trafic entrant et sortant. Parmi ceux-là, Bugzilla en a besoin précisément d'un pour fonctionner (selon les configurations et les options, on pourra en avoir besoin de 2, voire 3). Il faut vérifier votre serveur et vous assurer qu’il n’est pas à l’écoute sur des ports dont vous n’avez pas besoin. Il est également fortement recommandé que le serveur sur lequel se trouve Bugzilla, ainsi que toute autre machine que vous administrez, soit placé derrière quelque chose du genre coupe-feu.

Comptes utilisateur du système

Beaucoup de démons tels que le httpd d'Apache ou le mysqld de MySQL s'exécutent aussi bien en tant que « root » qu’en tant que « nobody ». C'est encore pire sur les machines Windows où la majorité des services sont exécutés en tant que « SYSTEME ». Bien que l'exécution en tant que « root » ou « SYSTEM » présente des problèmes de sécurité évidents, les problèmes que présente l'exécution de tout en tant que « nobody » peuvent ne pas être si évidents. En gros, si vous exécutez tous les démons en tant que « nobody » et que l'un d'entre eux se trouve compromis, il peut compromettre tous les autres démons exécutés en tant que « nobody »sur votre machine. Pour cette raison, il est conseillé de créer un compte utilisateur pour chaque démon.

Note

Il vous faudra configurer l'option webservergroup dans localconfig pour le groupe dans lequel votre serveur Web s'exécute. Cela premettra à ./checksetup.pl de configurer les permissions des fichiers sur les systèmes Unix de manière à ce que rien ne soit en écriture libre.

Environnement d'exécution fermé

Si votre système le supporte, vous souhaitez peut être exécuter Bugzilla à l'intérieur d'un environnement d'exécution fermé chroot. Cette option fournit une sécurité sans précédent en interdisant à tout ce qui s'exécute dans cet environnement d'exécution fermé d'accéder à toute information lui étant extérieure. Si vous souhaitez utiliser cette option, veuillez consulter la documentation livrée avec votre système.