====== Centreon ====== ---- ===== Installation 22.10 sur CentOS 8 ===== ==== Pré requis ==== * CentOS 8 * 4 vcpu * 4 Go de RAM ==== Installation ==== === Paquets === Exécuter en tant que root curl -L -s https://raw.githubusercontent.com/centreon/centreon/22.10.x/centreon/unattended.sh | sh Noter le mot de passe mariaDB généré de façon aléatoire en fin d'installation. === Configuration générale === * Se connecter à l'interface web [[http://adresse_IP]] * Suivre les indications au fur et à mesure [[https://docs.centreon.com/docs/installation/web-and-post-installation/|Post installation]] ==== Passage en https ==== === Générer un certificat autosigné === * Installer les paquets dnf install mod_ssl mod_security openssl * Générer un certificat autosigné openssl genrsa -out ca.key 2048 openssl req -new -key ca.key -out ca.csr openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt mv ca.crt /etc/pki/tls/certs mv ca.key ca.csr /etc/pki/tls/private * Mettre à jour le fichier /etc/httpd/conf.d/ssl.conf SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key * Redémarrer le service systemctl restart httpd === Certificat Let's Encrypt === * Installer les paquets dnf install certbot python3-certbot-apache mod_ssl * Générer le certificat certbot --apache -d certonly * Désactiver les fichiers de configuration cd /etc/httpd/conf.d mv welcome.conf welcome.conf.inhib mv userdir.conf userdir.conf.inhib mv autoindex.conf autoindex.conf.inhib mv 10-centreon.conf 10-centreon.conf.inhib * Interdire l'accès par défaut Créer un fichier deny-all.conf ServerName xxx.xxx.xxx.xxx ErrorLog /var/log/httpd/error.log CustomLog /var/log/httpd/access.log combined Deny from all ServerName xxx.xxx.xxx.xxx ErrorLog /var/log/httpd/error.log CustomLog /var/log/httpd/access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/url_du_site/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/url_du_site/privkey.pem Deny from all * Récupérer le fichier exemple de Centreon cp /usr/share/centreon/examples/centreon.apache.https.conf /etc/httpd/conf.d * Modifier les 2 lignes SSLCertificateFile /etc/letsencrypt/live/url_du_site/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/url_du_site/privkey.pem * Redémarrer le service systemctl restart httpd ==== Sécurisation ==== Voir § [[all:bibles:linux:serveur:centreon#securisation_du_serveur|Sécurisation du serveur]] ---- [[all:bibles:linux:serveur:centreon|Haut de page]] ===== Installation ova pour VMWare ===== ==== Création VM ==== === Modification de la VM === * Créer la VM à partir du fichier OVA télécharger sur le site [[https://download.centreon.com/|Centreon]] * Ajouter une interface réseau * Modifier éventuellement les paramètres de la VM avant de la démarrer === Modification de l'OS === * Se connecter avec utilisateur root, password centreon * Changer le clavier en azerty : [[all:bibles:linux:clavier#redhat_centos|Changement clavier]] * Modifier le mot de passe * Configurer l'adresse IP : [[all:bibles:linux:reseau:02-configuration#redhat_centos|Configuration IP]] * Changer le hostname hostnamectl set-hostname nom_du_serveur * Définir le fuseau horaire timedatectl set-timezone Europe/Paris * Définir le fuseau horaire pour PHP dans le fichier /etc/opt/rh/rh-php73/php.d/50-centreon.ini * Prise en compte en redémarrant le service : systemctl restart rh-php73-php-fpm * Mise à jour du partitionnement de la base Centreon su - centreon /opt/rh/rh-php73/root/bin/php /usr/share/centreon/cron/centreon-partitioning.php exit * Redémarrage des services centreon systemctl restart cbd centengine gorgoned === Mise à jour de l'OS === yum update --nogpgcheck ---- [[all:bibles:linux:serveur:centreon|Haut de page]] ===== Interface Centreon ===== ==== Connexion ==== * Aller sur l'url http://ip_address/centreon * Se connecter avec admin/ ==== Configuration ==== * Cliquer sur la tête en haut à droite * Cliquer sur « Edit Profile » === Language === fr_FR === Timezone/Location === Europe/Paris === Mot de passe === Changer le mot de passe par défaut ==== Démarrage ==== === Interface web === * A partir de l'interface cliquer en haut à gauche sur « Collecteurs » puis « Configurer les collecteurs » * Sélectionner « Central » puis choisir « Exporter la configuration » * Cocher « Déplacer les fichiers générés » et « Redémarrer l'ordonnanceur » === Console === * collect process systemctl restart cbd centengine * task manager systemctl restart gorgoned * passive monitoring systemctl start snmptrapd centreontrapd * Pour monitorer le serveur lancer le démon SNMP systemctl start snmpd ==== Plugin packs ==== * Cliquer sur « Configuration / Gestionnaire de connecteurs de supervision » * Choisir les plugin à installer en passant la souris au-dessus et en cliquant sur le + * Une fois le plugin installé une coche verte apparait sur le plugin ==== SNMP ==== Il faut installer un serveur SNMP sur les serveur à superviser via SNMP (notamment les plugins Linux de base pour CPU, RAM, ...) === Installation === dnf install net-snmp net-snmp-libs net-snmp-utils systemctl start snmpd systemctl enable snmpd === Configuration === ==== Utilisation ==== === Titre === === Goupes d'hôtes === Configuration > Hôtes > Groupes d'hôtes === Hôtes === Configuration > Hôtes > Hôtes ---- [[all:bibles:linux:serveur:centreon|Haut de page]] ===== Sécurisation du serveur ===== ==== Mots de passe ==== Modifier les mots de passe pour les utilisateurs : * root * centreon * centreon-engine * centreon-broker * centreon-gorgone ==== SE Linux ==== === Activation === Pour activer SE Linux en mode permissif modifier le fichier /etc/selinux/config SELINUX=permissive SELINUXTYPE=targeted Puis redémarrage du serveur : shutdown -r now === Installation packages centreon SE Linux === dnf install centreon-common-selinux centreon-web-selinux centreon-broker-selinux centreon-engine-selinux centreon-gorgoned-selinux centreon-plugins-selinux Vérifier l'installation : semodule -l | grep centreon centreon-broker 0.0.6 centreon-common 0.0.11 centreon-engine 0.0.10 centreon-gorgoned 0.0.4 centreon-plugins 0.0.2 centreon-web 0.0.8 ==== Accès fichiers ==== chown centreon:centreon /etc/centreon/conf.pm chmod 660 /etc/centreon/conf.pm chown apache:apache /etc/centreon/centreon.conf.php chmod 660 /etc/centreon/centreon.conf.php ==== MariaDB ==== Exécuter le script de sécurisation proposé par MariaDB et répondre aux questions mysql_secure_installation ==== firewalld ==== === Installation === dnf install firewalld systemctl start firewalld systemctl enable firewalld === configuration === # For default protocols firewall-cmd --zone=public --add-service=ssh --permanent firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --zone=public --add-service=https --permanent firewall-cmd --zone=public --add-service=snmp --permanent firewall-cmd --zone=public --add-service=snmptrap --permanent # Centreon Gorgone firewall-cmd --zone=public --add-port=5556/tcp --permanent # Centreon Broker firewall-cmd --zone=public --add-port=5669/tcp --permanent firewall-cmd --reload === Vérification === firewall-cmd --list-all ==== Fail2ban ==== === Installation === dnf install python3-inotify epel-release fail2ban fail2ban-systemd === Mise à jour policy SE Linux === dnf update -y selinux-policy* === Configuration === Copier le fichier : cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local Editer le fichier /etc/fail2ban/jail.local et ajouter la dernière ligne à la section [centreon] port = http,https logpath = /var/log/centreon/login.log backend = pyinotify === Activation === Editer le fichier /etc/fail2ban/jail.d/custom.conf pour y ajoouter les lignes suivantes : [centreon] enabled = true findtime = 10m bantime = 10m maxretry = 3 * maxretry : nombre d'échec d'authentification avant de bannir l'adresse * bantime : durée du banissement * findtime : intervalle pour chercher les échecs d'authentification Redémarrer et activer le service : systemctl restart fail2ban systemctl enable fail2ban Il faut avoir essayé de se connecter au moins une fois pour que le fichier /var/log/centreon/login.log existe sinon le service ne démarre pas. === Vérification === Pour voir le status courant de la règle centreon : fail2ban-client status centreon ==== Sécurisation apache ==== === Installation module SSL === yum install httpd24-mod_ssl httpd24-mod_security openssl === Passage en https === Sauvegarder le fichier de conf apache d'origine : cp /opt/rh/httpd24/root/etc/httpd/conf.d/10-centreon.conf{,.orig} Modifier le fichier de configuration apache /opt/rh/httpd24/root/etc/httpd/conf.d/10-centreon.conf en prenant en compte les fichiers certificats qui vont bien : Alias /centreon/api /usr/share/centreon Alias /centreon /usr/share/centreon/www/ ProxyPassMatch fcgi://127.0.0.1:9042/usr/share/centreon/www/$1 ProxyPassMatch fcgi://127.0.0.1:9042/usr/share/centreon/api/index.php/$1 ProxyTimeout 300 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} ##################### # SSL configuration # ##################### SSLEngine On SSLProtocol All -SSLv3 -SSLv2 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-DSS-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ADH:!IDEA SSLHonorCipherOrder On SSLCompression Off SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key DirectoryIndex index.php Options Indexes AllowOverride all Order allow,deny Allow from all Require all granted php_admin_value engine Off FallbackResource /centreon/index.html AddType text/plain hbs Options Indexes AllowOverride all Order allow,deny Allow from all Require all granted php_admin_value engine Off AddType text/plain hbs RedirectMatch ^/$ /centreon === Secure flags et masquage signature apache === Ajouter les lignes suivantes : Header set X-Frame-Options: "sameorigin" Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure ServerSignature Off ServerTokens Prod TraceEnable Off Editer le fichier /etc/opt/rh/rh-php73/php.d/50-centreon.ini et vérifier que le paramètre **expose_php** est à off max_execution_time = 300 session.use_strict_mode = 1 session.gc_maxlifetime = 7200 expose_php = Off date.timezone = Europe/Paris === Masquer le répertoire /icons === Editer le fichier /opt/rh/httpd24/root/etc/httpd/conf.d/autoindex.conf et mettre en commentaire la ligne suivante en ajoutant un # en début de ligne : Alias /icons/ "/opt/rh/httpd24/root/usr/share/httpd/icons/" === Désactiver mod_security === Editer le fichier /opt/rh/httpd24/root/etc/httpd/conf.d/mod_security.conf et mettre en commentaire les 2 lignes suivantes : SecRule MULTIPART_UNMATCHED_BOUNDARY "!@eq 0" \ "id:'200003',phase:2,t:none,log,deny,status:44,msg:'Multipart parser detected a possible unmatched boundary.'" === Prise en compte === Redémarrer les services php et apache : systemctl restart rh-php73-php-fpm httpd24-httpd Vérifier que le service apache a bien redémarré : systemctl status httpd24-httpd ==== Activation http2 ==== === Installation module nghttp2 === dnf install httpd24-nghttp2 === Activation dans apache === Modifier le fichier de configuration apache /etc/httpd/conf.d/centreon.apache.https.conf Protocols h2 h2c http/1.1 ... === Modification configuration apache multi processeur === Modifier le fichier /etc/httpd/conf.modules.d/00-mpm.conf Vérifier que le module mpm_prefork_module est en commentaire et que le module mpm_event_module est actif : #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so LoadModule mpm_event_module modules/mod_mpm_event.so === Prise en compte === Redémarrer le service apache systemctl restart httpd ---- [[all:bibles:linux:serveur:centreon|Haut de page]] ===== Plugins ===== ==== Scripts ==== Les plugins semblent se trouver maintenant sous /usr/lib/centreon/plugins et non plus sous /usr/lib/nagios/plugins. ==== ==== ---- [[all:bibles:linux:serveur:centreon|Haut de page]] ===== Supervision ===== ==== Serveur Linux ==== === Debian/Ubuntu === * Installer les packages : sudo apt-get install snmp snmpd snmp-mibs-downloader * Autoriser le chargement des mibs en mettant en commentaire la ligne mibs du fichier de configuration /etc/snmp/snmp.conf sudo sed -i 's/mibs :/# mibs :/g' /etc/snmp/snmp.conf * Modifier le fichier /etc/snmp/snmpd.conf rocommunity public 127.0.01 rocommunity public xxx.xxx.xxx.xxx * Redémarrer le service sudo systemctl restart snmpd === CentOS/Redhat === * Installer les packages : sudo yum install net-snmp net-snmp-libs net-snmp-utils * Modifier le fichier /etc/snmp/snmpd.conf #### # First, map the community name "public" into a "security name" # sec.name source community com2sec notConfigUser public #### # Second, map the security name into a group name: # groupName securityModel securityName group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser #### # Third, create a view for us to let the group have rights to: # Make at least snmpwalk -v 1 localhost -c public system fast again. # name incl/excl subtree mask(optional) view centreon included .1.3.6.1 view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 #### # Finally, grant the group read-only access to the systemview view. # group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact centreon none none access notConfigGroup "" any noauth exact systemview none none === Centreon === Ajouter l'hôte dans Configuration / Hôtes / Hôtes et renseigner les informations * nom, alias, adresse IP * communauté et la version (v2c) * serveur de supervision (Central) * Fuseau horaire * Commande de vérification base_centreon_ping * Période de contrôle 24x7 * Dans l'onglet « Notification » indiquer « none » pour la période de notification Aller dans Configuration / Hôtes / Groupes d'Hôtes * Créer un groupe avec les serveurs Linux Aller dans Configuration / Services / Services par Groupes d'Hôtes * Créer des services liés au groupe précédent (OS-Linux-Cpu-SNMP, OS-Linux-Disk-Global-SNMP, OS-Linux-Memory-SNMP, Base-Ping-LAN) ---- [[all:bibles:linux:serveur:centreon|Haut de page]] ===== Sources ===== [[https://docs.centreon.com/21.04/en/installation/installation-of-a-central-server/using-virtual-machines.html|Installation]]\\ [[https://docs.centreon.com/docs/22.10/administration/secure-platform/#activating-https-mode-on-your-web-server|Sécurisation plateforme]]\\ [[https://docs.centreon.com/20.10/fr/integrations/plugin-packs/introduction.html|Plugin packs]] ---- [[all:bibles:linux:serveur:centreon|Haut de page]]