SNMP Sicherheit: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „== Vollständiger SNMP-Walk == Um alle verfügbaren OIDs vom Switch abzufragen, von control.lab.internal aus: * snmpwalk -v3 -l authPriv -u snmpadmin \ -a S…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Vollständiger SNMP-Walk ==
+
= SNMP und Sicherheit =
Um alle verfügbaren OIDs vom Switch abzufragen, von control.lab.internal aus:
 
  
* snmpwalk -v3 -l authPriv -u snmpadmin \
+
== Einführung ==
  -a SHA -A AuthPasswort123 \
+
* SNMP bedeutet Simple Network Management Protocol.
  -x AES -X PrivPasswort456 \
+
* Es dient zur Überwachung von Geräten im Netzwerk wie Switches, Router, Firewalls und Servern.
  172.26.56.2
+
* Typische Informationen: Systembeschreibung, Uptime, Interfaces, CPU, Speicher, Logs.
 +
* SNMP ist ein zentrales Werkzeug im Monitoring (z. B. mit LibreNMS, Checkmk, Zabbix).
  
== Erwartete Ausgabe ==
+
== Warum SNMP wichtig ist ==
Eine lange Liste mit allen Objekten, z. B.:
+
* Netzwerk- und Systemüberwachung erkennt Ausfälle und Probleme frühzeitig.
 +
* Zentrales Monitoring spart Zeit: statt jeden Host einzeln prüfen zu müssen, werden Daten automatisch gesammelt.
 +
* SNMP ist ein universeller Standard – fast jedes Gerät unterstützt es.
  
<pre>
+
== Versionen ==
SNMPv2-MIB::sysDescr.0 = STRING: Linux ovs.lab.internal 6.1.0-39-amd64 ...
+
* SNMPv1 und SNMPv2c
SNMPv2-MIB::sysObjectID.0 = OID: enterprises.8072.3.2.10
+
** Übertragen alles im Klartext.
SNMPv2-MIB::sysUpTime.0 = Timeticks: (123456) 0:20:34.56
+
** Authentifizierung nur über einen einfachen Community-String.
SNMPv2-MIB::sysContact.0 = STRING:
+
** Heute nicht mehr akzeptabel.
SNMPv2-MIB::sysName.0 = STRING: ovs.lab.internal
+
* SNMPv3
SNMPv2-MIB::sysLocation.0 = STRING:
+
** Bringt Benutzerverwaltung, Authentifizierung und Verschlüsselung.
IF-MIB::ifNumber.0 = INTEGER: 3
+
** Ist die einzige empfohlene Version für den produktiven Einsatz.
IF-MIB::ifIndex.1 = INTEGER: 1
 
IF-MIB::ifDescr.1 = STRING: lo
 
IF-MIB::ifDescr.2 = STRING: eth0
 
...
 
</pre>
 
  
Damit kannst du prüfen, ob auch alle Interface- und System-MIBs geladen werden, die LibreNMS später braucht.
+
== Sicherheit mit SNMPv3 ==
 +
* Security Level: authPriv
 +
** Benutzeranmeldung mit Passwortprüfung (SHA).
 +
** Datenübertragung verschlüsselt (AES).
 +
** Einzige Best Practice im produktiven Einsatz.
 +
* Authentifizierung: SHA (SHA-1 oder besser SHA-2, wenn implementiert).
 +
* Verschlüsselung: AES (128 Bit oder stärker).
 +
* Keine veralteten Verfahren wie MD5 oder DES verwenden.
 +
 
 +
Erklärung der Parameter:
 +
* Auth User Name – Benutzername (z. B. snmpadmin), der auf dem Gerät angelegt wird. Identifiziert den Account bei der Anmeldung.
 +
* Auth Password – Passwort für die Authentifizierung, zusammen mit dem Auth-Algorithmus (z. B. SHA). Vergleichbar mit einem normalen Login-Passwort.
 +
* Auth Algorithm – bestimmt, wie das Auth-Passwort verarbeitet wird. Empfehlung: SHA. MD5 ist unsicher und darf nicht mehr verwendet werden.
 +
* Crypto Password (Privacy Password) – separates Passwort für die Verschlüsselung des SNMP-Datenverkehrs. Zusammen mit dem Crypto-Algorithmus wird daraus der Schlüssel für die Verschlüsselung gebildet.
 +
* Crypto Algorithm – Verschlüsselungsverfahren für die eigentlichen SNMP-Nachrichten. Empfehlung: AES (128 Bit oder stärker). DES ist veraltet und unsicher.
 +
* Zusammenspiel – der Client meldet sich mit Auth User Name und Auth Password (geprüft über den Auth Algorithm). Bei Security Level authPriv wird zusätzlich der gesamte Datenverkehr mit Crypto Password + Crypto Algorithm verschlüsselt. Damit ist die Kommunikation sowohl authentifiziert als auch vertraulich.
 +
 
 +
== Ports und Netzwerk ==
 +
* SNMP-Abfragen laufen über UDP/161.
 +
* SNMP-Traps (Benachrichtigungen von Agenten an Manager) laufen über UDP/162.
 +
* Firewall-Regeln sollten Zugriffe auf diese Ports nur von autorisierten Monitoring-Servern zulassen.
 +
 
 +
== Best Practices ==
 +
