|
SNMPv1 hat große Sicherheitsprobleme. Zum Beispiel kann jeder, der den Community-String kennt, auf den Agenten zugreifen. Es gibt keine weitere Zugriffskontrolle und keine verschlüsselte Kommunikation. SNMPv3 übernimmt die besten Teile der verschiedenen Varianten des Zwischenschritts SNMPv2. Dazu kommt noch das Inform-Paket. Es funktioniert wie ein Trap, ergänzt um eine Quittierung des Managers.
View based Access Control Model
Eine der Sicherheitserweiterungen nennt sich View based Access Control Model. VACM gewährt verschiedenen Benutzern einen unterschiedlichen Einblick (so genannte Views) in den MIB-Baum. Der Admin definiert in Net-SNMP die Benutzer über die grundlegenden Befehle »com2sec«, »group«, »access« und »view« oder mit Hilfe der Wrapper »rocommunity«, »rwcommunity«, »rouser« oder »rwuser«. Analog zu SNMPv1 lauten die Anweisungen zum Community-String:
rocommunity Community Source OID
Dabei gibt Community den Community-String an, das optionale Source die Adressen der Rechner, die den Agenten abfragen dürfen (mit Netzwerkmaske), und die ebenfalls optionale OID den Teilbaum der MIB, in den diese Community Einblick erhält.
Viel detaillierter ist die Rechtevergabe mit den grundlegenden Befehlen: »com2sec« ordnet einem Paar aus Source (Quelle der Anfrage) und verwendeter Community einen Security-Namen zu. Der »group«-Befehl fasst Paare aus Security-Name und Security-Modell zu einer Gruppe zusammen. Eine »access«-Anweisung legt fest, welchen Einblick ins System (View) eine Gruppe mit einem bestimmten Sicherheitsmodell erhält, und »view« bestimmt die passenden Teilansichten des MIB-Baums. Gute Grundeinstellungen und eine Orientierungshilfe sind in der Beispielkonfiguration »EXAMPLE.conf« vorgegeben. Weiteres erläutern die Manualseiten zu »snmpd.conf«.
Net-SNMP nutzt die Sicherheitsfunktionen von SNMPv3 auch für Version 1, der Agent erreicht damit einen angemessenen Sicherheitsgrad.
Authentisch und verschlüsselt
Net-SNMP beherrscht zudem User-Authentifizierung und Verschlüsselung. Zuerst muss der Admin einen ersten Benutzer von Hand angelegen, bevor er den Agenten startet:
net-snmp-config --create-snmpv3-user -a Passwort Benutzername
Die Ausgabe des Kommandos erklärt, dass es eine Zeile in »/var/net-snmp/snmpd.conf« eingefügt hat (oder in »/var/lib/net-snmp/snmpd.conf«, je nach Installation). Beim Start legt der Agent dann den Benutzer an und speichert seine Accountdaten sogar verschlüsselt. Manuell sollte der Admin die Datei nicht verändern - er muss aber die Zeile »rwuser Benutzername« in der normalen Konfigurationsdatei »/etc/snmpd.conf« ergänzen und den Agenten wie gewohnt starten. Alle weiteren User kann er zur Laufzeit ergänzen.
Anfragen an den Agenten sind nun mit SNMPv3 und DES-verschlüsselt möglich:
snmpwalk -v3 -u Benutzername -l authPriv -A Passwort -X Passwort localhost .system
Statt jedes Mal alle Zugangsdaten einzutippen (die zu allem Überfluss auch in der Prozesstabelle des Rechners landen würden), empfiehlt es sich, die Parameter in »/.snmp/snmp.conf« zu hinterlegen:
defSecurityName Benutzername
defContext ""
defAuthType MD5
defSecurityLevel authPriv
defAuthPassphrase Passwort
defVersion 3
defPrivPassphrase Passwort
defPrivType DES
Künftig genügt »snmpget localhost .sysUpTime.0«, um den Agenten abzufragen.
|