SlideShare ist ein Scribd-Unternehmen logo
09.05.2014
SNMP Applied
Sicheres Anwendungs-Monitoring mit SNMP
Gerrit Beine <gerrit.beine@adesso.de>
Short run
► Überlick zu SNMP (ganz kurz)
► Konfiguration und Anwendung von Net-SNMP
► SNMPv3 mit Net-SNMP
► TLS/DTLS mit Net-SNMP
► SNMP von Java aus nutzen
09.05.2014 SNMP Applied3
Grundlegendes zu SNMP
Historisches zu SNMP
► Simple Network Management Protocol
> Verwendet UDP, Ports 161 und 162
> TCP alternativ möglich
► Historie
> 1988: Version 1, Ursprüngliche Spezifikation in RFC 1155-1157
> 1992: Secure SNMP, RFC1351-1353,
nie offiziell eingeführt
> 1993: Party-based SNMP (SNMPv2p) RFC 1441, 1445-1447,
führte getbulk ein, erhöhte Sicherheit, heute nicht mehr im Einsatz
> 1996: User-based SNMP (SNMPv2u) RFC 1909-1910,
heute nicht mehr im Einsatz
> 1996: Community-based SNMP (SNMPv2c) RFC 1901, 1905-1906,
Erweiterung von Version 1 um Features aus SNMPv2p
> 2002: Version 3 (SNMPv3), RFC 3410-3418,
Fokus auf Sicherheit
09.05.2014 SNMP Applied5
Anwendungen von SNMP
► Kontinuierliches Monitoring (Polling)
> Uptime, Load
> Netzwerkverkehr
> Speicherverbrauch (RAM, Festplatten)
> Hardware-Zustand (S.M.A.R.T., Lüfterdrehzahl)
► Information über Ereignisse (SNMP-Traps)
> Fehlersituationen
> Zustandswechsel
09.05.2014 SNMP Applied6
SNMP Begriffswelt
► Agent – SNMP-Daemon, der Informationen via UDP 161 bereitstellt oder
Traps via UDP 162 versendet
► Manager – SNMP-Client, der Informationen via UDP 161 einsammelt
► Trap – SNMP-Nachricht, über UDP 162 versendet
► MIB – Management Information Base
> Dateien mit strukturiertem Text nach ASN.1
> Beschreiben Monitoring-Objekte
> Übersetzen OIDs in Namen und interpretieren der entsprechenden Werte
► OID – Object Identifier
> Identifikatoren in durch ASN.1 definiertem Namensraum
► community – in SNMPv1 und SNMPv2c zur Anmeldung am Agent verwendet
09.05.2014 SNMP Applied7
Der MIB-Tree
09.05.2014 SNMP Applied8
Die Position im MIB-
Tree liefert den OID
eines Objektes.
Die Private Enterprise
Number der adesso
AG ist 36467.
SNMP-Objekte der
adesso AG beginnen
immer mit
1.3.6.1.4.1.36467.
root
ccitt(0) iso(1) joint-iso-ccitt(2)
org(3)
dod(6)
internet(1)
directory(1) mgmt(2) experimental(3) private(4)
enterprises(1)
adesso(36467)
mib-2(1)
system(1)
interfaces(2)
ip(4)
snmp(11)
host(25)
OID: Object Identifier
► OIDs sind eindeutige Identifikatoren innerhalb eines Agenten
bzw. eines Gerätes
► OIDs bilden die Navigation durch den MIB-Tree
► Hersteller-spezifische OIDs immer unterhalb von 1.3.6.1.4.1
► Mapping auf Domains
> 1.3.6.1.4.1.36467 –
adesso.enterprises.private.internet.dod.iso.org.
► Unterhalb der OID ist jeder Hersteller frei in seinen Definitionen
► Zuweisung der Enterprise-Identifkation erfolgt durch die IANA:
http://www.iana.org/assignments/enterprise-numbers
09.05.2014 SNMP Applied9
Net-SNMP
Net-SNMP
► OpenSource SNMP Implementierung (CMU, BSD-Like)
► Läuft auf fast allen Unix- und Linux-Systemen
► Unterstützt SNMP Version 1, SNMPv2c, SNMPv3 via IPv4 und IPv6
► Kommandozeilenapplikationen zu
> Abfrage von SNMP-Agents (snmpget, snmpwalk, …)
> Ändern von Konfigurationen via SNMP (snmpset)
> Übersetzen von OIDs (snmptranslate)
► Daemon zum Empfangen von SNMP Traps (snmptrapd)
► Daemon als SNMP Agent (snmpd)
► C- und Perl-APIs
► Zu finden hier: http://www.net-snmp.org/
09.05.2014 SNMP Applied11
Net-SNMP snmpd konfigurieren
► Minimale Konfiguration definiert Standort, Kontakt und erlaubt Auslesen
09.05.2014 SNMP Applied12
# /etc/snmp/snmpd.conf
syslocation Server Room
syscontact Sysadmin (root@localhost)
# listen on all interfaces
agentAddress udp:161
# allow localhost read-only access via community public
rocommunity public 127.0.0.1
# allow whole network read-only access via community public
rocommunity public 192.168.79.0/24
► Abfrage des snmpd erfolgt via snmpwalk
~$ snmpwalk -c public -v1 snmp.dev
SNMPv2-MIB::sysDescr.0 = STRING: Linux linux-dwoa 3.1.10-1.16-default #1
SMP Wed Jun 27 05:21:40 UTC 2012 (d016078) x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (635449) 1:45:54.49
SNMPv2-MIB::sysContact.0 = STRING: Sysadmin (root@localhost)
SNMPv2-MIB::sysName.0 = STRING: linux-dwoa
SNMPv2-MIB::sysLocation.0 = STRING: Server Room
...
09.05.2014 SNMP Applied13
Das Problem:
Das ist alles total unsicher!
Schwächen von SNMPv1 und SNMPv2c
► Autorisierung erfolgt über die IP-Adresse
► Authentifizierung erfolgt über Community
► Einschränkungen der Community gelten jeweils pro IP-Adresse
► Übertragung erfolgt unverschlüsselt
► Standard-Protokoll UDP sicher Datenübertragung nicht ab
09.05.2014 SNMP Applied14
Net-SNMP für SNMPv3 konfigurieren I
► Benutzer anlegen
09.05.2014 SNMP Applied15
~$ /etc/init.d/snmpd stop
~$ net-snmp-config --create-snmpv3-user -a "secretpw" snmpUser
~$ /etc/init.d/snmpd start
► Minimale Konfiguration für SNMPv3
# /etc/snmp/snmpd.conf
syslocation Server Room
syscontact Sysadmin (root@localhost)
# listen on all interfaces
agentAddress udp:161
# /usr/share/snmp/snmpd.conf !! :-(
# Via `net-snmp-config` erzeugt
rwuser snmpUser
# /var/lib/net-snmp/snmpd.conf (openSUSE)
# /var/lib/snmp/snmpd.conf (Debian)
#########################################################################
# STOP STOP STOP STOP STOP STOP STOP STOP STOP
#
# **** DO NOT EDIT THIS FILE ****
#
# STOP STOP STOP STOP STOP STOP STOP STOP STOP
#########################################################################
...
Net-SNMP für SNMPv3 konfigurieren II
► Minimale Konfiguration für SNMPv3
09.05.2014 SNMP Applied16
► Abfrage testen (unverschlüsselt und verschlüsselt)
~$ snmpget -v 3 -u snmpUser -l authNoPriv -a MD5 -A secretpw 
snmp.dev sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (8805) 0:01:28.05
~$ snmpget -v 3 -u snmpUser -l authPriv -a MD5 -A secretpw 
-x DES -X secretpw snmp.dev sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9835) 0:01:38.35
Benutzer hinzufügen I
► Neue Benutzer benötigen einen Template-User
► Benutzer hinzufügen mit snmpusm
► Danach unbedingt das Passwort ändern
09.05.2014 SNMP Applied17
~$ snmpusm -v 3 -u gbeine -l authPriv -a MD5 -A secretpw 
-x DES -X secretpw snmp.dev passwd secretpw strenggeheim
SNMPv3 Key(s) successfully changed.
~$ snmpget -v 3 -u gbeine -l authNoPriv -a MD5 -A strenggeheim 
snmp.dev sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5871) 0:00:58.71
~$ snmpusm -v 3 -u snmpUser -l authNoPriv -a MD5 -A secretpw 
snmp.dev create gbeine snmpUser
User successfully created.
~$ snmpget -v 3 -u gbeine -l authNoPriv -a MD5 -A secretpw 
snmp.dev sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (11303) 0:01:53.03
► Achtung: Neue Benutzer und Passwortänderungen sind zwar sofort
verfügbar, aber noch nicht persistiert!
# /etc/snmp/snmpd.conf
syslocation Server Room
syscontact Sysadmin (root@localhost)
# listen on all interfaces
agentAddress udp:161
# new user
rwuser gbeine
Benutzer hinzufügen II
► Benutzer in Konfiguration eintragen und SNMP neu starten
09.05.2014 SNMP Applied18
► Abfrage testen (unverschlüsselt und verschlüsselt)
# /var/lib/net-snmp/snmpd.conf (openSUSE)
# /var/lib/snmp/snmpd.conf (Debian)
# ...
usmUser 1 3 0x80001f88804162a72b6c8c205300000000 "gbeine" "gbeine" NULL 
.1.3.6.1.6.3.10.1.1.2 0x0a32bdbfcc9830326f7a6353a4fef86e 
.1.3.6.1.6.3.10.1.2.2 0x0a32bdb
http://www.net-snmp.org/docs/man/snmpd.conf.html:
„It is recommended you use the net-snmp-config command to do this“
Luxus auf Client-Seite
09.05.2014 SNMP Applied19
► Aufruf mit SNMPv3 wird recht kompliziert
~$ snmpget -v 3 -u snmpUser -l authPriv -a MD5 -A secretpw 
-x DES -X secretpw snmp.dev sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9835) 0:01:38.35
► Client Konfiguration für snmpget, snmpwalk, snmpset, ...
# ~/.snmp/snmp.conf
defSecurityName gbeine
defSecurityLevel authPriv
defAuthType MD5
defAuthPassphrase strenggeheim
defPrivType DES
defPrivPassphrase strenggeheim
defVersion 3
► Danach schon deutlich einfacher
~$ snmpget snmp.dev sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5871) 0:00:58.71
Sicherheit erhöhen
09.05.2014 SNMP Applied20
► Verschlüsselung auf Seite des Servers erzwingen:
# /etc/snmp/snmpd.conf
# ...
rwuser gbeine priv
► Danach ist -l authNoPriv auf Client-Seite nicht mehr möglich :-)
► Passwort durch Diffie-Hellman-Keys ersetzen:
~$ snmpusm snmp.dev changekey gbeine
new auth key: 0x0404e48a606a7dc5ce0fe23d83257f91
new priv key: 0x092d15bea5298a286911692b28a9fc64
SNMPv3 Key(s) successfully changed.
► Client Konfiguration anpassen:
# ~/.snmp/snmp.conf
defSecurityName gbeine
defSecurityLevel authPriv
defVersion 3
defAuthLocalizedKey 0x0404e48a606a7dc5ce0fe23d83257f91
defPrivLocalizedKey 0x092d15bea5298a286911692b28a9fc64
Zugriffsbeschränkungen
09.05.2014 SNMP Applied21
► Zugriff von Usern oder Communities auf OIDs beschränken
# /etc/snmp/snmpd.conf
# ...
rwuser gbeine priv .1.3.6.1.2.1.1
# alternativ etwas besser lesbar
# rwuser gbeine priv system
► Lese-/Schreibzugriff pro Benutzer festgelegt
► Zugriff für jeden Benutzer auf Subtree der OID eingeschränkt
► Lösung dazu ist VACM (SNMPv3 View Based Access Control)
SNMPv3 VACM
09.05.2014 SNMP Applied22
► Zugriff von Usern oder Communities auf OIDs beschränken
# /etc/snmp/snmpd.conf
# ...
rwuser gbeine priv -V basic
view basic included system
view basic included interfaces
► View können OID-Subtree ein- und ausschließen
► Mehrere Einträge mit gleichem Namen werden zusammengefasst
► Weitere Einschränkungen möglich mit com2sec, group, access
Verbesserungen gegenüber SNMPv1 und SNMPv2c
► Authentifizierung erfolgt über Benutzer-Account
► Übertragung kann mit persönlichen Credentials verschlüsselt werden
► Verschlüsselung durch Server erzwungen
► Credentials durch sichere Diffie-Hellman-Keys ausgetauscht
► Beschränkung der Benutzer auf Teilbäume des MIB-Tree
► Festlegung von Lese-/Schreibrechten auf OID-Ebene
09.05.2014 SNMP Applied23
Net-SNMP mit DTLS/TLS
Net-SNMP mit DTLS/TLS
► Net-SNMP beherrscht sowohl UDP als auch TCP
► Dank OpenSSL kann TLS und Datagram TLS (DTLS) verwendet werden
► Net-SNMP bringt eigene Tools zur Verwaltung von Zertifikaten mit
► Verfügbar ab Net-SNMP 5.6
► Debian liefert Net-SNMP 5.4 (zu alt)
► openSUSE liefert Net-SNMP 5.7, leider ohne DTLS/TLS Support
► Rebuild notwendig mit folgenden Optionen:
09.05.2014 SNMP Applied25
~$ ./configure .. 
--with-security-modules=tsm 
--with-transports=TLSTCP,DTLSUDP
Zertifikate erstellen
09.05.2014 SNMP Applied26
► Certificate Authority zum Signieren von Zertifikaten
~$ net-snmp-cert genca -I -n ca.snmp.dev
CA Generated:
ca-certs/ca.snmp.dev.crt
private/ca.snmp.dev.key
► Server-Zertifikat erstellen (wichtig ist -t snmpd)
~$ net-snmp-cert gencsr -I -t snmpd -n snmp.dev
Certificate Signing Request Generated:
newcerts/snmpd.csr
private/snmpd.key
► Client-Zertifikat erstellen (wichtig ist -n gbeine)
~$ net-snmp-cert gencsr -I -t manager -n gbeine
Certificate Signing Request Generated:
newcerts/manager.csr
private/manager.key
► Zertifikate signieren
~$ net-snmp-cert signcsr -I --with-ca ca.snmp.dev --csr snmpd
~$ net-snmp-cert signcsr -I --with-ca ca.snmp.dev --csr manager
Konfiguration des Servers für DTLS
► Fingerprint der Zertifikate auslesen
09.05.2014 SNMP Applied27
~$ net-snmp-cert showcerts --fingerprint
/etc/snmp/tls:
certs/manager.crt:
SHA1
Fingerprint=50:43:06:3E:5A:94:2C:51:3D:8B:32:81:68:B4:D3:BB:97:B2:9C:C4
certs/snmpd.crt:
SHA1
Fingerprint=78:11:C4:BE:D2:79:D6:00:4C:E0:0E:BC:0A:95:3B:92:1E:D3:26:41
► Konfiguration anpassen
# /etc/snmp/snmpd.conf
# ...
# listen on all interfaces
agentAddress udp:161, dtlsudp:10161
# certificate for user gbeine
certSecName 10 
50:43:06:3E:5A:94:2C:51:3D:8B:32:81:68:B4:D3:BB:97:B2:9C:C4 --cn
Konfiguration auf Client-Seite
09.05.2014 SNMP Applied28
► SNMPv3 über DTLS (ohne Client-Konfiguration)
~$ snmpget -v 3 --defSecurityModel=tsm -u gbeine -l authPriv 
-T our_identity=50:43:06:3E:5A:94:2C:51:3D:8B:32:81:68:B4:D3:BB:97:B2:9C:C4 
-T their_identity=78:11:C4:BE:D2:79:D6:00:4C:E0:0E:BC:0A:95:3B:92:1E:D3:26:41 
dtlsudp:localhost:10161 sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (120) 0:00:01.20
► Client Konfiguration für snmpget, snmpwalk, snmpset, ...
# ~/.snmp/snmp.conf
defSecurityLevel authPriv
defVersion 3
defSecurityModel tsm
localCert 50:43:06:3E:5A:94:2C:51:3D:8B:32:81:68:B4:D3:BB:97:B2:9C:C4
peerCert 78:11:C4:BE:D2:79:D6:00:4C:E0:0E:BC:0A:95:3B:92:1E:D3:26:41
► SNMPv3 über DTLS (mit Client-Konfiguration)
~$ snmpget dtlsudp:localhost:10161 sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (120) 0:00:01.20
SNMP-Zugriff mit Java
Einfaches SNMP v1 get I
public class SimpleGet {
private static String hostName = "snmp.dev";
private static String port = "161";
// OID via snmptranslate -On -IR sysUpTime.0
private static String oid = ".1.3.6.1.2.1.1.3.0";
private static int snmpVersion = SnmpConstants.version1;
private static String community = "public";
public static void main(String[] args) throws Exception
{
// Create Target Address object
CommunityTarget target = new CommunityTarget();
target.setAddress(new UdpAddress(hostName + "/" + port));
target.setVersion(snmpVersion);
target.setCommunity(new OctetString(community));
// Create the PDU object
PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID(oid)));
pdu.setType(PDU.GET);
// Create TransportMapping and send SNMP get
TransportMapping<UdpAddress>transport = new DefaultUdpTransportMapping();
transport.listen();
Snmp snmp = new Snmp(transport);
ResponseEvent response = snmp.get(pdu, target);
snmp.close();
...
09.05.2014 SNMP Applied30
Einfaches SNMP v1 get II
09.05.2014 SNMP Applied31
...
// Process Agent Response
if (response != null) {
PDU responsePDU = response.getResponse();
if (responsePDU != null) {
int errorStatus = responsePDU.getErrorStatus();
int errorIndex = responsePDU.getErrorIndex();
final String errorStatusText = responsePDU.getErrorStatusText();
if (errorStatus == PDU.noError) {
System.out.println("Snmp Get Response = " + responsePDU.getVariableBindings());
} else {
System.out.println("Error: Request Failed");
System.out.println("Error Status = " + errorStatus);
System.out.println("Error Index = " + errorIndex);
System.out.println("Error Status Text = " + errorStatusText);
}
} else {
System.out.println("Error: Response PDU is null");
}
} else {
System.out.println("Error: Agent Timeout... ");
}
}
}
SNMP v3 get mit Authentifizierung und Verschlüsselung I
09.05.2014 SNMP Applied32
public class V3Get {
private static String hostName = "snmp.dev";
private static String port = "161";
private static int snmpVersion = SnmpConstants.version3;
private static int securityLevel = SecurityLevel.AUTH_PRIV;
private static OID securityAuth = AuthMD5.ID;
private static OID securityPriv = PrivDES.ID;
private static String username = "gbeine";
private static String password = "strenggeheim";
// OID via snmptranslate -On -IR sysUpTime.0
private static String oid = ".1.3.6.1.2.1.1.3.0";
public static void main(String[] args) throws Exception
{
final OctetString secUserName = new OctetString(username);
final OctetString secPassword = new OctetString(password);
// Create Target Address object
UserTarget target = new UserTarget();
target.setAddress(new UdpAddress(hostName + "/" + port));
target.setVersion(snmpVersion);
target.setSecurityLevel(securityLevel);
target.setSecurityName(secUserName);
// Create the PDU object
ScopedPDU pdu = new ScopedPDU();
pdu.add(new VariableBinding(new OID(oid)));
pdu.setType(PDU.GET);
...
SNMP v3 get mit Authentifizierung und Verschlüsselung II
09.05.2014 SNMP Applied33
...
// Create TransportMapping
TransportMapping<UdpAddress>transport = new DefaultUdpTransportMapping();
transport.listen();
Snmp snmp = new Snmp(transport);
// Initialize security model
USM usm = new USM(SecurityProtocols.getInstance(),
new OctetString(MPv3.createLocalEngineID()), 0);
SecurityModels.getInstance().addSecurityModel(usm);
// User authentication data (priv is forced)
UsmUser user = new UsmUser(secUserName, securityAuth,
secPassword, securityPriv, secPassword);
snmp.getUSM().addUser(secUserName, user);
// Send SNMP get
ResponseEvent response = snmp.get(pdu, target);
snmp.close();
...
SNMP v3 get mit Authentifizierung und Verschlüsselung III
09.05.2014 SNMP Applied34
...
// Process Agent Response
if (response != null) {
PDU responsePDU = response.getResponse();
if (responsePDU != null) {
int errorStatus = responsePDU.getErrorStatus();
int errorIndex = responsePDU.getErrorIndex();
final String errorStatusText = responsePDU.getErrorStatusText();
if (errorStatus == PDU.noError) {
System.out.println("Snmp Get Response = " + responsePDU.getVariableBindings());
} else {
System.out.println("Error: Request Failed");
System.out.println("Error Status = " + errorStatus);
System.out.println("Error Index = " + errorIndex);
System.out.println("Error Status Text = " + errorStatusText);
}
} else {
System.out.println("Error: Response PDU is null");
}
} else {
System.out.println("Error: Agent Timeout... ");
}
}
}
Weiterführendes
Literaturempfehlungen
► Net-SNMP: http://www.net-snmp.org/docs/
► SNMP4J: http://www.snmp4j.org/
► Evan McGinnis, David Perkins: Understanding SNMP Mibs
http://www.amazon.de/Understanding-SNMP-Mibs-Evan-
McGinnis/dp/0134377087/
► Douglas R. Mauro, Kevin J. Schmidt: Essential SNMP
http://www.amazon.de/Essential-SNMP-System-Network-
Administrators/dp/0596008406/
09.05.2014 SNMP Applied36
Viel Spaß noch auf dem LinuxTag 2014!
www.adesso.de
info@adesso.de

