Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

Bonnes pratiques pour la configuration s¨¦curis¨¦e de Áú»¢¶Ä²©

Aper?u

Cette section contient les bonnes pratiques ¨¤ suivre pour configurer Áú»¢¶Ä²© de mani¨¨re s¨¦curis¨¦e.

Les pratiques expliqu¨¦es ici ne sont pas obligatoire pour faire fonctionner Áú»¢¶Ä²©. Elles sont recommand¨¦es pour une meilleure s¨¦curit¨¦ du syst¨¨me.

Utilisateur s¨¦curis¨¦ pour l'agent Áú»¢¶Ä²©

Dans la configuration par d¨¦faut, les processus du serveur et de l'agent Áú»¢¶Ä²© partage le m¨ºme utilisateur 'zabbix'. Si vous voulez ¨ºtre s?r que l'agent ne puisse pas acc¨¦der ¨¤ certains d¨¦tails sensibles de la configuration du serveur (ex : informations de connexion ¨¤ base de donn¨¦es), l¡¯agent devrait s¡¯ex¨¦cuter avec un utilisateur diff¨¦rent :

  1. Cr¨¦er un utilisateur s¨¦curis¨¦
  2. Indiquer cet utilisateur dans le [[:manual/appendix/config/zabbix_agentd|fichier de configuration] de l'agent (param¨¨tre : ¡¯User¡¯).
  3. Red¨¦marrer l'agent avec des droits administrateurs. Les droits seront transf¨¦r¨¦s ¨¤ l'utilisateur indiqu¨¦.

Mettre en place le SSL pour l'interface Web

Sur RHEL/Centos, installez le package mod_ssl :

yum install mod_ssl

Cr¨¦ez un repertoire pour les cl¨¦s SSL :

mkdir /etc/httpd/ssl

Ajoutez les param¨¨tres SSL :

Country Name (2 letter code) [XX]:
       State or Province Name (full name) []:
       Locality Name (eg, city) [Default City]:
       Organization Name (eg, company) [Default Company Ltd]:
       Organizational Unit Name (eg, section) []:
       Common Name (eg, your name or your server's hostname) []:localhost
       Email Address []:

?ditez la configuration SSL Apache :

/etc/httpd/conf.d/ssl.conf
       
       DocumentRoot "/usr/share/zabbix"
       ServerName localhost:443
       SSLCertificateFile /etc/httpd/ssl/apache.crt
       SSLCertificateKeyFile /etc/httpd/ssl/apache.key

Red¨¦marrez le service Apache pour appliquer les changements :

systemctl restart httpd.service

Activation de Áú»¢¶Ä²© dans le r¨¦pertoire racine de l'URL

Ajoutez un h?te virtuel ¨¤ la configuration Apache et d¨¦finissez une redirection permanente pour le document racine vers l'URL s¨¦curis¨¦e de Áú»¢¶Ä²©. Remplacez localhost par le nom r¨¦el du serveur.

/etc/httpd/conf/httpd.conf
       
       #Add lines
       
       <VirtualHost *:*>
           ServerName localhost
           Redirect permanent / http://localhost
       </VirtualHost>

Red¨¦marrez le service Apache pour appliquer les modifications :

systemctl restart httpd.service

D¨¦sactiver l'exposition des informations du serveur Web

Il est recommand¨¦ de d¨¦sactiver toutes les signatures de serveur Web dans le cadre du processus de renforcement du serveur Web. Le serveur Web expose la signature logicielle par d¨¦faut :

La signature peut ¨ºtre d¨¦sactiv¨¦e en ajoutant deux lignes au fichier de configuration Apache (utilis¨¦ comme exemple) :

ServerSignature Off
       ServerTokens Prod

La signature PHP (X-Powered-By HTTP header) peut ¨ºtre d¨¦sactiv¨¦e en changeant le fichier de configuration php.ini (la signature est d¨¦sactiv¨¦e par d¨¦faut) :

expose_php = Off

Le red¨¦marrage du serveur Web est obligatoire pour qur les changements dans le fichier de configuration soient appliqu¨¦s.

Un niveau de s¨¦curit¨¦ suppl¨¦mentaire peut ¨ºtre atteint en utilisant le mod_security (package libapache2-mod-security2) avec Apache. mod_security permet de supprimer la signature du serveur au lieu de supprimer uniquement la version de la signature du serveur. La signature peut ¨ºtre modifi¨¦e en n'importe quelle valeur en changeant "SecServerSignature" apr¨¨s l'installation de mod_security.

Reportez-vous ¨¤ la documentation de votre serveur Web pour obtenir de l'aide sur la suppression/modification des signatures logicielles.

D¨¦sactiver les pages d'erreurs par d¨¦faut du serveur web

Il est recommand¨¦ de d¨¦sactiver les pages d'erreur par d¨¦faut pour ¨¦viter toute exposition d'informations. Le serveur Web utilise par d¨¦faut les pages d'erreur int¨¦gr¨¦es :

Les pages d'erreur par d¨¦faut doivent ¨ºtre remplac¨¦es/supprim¨¦es dans le cadre du processus de renforcement du serveur Web. La directive "ErrorDocument" peut ¨ºtre utilis¨¦e pour d¨¦finir une page/texte d'erreur personnalis¨¦ pour le serveur web Apache (utilis¨¦ comme exemple).

Reportez-vous ¨¤ la documentation de votre serveur Web pour obtenir de l'aide sur la fa?on de remplacer/supprimer les pages d'erreur par d¨¦faut.

Suppression de la page de test du serveur web

Il est recommand¨¦ de supprimer la page de test du serveur Web pour ¨¦viter toute exposition d'informations. Par d¨¦faut, le webroot du serveur web contient une page de test appel¨¦e index.html (Apache2 sur Ubuntu est utilis¨¦ comme exemple) :

La page de test doit ¨ºtre supprim¨¦e ou doit ¨ºtre rendue indisponible dans le cadre du processus de renforcement du serveur Web.

Disabling web server information exposure

It is recommended to disable all web server signatures as part of the web server hardening process. The web server is exposing software signature by default:

The signature can be disabled by adding two lines to the Apache (used as an example) configuration file:

ServerSignature Off
       ServerTokens Prod

PHP signature (X-Powered-By HTTP header) can be disabled by changing the php.ini configuration file (signature is disabled by default):

expose_php = Off

Web server restart is required for configuration file changes to be applied.

Additional security level can be achieved by using the mod_security (package libapache2-mod-security2) with Apache. mod_security allows to remove server signature instead of only removing version from server signature. Signature can be altered to any value by changing "SecServerSignature" to any desired value after installing mod_security.

Please refer to documentation of your web server to find help on how to remove/change software signatures.

Disabling default web server error pages

It is recommended to disable default error pages to avoid information exposure. Web server is using built-in error pages by default:

Default error pages should be replaced/removed as part of the web server hardening process. The "ErrorDocument" directive can be used to define a custom error page/text for Apache web server (used as an example).

Please refer to documentation of your web server to find help on how to replace/remove default error pages.

Removing web server test page

It is recommended to remove the web server test page to avoid information exposure. By default, web server webroot contains a test page called index.html (Apache2 on Ubuntu is used as an example):

The test page should be removed or should be made unavailable as part of the web server hardening process.

Áú»¢¶Ä²© settings

By default, Áú»¢¶Ä²© is configured with X-Frame-Options HTTP response header set to SAMEORIGIN, meaning that content can only be loaded in a frame that has the same origin as the page itself.

Áú»¢¶Ä²© frontend elements that pull content from external URLs (namely, the URL dashboard widget) display retrieved content in a sandbox with all sandboxing restrictions enabled.

These settings enhance the security of the Áú»¢¶Ä²© frontend and provide protection against XSS and clickjacking attacks. Super Admins can modify iframe sandboxing and X-Frame-Options HTTP response header parameters as needed. Please carefully weigh the risks and benefits before changing default settings. Turning sandboxing or X-Frame-Options off completely is not recommended.

Áú»¢¶Ä²© Windows agent with OpenSSL

Áú»¢¶Ä²© Windows agent compiled with OpenSSL will try to reach the SSL configuration file in c:\openssl-64bit. The "openssl-64bit" directory on disk C: can be created by non-privileged users.

So for security hardening, it is required to create this directory manually and revoke write access from non-admin users.

Please note that the directory names will be different on 32-bit and 64-bit versions of Windows.

Security vulnerabilities

CVE-2021-42550

In Áú»¢¶Ä²© Java gateway with logback version 1.2.7 and prior versions, an attacker with the required privileges to edit configuration files could craft a malicious configuration allowing to execute arbitrary code loaded from LDAP servers.

Vulnerability to has been fixed since Áú»¢¶Ä²© 5.4.9. However, as an additional security measure it is recommended to check permissions to the /etc/zabbix/zabbix_java_gateway_logback.xml file and set it read-only, if write permissions are available for the "zabbix" user.