11.1. Recommended Practices (Pratiques recommandées)
11.1. Recommended Practices (Pratiques recommandées)
Cette section décrit les pratiques recommandées pour utiliser le modèle de sécurité basé sur l'utilisateur afin de maximiser la sécurité.
Password Selection (Sélection de mot de passe)
Les mots de passe doivent être choisis pour maximiser la sécurité:
-
Length (Longueur): Les mots de passe DEVRAIENT avoir au moins 8 caractères. Des mots de passe plus longs offrent une meilleure sécurité.
-
Complexity (Complexité): Les mots de passe DEVRAIENT contenir un mélange de:
- Lettres majuscules
- Lettres minuscules
- Chiffres
- Caractères spéciaux
-
Avoid Patterns (Éviter les motifs): Les mots de passe NE DEVRAIENT PAS être:
- Des mots du dictionnaire
- Des motifs simples (par exemple, "12345678", "password")
- Des informations personnelles (noms, dates de naissance, etc.)
- Des chaînes répétitives (par exemple, "aaaaaaaa")
Key Management (Gestion des clés)
-
Key Storage (Stockage des clés): Les clés d'authentification et de confidentialité DOIVENT être stockées en toute sécurité et protégées contre les accès non autorisés.
-
Key Distribution (Distribution des clés): La distribution initiale des clés DEVRAIT être effectuée par des mécanismes sécurisés hors bande.
-
Key Updates (Mises à jour des clés): Les clés DEVRAIENT être modifiées périodiquement. La fréquence dépend des exigences de sécurité du déploiement.
-
Key Localization (Localisation des clés): Utilisez toujours des clés localisées (clés spécifiques à chaque moteur SNMP) plutôt que des clés globales.
Time Synchronization (Synchronisation temporelle)
-
Initial Synchronization (Synchronisation initiale): Les moteurs SNMP non autorisés DOIVENT effectuer une synchronisation temporelle avec les moteurs autorisés avant d'envoyer des messages authentifiés.
-
Clock Accuracy (Précision de l'horloge): Les moteurs SNMP DEVRAIENT maintenir des horloges raisonnablement précises. Une grande dérive d'horloge peut entraîner le rejet de messages légitimes.
-
Boots Counter (Compteur de démarrages): Le compteur msgAuthoritativeEngineBoots DOIT être incrémenté chaque fois qu'un moteur SNMP se réinitialise. Ce compteur DOIT persister à travers les redémarrages.
User Management (Gestion des utilisateurs)
-
User Creation (Création d'utilisateur): Lors de la création d'utilisateurs, spécifiez toujours les protocoles d'authentification et de confidentialité, même si la confidentialité ne sera pas utilisée immédiatement.
-
User Deletion (Suppression d'utilisateur): Lors de la suppression d'utilisateurs, assurez-vous que toutes les clés et données de configuration associées sont effacées en toute sécurité.
-
Template Users (Utilisateurs modèles): Utilisez des utilisateurs modèles (utilisateurs configurés au moteur autorisé) pour le clonage afin de créer de nouveaux utilisateurs sur les moteurs non autorisés.
Message Security Levels (Niveaux de sécurité des messages)
Choisissez le niveau de sécurité approprié pour chaque message:
-
noAuthNoPriv: Uniquement pour les messages de découverte ou les informations non sensibles. Non recommandé pour une utilisation opérationnelle.
-
authNoPriv: Fournit l'authentification mais pas la confidentialité. Convient lorsque la confidentialité n'est pas requise mais que l'intégrité des messages et l'authentification d'origine sont nécessaires.
-
authPriv: Fournit à la fois l'authentification et la confidentialité. Recommandé pour toutes les opérations sensibles.
Implementation Considerations (Considérations d'implémentation)
-
Random Number Generation (Génération de nombres aléatoires): Les implémentations DOIVENT utiliser des générateurs de nombres aléatoires cryptographiquement forts pour générer des clés et des vecteurs d'initialisation.
-
Clock Synchronization (Synchronisation d'horloge): Les implémentations DEVRAIENT fournir des mécanismes pour se synchroniser avec des sources de temps externes (par exemple, NTP) afin de maintenir un temps précis.
-
Audit Logging (Journalisation d'audit): Les implémentations DEVRAIENT enregistrer les événements pertinents pour la sécurité, y compris les échecs d'authentification et les échecs de synchronisation temporelle.
-
Error Handling (Gestion des erreurs): Les implémentations DOIVENT gérer les conditions d'erreur de manière sécurisée, en évitant la fuite d'informations qui pourrait aider les attaquants.