Weitere ähnliche Inhalte

Was ist angesagt?

OSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
OSDC 2011 | FAI - Fully Automatic Installation by Thomas LangeOSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
OSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
NETWAYS
 
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeOSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
NETWAYS
 
Layer 2 Redundanzen
Layer 2 RedundanzenLayer 2 Redundanzen
Layer 2 Redundanzen
Westermo Network Technologies
 
Neuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD MobilfunkrouternNeuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD Mobilfunkroutern
Westermo Network Technologies
 
450MHz LTE als der neue Standard für Mobilfunk und kritische Infrastruktur
450MHz LTE als der neue Standard für Mobilfunk und kritische Infrastruktur450MHz LTE als der neue Standard für Mobilfunk und kritische Infrastruktur
450MHz LTE als der neue Standard für Mobilfunk und kritische Infrastruktur
Westermo Network Technologies
 
Neuigkeiten von Westermos Betriebssystem WeOS 4.28
Neuigkeiten von Westermos Betriebssystem WeOS 4.28Neuigkeiten von Westermos Betriebssystem WeOS 4.28
Neuigkeiten von Westermos Betriebssystem WeOS 4.28
Westermo Network Technologies
 
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
NETWAYS
 
Agorum Core Installation Netzlaufwerke
Agorum Core Installation NetzlaufwerkeAgorum Core Installation Netzlaufwerke
Agorum Core Installation Netzlaufwerkeguest41eb8bd
 
