7. Considérations de sécurité
Ce document définit les opérations de protocole pour SNMP. Les opérations de protocole elles-mêmes ne fournissent pas de sécurité. Au contraire, la sécurité est fournie par le cadre SNMP grâce à l'utilisation de l'architecture définie dans la RFC 3411 [RFC3411] et des sous-systèmes de sécurité définis dans la RFC 3414 [RFC3414] et la RFC 3415 [RFC3415].
Il est de la responsabilité de l'administrateur réseau de définir des politiques de sécurité qui tiennent compte des ressources gérées, de la sensibilité des informations de gestion et des menaces auxquelles le réseau est soumis. Il incombe ensuite à l'architecture, au sous-système de sécurité et au sous-système de contrôle d'accès d'appliquer ces politiques.
Plus précisément, l'architecture SNMP fournit des mécanismes pour :
-
L'authentification des messages (Message authentication) : S'assurer que les messages n'ont pas été modifiés ou falsifiés.
-
La confidentialité des messages (Message privacy) : S'assurer que le contenu des messages ne peut pas être lu par des parties non autorisées.
-
L'autorisation des messages (Message authorization) : S'assurer que seuls les utilisateurs autorisés peuvent effectuer des opérations de gestion.
Les opérations de protocole définies dans ce document supposent que :
-
Le message SNMP contenant l'opération a été authentifié pour établir l'identité du principal au nom duquel l'opération est effectuée.
-
Des vérifications de contrôle d'accès ont été effectuées par le moteur SNMP pour déterminer si le principal identifié est autorisé à effectuer l'opération demandée sur les objets gérés spécifiés.
-
Si la confidentialité est requise, le message SNMP a été chiffré pour empêcher la divulgation à des parties non autorisées.
Ces fonctions sont effectuées par les sous-systèmes de traitement de messages et de sécurité de l'architecture SNMP, et ne font pas partie des opérations de protocole elles-mêmes.
Cependant, les applications qui utilisent les opérations de protocole définies dans ce document doivent être conscientes des considérations de sécurité suivantes :
Divulgation d'informations
Les opérations GetRequest-PDU, GetNextRequest-PDU et GetBulkRequest-PDU récupèrent les informations de gestion des objets gérés. Si ces informations sont sensibles, elles doivent être protégées par l'utilisation de mécanismes de confidentialité des messages. Sans une telle protection, les informations peuvent être divulguées à des parties non autorisées par la surveillance passive du trafic réseau.
Modification non autorisée
L'opération SetRequest-PDU modifie les valeurs des objets gérés. Si la modification d'un objet particulier pourrait avoir des implications de sécurité (par exemple, désactiver une règle de pare-feu ou modifier une liste de contrôle d'accès), l'accès à cet objet doit être soigneusement contrôlé. Les mécanismes de contrôle d'accès définis dans la RFC 3415 [RFC3415] fournissent les moyens de restreindre quels principaux sont autorisés à modifier quels objets.
Déni de service
Toutes les opérations de protocole consomment des ressources (bande passante réseau, temps de traitement, mémoire) sur les entités SNMP d'origine et de réception. Un attaquant pourrait potentiellement lancer une attaque par déni de service en envoyant un grand nombre de requêtes. La limitation du débit et la gestion des ressources sont des considérations importantes pour les implémentations.
Le GetBulkRequest-PDU est particulièrement susceptible d'être abusé, car il est spécifiquement conçu pour récupérer de grandes quantités de données. Un attaquant pourrait demander un très grand nombre de répétitions (max-repetitions) pour amener l'entité répondante à consommer des ressources excessives ou à générer des réponses extrêmement grandes. Les implémentations doivent imposer des limites raisonnables sur les ressources consommées par toute requête unique.
Rejeu de message
Sans authentification de message appropriée et vérification de l'actualité, un attaquant pourrait capturer des messages SNMP et les rejouer ultérieurement. Cela pourrait avoir des conséquences graves, en particulier pour les opérations SetRequest-PDU qui modifient les objets gérés. Les mécanismes d'actualité définis dans la RFC 3414 [RFC3414] protègent contre le rejeu de message en incluant des informations temporelles dans les messages authentifiés.
Usurpation de trap/inform
Les messages SNMPv2-Trap-PDU et InformRequest-PDU fournissent une notification d'événements. Si ces notifications ne sont pas authentifiées, un attaquant pourrait envoyer de fausses notifications pour induire en erreur les administrateurs réseau ou déclencher des réponses automatisées inappropriées. Les mécanismes d'authentification de message doivent être utilisés pour vérifier la source des notifications.
Résumé
En résumé, les opérations de protocole définies dans ce document doivent être utilisées en conjonction avec des mécanismes de sécurité appropriés pour garantir :
- L'authentification des initiateurs de messages
- La protection contre la modification de messages
- La protection contre le rejeu de messages
- La confidentialité du contenu des messages (si nécessaire)
- L'autorisation des opérations de gestion
- La protection contre les attaques par déni de service
L'architecture SNMP fournit le cadre pour ces services de sécurité, et les implémentations doivent faire pleinement usage de ces capacités pour protéger les réseaux gérés contre les menaces de sécurité.