EnergyWise est doté de 3 mécanismes de sécurité dans sa version actuelle:
- L’intégrité des paquets est garanti via une HMAC pour chaque paquet
- En option, on peut activer une protection anti-rejeu auquel cas les équipements doivent être synchronisés (via ntp). Lors de l’activation (ou modification) du domaine, il suffit d’utiliser ntp-shared-secret au lieu de shared-secret.
Un dernier mécanisme moins robuste existe: un numéro de séquence est présent dans chaque paquet. Les commutateurs du domaine conservent ce numéro de séquence pour chaque voisin et plateforme d’administration. Si un paquet survient avec un numéro inférieur, il est ignoré.
On peut imaginer qu’à l’avenir EnergyWise proposera des mécanismes de chiffrement mais ce n’est pas encore le cas.
Comme nous avions pu le voir lors de l’activation, EnergyWise utilise 3 types de mot de passe:
- un mot de passe partagé par les commutateurs d’un même domaine. Il doit donc être identique pour tous les commutateurs
- un entre chaque commutateur et la plateforme d’administration. Ainsi si la plateforme d’administration est corrompue, on peut l’empêcher d’agir sur le commutateur en changeant le mot de passe de celui-ci (le mot de passe “management” )
- pareillement, un mot de passe est nécessaire entre chaque commutateur et les équipements terminaux (le mot de passe “endpoint” ) qui va servir à négocier une clé d’authentification à partir d’un nonce. Tous les paquets compris entre le commutateur et un équipement terminal (téléphone EnergyWise, portable Lenovo…) contiennent un HMAC généré grâce à cette clé. Cette clé est renouvelée pour chaque session.
Pour davantage de sécurité, on peut vouloir désactiver EnergyWise sur certains ports. J’en ai déjà évoqué la possibilité à la fin de cet article. Mais alors on ne récupère plus leur consommation ! EnergyWise permet une configuration plus fine: on peut en effet désactiver les requêtes “set” (c’est-à-dire celles qui vont agir sur les équipements) grâce a la commande
# no energywise allow query set
Si le commutateur reçoit une requête depuis un commutateur ou une plateforme du même domaine qui vise à changer un niveau d’énergie quelconque alors la requête sera ignorée.
On peut également entrer la commande # energywise allow query save pour sauvegarder les modifications effectuées par les requêtes.
Documentation sur la commande “energywise allow”
Le “Cisco EnergyWise Design Guide“donne également des indications à respecter (mots de passe forts).
Matthieu.