Aller au contenu principal

9. Security Considerations (Considérations de sécurité)

9. Security Considerations (Considérations de sécurité)

Ce document décrit une architecture pour les cadres SNMP. L'architecture est conçue pour fournir un cadre permettant d'atteindre des services de sécurité incluant l'authentification, la confidentialité et le contrôle d'accès.

9.1. Menaces de sécurité

L'architecture traite les menaces de sécurité suivantes:

  1. Mascarade: Une entité non autorisée assumant l'identité d'une entité autorisée

    • Traitée par l'authentification
  2. Modification des informations: Altération non autorisée des messages en transit

    • Traitée par la vérification de l'intégrité des messages (authentification)
  3. Modification du flux de messages: Réorganisation, retard ou relecture de messages

    • Traitée par la vérification de l'actualité et les identificateurs de message
  4. Divulgation: Accès non autorisé au contenu des messages

    • Traitée par le chiffrement (confidentialité)
  5. Déni de service: Empêcher les utilisateurs autorisés d'accéder aux services

    • Partiellement traitée par le contrôle d'accès et la gestion des ressources

9.2. Services de sécurité

L'architecture fournit des facilités pour les services de sécurité suivants:

  1. Intégrité des données: Garantit que les messages n'ont pas été altérés

    • Fournie par les protocoles d'authentification (par exemple, HMAC-MD5-96, HMAC-SHA-96)
  2. Authentification de l'origine des données: Confirme l'identité de l'expéditeur

    • Fournie par les protocoles d'authentification
  3. Protection contre la relecture des messages: Empêche la relecture d'anciens messages

    • Fournie par la vérification de l'actualité utilisant les démarrages du moteur et le temps du moteur
  4. Confidentialité des données: Protège le contenu des messages contre la divulgation

    • Fournie par les protocoles de confidentialité (par exemple, CBC-DES, CBC-AES)
  5. Contrôle d'accès: Restreint l'accès aux objets gérés

    • Fournie par les modèles de contrôle d'accès (par exemple, VACM)

9.3. Menaces non traitées

L'architecture ne traite pas spécifiquement les menaces suivantes:

  1. Analyse du trafic: Déduire des informations à partir des modèles de messages

    • Même avec le chiffrement, un observateur peut voir que la communication se produit et peut analyser les modèles
  2. Déni de service par consommation de ressources: Submerger un moteur SNMP avec des requêtes

    • Les implémenteurs devraient envisager la limitation du débit et la gestion des ressources

9.4. Exigences du modèle de sécurité

Les modèles de sécurité utilisés avec cette architecture doivent fournir ce qui suit:

  1. Authentification: Vérifier l'identité de l'expéditeur
  2. Confidentialité: Protéger le contenu des messages contre la divulgation
  3. Actualité: Détecter les messages rejoués ou retardés
  4. Gestion des clés: Gérer les clés cryptographiques de manière sécurisée

Le modèle de sécurité basé sur l'utilisateur (USM) défini dans RFC 3414 fournit ces services et est le modèle de sécurité principal pour SNMPv3.

9.5. Considérations cryptographiques

La sécurité de SNMP dépend de manière critique des algorithmes et protocoles cryptographiques utilisés. Les implémenteurs doivent:

  1. Utiliser des algorithmes forts: Utiliser uniquement des algorithmes cryptographiques qui sont considérés comme sécurisés

    • Éviter les algorithmes obsolètes (par exemple, DES avec des clés courtes)
    • Préférer les algorithmes avec des revues de sécurité (par exemple, AES, SHA-2)
  2. Gestion appropriée des clés: Les clés cryptographiques doivent être:

    • Générées avec un caractère aléatoire suffisant
    • Protégées contre la divulgation
    • Changées régulièrement
    • Distribuées de manière sécurisée
  3. Éviter les clés faibles: Certains algorithmes ont des clés faibles qui devraient être évitées

  4. Considérer la longueur de la clé: Utiliser des longueurs de clé appropriées à la sensibilité des données

9.6. Considérations de contrôle d'accès

Le contrôle d'accès est essentiel à la sécurité de SNMP. L'architecture fournit des modèles de contrôle d'accès, qui déterminent si les opérations doivent être autorisées.

Les considérations pour le contrôle d'accès incluent:

  1. Principe du moindre privilège: Les utilisateurs ne devraient se voir accorder que l'accès minimum nécessaire
  2. Séparation des tâches: Différents utilisateurs devraient avoir différents rôles
  3. Examen régulier: Les politiques de contrôle d'accès devraient être examinées régulièrement
  4. Journalisation d'audit: Les tentatives d'accès (en particulier les échecs) devraient être enregistrées

9.7. Sécurité de la configuration

