Zum Hauptinhalt springen

8. Security Considerations (Sicherheitsüberlegungen)

Es gibt eine Reihe von Verwaltungsobjekten, die in diesem MIB-Modul mit einer MAX-ACCESS-Klausel von read-write und/oder read-create definiert sind. Solche Objekte können in einigen Netzwerkumgebungen als sensibel oder anfällig betrachtet werden. Die Unterstützung für SET-Operationen in einer nicht sicheren Umgebung ohne angemessenen Schutz kann negative Auswirkungen auf den Netzwerkbetrieb haben. Dies sind die Tabellen und Objekte sowie ihre Sensibilität/Anfälligkeit:

ipForwarding und ipv6IpForwarding - Diese Objekte ermöglichen es einem Manager, die Routing-Funktionen auf der Entität zu aktivieren oder zu deaktivieren. Durch Deaktivierung der Routing-Funktionen könnte ein Angreifer möglicherweise den Dienst für Benutzer verweigern. Durch Aktivierung der Routing-Funktionen könnte ein Angreifer einen Kanal in einen Bereich öffnen. Dies könnte dazu führen, dass der Bereich Transit für Pakete bereitstellt, die er nicht sollte, oder könnte dem Angreifer Zugang zum Bereich unter Umgehung von Sicherheitsvorkehrungen ermöglichen.

ipDefaultTTL und ipv6IpDefaultHopLimit - Diese Objekte ermöglichen es einem Manager, den Durchmesser des gültigen Bereichs für ein Paket zu bestimmen. Durch Verringern des Werts dieser Objekte könnte ein Angreifer dazu führen, dass Pakete verworfen werden, bevor sie ihre Ziele erreichen.

ipv4InterfaceEnableStatus und ipv6InterfaceEnableStatus - Diese Objekte ermöglichen es einem Manager, IPv4 und IPv6 auf einer bestimmten Schnittstelle zu aktivieren oder zu deaktivieren. Durch Aktivierung eines Protokolls auf einer Schnittstelle könnte ein Angreifer möglicherweise einen ungesicherten Pfad in einen Knoten erstellen (oder durch ihn hindurch, wenn Routing ebenfalls aktiviert ist). Durch Deaktivierung eines Protokolls auf einer Schnittstelle könnte ein Angreifer möglicherweise erzwingen, dass Pakete über eine andere Schnittstelle geleitet werden, oder den Zugang zu einem Teil oder dem gesamten Netzwerk über dieses Protokoll verweigern.

ipAddressTable - Die Objekte in dieser Tabelle spezifizieren die auf diesem Knoten verwendeten Adressen. Durch Modifikation dieser Informationen kann ein Angreifer dazu führen, dass ein Knoten entweder an ihn gerichtete Nachrichten ignoriert oder Nachrichten akzeptiert (zumindest auf der IP-Schicht), die er sonst ignorieren würde. Die Verwendung von Filterung oder Sicherheitsassoziationen kann den potenziellen Schaden im letzteren Fall verringern.

ipv6RouterAdvertTable - Die Objekte in dieser Tabelle spezifizieren die Informationen, die ein Router in seinen Router-Advertisement-Nachrichten propagieren sollte. Durch Modifikation dieser Informationen kann ein Angreifer die Auto-Konfiguration aller Hosts auf dem Link stören. Die meisten Modifikationen dieser Tabelle führen zu einer Dienstverweigerung für einige oder alle Hosts auf dem Link. Zwei Objekte, ipv6RouterAdvertManagedFlag und ipv6RouterAdvertOtherConfigFlag, geben jedoch an, ob ein Host Konfigurationsinformationen von einer anderen Quelle erwerben soll. Durch Aktivierung dieser könnte ein Angreifer möglicherweise dazu führen, dass ein Host seine Konfigurationsinformationen von einer kompromittierten Quelle abruft.

ipNetToPhysicalPhysAddress und ipNetToPhysicalType - Diese Objekte spezifizieren Informationen, die verwendet werden, um eine Netzwerk-(IP-)Adresse in eine medienabhängige Adresse zu übersetzen. Durch Modifikation dieser Objekte könnte ein Angreifer die Kommunikation mit einem Knoten deaktivieren oder Nachrichten von einem Knoten zu einem anderen umleiten. Der Angreifer könnte jedoch möglicherweise einen ähnlichen Angriff durchführen, indem er einfach auf die ARP- oder ND-Anfrage antwortet, die vom Zielknoten gestellt wurde.

Einige der lesbaren Objekte in diesem MIB-Modul (d.h. Objekte mit einem MAX-ACCESS außer not-accessible) können in einigen Netzwerkumgebungen als sensibel oder anfällig betrachtet werden. Es ist daher wichtig, selbst den GET-Zugriff auf diese Objekte zu kontrollieren und möglicherweise sogar die Werte dieser Objekte zu verschlüsseln, wenn sie über das Netzwerk via SNMP gesendet werden.

Dies sind die Tabellen und Objekte und ihre Sensibilität/Anfälligkeit:

Im Wesentlichen könnten alle Objekte in dieser MIB als sensibel betrachtet werden, da sie über den Status der IP-Module innerhalb eines Systems berichten. Die ipSystemStatsTable, ipIfStatsTable und ipAddressTable dürften jedoch für einen Angreifer von größtem Interesse sein. Die Statistiktabellen liefern Informationen über die Menge und Art des Verkehrs, den dieser Knoten verarbeitet, und können, insbesondere für Transit-Provider, als sensibel betrachtet werden. Die Adresstabelle bietet eine bequeme Liste aller von diesem Knoten verwendeten Adressen. Jede Adresse isoliert ist unbemerkenswert, jedoch würde die Gesamtliste einem Angreifer ermöglichen, ansonsten nicht zusammenhängenden Verkehr zu korrelieren. Beispielsweise könnte ein Angreifer möglicherweise eine RFC 3041 [15] private Adresse mit bekannten öffentlichen Adressen korrelieren und so die Absichten von RFC 3041 umgehen.

SNMP-Versionen vor SNMPv3 enthielten keine angemessene Sicherheit. Selbst wenn das Netzwerk selbst sicher ist (zum Beispiel durch Verwendung von IPSec), gibt es selbst dann keine Kontrolle darüber, wer im sicheren Netzwerk auf die Objekte in diesem MIB-Modul zugreifen und GET/SET (lesen/ändern/erstellen/löschen) darf.

Es wird EMPFOHLEN, dass Implementierer die Sicherheitsfunktionen berücksichtigen, die vom SNMPv3-Framework bereitgestellt werden (siehe [9], Abschnitt 8), einschließlich vollständiger Unterstützung für die kryptografischen SNMPv3-Mechanismen (für Authentifizierung und Datenschutz).

Ferner wird die Bereitstellung von SNMP-Versionen vor SNMPv3 NICHT EMPFOHLEN. Stattdessen wird EMPFOHLEN, SNMPv3 bereitzustellen und kryptografische Sicherheit zu aktivieren. Es liegt dann in der Verantwortung des Kunden/Betreibers sicherzustellen, dass die SNMP-Entität, die Zugriff auf eine Instanz dieses MIB-Moduls gewährt, ordnungsgemäß konfiguriert ist, um den Zugriff auf die Objekte nur denjenigen Prinzipalen (Benutzern) zu gewähren, die legitime Rechte haben, diese tatsächlich zu GET oder SET (ändern/erstellen/löschen).