In dit document wordt beschreven hoe u uw Simple Network Management Protocol (SNMP) kunt beveiligen.
Er zijn geen specifieke vereisten van toepassing op dit document.
De informatie in dit document is gebaseerd op SNMP-functies, zoals SNMP View en SNMP Version 3 (SNMPv3) die zijn geïntroduceerd in Cisco IOS® Software Release. Hoewel sommige configuratievoorbeelden en opdrachtsyntaxis zijn gebaseerd op Cisco IOS®, zijn de kernconcepten voor SNMP-beveiliging ook van toepassing op nieuwere Cisco IOS XE-platforms. Opdrachtsyntaxis, ondersteunde authenticatie- en privacy-algoritmen, platformmogelijkheden en beheervliegtuigbeveiligingsfuncties kunnen variëren tussen Cisco IOS- en Cisco IOS XE-releases.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Het beveiligen van SNMP is belangrijk omdat onbevoegde SNMP-toegang apparaatinformatie kan blootleggen, configuratiewijzigingen kan toestaan wanneer lees-schrijftoegang is ingeschakeld of kan bijdragen aan DoS-voorwaarden (Denial of Service).
Eerdere SNMP-versies, zoals SNMPv1 en SNMPv2c, vertrouwen op community strings voor toegangscontrole. Deze community strings werken vergelijkbaar met gedeelde wachtwoorden, maar ze worden verzonden in duidelijke tekst en bieden geen sterke authenticatie of codering. Als een community-string opnieuw wordt gebruikt, wordt weergegeven in configuratiebestanden of wordt vastgelegd vanuit het netwerk, kan een onbevoegde gebruiker apparaatinformatie pollen of, in het geval van een read-write-community, de apparaatinstellingen wijzigen.
Enkele van de meest voorkomende beveiligingsbeperkingen van SNMPv1/v2c zijn:
Gebruik voor veilige implementaties SNMPv3 met verificatie en privacy waar dit wordt ondersteund. SNMPv3 biedt gebruikersgebaseerde verificatie en codering, waarmee zowel toegangscontrole als beheergegevens worden beschermd. Bovendien kunt u SNMP-toegang beperken tot vertrouwde beheerstations, onnodige lees-schrijftoegang vermijden en toegankelijke MIB-objecten beperken met SNMP-weergaven.
Opmerking: Valideer de exacte CLI-configuratie (Command Line Interface), ondersteuning van functies en verificatieopdrachten voor het specifieke platform en de specifieke softwarerelease voordat u deze op een productienetwerk implementeert.
Gebruik geen bekende community strings zoals publiek of privaat. Als SNMPv1 of SNMPv2c vereist is voor compatibiliteit, gebruikt u unieke, niet voor de hand liggende community-tekenreeksen, beperkt u deze met ACL's en vermijdt u read-write-communities, tenzij er een specifieke operationele vereiste is.
Opmerking: geef de voorkeur aan SNMPv3 met de authPriv voor veilige implementaties. Het authPriv-niveau biedt zowel verificatie als codering. Verificatie verifieert dat SNMP-berichten afkomstig zijn van een geldige SNMPv3-gebruiker en privacy codeert de SNMP-payload zodat beheergegevens niet in duidelijke tekst worden verzonden.
Een SNMP-weergave beperkt de toegang tot specifieke MIB-subbomen. Wanneer een weergave wordt toegepast op een community of SNMPv3-groep, zijn alleen de meegeleverde MIB-objecten toegankelijk. MIB-subbomen die niet zijn opgenomen, worden impliciet geweigerd. U kunt ook specifieke subbomen expliciet uitsluiten van een bredere substructuur.
Als u een SNMP-weergaveitem wilt maken of bijwerken, gebruikt u de opdracht snmp-server view global configuration. Als u de opgegeven SNMP-serverweergavevermelding wilt verwijderen, gebruikt u het geen-formulier van deze opdracht.
snmp-server viewno snmp-server view {included | excluded}
Syntaxisbeschrijving:
myview-name — Label voor de weergaverecord die u bijwerkt of maakt. De naam wordt gebruikt om het record aan te duiden.
oid-tree — Object Identifier (OID) van de substructuur Abstract Syntax Notation One (ASN.1) moet worden opgenomen of uitgesloten van de weergave. Als u de substructuur wilt identificeren, geeft u een tekenreeks op die bestaat uit getallen, zoals 1.3.6.2.4, of een woord, zoals system. Vervang een enkele sub-identifier door de asterisk (*) wildcard om een subboomfamilie op te geven; bijvoorbeeld 1.3.*.4.
included or excluded — Het soort uitzicht. Je moet aangeven of je opgenomen of uitgesloten bent.
Legacy SNMP-documentatie, waaronder RFC 1447, introduceerde het concept MIB-weergaven om te bepalen welke delen van de MIB-structuur zijn opgenomen of uitgesloten van SNMP-toegang. Hoewel RFC 1447 en het partijgebaseerde SNMPv2-beveiligingsmodel verouderd zijn, blijft het MIB-weergaveconcept relevant in moderne SNMP via het op View gebaseerde toegangscontrolemodel (VACM), gedefinieerd in RFC 3415. Cisco SNMP-weergaven gebruiken dit concept om de toegang tot specifieke MIB-subbomen te beperken. Een SNMP-weergave kan worden toegepast op SNMPv1/v2c-communities of op SNMPv3-groepen.
In dit voorbeeld wordt een weergave gemaakt die alle objecten in de MIB-II-systeemgroep bevat, behalve sysServices (Systeem 7) en alle objecten voor interface 1 in de MIB-II-interfacegroep:
snmp-server view agon system included snmp-server view agon system.7 excluded snmp-server view agon ifEntry.*.1 included
In dit voorbeeld biedt de weergave toegang tot MIB-II- en Cisco-MIB-privéobjecten, maar wordt de ARP-tabel uitgesloten die wordt weergegeven door atEntry:
snmp-server view myview mib-2 included snmp-server view myview atEntry excluded snmp-server view myview cisco included snmp-server community C1sc03xample view myview RO 11 snmp-server community C1sc03xample2 view myview RW 11 snmp-server contact ciscouser@cisco.com
Opmerking: Sommige van deze voorbeelden kunnen verwijzen naar oudere MIB-objecten uit Cisco IOS-releases, zoals atTable of atEntry. Op nieuwere Cisco IOS XE-platforms kunnen equivalente gegevens verschillende MIB-objecten of OID's gebruiken.
Opmerking: Controleer voordat u een SNMP-weergave implementeert of de MIB-objectnaam of OID bestaat op het doelplatform en de softwarerelease. Gebruik SNMP Object Navigator voor meer informatie.
Als SNMPv1 of SNMPv2c vereist is, moet u elke community-tekenreeks beperken tot vertrouwde netwerkbeheersysteemadressen (NMS) met een ACL. De ACL die is gekoppeld aan de SNMP-community bepaalt welke bron-IP-adressen die community-string kunnen gebruiken om SNMP-verzoeken naar het apparaat te verzenden.
SNMP-communicatie omvat meestal twee verschillende verkeerstypen:
Gebruik verschillende community strings voor polling verzoeken en trap meldingen. Deze scheiding beperkt de blootstelling als er één gemeenschappelijke tekenreeks wordt ontdekt. Als een aanvaller bijvoorbeeld de communitystring trap leert van een meldingspakket, mag die string niet ook SNMP-polling-toegang tot het apparaat toestaan.
access-list 10 permit
snmp-server community RO 10
snmp-server host version 2c
In dit voorbeeld:
Als een trap community string is geconfigureerd, controleer dan of deze niet onbedoeld SNMP polling toegang toestaat. Op sommige Cisco IOS software releases, kan een community string gebruikt voor traps ook bruikbaar worden voor SNMP toegang, tenzij expliciet beperkt of uitgeschakeld.
Om polling-toegang met de trap-community te voorkomen, moet u expliciet het gebruik ervan als SNMP-community weigeren:
access-list 99 deny any
snmp-server community RO 99
Vermijd het configureren van read-write communities, tenzij er een specifieke operationele vereiste is. Als lees-schrijftoegang vereist is, beperkt u deze tot een speciaal beheerstation, gebruikt u een afzonderlijke community-tekenreeks en past u een restrictieve ACL toe. Geef de voorkeur aan SNMPv3 met verificatie en privacy voor veilige implementaties.
Gebruik SNMPv3 met verificatie en privacy voor veilige SNMP-implementaties. SNMPv3 biedt gebruikersgebaseerde verificatie en codering, in tegenstelling tot SNMPv1 en SNMPv2c, die afhankelijk zijn van community-strings.
Gebruik voor veilige implementaties het SNMPv3 authPriv-beveiligingsniveau:
Opmerking: ondersteuning voor algoritmen verschilt per Cisco-platform en softwarerelease. Gebruik de sterkste authenticatie- en privacy-algoritmen die door het apparaat worden ondersteund, zoals SHA of SHA-2 voor authenticatie en AES voor privacy.
Configuratiestappen voor SNMPv3
Bepaal welk netwerkbeheersysteem het apparaat mag pollen.
Voorbeeldwaarde:
Opmerking: alleen vertrouwde beheerstations moeten toegang hebben tot SNMP-services.
Maak een ACL die alleen SNMP-toegang vanaf de vertrouwde NMS toestaat.
Voorbeeld:
access-list 10 permit access-list 10 deny any log
Deze ACL beperkt welke bron-IP-adressen de SNMPv3-groep kunnen gebruiken. Het weigeren van een logboekvermelding helpt bij het identificeren van ongeautoriseerde SNMP-toegangspogingen in syslog.
Maak een SNMP-weergave om te beperken tot welke MIB-objecten de SNMPv3-gebruiker toegang heeft.
Voorbeeld:
snmp-server view mib-2 included
snmp-server view cisco included
Dit voorbeeld geeft toegang tot de MIB-II-substructuur en Cisco private MIB-objecten. Als een restrictievere weergave vereist is, sluit dan expliciet gevoelige of onnodige MIB-subbomen uit.
Voorbeeld:
snmp-server view excluded
Opmerking: een SNMP-weergave vermindert de belichting doordat de NMS alleen toegang heeft tot de MIB-objecten die nodig zijn voor bewaking.
Maak een SNMPv3-groep die het beveiligingsniveau priv gebruikt en verwijst naar de SNMP-weergave en ACL.
Voorbeeld:
snmp-server group v3 priv read access 10
Dit commando doet drie belangrijke dingen:
Opmerking: voor de meeste monitoring use cases is alleen-lezen toegang meestal voldoende. Schrijftoegang alleen configureren als er een specifieke operationele vereiste is.
Maak een SNMPv3-gebruiker en wijs deze toe aan de SNMPv3-groep.
Voorbeeld:
snmp-server user v3 auth sha priv aes 256
Met deze opdracht wordt een gebruiker gemaakt met:
Opmerking: gebruik sterke, unieke wachtwoorden voor verificatie en privacy. Gebruik niet hetzelfde wachtwoord voor beide waarden.
Opmerking: Als nieuwere platforms sterkere opties ondersteunen, zoals SHA-2 of sterkere AES-varianten, gebruikt u de sterkste optie die wordt ondersteund door het apparaat en NMS.
Als het apparaat meldingen naar de NMS moet verzenden, configureert u de SNMP-host met SNMPv3.
Voorbeeld:
snmp-server host version 3 priv
Traps en informanten zijn meldingen die vanaf het apparaat naar de NMS worden verzonden. Ze zijn anders dan polling-verzoeken, waarbij de NMS SNMP-query's naar het apparaat stuurt. Gebruik SNMPv3-meldingen om verkeer te oversluiten of te informeren, ook profiteert van verificatie en privacy.
Configureer indien nodig ook de interface voor de overvulbron:
snmp-server trap-source
Opmerking: met behulp van een consistente overvulbron kan de NMS het apparaat identificeren en kunnen firewalls of ACL's overeenkomen met voorspelbare bronadressen.
Als SNMPv1 of SNMPv2c niet vereist is, configureert u geen community-tekenreeksen of verwijdert u ongebruikte community-tekenreeksen.
Voorbeeld:
no snmp-server community
Opmerking: Dit vermindert het risico van onbevoegde SNMP-toegang via duidelijke tekst community strings.
Het volgende configuratiefragment toont een voorbeeld dat alleen SNMPv3-polling toestaat vanaf NMS 10.189.5.161, leesbare MIB-objecten beperkt met een SNMP-weergave en verificatie en codering vereist.
Router#configure terminal
Router(config)#access-list 10 permit 10.189.5.161
Router(config)#access-list 10 deny any log
Router(config)#!
Router(config)#snmp-server view ciscoview mib-2 included
Router(config)#snmp-server view ciscoview cisco included
Router(config)#snmp-server view ciscoview ipNetToMediaEntry.2 excluded
Router(config)#snmp-server group myciscogroup v3 priv read ciscoview access 10
Router(config)#snmp-server user ciscouser myciscogroup v3 auth sha C1sc03xampl3 priv aes 256 C1sc03xampl32
Gebruik deze opdrachten om de lokale SNMP-configuratie te controleren:
SNMP-gebruiker weergeven
SNMP-groep weergeven
SNMP-weergave weergeven
SNMP weergeven
IP-toegangslijsten weergeven
Running-config | Sectie SNMP weergeven
ISP-C#show snmp user
User name: ciscouser
Engine ID: 80000009030000A38EB6F800
storage-type: nonvolatile active
Authentication Protocol: SHA
Privacy Protocol: AES256
Group-name: myciscogroup
ISP-C#show snmp group
groupname: ILMI security model:v1
contextname: storage-type: permanent
readview : *ilmi writeview: *ilmi
notifyview:
row status: active
groupname: ILMI security model:v2c
contextname: storage-type: permanent
readview : *ilmi writeview: *ilmi
notifyview:
row status: active
groupname: myciscogroup security model:v3 priv
contextname: storage-type: nonvolatile
readview : ciscoview writeview:
notifyview:
row status: active access-list: 10
ISP-C#show snmp view
*ilmi system - included permanent active
*ilmi atmForumUni - included permanent active
cac_view pimMIB - included read-only active
cac_view msdpMIB - included read-only active
cac_view system - included read-only active
cac_view interfaces - included read-only active
cac_view ip - included read-only active
cac_view ospf - included read-only active
cac_view bgp - included read-only active
cac_view ifMIB - included read-only active
cac_view nhrpMIB - included read-only active
cac_view ipMRouteStdMIB - included read-only active
cac_view igmpStdMIB - included read-only active
cac_view pimStdMIB - included read-only active
cac_view mgmdStdMIB - included read-only active
cac_view ospfv3MIB - included read-only active
cac_view ipForward - included read-only active
cac_view ipTrafficStats - included read-only active
cac_view ospfTrap - included read-only active
cac_view sysUpTime.0 - included read-only active
cac_view ciscoPingMIB - included read-only active
cac_view ciscoPimMIB - included read-only active
cac_view ciscoBgp4MIB - included read-only active
cac_view ciscoIfExtensionMIB - included read-only active
cac_view ciscoEigrpMIB - included read-only active
cac_view ciscoCefMIB - included read-only active
cac_view ciscoNhrpExtMIB - included read-only active
cac_view ciscoIpMRouteMIB - included read-only active
cac_view ciscoDlcSwitchMIB - included read-only active
cac_view ciscoExperiment.101 - included read-only active
cac_view ciscoIetfIsisMIB - included read-only active
cac_view ifIndex - included read-only active
cac_view ifDescr - included read-only active
cac_view ifType - included read-only active
cac_view ifAdminStatus - included read-only active
cac_view ifOperStatus - included read-only active
cac_view snmpTraps.3 - included read-only active
cac_view snmpTraps.4 - included read-only active
cac_view snmpTrapOID.0 - included read-only active
cac_view snmpMIB.1.4.3.0 - included read-only active
cac_view lifEntry.20 - included read-only active
cac_view cciDescriptionEntry.1 - included read-only active
ciscoview mib-2 - included nonvolatile active
ciscoview cisco - included nonvolatile active
ciscoview ipNetToMediaEntry.2 - excluded nonvolatile active
v1default iso - included permanent active
v1default internet - included permanent active
v1default snmpUsmMIB - excluded permanent active
v1default snmpVacmMIB - excluded permanent active
v1default snmpCommunityMIB - excluded permanent active
ISP-C#show ip access-lists
Standard IP access list 10
10 permit 10.189.5.161 (26 matches)
20 deny any log (6 matches)
Extended IP access list meraki-fqdn-dns
ISP-C#show running-config | section snmp
snmp-server group myciscogroup v3 priv read ciscoview access 10
snmp-server view ciscoview mib-2 included
snmp-server view ciscoview cisco included
snmp-server view ciscoview ipNetToMediaEntry.2 excluded
U kunt ook een SNMP-wandeling maken voor de MIB-II-systeemstructuur:
ciscouser@Desktop % snmpwalk -v3 -l authPriv -u ciscouser -a SHA -A 'C1sc03xampl3' -x AES -X 'C1sc03xampl32' 10.207.214.25 system
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software [Cupertino], ASR1000 Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.9.4, RELEASE SOFTWARE (fc5)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2023 by Cisco Systems, Inc.
Compiled Wed 26-Jul-23 10:29 b
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.2348
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (107487239) 12 days, 10:34:32.39
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: ISP-C
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
De volgende opdracht en uitvoer geeft aan dat u de groep ipNetToMediaEntry.2 niet kunt ophalen:
ciscouser@Desktop % snmpwalk -v3 -l authPriv -u ciscouser -a SHA -A 'C1sc03xampl3' -x AES -X 'C1sc03xampl32' 10.207.214.25 ipNetToMediaEntry.2
IP-MIB::ipNetToMediaPhysAddress = No Such Object available on this agent at this OID
Het volgende resultaat van de opdracht en uitvoer is voor de Cisco Local System-groep:
ciscouser@Desktop % snmpwalk -v3 -l authPriv -u ciscouser -a SHA -A 'C1sc03xampl3' -x AES -X 'C1sc03xampl32' 10.207.214.25 .1.3.6.1.4.1.9.2.1
SNMPv2-SMI::enterprises.9.2.1.1.0 = STRING: "
17.15(4r)
"
SNMPv2-SMI::enterprises.9.2.1.2.0 = STRING: "LocalSoft"
SNMPv2-SMI::enterprises.9.2.1.3.0 = STRING: "ISP-C"
SNMPv2-SMI::enterprises.9.2.1.4.0 = ""
SNMPv2-SMI::enterprises.9.2.1.5.0 = IpAddress: 10.189.5.161
SNMPv2-SMI::enterprises.9.2.1.6.0 = IpAddress: 0.0.0.0
SNMPv2-SMI::enterprises.9.2.1.8.0 = INTEGER: -796648892
SNMPv2-SMI::enterprises.9.2.1.9.0 = INTEGER: 1646
SNMPv2-SMI::enterprises.9.2.1.10.0 = INTEGER: 1000
SNMPv2-SMI::enterprises.9.2.1.11.0 = INTEGER: 1557645
SNMPv2-SMI::enterprises.9.2.1.12.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.13.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.14.0 = INTEGER: 104
SNMPv2-SMI::enterprises.9.2.1.15.0 = INTEGER: 1200
SNMPv2-SMI::enterprises.9.2.1.16.0 = INTEGER: 1200
SNMPv2-SMI::enterprises.9.2.1.17.0 = INTEGER: 2500
SNMPv2-SMI::enterprises.9.2.1.18.0 = INTEGER: 2684018
SNMPv2-SMI::enterprises.9.2.1.19.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.20.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.21.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.22.0 = INTEGER: 600
SNMPv2-SMI::enterprises.9.2.1.23.0 = INTEGER: 900
SNMPv2-SMI::enterprises.9.2.1.24.0 = INTEGER: 900
SNMPv2-SMI::enterprises.9.2.1.25.0 = INTEGER: 2000
SNMPv2-SMI::enterprises.9.2.1.26.0 = INTEGER: 26757370
SNMPv2-SMI::enterprises.9.2.1.27.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.28.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.29.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.30.0 = INTEGER: 1536
SNMPv2-SMI::enterprises.9.2.1.31.0 = INTEGER: 900
SNMPv2-SMI::enterprises.9.2.1.32.0 = INTEGER: 899
SNMPv2-SMI::enterprises.9.2.1.33.0 = INTEGER: 1800
SNMPv2-SMI::enterprises.9.2.1.34.0 = INTEGER: 8891131
SNMPv2-SMI::enterprises.9.2.1.35.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.36.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.37.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.38.0 = INTEGER: 5024
SNMPv2-SMI::enterprises.9.2.1.39.0 = INTEGER: 100
SNMPv2-SMI::enterprises.9.2.1.40.0 = INTEGER: 100
SNMPv2-SMI::enterprises.9.2.1.41.0 = INTEGER: 300
SNMPv2-SMI::enterprises.9.2.1.42.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.43.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.44.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.45.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.46.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.47.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.48.0 = IpAddress: 0.0.0.0
SNMPv2-SMI::enterprises.9.2.1.49.0 = ""
SNMPv2-SMI::enterprises.9.2.1.51.0 = IpAddress: 0.0.0.0
SNMPv2-SMI::enterprises.9.2.1.52.0 = ""
SNMPv2-SMI::enterprises.9.2.1.56.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.57.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.58.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.59.0 = INTEGER: 4972
SNMPv2-SMI::enterprises.9.2.1.60.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.61.0 = STRING: "cisco Systems, Inc.
170 West Tasman Dr.
San Jose, CA 95134-1706
U.S.A.
Ph +1-408-526-4000
Customer service 1-800-553-6387 or +1-408-526-7208
24HR Emergency 1-800-553-2447 or +1-408-526-7209
Email Address tac@cisco.com
World Wide Web http://www.cisco.com"
SNMPv2-SMI::enterprises.9.2.1.62.0 = INTEGER: 18024
SNMPv2-SMI::enterprises.9.2.1.63.0 = INTEGER: 20
SNMPv2-SMI::enterprises.9.2.1.64.0 = INTEGER: 20
SNMPv2-SMI::enterprises.9.2.1.65.0 = INTEGER: 33
SNMPv2-SMI::enterprises.9.2.1.66.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.67.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.68.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.69.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.2.1.70.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.71.0 = INTEGER: 0
SNMPv2-SMI::enterprises.9.2.1.72.0 = IpAddress: 0.0.0.0
SNMPv2-SMI::enterprises.9.2.1.73.0 = STRING: "bootflash:asr1000-universalk9.17.09.04.SPA.bin"
SNMPv2-SMI::enterprises.9.2.1.74.0 = INTEGER: 3
Interface-ACL's kunnen nuttig zijn als extra beschermlaag om te beperken welke hosts SNMP-verkeer naar een apparaatinterface kunnen verzenden. Ze zijn vooral nuttig op platforms die geen meer gerichte beveiligingsfuncties voor besturingsvlakken ondersteunen, zoals Control Plane Policing (CoPP) of ACL's voor beheervliegtuigen.
Een ACL-interface kan ongeautoriseerde SNMP-pakketten blokkeren voordat ze door het apparaat worden verwerkt, waardoor de blootstelling aan ongewenste polling, brute-force community string-pogingen of overmatig SNMP-verkeer van niet-vertrouwde bronnen wordt verminderd.
Let op: Wees voorzichtig bij het toepassen van interface-ACL's. Een ACL die wordt toegepast met ip-toegangsgroep filtert het verkeer in de geselecteerde richting en kan zowel het verkeer dat bestemd is voor de router als het doorvoerverkeer beïnvloeden. Neem altijd alle vereiste vergunningsverklaringen op en valideer de ACL in een onderhoudsvenster of lab voordat de productie wordt geïmplementeerd.
ip access-list extended SNMP-MGMT-IN permit udp host host eq snmp deny udp any host eq snmp log permit ip any any
De ACL moet vervolgens worden toegepast op alle interfaces met deze configuratieopdrachten:
interface ip access-group SNMP-MGMT-IN in
In dit voorbeeld:
Opmerking: U kunt dit voorbeeld aanpassen aan uw netwerkontwerp. Als het platform CoPP, iACL's of ACL's voor het beheervlak ondersteunt, kunnen die opties meer gerichte bescherming voor het controlevlak bieden. Voor apparaten die veel IP-adressen hebben geconfigureerd, of veel hosts die moeten communiceren met de router, is dit niet altijd een schaalbare oplossing. Het document Protect Your Core: Infrastructure Protection Access Control Lists bevat richtlijnen en aanbevolen implementatietechnieken voor ACL's.
Configureer de SNMP-community-ACL's met het log-trefwoord. Controleer syslog op mislukte pogingen, zoals getoond.
access-list 10 deny any log snmp-server communityRO 10
Wanneer iemand probeert toegang te krijgen tot de router met het publiek van de community, ziet u een syslog vergelijkbaar resultaat:
%SEC-6-IPACCESSLOGS: list 10 denied 172.16.1.15 packet
Deze uitvoer betekent dat toegangslijst 10 vijf SNMP-pakketten van de host 172.16.1.15 heeft geweigerd.
Controleer regelmatig SNMP op fouten met de opdracht show snmp, zoals hier wordt weergegeven:
ISP-C#show snmp
Chassis: TKM21110169
186 SNMP packets input
0 Bad SNMP version errors 58 Unknown community name
0 Illegal operation for community name supplied
0 Encoding errors 115 Number of requested variables
0 Number of altered variables
2 Get-request PDUs
113 Get-next PDUs
0 Set-request PDUs
0 Input queue packet drops (Maximum queue size 1000)
126 SNMP packets output
0 Too big errors (Maximum packet size 1500)
0 No such name errors
0 Bad values errors
0 General errors
0 Response PDUs
0 Trap PDUs
Packets currently in SNMP process input queue: 0
SNMP global trap: disabled
SNMP logging: disabled
Bekijk de gemarkeerde tellers voor onverwachte stijgingen van de foutenpercentages die kunnen wijzen op poging tot exploitatie van deze kwetsbaarheden. Als u een beveiligingsprobleem wilt melden, raadpleegt u Cisco Product Security Incident Response.
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
4.0 |
14-Jul-2026
|
Recertificering - bijgewerkte technische inhoud en opmaak. |
3.0 |
14-Mar-2024
|
hercertificering |
2.0 |
16-Jan-2023
|
Correct gebruik. CCW-waarschuwingen herstellen. Hercertificering. |
1.0 |
22-Feb-2002
|
Eerste vrijgave |