La sécurité d'un déploiement SNMP dépend d'une configuration appropriée:

  1. Configuration initiale sécurisée: Les paramètres de sécurité initiaux doivent être configurés de manière sécurisée
  2. Configuration à distance sécurisée: Lors de la configuration à distance, utiliser une communication sécurisée
  3. Protéger les données de configuration: Les paramètres de sécurité doivent être protégés contre l'accès non autorisé
  4. Mises à jour régulières: Les configurations de sécurité devraient être examinées et mises à jour régulièrement

9.8. Considérations snmpEngineID

Le snmpEngineID est critique pour la sécurité SNMP:

  1. Unicité: Chaque moteur SNMP doit avoir un snmpEngineID unique

    • Les snmpEngineID en double peuvent conduire à des vulnérabilités de sécurité
  2. Persistance: Le snmpEngineID doit rester constant après les redémarrages

    • Les modifications du snmpEngineID peuvent invalider les associations de sécurité
  3. Génération: Il faut faire attention lors de la génération des snmpEngineID pour garantir l'unicité

    • Utiliser les formats recommandés (basés sur le numéro d'entreprise et l'adresse MAC/IP)
  4. Confidentialité: Le snmpEngineID peut révéler des informations sur le périphérique

    • Considérer cela lors du choix du format

9.9. Considérations de contexte

Les contextes permettent à un seul moteur SNMP de représenter plusieurs périphériques ou sous-systèmes. Les considérations de sécurité incluent:

  1. Contrôle d'accès: Le contrôle d'accès doit être appliqué par contexte
  2. Isolation: Les contextes doivent être correctement isolés les uns des autres
  3. Noms de contexte: Les noms de contexte peuvent révéler des informations sur le système

9.10. Considérations de proxy

Les proxies SNMP introduisent des considérations de sécurité supplémentaires:

  1. Confiance: Le proxy doit être approuvé à la fois par le gestionnaire et l'agent
  2. Traduction de sécurité: Lors de la traduction entre modèles de sécurité, la sécurité peut être réduite
  3. Journalisation: Les proxies devraient enregistrer tous les messages transmis
  4. Contrôle d'accès: Les proxies devraient appliquer un contrôle d'accès aux messages transmis

9.11. Sécurité de l'implémentation

Les implémenteurs doivent considérer la sécurité tout au long de l'implémentation:

  1. Débordements de tampon: Valider soigneusement toutes les entrées pour empêcher les débordements de tampon
  2. Validation des entrées: Valider tous les composants de message
  3. Gestion des erreurs: Les messages d'erreur ne devraient pas divulguer d'informations sensibles
  4. Attaques temporelles: Être conscient des canaux latéraux temporels
  5. Limites de ressources: Implémenter des limites pour empêcher l'épuisement des ressources

9.12. Sécurité du déploiement

Lors du déploiement de SNMP:

  1. Sécurité du réseau: Utiliser la sécurité au niveau du réseau (pare-feu, VPN) selon les besoins
  2. Sécurité physique: Protéger les périphériques avec des agents SNMP
  3. Mises à jour régulières: Maintenir les implémentations SNMP à jour
  4. Surveillance: Surveiller les événements de sécurité
  5. Réponse aux incidents: Avoir des procédures pour répondre aux incidents de sécurité

9.13. Chaînes de communauté (SNMPv1 et SNMPv2c)

Lors de l'utilisation de SNMPv1 ou SNMPv2c:

  1. Faiblesse: Les chaînes de communauté fournissent une sécurité minimale

    • Elles sont envoyées en clair
    • Elles ne fournissent pas d'authentification, d'intégrité ou de confidentialité
  2. Migration: Migrer vers SNMPv3 dès que possible

  3. Si les chaînes de communauté doivent être utilisées:

    • Utiliser des chaînes de communauté fortes et aléatoires
    • Les changer régulièrement
    • Limiter leur utilisation aux réseaux de confiance
    • Utiliser la sécurité au niveau du réseau (VPN, pare-feu)

9.14. Recommandations

Pour une sécurité maximale:

  1. Utiliser SNMPv3: SNMPv3 avec le modèle de sécurité basé sur l'utilisateur fournit une sécurité forte
  2. Utiliser l'authentification et la confidentialité: Activer à la fois l'authentification et la confidentialité (authPriv)
  3. Algorithmes forts: Utiliser des algorithmes cryptographiques forts (SHA-2, AES)
  4. Clés fortes: Utiliser des mots de passe/clés forts et les changer régulièrement
  5. Moindre privilège: Appliquer le principe du moindre privilège dans le contrôle d'accès
  6. Défense en profondeur: Utiliser plusieurs couches de sécurité
  7. Examen régulier: Examiner régulièrement les configurations de sécurité et les journaux
  8. Rester à jour: Surveiller les avis de sécurité et mettre à jour les implémentations