BetterCrypto: Applied Crypto Hardening
BetterCrypto: Applied Crypto HardeningBetterCrypto: Applied Crypto Hardening
BetterCrypto: Applied Crypto Hardening
Aaron Zauner
 
Domain name system security extension
Domain name system security extensionDomain name system security extension
Domain name system security extension
F789GH
 
Phil Krämer: WLAN #HACKING
Phil Krämer: WLAN #HACKINGPhil Krämer: WLAN #HACKING
Phil Krämer: WLAN #HACKING
hybr1s
 
XMPP - Real Time Communication
XMPP - Real Time CommunicationXMPP - Real Time Communication
XMPP - Real Time Communication
Dominic Lüchinger
 
cirosec TrendTage März 2015 - Das SSL Dilemma
cirosec TrendTage März 2015 - Das SSL Dilemmacirosec TrendTage März 2015 - Das SSL Dilemma
cirosec TrendTage März 2015 - Das SSL Dilemma
Christopher Bleckmann-Dreher
 
Sicheres Netzwerkmanagement - Industrieller Cyber Security
Sicheres Netzwerkmanagement - Industrieller Cyber SecuritySicheres Netzwerkmanagement - Industrieller Cyber Security
Sicheres Netzwerkmanagement - Industrieller Cyber Security
Westermo Network Technologies
 
