Publication de Net-SNMP 5.6.1

Soumis par surcouf le ven, 07/01/2011 - 00:23

Le 4 Janvier 2011, le projet Net-SNMP a discrètement publié la version 5.6.1 de sa suite logicielle.

Rappelons que Net-SNMP fournit :

  • un agent SNMP, snmpd ;
  • un service de collecte des interruptions SNMP, snmptrapd ;
  • une bibliothèque SNMP en C, libsnmpXY ;
  • un module Perl (SNMP.pm, à ne pas confondre avec Net::SNMP) ;
  • un module Python ;
  • un outil de consultation graphique, tkmib ;
  • ainsi que des outils en ligne de commande.

Cette véritable trousse à outils pour le protocole SNMP implémente non seulement toutes les versions du protocole (1, 2c et 3) mais offre également un support de nombreuses architectures et systèmes :

  • GNU/Linux, bien évidemment ;
  • FreeBSD, OpenBSD et Net/BSD ;
  • Su^H^H Oracle Solaris (Sparc et Intel) ;
  • IBM AIX (depuis la 3.2.5) ;
  • HP-Ux (depuis la 9.01) ;
  • Irix (depuis Net-SNMP 5.3.1 et Irix 6.5) ;
  • Apple MacOS X (depuis la 10.1) ;
  • Microsoft Windows ;
  • et encore d'autres systèmes Unix moins connus.

Concernant le support de la version 3 du protocole, le projet Net-SNMP offre plusieurs modèles de sécurité :

  • User-based Security Model (USM), le modèle de base par défaut ;
  • Kerberos-based Security Model (KSM).

Les versions actuellement déployées dans les différentes distributions se limitent encore à une version 5.4.x.y dans le meilleur des cas.

De nombreux patches et autres fix ont depuis été intégrés mais ce n'est pas la seule raison d'être de cette version :

  1. Un nouveau modèle de sécurité a été ajouté. Le Transport-based Security Model est l'implémentation de la RFC 5591. Il s'appuie sur deux nouveaux protocoles au choix :
    • SNMP over TLS ;
    • SNMP over DTLS.

    Ces derniers sont définis par la RFC 5953. La principale différence réside dans le protocole de transport utilisé, respectivement TCP et UDP. Dans les deux cas, la confidentialité est assurée par des certificats X.509.

    Pour plus d'informations, consultez le wiki :
    http://www.net-snmp.org/wiki/index.php/TUT:Using_TLS

  2. Voici la liste (non exhaustive) des principales nouveautés de l'agent snmpd :
    • La directive proc permet désormais de surveiller l'inexistance d'un processus (PATCH 2883092).
    • Le système de fichiers GFS est enfin mentionné sur les tables hrStorageTable et hrFSTable.
    • La directive load peut être désormais configurée via des requêtes SET (PATCH 2931446).
  3. Une nouvelle RFC, la 5343 ou SNMP Context EngineID Discovery, a été implémentée par la bibliothèque libsnmp.
    Celle-ci définit notamment un mécanisme de découverte automatique des engineID des agents distants. Dans le cadre du déploiement et du support d'interruptions SNMPv3, cela est en effet plus qu'utile car l'engineID est en effet nécessaire pour identifier le dit agent distant auprès du collecteur.
  4. La fonction netsnmp_set_row_column() a enfin été revue et corrigée. Le quatrième argument a notamment été modifié de la forme const *char vers const *void.
    Qu'est-ce que cela change ?
    Dans l'implémentation du module notification-log-mib, tout !
    En effet, ce module est pratiquement le seul cas d'utilisation de cette fonction.
    Or, jusqu'à présent, ce module ne fonctionnait pas complètement...
    Certains OID manquaient à l'appel malgré tous les efforts de configuration.
    En plus de la correction apportée à la fonction netsnmp_set_row_column(), ce module a également bénéficié de correctifs pour son support sous Windows.
  5. Le module Perl a fait l'objet de nombreuses corrections par rapport aux fuites de mémoire et prend mieux en compte les OID enregistrés en 64 bits.
    Cerise sur le gâteau, une implémentation Perl de BRIDGE-MIB a été écrite sous forme de sous-agent via le protocole AgentX (PATCH 2952708).