Plugin Apps-OPNSense-SSH

De SLM - MediaWiki

Retour

Pré-requis

Le serveur centreon doit pouvoir accéder sans mot de passe en ssh à la machine à superviser

  • depuis le compte: centreon-engine
  • vers le compte: remote-centreon

Generer une clé SSH

Si ça n'est pas dejà fait, nous allons créer une clé pour l'utilisateur centreon-engine

Sur le serveur centreon:

su centreon-engine
ssh-keygen -t rsa -b 2048

Copier le contenue de la clé public

cat /var/lib/centreon-engine/.ssh/id_rsa.pub

Créer un compte sur OPNSense

Système: Accès: Utilisateurs

Renseigner:

  • Nom d'utilisateur: remote-centreon
  • Cocher: Générer un mot de passe aléatoire
  • Shell de connexion: /bin/sh
  • Membre du groupe: admins
  • Clés autorisées: coller la clé public créer précedement (Exemple: ssh-rsa AAAAB3NzaC1yc... ...XOQKm/x root)

Sauvegarder

Ajouter l'utilisateur au groupe proxy afin de pouvoir exécuter les commandes pf

pw group mod proxy -m remote-centreon

Tester la connexion en ssh depuis le serveur Centreon

su remote-centreon
ssh remote-centreon@10.10.10.1 -p 8022
ECDSA key fingerprint is SHA256:SoX8QCm... ...6CRPJMI.
Are you sure you want to continue connecting (yes/no)? yes

Si il ne demande pas de mot de passe, c'est gagné

Installation Plugin

Installation du plugin coté OPNSense

sudo pkg install nagios-plugins

Les plugins précompilés se trouvent maintenant dans le répertoire:

/usr/local/libexec/nagios

Tester avec la commande

/usr/local/libexec/nagios/check_procs
PROCS OK: 69 processes | procs=69;;;0;

Installer les plugins pour PFsense

curl -LO https://github.com/oneoffdallas/pfsense-nagios-checks/archive/master.zip
sudo unzip -j master.zip -d /usr/local/libexec/nagios/
sudo chmod +x /usr/local/libexec/nagios/check_pf_*

Les commandes Nagios

Nombre de processus en cours

/usr/local/libexec/nagios/check_procs -w 200 -c 400

Nombre d'utilisateur connecté

/usr/local/libexec/nagios/check_users -w 5 -c 1


Ping depuis opnsense

/usr/local/libexec/nagios/check_icmp -H 208.67.222.222 -w 80,10% -c 150,40%

NTP

/usr/local/libexec/nagios/check_ntp_time -H time.google.com

DISK

root

/usr/local/libexec/nagios/check_disk -w 20% -c 5% -p /
/usr/local/libexec/nagios/check_disk -w 20% -c 5% -p /var/run

Load

/usr/local/libexec/nagios/check_load -w 3,2.8,2.6 -c 10,7,5 -r

SWAP

/usr/local/libexec/nagios/check_swap -w 90% -c 40%

Les commandes PFSense

CPU

/usr/local/libexec/nagios/check_pf_cpu -w 85 -c 95

Memoire

/usr/local/libexec/nagios/check_pf_mem -w 90 -c 95

Service

Attention: Ne fonctionne que sur pfsense, pas sur opnsense

/usr/local/libexec/nagios/check_pf_services -name snort
/usr/local/libexec/nagios/check_pf_services -name pinger
/usr/local/libexec/nagios/check_pf_services -name dhcpd
/usr/local/libexec/nagios/check_pf_services -name squid
/usr/local/libexec/nagios/check_pf_services -name pfb_dnsbl 
/usr/local/libexec/nagios/check_pf_services -name pfb_filter

interface

/usr/local/libexec/nagios/check_pf_interface -i igb0 -name WAN
/usr/local/libexec/nagios/check_pf_interface -i igb1 -name LAN
/usr/local/libexec/nagios/check_pf_interface -i igb1_vlan6 -name VOIP
/usr/local/libexec/nagios/check_pf_interface -i ovpns1

VPN

/usr/local/libexec/nagios/check_pf_ipsec_tunnel -e <IP address or hostname of remote>
/usr/local/libexec/nagios/check_pf_ipsec_tunnel -e <IP address or hostname of remote> -name DallasTX

FIREWALL

/usr/local/libexec/nagios/check_pf_state_table -w 60 -c 90

Version

Attention: Ne fonctionne pas que sur pfsense, pas sur opnsense

/usr/local/libexec/nagios/check_pf_version

A voir un jour pour adapter le code

pour info:

Récupérer version disponible

opnsense-update -v

Récupérer version instalé

opnsense-version -v

Uptime

/usr/local/libexec/nagios/check_pf_uptime

Temperature CPU

Attention: Ne fonctionne pas avec les APU2

/usr/local/libexec/nagios/check_pf_cpu_temp -w 75 -c 90

Le template d’hôte