Synology Workshop07 06
Synology Workshop07 06Synology Workshop07 06
Synology Workshop07 06
Jens-Christian Fischer
 

Was ist angesagt? (15)

OSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
OSDC 2011 | FAI - Fully Automatic Installation by Thomas LangeOSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
OSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
 
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeOSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
 
Layer 2 Redundanzen
Layer 2 RedundanzenLayer 2 Redundanzen
Layer 2 Redundanzen
 
Neuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD MobilfunkrouternNeuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD Mobilfunkroutern
 
450MHz LTE als der neue Standard für Mobilfunk und kritische Infrastruktur
450MHz LTE als der neue Standard für Mobilfunk und kritische Infrastruktur450MHz LTE als der neue Standard für Mobilfunk und kritische Infrastruktur
450MHz LTE als der neue Standard für Mobilfunk und kritische Infrastruktur
 
Neuigkeiten von Westermos Betriebssystem WeOS 4.28
Neuigkeiten von Westermos Betriebssystem WeOS 4.28Neuigkeiten von Westermos Betriebssystem WeOS 4.28
Neuigkeiten von Westermos Betriebssystem WeOS 4.28
 
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
 
Agorum Core Installation Netzlaufwerke
Agorum Core Installation NetzlaufwerkeAgorum Core Installation Netzlaufwerke
Agorum Core Installation Netzlaufwerke
 
BetterCrypto: Applied Crypto Hardening
BetterCrypto: Applied Crypto HardeningBetterCrypto: Applied Crypto Hardening
BetterCrypto: Applied Crypto Hardening
 
Domain name system security extension
Domain name system security extensionDomain name system security extension
Domain name system security extension
 
Phil Krämer: WLAN #HACKING
Phil Krämer: WLAN #HACKINGPhil Krämer: WLAN #HACKING
Phil Krämer: WLAN #HACKING
 
XMPP - Real Time Communication
XMPP - Real Time CommunicationXMPP - Real Time Communication
XMPP - Real Time Communication
 
cirosec TrendTage März 2015 - Das SSL Dilemma
cirosec TrendTage März 2015 - Das SSL Dilemmacirosec TrendTage März 2015 - Das SSL Dilemma
cirosec TrendTage März 2015 - Das SSL Dilemma
 
Sicheres Netzwerkmanagement - Industrieller Cyber Security
Sicheres Netzwerkmanagement - Industrieller Cyber SecuritySicheres Netzwerkmanagement - Industrieller Cyber Security
Sicheres Netzwerkmanagement - Industrieller Cyber Security
 
Synology Workshop07 06
Synology Workshop07 06Synology Workshop07 06
Synology Workshop07 06
 

Andere mochten auch

Ein Sonnenstrahl Jesu - Jesus Wants Me for a Sunbeam
Ein Sonnenstrahl Jesu - Jesus Wants Me for a SunbeamEin Sonnenstrahl Jesu - Jesus Wants Me for a Sunbeam
Ein Sonnenstrahl Jesu - Jesus Wants Me for a Sunbeam
Freekidstories
 
(Lean) Six Sigma Green Belt Lehrgang 2015
(Lean) Six Sigma Green Belt Lehrgang 2015(Lean) Six Sigma Green Belt Lehrgang 2015
(Lean) Six Sigma Green Belt Lehrgang 2015
dankl+partner consulting gmbh
 
Winter1
Winter1Winter1
Presentación patito feo
Presentación patito feoPresentación patito feo
Presentación patito feo
Silvia Escudero
 
FMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
FMK2012: Eigene Funktionen / Custom Functions von Arnold KegebeinFMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
FMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
Verein FM Konferenz
 
Infografik Folgestudie Schweizer Grossunternehmen im Social Web 2012, Folgest...
Infografik Folgestudie Schweizer Grossunternehmen im Social Web 2012, Folgest...Infografik Folgestudie Schweizer Grossunternehmen im Social Web 2012, Folgest...
Infografik Folgestudie Schweizer Grossunternehmen im Social Web 2012, Folgest...
Barbara Kunert
 
Meine helden - My Heroes
Meine helden - My HeroesMeine helden - My Heroes
Meine helden - My Heroes
Freekidstories
 
Wesen und Einfluss des internationalen Geldsystems
Wesen und Einfluss des internationalen GeldsystemsWesen und Einfluss des internationalen Geldsystems
Wesen und Einfluss des internationalen Geldsystems
mobiehl
 
openHPI Erratum: URL und URI
openHPI Erratum: URL und URIopenHPI Erratum: URL und URI
openHPI Erratum: URL und URIchristianwillems
 
Screencasts erstellen - Wie, Warum und Wozu?
Screencasts erstellen - Wie, Warum und Wozu?Screencasts erstellen - Wie, Warum und Wozu?
Screencasts erstellen - Wie, Warum und Wozu?
Wolfgang Wagner
 
Antiquus 521 -_warum_sind_maenner_gluecklicher_als_frauen
Antiquus 521 -_warum_sind_maenner_gluecklicher_als_frauenAntiquus 521 -_warum_sind_maenner_gluecklicher_als_frauen
Antiquus 521 -_warum_sind_maenner_gluecklicher_als_frauen
Jimena Meneses
 
Cloud Services von PC-studio
Cloud Services von PC-studioCloud Services von PC-studio
Cloud Services von PC-studio
pc_studio
 
Gehirn
GehirnGehirn
eBook: Erfolgreich zur Green Meeting Location
eBook: Erfolgreich zur Green Meeting LocationeBook: Erfolgreich zur Green Meeting Location
eBook: Erfolgreich zur Green Meeting Location
eventsofa
 
Wie Unternehmen mit Social Media umgehen
Wie Unternehmen mit Social Media umgehenWie Unternehmen mit Social Media umgehen
Wie Unternehmen mit Social Media umgehen
Barbara Kunert
 
Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS
adesso AG
 
Er hält die ganze welt in seiner hand - He's got the whole world in His hands
Er hält die ganze welt in seiner hand - He's got the whole world in His handsEr hält die ganze welt in seiner hand - He's got the whole world in His hands
Er hält die ganze welt in seiner hand - He's got the whole world in His hands
Freekidstories
 
Die größten Auslöser für PR-Frust
Die größten Auslöser für PR-FrustDie größten Auslöser für PR-Frust
Die größten Auslöser für PR-Frust
Faktenkontor
 
6993027462328718949
69930274623287189496993027462328718949
6993027462328718949Jeremy Joo
 

Andere mochten auch (20)

Ein Sonnenstrahl Jesu - Jesus Wants Me for a Sunbeam
Ein Sonnenstrahl Jesu - Jesus Wants Me for a SunbeamEin Sonnenstrahl Jesu - Jesus Wants Me for a Sunbeam
Ein Sonnenstrahl Jesu - Jesus Wants Me for a Sunbeam
 
(Lean) Six Sigma Green Belt Lehrgang 2015
(Lean) Six Sigma Green Belt Lehrgang 2015(Lean) Six Sigma Green Belt Lehrgang 2015
(Lean) Six Sigma Green Belt Lehrgang 2015
 
Winter1
Winter1Winter1
Winter1
 
Presentación patito feo
Presentación patito feoPresentación patito feo
Presentación patito feo
 
FMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
FMK2012: Eigene Funktionen / Custom Functions von Arnold KegebeinFMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
FMK2012: Eigene Funktionen / Custom Functions von Arnold Kegebein
 
Infografik Folgestudie Schweizer Grossunternehmen im Social Web 2012, Folgest...
Infografik Folgestudie Schweizer Grossunternehmen im Social Web 2012, Folgest...Infografik Folgestudie Schweizer Grossunternehmen im Social Web 2012, Folgest...
Infografik Folgestudie Schweizer Grossunternehmen im Social Web 2012, Folgest...
 
Meine helden - My Heroes
Meine helden - My HeroesMeine helden - My Heroes
Meine helden - My Heroes
 
