OPNsense SNMP
Vorbereitung
Plugin installieren
- System
- Firmware
- Plugins
- Firmware
| Parameter | Wert |
|---|---|
| Plugin | os-net-snmp |
| Aktion | + (Install) |
Nach der Installation die Seite neu laden, dann erscheint Services => Net-SNMP
Konfiguration
General
- Services
- Net-SNMP
- General
- Net-SNMP
| Parameter | Wert |
|---|---|
| Enable SNMP Service | Ja |
| SNMP Community | xinux |
| SNMP Location | Schulungsraum |
| SNMP Contact | admin@it213.xinmen.de |
| Add AgentX Support | Nein |
| Add Observium Support | Nein |
| Layer 3 Visibility | Nein |
| Display Version in OID | Nein |
| Listen IPs | 192.168.213.1 (LAN-IP der OPNsense) |
| Aktion | Save |
Wichtig: Nicht die Community "public" verwenden. Die Community wird bei v1/v2c im Klartext uebertragen.
Listen IPs leer = SNMP lauscht auf allen Interfaces, also auch auf WAN.
SNMPv3 User
- Services
- Net-SNMP
- SNMPv3 Users
- +
- SNMPv3 Users
- Net-SNMP
| Parameter | Wert |
|---|---|
| Enabled | Ja |
| Username | snmpuser |
| Password | Geheim123! |
| Encryption Key | Schluessel123! |
| Allow Write Access | Nein |
| Aktion | Save |
Password und Encryption Key muessen mindestens 8 Zeichen lang sein.
- Danach im Reiter SNMPv3 Users noch einmal Save druecken, damit der Dienst neu startet.
- Was die Felder bedeuten
- Password => Authentifizierung (authPassword, SHA)
- Encryption Key => Verschluesselung (privPassword, AES)
- Allow Write Access => rwuser statt rouser, im Kurs immer aus lassen
Firewall
LAN
Die Default-Regel "LAN to any" erlaubt den Zugriff bereits. Ist sie entfernt oder soll nur ein bestimmter Rechner abfragen duerfen:
- Rules
- LAN
- +
- LAN
| Parameter | Wert |
|---|---|
| Action | Pass |
| Disabled | Nein |
| Quick | Ja |
| Interface | LAN |
| Direction | in |
| TCP/IP Version | IPv4 |
| Protocol | UDP |
| Source | LAN net |
| Destination | This Firewall |
| Destination Port (from) | 161 |
| Destination Port (to) | 161 |
| Log | Nein |
Auf dem Linux System
- Installation
- sudo apt install snmp snmp-mibs-downloader
- MIBs aktivieren (sonst nur numerische OIDs)
- sudo vi /etc/snmp/snmp.conf
- Die Zeile auskommentieren
#mibs :
Test mit SNMPv2c
- Systeminformationen
- snmpwalk -v2c -c xinux 192.168.213.1 system
SNMPv2-MIB::sysDescr.0 = STRING: FreeBSD opnsense.it213.xinmen.de ... SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.8 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (123456) 0:20:34.56 SNMPv2-MIB::sysContact.0 = STRING: admin@it213.xinmen.de SNMPv2-MIB::sysName.0 = STRING: opnsense.it213.xinmen.de SNMPv2-MIB::sysLocation.0 = STRING: Schulungsraum
- Einzelwert abfragen
- snmpget -v2c -c xinux 192.168.213.1 SNMPv2-MIB::sysName.0
- Interfaces
- snmpwalk -v2c -c xinux 192.168.213.1 IF-MIB::ifDescr
- Traffic-Zaehler
- snmpwalk -v2c -c xinux 192.168.213.1 IF-MIB::ifHCInOctets
- Ohne MIBs (numerisch)
- snmpwalk -v2c -c xinux 192.168.213.1 1.3.6.1.2.1.1
Test mit SNMPv3
- snmpwalk -v3 -l authPriv -u snmpuser -a SHA -A 'Geheim123!' -x AES -X 'Schluessel123!' 192.168.213.1 system
- Die Optionen
- -l authPriv => Authentifizierung und Verschluesselung
- -u => Username
- -a / -A => Auth-Protokoll / Password
- -x / -X => Verschluesselung / Encryption Key
Negativtests
- Falsche Community
- snmpwalk -v2c -c public 192.168.213.1 system
Timeout: No Response from 192.168.213.1
- Falscher v3-Schluessel
- snmpwalk -v3 -l authPriv -u snmpuser -a SHA -A 'falsch123' -x AES -X 'Schluessel123!' 192.168.213.1 system
snmpwalk: Authentication failure (incorrect password, community or key)
Mitschnitt
- Auf der OPNsense (Interfaces => Diagnostics => Packet Capture) oder auf dem Client
- sudo tcpdump -ni any -A udp port 161
- Bei v2c ist die Community im Klartext lesbar, bei v3 authPriv nicht.