Wat is SNMPv3?

SNMPv3 (Simple Network Management Protocol versie 3) is de beveiligde versie van het SNMP-protocol, die gebruikersgebaseerde authenticatie, versleuteling en fijnmazige toegangscontrole toevoegt aan het monitoren en beheren van netwerkapparatuur. Waar SNMPv1 en SNMPv2c alleen een community string in platte tekst kennen, werkt SNMPv3 met benoemde gebruikers, cryptografische sleutels en views die bepalen welke gegevens een gebruiker mag zien of wijzigen. Daarmee is SNMPv3 de gangbare keuze voor het bewaken van switches, routers, firewalls en andere OT-apparatuur in netwerken waar cybersecurity telt.

SNMPv3 biedt authenticatie, encryptie en toegangscontrole, maar alleen als u het op het hoogste beveiligingsniveau (authPriv) met moderne algoritmen inricht.


🧠 Hoe werkt SNMPv3?

SNMPv3 is geen nieuw protocol, maar een nieuwe architectuur rond dezelfde berichten (Get, GetNext, GetBulk, Set, Trap, Inform en Report). De IETF publiceerde die architectuur in december 2002 als RFC 3411 tot en met RFC 3418; samen vormen ze Internet Standard STD 62. Twee onderdelen zorgen voor de beveiliging:

  • User-based Security Model (USM, RFC 3414) - regelt per bericht wie de afzender is, of de inhoud onderweg is gewijzigd en of het bericht vers is. USM verzorgt ook de versleuteling.
  • View-based Access Control Model (VACM, RFC 3415) - bepaalt per groep van gebruikers welke delen van de MIB-boom (views) gelezen, geschreven of als notificatie verstuurd mogen worden.

De communicatie loopt standaard over UDP: de agent op het apparaat luistert op poort 161, de beheerserver ontvangt notificaties (traps en informs) op poort 162.

Elke SNMP-entiteit heeft een unieke snmpEngineID. Daarnaast houdt een agent twee tellers bij: snmpEngineBoots (aantal herstarts) en snmpEngineTime (seconden sinds de laatste herstart). Een manager leert die waarden via een discovery in twee stappen. Eerst stuurt hij een onbeveiligd verzoek, waarop de agent met een Report-bericht zijn engine-ID teruggeeft. Daarna stuurt hij een geauthenticeerd verzoek met boots en tijd op nul, en het antwoord bevat de actuele boots- en tijdwaarden van de agent. Pas dan volgen gewone geauthenticeerde berichten.


🔐 Welke beveiligingsniveaus en algoritmen kent SNMPv3?

SNMPv3 kent drie beveiligingsniveaus, die u per gebruiker instelt:

Niveau Authenticatie Versleuteling Wanneer gebruiken?
noAuthNoPriv Alleen gebruikersnaam Nee Vrijwel nooit; biedt net als v2c geen echte bescherming
authNoPriv HMAC-integriteitscontrole Nee Alleen als het apparaat geen versleuteling ondersteunt
authPriv HMAC-integriteitscontrole Ja Standaardkeuze voor productieomgevingen

De algoritmen zijn in de loop der jaren uitgebreid:

Functie Algoritme Specificatie Status
Authenticatie HMAC-MD5-96 RFC 3414 (2002) Verouderd, vermijden
Authenticatie HMAC-SHA-96 (SHA-1) RFC 3414 (2002) Breed ondersteund, minimaal acceptabel
Authenticatie HMAC-SHA-224/256/384/512 RFC 7860 (april 2016) Aanbevolen; SHA-256 is verplicht te implementeren
Versleuteling DES-CBC (56 bit) RFC 3414 (2002) Onveilig, niet gebruiken
Versleuteling AES-128 (CFB) RFC 3826 (juni 2004) Aanbevolen standaardkeuze
Versleuteling AES-192/256 Leveranciersuitbreidingen Niet door de IETF gestandaardiseerd; let op interoperabiliteit

Bij HMAC-MD5-96 en HMAC-SHA-96 wordt de berekende code ingekort tot 12 bytes (96 bits). De varianten uit RFC 7860 gebruiken langere codes, bijvoorbeeld 192 bits bij SHA-256.


🔧 Hoe beschermt USM tegen afluisteren en replay?

