10. Security Considerations
Dieses Dokument definiert Mechanismen zur Konfiguration des Verhaltens von SNMP-Anwendungen. Diese Anwendungen können mit einer SNMP-Engine verbunden sein, die bei Verwendung von SNMPv3-Sicherheitsfunktionen sichere Kommunikation bereitstellt.
Es gibt jedoch mehrere Sicherheitsüberlegungen, die berücksichtigt werden müssen:
10.1. Konfigurationssicherheit
Die in diesem Dokument definierten MIB-Module (SNMP-TARGET-MIB, SNMP-NOTIFICATION-MIB und SNMP-PROXY-MIB) enthalten Konfigurationsinformationen, die direkt die Sicherheitslage von SNMP-Kommunikationen beeinflussen:
Sensible Objekte
Mehrere Objekte enthalten oder referenzieren sensible Sicherheitsinformationen:
- snmpTargetParamsSecurityName: Enthält Sicherheits-Credentials (Community-Strings für SNMPv1/v2c, Benutzernamen für SNMPv3).
- snmpTargetParamsSecurityModel und snmpTargetParamsSecurityLevel: Definieren die Sicherheitsmechanismen und Schutzstufen, die verwendet werden.
- snmpProxyTargetParamsIn: Referenziert Sicherheitsparameter für eingehende Nachrichten an den Proxy.
Diese Objekte sollten mit geeigneten Zugriffskontrollen geschützt werden, um Folgendes zu verhindern:
- Nicht autorisierte Offenlegung: Lesen von Security Names/Community-Strings.
- Nicht autorisierte Modifikation: Ändern von Sicherheitsparametern zur Schwächung der Sicherheit oder Umleitung von Datenverkehr.
Empfohlene Zugriffskontrolle
Es wird EMPFOHLEN, dass SNMP-Entitäten, die die MIB-Module in diesem Dokument implementieren:
- SNMPv3-Sicherheitsfunktionen (USM) für alle Management-Zugriffe auf diese MIB-Objekte verwenden.
- VACM (View-based Access Control Model) konfigurieren, um den Zugriff auf diese Objekte nur auf autorisierte Sicherheitsadministratoren zu beschränken.
- Authentifizierung und Verschlüsselung (authPriv-Sicherheitslevel) beim Zugriff auf sicherheitssensible Objekte verwenden.
10.2. Benachrichtigungssicherheit
Informationsoffenlegung
Benachrichtigungen können sensible Informationen über das verwaltete System enthalten. Unsachgemäße Konfiguration von Benachrichtigungszielen kann zu Folgendem führen:
- Senden von Benachrichtigungen an nicht autorisierte Empfänger.
- Offenlegung sensibler Betriebsdaten oder Sicherheitsereignisse.
- Preisgabe von Informationen über Netzwerktopologie oder Schwachstellen.
Mitigation:
- Benachrichtigungsfilterung verwenden, um zu kontrollieren, welche Informationen an welche Ziele gesendet werden.
- Benachrichtigungsziele so konfigurieren, dass sie SNMPv3 mit Authentifizierung und Verschlüsselung verwenden.
- Regelmäßige Überprüfung der snmpTargetAddrTable, um sicherzustellen, dass Benachrichtigungen nur an autorisierte Management-Stationen gesendet werden.
Benachrichtigungs-Spoofing
Ohne ordnungsgemäße Sicherheit können Benachrichtigungen von Angreifern gefälscht werden:
- Gefälschte Benachrichtigungen können Fehlalarme verursachen oder echte Sicherheitsvorfälle verschleiern.
- Böswillige Akteure können Management-Systeme durch das Senden manipulierter Benachrichtigungen beeinflussen.
Mitigation:
- Notification Receiver sollten SNMPv3-Sicherheitsfunktionen verwenden, um die Quelle von Benachrichtigungen zu authentifizieren.
- Inform-Requests (anstelle von Traps) verwenden, um zuverlässige Zustellung und Authentifizierung zu ermöglichen.
- Rate Limiting und Anomalieerkennung implementieren, um verdächtige Benachrichtigungsmuster zu identifizieren.
10.3. Proxy-Forwarding-Sicherheit
Proxy Forwarders führen zusätzliche Sicherheitsüberlegungen ein:
Sicherheitslevel-Herabstufung
Proxys können zwischen verschiedenen SNMP-Versionen übersetzen, was möglicherweise die Sicherheit herabstuft:
- SNMPv3 (authPriv) zu SNMPv1 (keine Sicherheit): Legt authentifizierten und verschlüsselten Datenverkehr im Klartext offen.
- Verlust der Authentifizierung: Das Ziel kann die wahre Quelle der Anfrage nicht verifizieren.
Mitigation:
- Sicherheitsherabstufungen nach Möglichkeit vermeiden. SNMPv3 End-to-End bereitstellen.
- Falls Herabstufung notwendig ist, kompensierende Kontrollen verwenden (z.B. IPsec, physische Sicherheit).
- Alle Sicherheitsherabstufungen für Audit-Zwecke protokollieren.
- Einschränken, welche Operationen unter Verwendung von Zugriffskontrolle herabgestuft werden können.
Man-in-the-Middle-Angriffe
Proxys befinden sich im Kommunikationspfad und könnten potenziell:
- Sensible Informationen abfangen und lesen.
- Anfragen oder Antworten modifizieren.
- Entweder den Command Generator oder Command Responder imitieren.
Mitigation:
- Proxys sollten in sicheren, kontrollierten Umgebungen bereitgestellt werden.
- SNMPv3-Sicherheit auf beiden Seiten des Proxys verwenden (Command Generator zu Proxy, Proxy zu Command Responder).
- Starke Zugriffskontrollen auf Proxy-Konfiguration implementieren.
- Proxy-Aktivität überwachen und prüfen.
Kontextübersetzungs-Schwachstellen
Unsachgemäße Kontextübersetzung in Proxys kann zu Folgendem führen:
- Zugriff auf unbeabsichtigte Management-Informationen.
- Umgehung von Zugriffskontrollen, falls verschiedene Kontexte unterschiedliche Zugriffsrichtlinien haben.
Mitigation:
- snmpProxyTable-Einträge sorgfältig konfigurieren, um korrekte Kontextzuordnung sicherzustellen.
- Konsistente Zugriffskontrollrichtlinien über alle Kontexte hinweg durchsetzen.
- Kontextübersetzungsregeln regelmäßig überprüfen und prüfen.
10.4. Denial-of-Service-Überlegungen
Die in diesem Dokument definierten Funktionen können missbraucht werden, um Denial of Service zu verursachen:
Ressourcenerschöpfung
- Übermäßige Benachrichtigungen: Konfiguration vieler Benachrichtigungsziele kann den Notification Originator überlasten.
- Komplexe Filterregeln: Rechenintensive Filter-Operationen können übermäßig CPU verbrauchen.
- Proxy-Verstärkung: Eine einzelne Anfrage an einen Proxy, der mit Multiple-Target-Weiterleitung konfiguriert ist, kann viele ausgehende Anfragen erzeugen.
Mitigation:
- Rate Limiting für Benachrichtigungserzeugung und Proxy-Weiterleitung implementieren.
- Angemessene Grenzen für die Anzahl konfigurierter Ziele festlegen.
- Filterverarbeitung optimieren und Erwägung, Filterkomplexität zu begrenzen.
- Ressourcennutzung überwachen und bei Anomalien alarmieren.
Netzwerk-Flooding
- Falsch konfigurierte Benachrichtigungsziele können das Netzwerk mit Datenverkehr überfluten.
- Proxy-Schleifen (bei denen Proxys aneinander weiterleiten) können Nachrichtenstürme verursachen.
Mitigation:
- Zieladressen während der Konfiguration validieren.
- Schleifenerkennungsmechanismen in Proxy Forwarders implementieren.
- TTL- oder Hop-Count-Mechanismen verwenden, um unendliche Weiterleitung zu verhindern.
10.5. SNMP-Versionsüberlegungen
SNMPv1- und SNMPv2c-Einschränkungen
SNMPv1 und SNMPv2c verwenden Community-Strings zur Authentifizierung:
- Community-Strings werden im Klartext übertragen und sind anfällig für Abhören.
- Community-basierte Authentifizierung ist schwach und leicht zu kompromittieren.
- Kein Integritätsschutz: Nachrichten können während der Übertragung ohne Erkennung modifiziert werden.
Empfehlung:
Es wird DRINGEND EMPFOHLEN, dass Deployments SNMPv3 mit USM für alle SNMP-Kommunikationen verwenden. SNMPv1 und SNMPv2c sollten nur in kontrollierten Umgebungen verwendet werden, wo:
- Das Netzwerk physisch sicher ist.
- Datenverkehr durch andere Mittel geschützt ist (z.B. VPN, IPsec).
- Legacy-Geräte nicht auf SNMPv3 aktualisiert werden können.
SNMPv3-Sicherheit
SNMPv3 mit USM bietet:
- Authentifizierung: Verifiziert die Quelle von Nachrichten unter Verwendung von HMAC-MD5 oder HMAC-SHA.
- Verschlüsselung: Schützt Nachrichtenvertraulichkeit unter Verwendung von DES oder AES.
- Aktualität: Schützt vor Replay-Angriffen unter Verwendung von Zeitstempeln.
SNMPv3-Sicherheit hängt jedoch von ordnungsgemäßer Konfiguration ab:
- Starke Authentifizierungsprotokolle verwenden (HMAC-SHA bevorzugt gegenüber HMAC-MD5).
- Starke Verschlüsselung verwenden (AES bevorzugt gegenüber DES).
- Kryptografische Schlüssel ordnungsgemäß verwalten (starke Schlüssel, regelmäßige Rotation).
- Uhren synchronisieren, um Ausnutzung des Aktualitätsfensters zu verhindern.
10.6. Zusammenfassung der Sicherheitsempfehlungen
-
SNMPv3 mit USM verwenden für alle SNMP-Kommunikationen, die die in diesem Dokument definierten MIB-Module betreffen.
-
VACM konfigurieren, um den Zugriff auf sicherheitssensible Objekte nur auf autorisierte Administratoren zu beschränken.
-
Authentifizierung und Verschlüsselung (authPriv) verwenden, wenn auf sensible Informationen zugegriffen oder diese übertragen werden.
-
Benachrichtigungsziele sorgfältig konfigurieren und Benachrichtigungsfilterung verwenden, um Informationsoffenlegung zu verhindern.
-
Sicherheitsherabstufungen in Proxy Forwarders vermeiden; falls unvermeidbar, kompensierende Kontrollen verwenden und alle Herabstufungen prüfen.
-
Proxys in sicheren Umgebungen bereitstellen mit starken Zugriffskontrollen und Überwachung.
-
Rate Limiting implementieren, um Denial-of-Service-Angriffe zu verhindern.
-
Konfiguration regelmäßig prüfen von Targets, Benachrichtigungen, Filtern und Proxy-Regeln.
-
Inform-Requests verwenden anstelle von Traps für kritische Benachrichtigungen, um zuverlässige und authentifizierte Zustellung sicherzustellen.
-
Sicherheits-Best-Practices befolgen, wie in RFC 3410 (Applicability Statements for the Internet-Standard Management Framework) dargelegt.