7. Sicherheitsüberlegungen
Dieses Dokument definiert Protokolloperationen für SNMP. Die Protokolloperationen selbst bieten keine Sicherheit. Vielmehr wird Sicherheit vom SNMP-Framework durch die Verwendung der in RFC 3411 [RFC3411] definierten Architektur und der in RFC 3414 [RFC3414] und RFC 3415 [RFC3415] definierten Sicherheitssubsysteme bereitgestellt.
Es liegt in der Verantwortung des Netzwerkadministrators, Sicherheitsrichtlinien zu definieren, die die verwalteten Ressourcen, die Sensibilität der Verwaltungsinformationen und die Bedrohungen, denen das Netzwerk ausgesetzt ist, berücksichtigen. Es liegt dann in der Verantwortung der Architektur, des Sicherheitssubsystems und des Zugriffskontrollsubsystems, diese Richtlinien durchzusetzen.
Insbesondere bietet die SNMP-Architektur Mechanismen für:
-
Nachrichtenauthentifizierung (Message authentication): Sicherstellen, dass Nachrichten nicht verändert oder gefälscht wurden.
-
Nachrichtenprivatsphäre (Message privacy): Sicherstellen, dass der Inhalt von Nachrichten nicht von unbefugten Parteien gelesen werden kann.
-
Nachrichtenautorisierung (Message authorization): Sicherstellen, dass nur autorisierte Benutzer Verwaltungsoperationen durchführen können.
Die in diesem Dokument definierten Protokolloperationen gehen davon aus, dass:
-
Die SNMP-Nachricht, die die Operation enthält, authentifiziert wurde, um die Identität des Prinzipals festzustellen, in dessen Namen die Operation ausgeführt wird.
-
Zugriffskontrollprüfungen von der SNMP-Engine durchgeführt wurden, um festzustellen, ob der identifizierte Prinzipal berechtigt ist, die angeforderte Operation an den angegebenen verwalteten Objekten durchzuführen.
-
Wenn Privatsphäre erforderlich ist, die SNMP-Nachricht verschlüsselt wurde, um die Offenlegung an unbefugte Parteien zu verhindern.
Diese Funktionen werden von den Nachrichtenverarbeitungs- und Sicherheitssubsystemen der SNMP-Architektur ausgeführt und sind nicht Teil der Protokolloperationen selbst.
Anwendungen, die die in diesem Dokument definierten Protokolloperationen verwenden, sollten sich jedoch der folgenden Sicherheitsüberlegungen bewusst sein:
Informationsoffenlegung
Die GetRequest-PDU-, GetNextRequest-PDU- und GetBulkRequest-PDU-Operationen rufen Verwaltungsinformationen von verwalteten Objekten ab. Wenn diese Informationen sensibel sind, sollten sie durch die Verwendung von Nachrichtenprivatsphäremechanismen geschützt werden. Ohne einen solchen Schutz können die Informationen durch passive Überwachung des Netzwerkverkehrs an unbefugte Parteien offengelegt werden.
Unbefugte Änderung
Die SetRequest-PDU-Operation ändert die Werte verwalteter Objekte. Wenn die Änderung eines bestimmten Objekts Sicherheitsauswirkungen haben könnte (z. B. Deaktivieren einer Firewall-Regel oder Ändern einer Zugriffskontrollliste), sollte der Zugriff auf dieses Objekt sorgfältig kontrolliert werden. Die in RFC 3415 [RFC3415] definierten Zugriffskontrollmechanismen bieten die Mittel, um einzuschränken, welche Prinzipale berechtigt sind, welche Objekte zu ändern.
Denial-of-Service
Alle Protokolloperationen verbrauchen Ressourcen (Netzwerkbandbreite, Verarbeitungszeit, Speicher) sowohl bei den Ursprungs- als auch bei den empfangenden SNMP-Entitäten. Ein Angreifer könnte potenziell einen Denial-of-Service-Angriff starten, indem er eine große Anzahl von Anfragen sendet. Ratenbegrenzung und Ressourcenverwaltung sind wichtige Überlegungen für Implementierungen.
Die GetBulkRequest-PDU ist besonders anfällig für Missbrauch, da sie speziell dafür entwickelt wurde, große Datenmengen abzurufen. Ein Angreifer könnte eine sehr große Anzahl von Wiederholungen (max-repetitions) anfordern, um die antwortende Entität zu veranlassen, übermäßige Ressourcen zu verbrauchen oder extrem große Antworten zu generieren. Implementierungen sollten vernünftige Grenzen für die von jeder einzelnen Anfrage verbrauchten Ressourcen auferlegen.
Nachrichten-Replay
Ohne ordnungsgemäße Nachrichtenauthentifizierung und Zeitnaheprüfung könnte ein Angreifer SNMP-Nachrichten erfassen und sie zu einem späteren Zeitpunkt wiederholen. Dies könnte schwerwiegende Folgen haben, insbesondere für SetRequest-PDU-Operationen, die verwaltete Objekte ändern. Die in RFC 3414 [RFC3414] definierten Zeitnahe-Mechanismen schützen vor Nachrichten-Replay, indem zeitbasierte Informationen in authentifizierten Nachrichten enthalten sind.
Trap/Inform-Spoofing
SNMPv2-Trap-PDU- und InformRequest-PDU-Nachrichten bieten Benachrichtigungen über Ereignisse. Wenn diese Benachrichtigungen nicht authentifiziert sind, könnte ein Angreifer falsche Benachrichtigungen senden, um Netzwerkadministratoren irrezuführen oder unangemessene automatisierte Reaktionen auszulösen. Nachrichtenauthentifizierungsmechanismen sollten verwendet werden, um die Quelle von Benachrichtigungen zu überprüfen.
Zusammenfassung
Zusammenfassend müssen die in diesem Dokument definierten Protokolloperationen in Verbindung mit geeigneten Sicherheitsmechanismen verwendet werden, um Folgendes sicherzustellen:
- Authentifizierung von Nachrichtenursprüngen
- Schutz vor Nachrichtenänderung
- Schutz vor Nachrichten-Replay
- Privatsphäre von Nachrichteninhalten (bei Bedarf)
- Autorisierung von Verwaltungsoperationen
- Schutz vor Denial-of-Service-Angriffen
Die SNMP-Architektur bietet den Rahmen für diese Sicherheitsdienste, und Implementierungen sollten diese Fähigkeiten voll nutzen, um verwaltete Netzwerke vor Sicherheitsbedrohungen zu schützen.