USM combineert drie mechanismen:

  • Sleutelafleiding en lokalisatie - het wachtwoord wordt herhaald tot een reeks van 1.048.576 bytes en gehasht. Dat resultaat wordt vervolgens gecombineerd met de engine-ID van het apparaat. Zo heeft elk apparaat een eigen gelokaliseerde sleutel, ook als u overal hetzelfde wachtwoord gebruikt. RFC 3414 eist wachtwoorden van minimaal 8 tekens.
  • Integriteit en herkomst - een HMAC over het hele bericht bewijst dat het van een bekende gebruiker komt en niet is gewijzigd.
  • Tijdigheid - een bericht wordt alleen geaccepteerd als boots en tijd binnen een venster van 150 seconden vallen. Een opgenomen Set-bericht kan daardoor niet later opnieuw worden afgespeeld.

Welke kant “gezaghebbend” (authoritative) is, hangt af van het berichttype. Bij Get, Set en Inform is de ontvanger gezaghebbend. Bij een trap is dat de afzender. Daarom moet een trap-ontvanger de engine-ID van elk verzendend apparaat kennen, terwijl een inform via discovery werkt. Informs zijn bovendien bevestigd, zodat een melding niet stil verloren gaat.


🏭 Hoe wordt SNMPv3 gebruikt in OT-netwerken?

  • Bewaking van netwerkapparatuur - poortstatus, foutentellers en ringredundantie van industriële switches en managed switches
  • Status van veldnabije apparatuur - voedingen, temperatuur en verbindingsstatus van aandrijvingen, HMI’s en firewalls
  • Notificaties - informs bij linkuitval, een herstart of een voedingsfout in kritieke OT-apparatuur
  • Inventarisatie - type, firmwareversie en serienummer uitlezen voor de asset inventory
  • Detectie - mislukte SNMP-authenticaties doorsturen naar een SIEM, naast Syslog-meldingen
  • Gesegmenteerd beheer - een beheerserver per zone volgens het Purdue Model, die alleen samengevatte gegevens doorgeeft aan IT

SNMPv3 helpt bij het invullen van eisen uit IEC 62443-3-3, zoals identificatie en authenticatie (SR 1.1 en 1.2), autorisatie (SR 2.1), integriteit van communicatie (SR 3.1) en vertrouwelijkheid (SR 4.1). De norm schrijft SNMPv3 niet voor, maar SNMPv1/v2c voldoet aan geen van deze eisen.


🔍 Wat is het verschil tussen SNMPv2c en SNMPv3?

Aspect SNMPv2c SNMPv3
Toegang Community string (bijv. public) Benoemde gebruikers en groepen
Wachtwoord op het netwerk In platte tekst Nooit; alleen een HMAC
Integriteit en replaybescherming Nee Ja (HMAC en tijdvenster van 150 s)
Versleuteling Nee Ja, bij authPriv
Fijnmazige rechten Alleen read-only of read-write Views per groep via VACM
IETF-status Historisch Internet Standard (STD 62)
Beheerlast Laag Hoger: gebruikers, sleutels en engine-ID’s

De extra beheerlast is reëel, maar komt vooral bij de eerste inrichting. Met sjablonen in het beheersysteem en centraal configuratiebeheer is SNMPv3 ook op honderden switches goed te onderhouden.


⚙️ Hoe richt u SNMPv3 stap voor stap in?

  1. Inventariseer welke apparaten SNMP gebruiken en welke versies en algoritmen ze ondersteunen. Oudere OT-apparatuur kent soms alleen MD5 en DES.
  2. Schakel SNMPv1 en v2c uit en verwijder standaardcommunities zoals public en private, onderdeel van hardening.
  3. Maak gebruikers per rol, bijvoorbeeld een read-only monitoringgebruiker en een aparte beheerder met schrijfrechten, in lijn met RBAC. Kies authPriv met SHA-256 (of minimaal SHA-1) en AES-128.
  4. Gebruik aparte, lange wachtwoorden voor authenticatie en versleuteling, en bewaar ze in een kluis.
  5. Beperk views met VACM: geef monitoring alleen leestoegang tot de benodigde MIB-takken en schakel Set uit waar het niet nodig is.
  6. Beperk het netwerkpad met een ACL op het apparaat, een apart beheer-VLAN en firewallregels, zodat alleen de beheerserver UDP 161 bereikt.
  7. Kies informs boven traps voor kritieke meldingen en controleer dat elk apparaat een unieke engine-ID heeft. Gekloonde configuraties met dezelfde engine-ID zijn een bekende valkuil.
  8. Test en bewaak: controleer met de usmStats-tellers en uw netwerkmonitoring dat er geen authenticatie- of tijdvensterfouten optreden.

