Ceci est une ancienne révision du document !
Table des matières
= Le SNMP (SimpleNetManagementProtocol) =
C'est un système de management et monitoring par le réseau pour des machines, switchs. Basé sur l'udp, il ne requiert que très peu de puissance de calcul.
C'est un système client-serveur : le serveur expose ses variables d'administration (et de monitoring), caractérisées par leur OID, au client, qui peut:
* récupérer la liste des variables;
* récupérer des valeurs (load, occupation disque…);
* modifier la valeur de certaines variables (typiquement de configuration).
Configuration du serveur
SNMPv1
Introduction
Les connexions avec le serveur ne sont pas sécurisées, il est possible de sniffer la connexion. L'authentification se fait avec l'IP source et la communauté.
Cette version est bien adaptée pour des données publiques.
Directives de configuration
Création d'un modèle de sécurité (paranoïaque ici) avec :
* la communauté (ici, public)
* les ip sources autorisées (ici, les ip de la classe 138.231.136.0/24 et 127.0.0.1).
# sec.name source community com2sec paranoid 138.231.136.0/24 public com2sec paranoid 127.0.0.1 public
Création des groupes d'accès (ici le group MyROSystem en snmpv1 avec le modèle de sécurité paranoid) :
# sec.model sec.name group MyROSystem v1 paranoid
Création des groupes d'autorisation (ici la view
monitor qui permet les oid définis ci-dessous)
# load machine view monitor included .1.3.6.1.4.1.2021.10.1 # espace disques view monitor included .1.3.6.1.4.1.2021.9.1
Liaison groupe d'accès et groupes d'autorisation (ici le groupe MyROSystem aura accès aux oid définis dans les view
monitor) :
# context sec.model sec.level match read write notif access MyROSystem "" any noauth exact monitor none none
Bilan
La communauté public aura accès aux oid permettant de monitorer l'espace disque et le load de la machine, cela depuis localhost ou des adresses en 138.231.136.*
SNMPv3
Introduction
SNMPv3 permet de sécuriser les échanges client-serveur.
L'authentification est sécurisée (cryptage MD5 ou SHA) et les communiquations peuvent être encodées en DES.
On utilisera seulement l'authentification avec SHA pour le crans. Les données n'étant pas confidentielles (ordre de restart fw…), de plus le snmp passe par le vlan adm qui n'est pas exposé aux adhérents.
Mise en place
Il faut tout d'abord créer un utilisateur dans la conf de SNMP :
rouser <username> createUser <username> SHA <pass>
Ensuite, on peux supprimer la seconde ligne, l'utilisateur sera créé avec avec le pass donné.
Config des réponses snmp
Les différentes directives sont décrites dans la partie suivante.
Il peux y avoir plusieurs fois la même directive, il y a une numérotation implicite de celles-ci dans leur ordre d'apparition.
Les requêtes
On utilise la commande suivante (avec /etc/snmp.conf correctement écrit) :
snmpget <host> <oid>
On peux voir tous les 'sous-oid' à l'aide de :
snmpwalk <host> <oid de base>
Il y a une multitude d'OID, nous utiliseront les suivantes. La colonne de droite correspond aux directives à placer dans /etc/snmpd.conf :