* Immer SNMPv3 authPriv einsetzen (SHA + AES).
 +
* Starke Passwörter für Auth und Priv verwenden.
 +
* Community-Strings (v1/v2c) deaktivieren.
 +
* Firewall-Regeln so setzen, dass nur die Monitoring-Server Zugriff haben.
 +
* Unnötige User löschen und Konfiguration regelmäßig prüfen.
 +
* Traps (UDP/162) nur aktivieren, wenn sie tatsächlich genutzt werden.
 +
 
 +
== Fazit ==
 +
* SNMP ist unverzichtbar für zuverlässiges Netzwerk- und System-Monitoring.
 +
* Alte Versionen (v1/v2c) sind unsicher und müssen abgeschaltet werden.
 +
* SNMPv3 mit authPriv, SHA und AES ist die einzig sinnvolle Wahl.
 +
* Richtig konfiguriert liefert SNMP alle wichtigen Informationen, ohne Sicherheitsrisiko einzugehen.

Aktuelle Version vom 24. September 2025, 11:46 Uhr

SNMP und Sicherheit

Einführung

  • SNMP bedeutet Simple Network Management Protocol.
  • Es dient zur Überwachung von Geräten im Netzwerk wie Switches, Router, Firewalls und Servern.
  • Typische Informationen: Systembeschreibung, Uptime, Interfaces, CPU, Speicher, Logs.
  • SNMP ist ein zentrales Werkzeug im Monitoring (z. B. mit LibreNMS, Checkmk, Zabbix).

Warum SNMP wichtig ist

  • Netzwerk- und Systemüberwachung erkennt Ausfälle und Probleme frühzeitig.
  • Zentrales Monitoring spart Zeit: statt jeden Host einzeln prüfen zu müssen, werden Daten automatisch gesammelt.
  • SNMP ist ein universeller Standard – fast jedes Gerät unterstützt es.

Versionen

  • SNMPv1 und SNMPv2c
    • Übertragen alles im Klartext.
    • Authentifizierung nur über einen einfachen Community-String.
    • Heute nicht mehr akzeptabel.
  • SNMPv3
    • Bringt Benutzerverwaltung, Authentifizierung und Verschlüsselung.
    • Ist die einzige empfohlene Version für den produktiven Einsatz.

Sicherheit mit SNMPv3

  • Security Level: authPriv
    • Benutzeranmeldung mit Passwortprüfung (SHA).
    • Datenübertragung verschlüsselt (AES).
    • Einzige Best Practice im produktiven Einsatz.
  • Authentifizierung: SHA (SHA-1 oder besser SHA-2, wenn implementiert).
  • Verschlüsselung: AES (128 Bit oder stärker).
  • Keine veralteten Verfahren wie MD5 oder DES verwenden.

Erklärung der Parameter:

  • Auth User Name – Benutzername (z. B. snmpadmin), der auf dem Gerät angelegt wird. Identifiziert den Account bei der Anmeldung.
  • Auth Password – Passwort für die Authentifizierung, zusammen mit dem Auth-Algorithmus (z. B. SHA). Vergleichbar mit einem normalen Login-Passwort.
  • Auth Algorithm – bestimmt, wie das Auth-Passwort verarbeitet wird. Empfehlung: SHA. MD5 ist unsicher und darf nicht mehr verwendet werden.
  • Crypto Password (Privacy Password) – separates Passwort für die Verschlüsselung des SNMP-Datenverkehrs. Zusammen mit dem Crypto-Algorithmus wird daraus der Schlüssel für die Verschlüsselung gebildet.
  • Crypto Algorithm – Verschlüsselungsverfahren für die eigentlichen SNMP-Nachrichten. Empfehlung: AES (128 Bit oder stärker). DES ist veraltet und unsicher.
  • Zusammenspiel – der Client meldet sich mit Auth User Name und Auth Password (geprüft über den Auth Algorithm). Bei Security Level authPriv wird zusätzlich der gesamte Datenverkehr mit Crypto Password + Crypto Algorithm verschlüsselt. Damit ist die Kommunikation sowohl authentifiziert als auch vertraulich.

Ports und Netzwerk

  • SNMP-Abfragen laufen über UDP/161.
  • SNMP-Traps (Benachrichtigungen von Agenten an Manager) laufen über UDP/162.
  • Firewall-Regeln sollten Zugriffe auf diese Ports nur von autorisierten Monitoring-Servern zulassen.

Best Practices

  • Immer SNMPv3 authPriv einsetzen (SHA + AES).
  • Starke Passwörter für Auth und Priv verwenden.
  • Community-Strings (v1/v2c) deaktivieren.
  • Firewall-Regeln so setzen, dass nur die Monitoring-Server Zugriff haben.
  • Unnötige User löschen und Konfiguration regelmäßig prüfen.
  • Traps (UDP/162) nur aktivieren, wenn sie tatsächlich genutzt werden.

Fazit

  • SNMP ist unverzichtbar für zuverlässiges Netzwerk- und System-Monitoring.
  • Alte Versionen (v1/v2c) sind unsicher und müssen abgeschaltet werden.
  • SNMPv3 mit authPriv, SHA und AES ist die einzig sinnvolle Wahl.
  • Richtig konfiguriert liefert SNMP alle wichtigen Informationen, ohne Sicherheitsrisiko einzugehen.