Voor wie verder wil: SNMP kan ook over SSH lopen (RFC 5592, poorten 5161 en 5162) of over TLS en DTLS (RFC 6353, poorten 10161 en 10162). RFC 9456 voegde in november 2023 TLS 1.3 toe. In OT-apparatuur worden deze transportmodellen nog zelden ondersteund, dus USM met authPriv blijft de praktijk.


🇳🇱 Waarom is SNMPv3 relevant voor de Cyberbeveiligingswet en NIS2?

De Cyberbeveiligingswet, de Nederlandse invulling van NIS2, is sinds 15 augustus 2026 van kracht. Organisaties die onder de wet vallen, moeten passende maatregelen nemen, waaronder beveiligd netwerkbeheer en het gebruik van cryptografie. Beheerprotocollen die wachtwoorden in platte tekst versturen, passen daar slecht bij. Ook Amerikaanse configuratierichtlijnen voor netwerkapparatuur, zoals de DISA STIG’s, eisen SNMPv3 met SHA-authenticatie en AES-versleuteling. Een audit van een OT-netwerk controleert daarom vaak als eerste of SNMPv1/v2c nog actief is.


❓ Veelgestelde vragen

Welk beveiligingsniveau van SNMPv3 moet ik gebruiken?

Gebruik voor SNMPv3 altijd het niveau authPriv, waarbij berichten zowel geauthenticeerd als versleuteld worden. Kies authNoPriv alleen als een apparaat geen versleuteling ondersteunt, en dan bij voorkeur in een afgeschermd beheernetwerk. Het niveau noAuthNoPriv biedt geen bescherming.

Is SNMPv3 met MD5 en DES nog veilig?

Nee, SNMPv3 met MD5 en DES geldt als verouderd. DES gebruikt een sleutel van slechts 56 bits en MD5 wordt afgeraden. Kies SHA-2 (RFC 7860) of minimaal SHA-1 voor authenticatie en AES-128 voor versleuteling.

Welke poorten gebruikt SNMPv3?

SNMPv3 gebruikt dezelfde UDP-poorten als eerdere versies: 161 voor verzoeken aan de agent en 162 voor traps en informs. Over SSH zijn dat de poorten 5161 en 5162, over TLS of DTLS de poorten 10161 en 10162.

Wat is een SNMPv3 engine-ID?

De engine-ID is een unieke identificatie van elke SNMPv3-entiteit. Het apparaat gebruikt de engine-ID om sleutels te lokaliseren, zodat hetzelfde wachtwoord op elk apparaat een andere sleutel oplevert. Als u de engine-ID wijzigt, moet u de SNMPv3-gebruikers meestal opnieuw aanmaken.

Waarom krijg ik bij SNMPv3 de fout “not in time window”?

SNMPv3 accepteert alleen berichten waarvan de boots- en tijdwaarden binnen 150 seconden van de agent liggen. De fout treedt op na een herstart of bij een gekloonde engine-ID, totdat de manager opnieuw synchroniseert. Een unieke engine-ID per apparaat voorkomt de meeste gevallen.

Kan ik SNMPv1/v2c en SNMPv3 tegelijk laten draaien?

Technisch kan een agent alle versies tegelijk ondersteunen, maar daarmee blijft de onveilige toegang via community strings bestaan. Gebruik een gemengde situatie daarom alleen tijdelijk tijdens de migratie naar SNMPv3. Zet daarna SNMPv1 en v2c volledig uit.


📌 Samengevat

SNMPv3 is de veilige standaard voor netwerkmonitoring en beheer in IT- en OT-netwerken, mits ingericht met authPriv, SHA-2 of SHA-1 en AES. Met benoemde gebruikers, gelokaliseerde sleutels, een tijdvenster tegen replay en views per groep voorkomt SNMPv3 dat beheergegevens en wachtwoorden onbeschermd over het netwerk gaan. Zo vormt het een controleerbare basis voor security volgens IEC 62443 en de Cyberbeveiligingswet.