Wesen und Einfluss des internationalen Geldsystems
Wesen und Einfluss des internationalen GeldsystemsWesen und Einfluss des internationalen Geldsystems
Wesen und Einfluss des internationalen Geldsystems
 
openHPI Erratum: URL und URI
openHPI Erratum: URL und URIopenHPI Erratum: URL und URI
openHPI Erratum: URL und URI
 
Rückblick 2. tag
Rückblick 2. tagRückblick 2. tag
Rückblick 2. tag
 
Screencasts erstellen - Wie, Warum und Wozu?
Screencasts erstellen - Wie, Warum und Wozu?Screencasts erstellen - Wie, Warum und Wozu?
Screencasts erstellen - Wie, Warum und Wozu?
 
Antiquus 521 -_warum_sind_maenner_gluecklicher_als_frauen
Antiquus 521 -_warum_sind_maenner_gluecklicher_als_frauenAntiquus 521 -_warum_sind_maenner_gluecklicher_als_frauen
Antiquus 521 -_warum_sind_maenner_gluecklicher_als_frauen
 
Cloud Services von PC-studio
Cloud Services von PC-studioCloud Services von PC-studio
Cloud Services von PC-studio
 
Gehirn
GehirnGehirn
Gehirn
 
eBook: Erfolgreich zur Green Meeting Location
eBook: Erfolgreich zur Green Meeting LocationeBook: Erfolgreich zur Green Meeting Location
eBook: Erfolgreich zur Green Meeting Location
 
Wie Unternehmen mit Social Media umgehen
Wie Unternehmen mit Social Media umgehenWie Unternehmen mit Social Media umgehen
Wie Unternehmen mit Social Media umgehen
 
Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS Java und Cloud - nicht nur mit PaaS
Java und Cloud - nicht nur mit PaaS
 
Er hält die ganze welt in seiner hand - He's got the whole world in His hands
Er hält die ganze welt in seiner hand - He's got the whole world in His handsEr hält die ganze welt in seiner hand - He's got the whole world in His hands
Er hält die ganze welt in seiner hand - He's got the whole world in His hands
 
Die größten Auslöser für PR-Frust
Die größten Auslöser für PR-FrustDie größten Auslöser für PR-Frust
Die größten Auslöser für PR-Frust
 
6993027462328718949
69930274623287189496993027462328718949
6993027462328718949
 

Ähnlich wie SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP

SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
adesso AG
 
Tk roadschow-ipmi-pdeneu
Tk roadschow-ipmi-pdeneuTk roadschow-ipmi-pdeneu
Tk roadschow-ipmi-pdeneuWerner Fischer
 
Transport Layer Multipathing: MPTCP und CMT-SCTP
Transport Layer Multipathing: MPTCP und CMT-SCTPTransport Layer Multipathing: MPTCP und CMT-SCTP
Transport Layer Multipathing: MPTCP und CMT-SCTP
Markus Jungbluth
 
E Security
E SecurityE Security
E Security
Udo Ornik
 
Oracle connection manager_cman_doag_sig_security_mai_2015
Oracle connection manager_cman_doag_sig_security_mai_2015Oracle connection manager_cman_doag_sig_security_mai_2015
Oracle connection manager_cman_doag_sig_security_mai_2015
Gunther Pippèrr
 
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
Daniel Schneller
 
check_sap_health
check_sap_healthcheck_sap_health
check_sap_health
Gerhard Lausser
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
Jan Gehring
 
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
NETWAYS
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
Maximilian Wilhelm
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
Maximilan Wilhelm
 
Netzwerkmonitoring.pdf
Netzwerkmonitoring.pdfNetzwerkmonitoring.pdf
Netzwerkmonitoring.pdf
Westermo Network Technologies
 
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfOSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
NETWAYS
 
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Maximilian Wilhelm
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
NETWAYS
 
CeBit 2001 Messebericht
CeBit 2001 MesseberichtCeBit 2001 Messebericht
CeBit 2001 Messebericht
Thomas Wöhlke
 
SNMP - Eine kurze Einführung
SNMP - Eine kurze Einführung SNMP - Eine kurze Einführung
SNMP - Eine kurze Einführung
Konrad Ferdinand Heimel
 
Managen von ovm server sparc mit dem vm manager, o ps center oder vdcf-roman ...
Managen von ovm server sparc mit dem vm manager, o ps center oder vdcf-roman ...Managen von ovm server sparc mit dem vm manager, o ps center oder vdcf-roman ...
Managen von ovm server sparc mit dem vm manager, o ps center oder vdcf-roman ...
Trivadis
 
Managen von OVM Server SPARC mit dem VM Manager OpsCenter oder VDCF-Roman Gäc...
Managen von OVM Server SPARC mit dem VM Manager OpsCenter oder VDCF-Roman Gäc...Managen von OVM Server SPARC mit dem VM Manager OpsCenter oder VDCF-Roman Gäc...
Managen von OVM Server SPARC mit dem VM Manager OpsCenter oder VDCF-Roman Gäc...
Désirée Pfister
 

Ähnlich wie SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (20)

SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
 
Tk roadschow-ipmi-pdeneu
Tk roadschow-ipmi-pdeneuTk roadschow-ipmi-pdeneu
Tk roadschow-ipmi-pdeneu
 
Transport Layer Multipathing: MPTCP und CMT-SCTP
Transport Layer Multipathing: MPTCP und CMT-SCTPTransport Layer Multipathing: MPTCP und CMT-SCTP
Transport Layer Multipathing: MPTCP und CMT-SCTP
 
E Security
E SecurityE Security
E Security
 
Oracle connection manager_cman_doag_sig_security_mai_2015
Oracle connection manager_cman_doag_sig_security_mai_2015Oracle connection manager_cman_doag_sig_security_mai_2015
Oracle connection manager_cman_doag_sig_security_mai_2015
 
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
 
check_sap_health
check_sap_healthcheck_sap_health
check_sap_health
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
OSMC 2009 | Entwicklung von Nagios-Plugins mit Net::SNMP und Nagios::Plugin b...
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Netzwerkmonitoring.pdf
Netzwerkmonitoring.pdfNetzwerkmonitoring.pdf
Netzwerkmonitoring.pdf
 
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfOSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas Gelf
 
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Grundlagen nmap
Grundlagen nmapGrundlagen nmap
Grundlagen nmap
 
CeBit 2001 Messebericht
CeBit 2001 MesseberichtCeBit 2001 Messebericht
CeBit 2001 Messebericht
 
SNMP - Eine kurze Einführung
SNMP - Eine kurze Einführung SNMP - Eine kurze Einführung
SNMP - Eine kurze Einführung
 
Managen von ovm server sparc mit dem vm manager, o ps center oder vdcf-roman ...
Managen von ovm server sparc mit dem vm manager, o ps center oder vdcf-roman ...Managen von ovm server sparc mit dem vm manager, o ps center oder vdcf-roman ...
Managen von ovm server sparc mit dem vm manager, o ps center oder vdcf-roman ...
 
Managen von OVM Server SPARC mit dem VM Manager OpsCenter oder VDCF-Roman Gäc...
Managen von OVM Server SPARC mit dem VM Manager OpsCenter oder VDCF-Roman Gäc...Managen von OVM Server SPARC mit dem VM Manager OpsCenter oder VDCF-Roman Gäc...
Managen von OVM Server SPARC mit dem VM Manager OpsCenter oder VDCF-Roman Gäc...
 

Mehr von adesso AG

Mythos High Performance Teams
Mythos High Performance TeamsMythos High Performance Teams
Mythos High Performance Teams
adesso AG
 
A Business-Critical SharePoint Solution From adesso AG
A Business-CriticalSharePoint SolutionFrom adesso AGA Business-CriticalSharePoint SolutionFrom adesso AG
A Business-Critical SharePoint Solution From adesso AG
adesso AG
 
Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!
adesso AG
 
Continuous Delivery praktisch
Continuous Delivery praktischContinuous Delivery praktisch
Continuous Delivery praktisch
adesso AG
 
Agilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous DeliveryAgilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous Delivery
adesso AG
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
adesso AG
 
Getriebene Anwendungslandschaften
Getriebene AnwendungslandschaftenGetriebene Anwendungslandschaften
Getriebene Anwendungslandschaften
adesso AG
 
Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013
adesso AG
 
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)adesso AG
 
OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Suche
adesso AG
 
NoSQL in der Cloud - Why?
NoSQL in der Cloud -  Why?NoSQL in der Cloud -  Why?
NoSQL in der Cloud - Why?
adesso AG
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.
adesso AG
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
adesso AG
 
Zehn Hinweise für Architekten
Zehn Hinweise für ArchitektenZehn Hinweise für Architekten
Zehn Hinweise für Architekten
adesso AG
 
Agile Praktiken
Agile PraktikenAgile Praktiken
Agile Praktiken
adesso AG
 
Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5
adesso AG
 
CloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App EngineCloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App Engine
adesso AG
 
Scala 4 Enterprise
Scala 4 EnterpriseScala 4 Enterprise
Scala 4 Enterprise
adesso AG
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
adesso AG
 
HTML5 Storage
HTML5 StorageHTML5 Storage
HTML5 Storage
adesso AG
 

Mehr von adesso AG (20)

Mythos High Performance Teams
Mythos High Performance TeamsMythos High Performance Teams
Mythos High Performance Teams
 
A Business-Critical SharePoint Solution From adesso AG
A Business-CriticalSharePoint SolutionFrom adesso AGA Business-CriticalSharePoint SolutionFrom adesso AG
A Business-Critical SharePoint Solution From adesso AG
 
Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!Was Sie über NoSQL Datenbanken wissen sollten!
Was Sie über NoSQL Datenbanken wissen sollten!
 
Continuous Delivery praktisch
Continuous Delivery praktischContinuous Delivery praktisch
Continuous Delivery praktisch
 
Agilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous DeliveryAgilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous Delivery
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
Getriebene Anwendungslandschaften
Getriebene AnwendungslandschaftenGetriebene Anwendungslandschaften
Getriebene Anwendungslandschaften
 
Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013Google App Engine JAX PaaS Parade 2013
Google App Engine JAX PaaS Parade 2013
 
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
Wartbare Web-Anwendungen mit Knockout.js und Model-View-ViewModel (MVVM)
 
OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Suche
 
NoSQL in der Cloud - Why?
NoSQL in der Cloud -  Why?NoSQL in der Cloud -  Why?
NoSQL in der Cloud - Why?
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Zehn Hinweise für Architekten
Zehn Hinweise für ArchitektenZehn Hinweise für Architekten
Zehn Hinweise für Architekten
 
Agile Praktiken
Agile PraktikenAgile Praktiken
Agile Praktiken
 
Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5Neue EBusiness Perspektiven durch HTML5
Neue EBusiness Perspektiven durch HTML5
 
CloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App EngineCloudConf2011 Introduction to Google App Engine
CloudConf2011 Introduction to Google App Engine
 
Scala 4 Enterprise
Scala 4 EnterpriseScala 4 Enterprise
Scala 4 Enterprise
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
 
HTML5 Storage
HTML5 StorageHTML5 Storage
HTML5 Storage
 

SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP

  • 1. 09.05.2014 SNMP Applied Sicheres Anwendungs-Monitoring mit SNMP Gerrit Beine <gerrit.beine@adesso.de>
  • 2. Short run ► Überlick zu SNMP (ganz kurz) ► Konfiguration und Anwendung von Net-SNMP ► SNMPv3 mit Net-SNMP ► TLS/DTLS mit Net-SNMP ► SNMP von Java aus nutzen 09.05.2014 SNMP Applied3
  • 4. Historisches zu SNMP ► Simple Network Management Protocol > Verwendet UDP, Ports 161 und 162 > TCP alternativ möglich ► Historie > 1988: Version 1, Ursprüngliche Spezifikation in RFC 1155-1157 > 1992: Secure SNMP, RFC1351-1353, nie offiziell eingeführt > 1993: Party-based SNMP (SNMPv2p) RFC 1441, 1445-1447, führte getbulk ein, erhöhte Sicherheit, heute nicht mehr im Einsatz > 1996: User-based SNMP (SNMPv2u) RFC 1909-1910, heute nicht mehr im Einsatz > 1996: Community-based SNMP (SNMPv2c) RFC 1901, 1905-1906, Erweiterung von Version 1 um Features aus SNMPv2p > 2002: Version 3 (SNMPv3), RFC 3410-3418, Fokus auf Sicherheit 09.05.2014 SNMP Applied5
  • 5. Anwendungen von SNMP ► Kontinuierliches Monitoring (Polling) > Uptime, Load > Netzwerkverkehr > Speicherverbrauch (RAM, Festplatten) > Hardware-Zustand (S.M.A.R.T., Lüfterdrehzahl) ► Information über Ereignisse (SNMP-Traps) > Fehlersituationen > Zustandswechsel 09.05.2014 SNMP Applied6
  • 6. SNMP Begriffswelt ► Agent – SNMP-Daemon, der Informationen via UDP 161 bereitstellt oder Traps via UDP 162 versendet ► Manager – SNMP-Client, der Informationen via UDP 161 einsammelt ► Trap – SNMP-Nachricht, über UDP 162 versendet ► MIB – Management Information Base > Dateien mit strukturiertem Text nach ASN.1 > Beschreiben Monitoring-Objekte > Übersetzen OIDs in Namen und interpretieren der entsprechenden Werte ► OID – Object Identifier > Identifikatoren in durch ASN.1 definiertem Namensraum ► community – in SNMPv1 und SNMPv2c zur Anmeldung am Agent verwendet 09.05.2014 SNMP Applied7
  • 7. Der MIB-Tree 09.05.2014 SNMP Applied8 Die Position im MIB- Tree liefert den OID eines Objektes. Die Private Enterprise Number der adesso AG ist 36467. SNMP-Objekte der adesso AG beginnen immer mit 1.3.6.1.4.1.36467. root ccitt(0) iso(1) joint-iso-ccitt(2) org(3) dod(6) internet(1) directory(1) mgmt(2) experimental(3) private(4) enterprises(1) adesso(36467) mib-2(1) system(1) interfaces(2) ip(4) snmp(11) host(25)
  • 8. OID: Object Identifier ► OIDs sind eindeutige Identifikatoren innerhalb eines Agenten bzw. eines Gerätes ► OIDs bilden die Navigation durch den MIB-Tree ► Hersteller-spezifische OIDs immer unterhalb von 1.3.6.1.4.1 ► Mapping auf Domains > 1.3.6.1.4.1.36467 – adesso.enterprises.private.internet.dod.iso.org. ► Unterhalb der OID ist jeder Hersteller frei in seinen Definitionen ► Zuweisung der Enterprise-Identifkation erfolgt durch die IANA: http://www.iana.org/assignments/enterprise-numbers 09.05.2014 SNMP Applied9
  • 10. Net-SNMP ► OpenSource SNMP Implementierung (CMU, BSD-Like) ► Läuft auf fast allen Unix- und Linux-Systemen ► Unterstützt SNMP Version 1, SNMPv2c, SNMPv3 via IPv4 und IPv6 ► Kommandozeilenapplikationen zu > Abfrage von SNMP-Agents (snmpget, snmpwalk, …) > Ändern von Konfigurationen via SNMP (snmpset) > Übersetzen von OIDs (snmptranslate) ► Daemon zum Empfangen von SNMP Traps (snmptrapd) ► Daemon als SNMP Agent (snmpd) ► C- und Perl-APIs ► Zu finden hier: http://www.net-snmp.org/ 09.05.2014 SNMP Applied11
  • 11. Net-SNMP snmpd konfigurieren ► Minimale Konfiguration definiert Standort, Kontakt und erlaubt Auslesen 09.05.2014 SNMP Applied12 # /etc/snmp/snmpd.conf syslocation Server Room syscontact Sysadmin (root@localhost) # listen on all interfaces agentAddress udp:161 # allow localhost read-only access via community public rocommunity public 127.0.0.1 # allow whole network read-only access via community public rocommunity public 192.168.79.0/24 ► Abfrage des snmpd erfolgt via snmpwalk ~$ snmpwalk -c public -v1 snmp.dev SNMPv2-MIB::sysDescr.0 = STRING: Linux linux-dwoa 3.1.10-1.16-default #1 SMP Wed Jun 27 05:21:40 UTC 2012 (d016078) x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (635449) 1:45:54.49 SNMPv2-MIB::sysContact.0 = STRING: Sysadmin (root@localhost) SNMPv2-MIB::sysName.0 = STRING: linux-dwoa SNMPv2-MIB::sysLocation.0 = STRING: Server Room ...
  • 12. 09.05.2014 SNMP Applied13 Das Problem: Das ist alles total unsicher!
  • 13. Schwächen von SNMPv1 und SNMPv2c ► Autorisierung erfolgt über die IP-Adresse ► Authentifizierung erfolgt über Community ► Einschränkungen der Community gelten jeweils pro IP-Adresse ► Übertragung erfolgt unverschlüsselt ► Standard-Protokoll UDP sicher Datenübertragung nicht ab 09.05.2014 SNMP Applied14
  • 14. Net-SNMP für SNMPv3 konfigurieren I ► Benutzer anlegen 09.05.2014 SNMP Applied15 ~$ /etc/init.d/snmpd stop ~$ net-snmp-config --create-snmpv3-user -a "secretpw" snmpUser ~$ /etc/init.d/snmpd start ► Minimale Konfiguration für SNMPv3 # /etc/snmp/snmpd.conf syslocation Server Room syscontact Sysadmin (root@localhost) # listen on all interfaces agentAddress udp:161 # /usr/share/snmp/snmpd.conf !! :-( # Via `net-snmp-config` erzeugt rwuser snmpUser
  • 15. # /var/lib/net-snmp/snmpd.conf (openSUSE) # /var/lib/snmp/snmpd.conf (Debian) ######################################################################### # STOP STOP STOP STOP STOP STOP STOP STOP STOP # # **** DO NOT EDIT THIS FILE **** # # STOP STOP STOP STOP STOP STOP STOP STOP STOP ######################################################################### ... Net-SNMP für SNMPv3 konfigurieren II ► Minimale Konfiguration für SNMPv3 09.05.2014 SNMP Applied16 ► Abfrage testen (unverschlüsselt und verschlüsselt) ~$ snmpget -v 3 -u snmpUser -l authNoPriv -a MD5 -A secretpw snmp.dev sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (8805) 0:01:28.05 ~$ snmpget -v 3 -u snmpUser -l authPriv -a MD5 -A secretpw -x DES -X secretpw snmp.dev sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9835) 0:01:38.35
  • 16. Benutzer hinzufügen I ► Neue Benutzer benötigen einen Template-User ► Benutzer hinzufügen mit snmpusm ► Danach unbedingt das Passwort ändern 09.05.2014 SNMP Applied17 ~$ snmpusm -v 3 -u gbeine -l authPriv -a MD5 -A secretpw -x DES -X secretpw snmp.dev passwd secretpw strenggeheim SNMPv3 Key(s) successfully changed. ~$ snmpget -v 3 -u gbeine -l authNoPriv -a MD5 -A strenggeheim snmp.dev sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5871) 0:00:58.71 ~$ snmpusm -v 3 -u snmpUser -l authNoPriv -a MD5 -A secretpw snmp.dev create gbeine snmpUser User successfully created. ~$ snmpget -v 3 -u gbeine -l authNoPriv -a MD5 -A secretpw snmp.dev sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (11303) 0:01:53.03 ► Achtung: Neue Benutzer und Passwortänderungen sind zwar sofort verfügbar, aber noch nicht persistiert!
  • 17. # /etc/snmp/snmpd.conf syslocation Server Room syscontact Sysadmin (root@localhost) # listen on all interfaces agentAddress udp:161 # new user rwuser gbeine Benutzer hinzufügen II ► Benutzer in Konfiguration eintragen und SNMP neu starten 09.05.2014 SNMP Applied18 ► Abfrage testen (unverschlüsselt und verschlüsselt) # /var/lib/net-snmp/snmpd.conf (openSUSE) # /var/lib/snmp/snmpd.conf (Debian) # ... usmUser 1 3 0x80001f88804162a72b6c8c205300000000 "gbeine" "gbeine" NULL .1.3.6.1.6.3.10.1.1.2 0x0a32bdbfcc9830326f7a6353a4fef86e .1.3.6.1.6.3.10.1.2.2 0x0a32bdb http://www.net-snmp.org/docs/man/snmpd.conf.html: „It is recommended you use the net-snmp-config command to do this“
  • 18. Luxus auf Client-Seite 09.05.2014 SNMP Applied19 ► Aufruf mit SNMPv3 wird recht kompliziert ~$ snmpget -v 3 -u snmpUser -l authPriv -a MD5 -A secretpw -x DES -X secretpw snmp.dev sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9835) 0:01:38.35 ► Client Konfiguration für snmpget, snmpwalk, snmpset, ... # ~/.snmp/snmp.conf defSecurityName gbeine defSecurityLevel authPriv defAuthType MD5 defAuthPassphrase strenggeheim defPrivType DES defPrivPassphrase strenggeheim defVersion 3 ► Danach schon deutlich einfacher ~$ snmpget snmp.dev sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5871) 0:00:58.71
  • 19. Sicherheit erhöhen 09.05.2014 SNMP Applied20 ► Verschlüsselung auf Seite des Servers erzwingen: # /etc/snmp/snmpd.conf # ... rwuser gbeine priv ► Danach ist -l authNoPriv auf Client-Seite nicht mehr möglich :-) ► Passwort durch Diffie-Hellman-Keys ersetzen: ~$ snmpusm snmp.dev changekey gbeine new auth key: 0x0404e48a606a7dc5ce0fe23d83257f91 new priv key: 0x092d15bea5298a286911692b28a9fc64 SNMPv3 Key(s) successfully changed. ► Client Konfiguration anpassen: # ~/.snmp/snmp.conf defSecurityName gbeine defSecurityLevel authPriv defVersion 3 defAuthLocalizedKey 0x0404e48a606a7dc5ce0fe23d83257f91 defPrivLocalizedKey 0x092d15bea5298a286911692b28a9fc64
  • 20. Zugriffsbeschränkungen 09.05.2014 SNMP Applied21 ► Zugriff von Usern oder Communities auf OIDs beschränken # /etc/snmp/snmpd.conf # ... rwuser gbeine priv .1.3.6.1.2.1.1 # alternativ etwas besser lesbar # rwuser gbeine priv system ► Lese-/Schreibzugriff pro Benutzer festgelegt ► Zugriff für jeden Benutzer auf Subtree der OID eingeschränkt ► Lösung dazu ist VACM (SNMPv3 View Based Access Control)
  • 21. SNMPv3 VACM 09.05.2014 SNMP Applied22 ► Zugriff von Usern oder Communities auf OIDs beschränken # /etc/snmp/snmpd.conf # ... rwuser gbeine priv -V basic view basic included system view basic included interfaces ► View können OID-Subtree ein- und ausschließen ► Mehrere Einträge mit gleichem Namen werden zusammengefasst ► Weitere Einschränkungen möglich mit com2sec, group, access
  • 22. Verbesserungen gegenüber SNMPv1 und SNMPv2c ► Authentifizierung erfolgt über Benutzer-Account ► Übertragung kann mit persönlichen Credentials verschlüsselt werden ► Verschlüsselung durch Server erzwungen ► Credentials durch sichere Diffie-Hellman-Keys ausgetauscht ► Beschränkung der Benutzer auf Teilbäume des MIB-Tree ► Festlegung von Lese-/Schreibrechten auf OID-Ebene 09.05.2014 SNMP Applied23
  • 24. Net-SNMP mit DTLS/TLS ► Net-SNMP beherrscht sowohl UDP als auch TCP ► Dank OpenSSL kann TLS und Datagram TLS (DTLS) verwendet werden ► Net-SNMP bringt eigene Tools zur Verwaltung von Zertifikaten mit ► Verfügbar ab Net-SNMP 5.6 ► Debian liefert Net-SNMP 5.4 (zu alt) ► openSUSE liefert Net-SNMP 5.7, leider ohne DTLS/TLS Support ► Rebuild notwendig mit folgenden Optionen: 09.05.2014 SNMP Applied25 ~$ ./configure .. --with-security-modules=tsm --with-transports=TLSTCP,DTLSUDP
  • 25. Zertifikate erstellen 09.05.2014 SNMP Applied26 ► Certificate Authority zum Signieren von Zertifikaten ~$ net-snmp-cert genca -I -n ca.snmp.dev CA Generated: ca-certs/ca.snmp.dev.crt private/ca.snmp.dev.key ► Server-Zertifikat erstellen (wichtig ist -t snmpd) ~$ net-snmp-cert gencsr -I -t snmpd -n snmp.dev Certificate Signing Request Generated: newcerts/snmpd.csr private/snmpd.key ► Client-Zertifikat erstellen (wichtig ist -n gbeine) ~$ net-snmp-cert gencsr -I -t manager -n gbeine Certificate Signing Request Generated: newcerts/manager.csr private/manager.key ► Zertifikate signieren ~$ net-snmp-cert signcsr -I --with-ca ca.snmp.dev --csr snmpd ~$ net-snmp-cert signcsr -I --with-ca ca.snmp.dev --csr manager
  • 26. Konfiguration des Servers für DTLS ► Fingerprint der Zertifikate auslesen 09.05.2014 SNMP Applied27 ~$ net-snmp-cert showcerts --fingerprint /etc/snmp/tls: certs/manager.crt: SHA1 Fingerprint=50:43:06:3E:5A:94:2C:51:3D:8B:32:81:68:B4:D3:BB:97:B2:9C:C4 certs/snmpd.crt: SHA1 Fingerprint=78:11:C4:BE:D2:79:D6:00:4C:E0:0E:BC:0A:95:3B:92:1E:D3:26:41 ► Konfiguration anpassen # /etc/snmp/snmpd.conf # ... # listen on all interfaces agentAddress udp:161, dtlsudp:10161 # certificate for user gbeine certSecName 10 50:43:06:3E:5A:94:2C:51:3D:8B:32:81:68:B4:D3:BB:97:B2:9C:C4 --cn
  • 27. Konfiguration auf Client-Seite 09.05.2014 SNMP Applied28 ► SNMPv3 über DTLS (ohne Client-Konfiguration) ~$ snmpget -v 3 --defSecurityModel=tsm -u gbeine -l authPriv -T our_identity=50:43:06:3E:5A:94:2C:51:3D:8B:32:81:68:B4:D3:BB:97:B2:9C:C4 -T their_identity=78:11:C4:BE:D2:79:D6:00:4C:E0:0E:BC:0A:95:3B:92:1E:D3:26:41 dtlsudp:localhost:10161 sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (120) 0:00:01.20 ► Client Konfiguration für snmpget, snmpwalk, snmpset, ... # ~/.snmp/snmp.conf defSecurityLevel authPriv defVersion 3 defSecurityModel tsm localCert 50:43:06:3E:5A:94:2C:51:3D:8B:32:81:68:B4:D3:BB:97:B2:9C:C4 peerCert 78:11:C4:BE:D2:79:D6:00:4C:E0:0E:BC:0A:95:3B:92:1E:D3:26:41 ► SNMPv3 über DTLS (mit Client-Konfiguration) ~$ snmpget dtlsudp:localhost:10161 sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (120) 0:00:01.20
  • 29. Einfaches SNMP v1 get I public class SimpleGet { private static String hostName = "snmp.dev"; private static String port = "161"; // OID via snmptranslate -On -IR sysUpTime.0 private static String oid = ".1.3.6.1.2.1.1.3.0"; private static int snmpVersion = SnmpConstants.version1; private static String community = "public"; public static void main(String[] args) throws Exception { // Create Target Address object CommunityTarget target = new CommunityTarget(); target.setAddress(new UdpAddress(hostName + "/" + port)); target.setVersion(snmpVersion); target.setCommunity(new OctetString(community)); // Create the PDU object PDU pdu = new PDU(); pdu.add(new VariableBinding(new OID(oid))); pdu.setType(PDU.GET); // Create TransportMapping and send SNMP get TransportMapping<UdpAddress>transport = new DefaultUdpTransportMapping(); transport.listen(); Snmp snmp = new Snmp(transport); ResponseEvent response = snmp.get(pdu, target); snmp.close(); ... 09.05.2014 SNMP Applied30
  • 30. Einfaches SNMP v1 get II 09.05.2014 SNMP Applied31 ... // Process Agent Response if (response != null) { PDU responsePDU = response.getResponse(); if (responsePDU != null) { int errorStatus = responsePDU.getErrorStatus(); int errorIndex = responsePDU.getErrorIndex(); final String errorStatusText = responsePDU.getErrorStatusText(); if (errorStatus == PDU.noError) { System.out.println("Snmp Get Response = " + responsePDU.getVariableBindings()); } else { System.out.println("Error: Request Failed"); System.out.println("Error Status = " + errorStatus); System.out.println("Error Index = " + errorIndex); System.out.println("Error Status Text = " + errorStatusText); } } else { System.out.println("Error: Response PDU is null"); } } else { System.out.println("Error: Agent Timeout... "); } } }
  • 31. SNMP v3 get mit Authentifizierung und Verschlüsselung I 09.05.2014 SNMP Applied32 public class V3Get { private static String hostName = "snmp.dev"; private static String port = "161"; private static int snmpVersion = SnmpConstants.version3; private static int securityLevel = SecurityLevel.AUTH_PRIV; private static OID securityAuth = AuthMD5.ID; private static OID securityPriv = PrivDES.ID; private static String username = "gbeine"; private static String password = "strenggeheim"; // OID via snmptranslate -On -IR sysUpTime.0 private static String oid = ".1.3.6.1.2.1.1.3.0"; public static void main(String[] args) throws Exception { final OctetString secUserName = new OctetString(username); final OctetString secPassword = new OctetString(password); // Create Target Address object UserTarget target = new UserTarget(); target.setAddress(new UdpAddress(hostName + "/" + port)); target.setVersion(snmpVersion); target.setSecurityLevel(securityLevel); target.setSecurityName(secUserName); // Create the PDU object ScopedPDU pdu = new ScopedPDU(); pdu.add(new VariableBinding(new OID(oid))); pdu.setType(PDU.GET); ...
  • 32. SNMP v3 get mit Authentifizierung und Verschlüsselung II 09.05.2014 SNMP Applied33 ... // Create TransportMapping TransportMapping<UdpAddress>transport = new DefaultUdpTransportMapping(); transport.listen(); Snmp snmp = new Snmp(transport); // Initialize security model USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0); SecurityModels.getInstance().addSecurityModel(usm); // User authentication data (priv is forced) UsmUser user = new UsmUser(secUserName, securityAuth, secPassword, securityPriv, secPassword); snmp.getUSM().addUser(secUserName, user); // Send SNMP get ResponseEvent response = snmp.get(pdu, target); snmp.close(); ...
  • 33. SNMP v3 get mit Authentifizierung und Verschlüsselung III 09.05.2014 SNMP Applied34 ... // Process Agent Response if (response != null) { PDU responsePDU = response.getResponse(); if (responsePDU != null) { int errorStatus = responsePDU.getErrorStatus(); int errorIndex = responsePDU.getErrorIndex(); final String errorStatusText = responsePDU.getErrorStatusText(); if (errorStatus == PDU.noError) { System.out.println("Snmp Get Response = " + responsePDU.getVariableBindings()); } else { System.out.println("Error: Request Failed"); System.out.println("Error Status = " + errorStatus); System.out.println("Error Index = " + errorIndex); System.out.println("Error Status Text = " + errorStatusText); } } else { System.out.println("Error: Response PDU is null"); } } else { System.out.println("Error: Agent Timeout... "); } } }
  • 35. Literaturempfehlungen ► Net-SNMP: http://www.net-snmp.org/docs/ ► SNMP4J: http://www.snmp4j.org/ ► Evan McGinnis, David Perkins: Understanding SNMP Mibs http://www.amazon.de/Understanding-SNMP-Mibs-Evan- McGinnis/dp/0134377087/ ► Douglas R. Mauro, Kevin J. Schmidt: Essential SNMP http://www.amazon.de/Essential-SNMP-System-Network- Administrators/dp/0596008406/ 09.05.2014 SNMP Applied36
  • 36. Viel Spaß noch auf dem LinuxTag 2014! www.adesso.de info@adesso.de