Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2006  »  03  »  Fernsicht  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

Pseudo-Authentifizierung

Per Default sind »public« für Get-Anfragen und »private« für Set-Kommandos vorgegeben. Diese Wahl ist historisch bedingt: Auf einer Interop-Konferenz wollten Teilnehmer zeigen, dass die Kommunikation tatsächlich zwischen Implementationen unterschiedlicher Hersteller funktionierte. Die Tester wählten für diese Konferenz die beiden primitiven Passwörter. Dabei blieb es dann leider, da es so schön funktioniert hatte. Viele Admins verzichten aus ähnlichen Gründen darauf, den Community-String zu ändern. Zu allem Überfluss geht er in jedem Paket als Klartext über die Leitung. SNMP trägt daher auch den Spitznamen "Security is Not My Problem".

Bei so geringem Schutz ist es verständlich, dass SNMPv1-Agenten kaum Set-Requests unterstützen. Die Sicherheitsproblematik bestimmte auch die weitere Entwicklung. Es folgten SNMPsec (Secure SNMP) und SNMPv2 [2], das einige neue Kommandos einführte, sich aber in vielen Untervarianten verzettelte. Mit SNMPv3 (siehe Kasten "SNMP-Version 3" und [3]) gibt es heute einen anerkannten Nachfolger, der ein komplettes Sicherheitsmodell implementiert. Einige der neuen Techniken wurden auch wieder zurück auf SNMPv1 portiert.

SNMP-Version 3

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.

Anwendung: Net-SNMP

Unter Linux stammt die bekannteste Implementierung eines SNMP-Agenten vom Net-SNMP-Projekt ([6], ehemals UCD-SNMP für University of California at Davis). Das Paket enthält auch Kommandozeilenwerkzeuge, um die Agenten abzufragen. Viele Distributionen bringen Net-SNMP bereits mit. Wer lieber selbst übersetzt: Das Paket ist auf Sourceforge erhältlich und kompiliert mit »./configure && make && make install«. Distributionspakete und selbst kompilierte Installationen unterscheiden sich vor allem in den verwendeten Pfaden.

Die meisten mitgelieferten MIBs bindet das Configure-Skript von sich aus ein, nur »HOST-RESOURCES«, »EVENT« und »MTA« fehlen. Wer diese braucht, gibt sie bei der Konfiguration explizit an. Die Dokumentation von Net-SNMP enthält mit »EXAMPLE.conf« eine Vorlage für die Konfiguration, die der Agent in »/etc/snmpd.conf« erwartet. Für erste Tests genügen einfache Sicherheitseinstellungen. Die Zeilen, die mit »com2sec« beginnen, sind wie folgt zu ändern:

# sec.name source community
com2sec local localhost public
# com2sec mynetwork NETWORK/24 COMMUNITY

Das gibt den Zugriff auf den Agenten für Localhost frei, der Community-String lautet »public«. Zugriffe von außen bleiben vorerst untersagt, daher ist »public« für den Test vertretbar. Im späteren Betrieb ist er unbedingt zu ändern!

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Easy Management Firewall für kleine Unternehmen
Einer für alle Terminalservices mit Edubuntu und LTSP 5
Allzweckreiniger Astaro Security Gateway ASG 320: Firewall und VPN-Gateway
Tux inside Biotop für Pinguine: Joschka Fischers Auswärtiges Amt
Offenes Grün Praxistest: Endian Firewall Macro X2
44 Servergebote Severdienste Apache, Postfix, Oracle/MySQL und Samba optimieren
Whitepaper
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)

Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Usage Landscape Enterprise Open Source Data Integration

Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.

Download PDF (Registrierung erforderlich)
Kommentare (0)