En este documento se describe cómo proteger el protocolo simple de administración de red (SNMP).
No hay requisitos específicos para este documento.
La información de este documento se basa en las funciones SNMP, como SNMP View y SNMP Version 3 (SNMPv3), que se introdujeron en Cisco IOS® Software Release. Aunque algunos ejemplos de configuración y sintaxis de comandos se basan en Cisco IOS®, los conceptos de seguridad SNMP básicos también se aplican a las plataformas más recientes de Cisco IOS XE. La sintaxis de comandos, los algoritmos de autenticación y privacidad compatibles, las capacidades de plataforma y las funciones de protección del plano de administración pueden variar entre las versiones de Cisco IOS y Cisco IOS XE.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
La protección de SNMP es importante porque el acceso SNMP no autorizado puede exponer información del dispositivo, permitir cambios de configuración cuando el acceso de lectura y escritura está habilitado o contribuir a condiciones de denegación de servicio (DoS).
Las versiones anteriores de SNMP, como SNMPv1 y SNMPv2c, se basan en cadenas de comunidad para el control de acceso. Estas cadenas de comunidad funcionan de forma similar a las contraseñas compartidas, pero se envían en texto sin cifrar y no proporcionan autenticación ni cifrado seguros. Si se reutiliza una cadena de comunidad, se expone en archivos de configuración o se captura de la red, un usuario no autorizado puede consultar la información del dispositivo o, en el caso de una comunidad de lectura y escritura, modificar la configuración del dispositivo.
Algunas de las limitaciones de seguridad más comunes de SNMPv1/v2c son:
Para implementaciones seguras, utilice SNMPv3 con autenticación y privacidad donde se admita. SNMPv3 proporciona autenticación y cifrado basados en el usuario, lo que ayuda a proteger los datos de control de acceso y de gestión. Además, puede restringir el acceso SNMP a las estaciones de administración confiables, evitar el acceso de lectura y escritura innecesario y limitar los objetos MIB accesibles con vistas SNMP.
Nota: Valide la configuración exacta de la interfaz de línea de comandos (CLI), la compatibilidad de funciones y los comandos de verificación para la plataforma y la versión de software específicas antes de la implementación en una red de producción.
No utilice cadenas de comunidad conocidas, como pública o privada. Si se requiere SNMPv1 o SNMPv2c para la compatibilidad, utilice cadenas de comunidad únicas y no obvias, restrinjalas con ACL y evite las comunidades de lectura y escritura a menos que haya un requisito operativo específico.
Nota: Prefiera SNMPv3 con authPriv para implementaciones seguras. El nivel authPriv proporciona autenticación y cifrado. La autenticación verifica que los mensajes SNMP provienen de un usuario SNMPv3 válido y la privacidad cifra la carga SNMP, de modo que los datos de administración no se envían en texto sin formato.
Una vista SNMP limita el acceso a subárboles MIB específicos. Cuando se aplica una vista a una comunidad o a un grupo SNMPv3, sólo se puede acceder a los objetos MIB incluidos. Los subárboles MIB que no se incluyen se niegan implícitamente. También puede excluir explícitamente subárboles específicos de un subárbol incluido más amplio.
Para crear o actualizar una entrada de vista SNMP, utilice el comando de configuración global snmp-server view. Para quitar la entrada de vista de servidor SNMP especificada, utilice la forma no de este comando.
snmp-server viewno snmp-server view {included | excluded}
Descripción de la Sintaxis:
myview-name — etiqueta del registro de vista que se actualiza o se crea. El nombre se utiliza para hacer referencia al registro.
oid-tree — Identificador de objeto (OID) del subárbol Notación de sintaxis abstracta uno (ASN.1) que se va a incluir o excluir de la vista. Para identificar el subárbol, especifique una cadena de texto compuesta por números, como 1.3.6.2.4, o una palabra, como sistema. Reemplace un solo subidentificador por el comodín asterisco (*) para especificar una familia de subárboles; por ejemplo 1.3.*.4.
included or excluded — Tipo de vista. Debe especificar incluido o excluido.
La documentación SNMP heredada, incluida la RFC 1447, introdujo el concepto de vistas MIB para controlar qué partes del árbol MIB se incluyen o se excluyen del acceso SNMP. Aunque RFC 1447 y su modelo de seguridad SNMPv2 basado en partes están obsoletos, el concepto de vista MIB sigue siendo relevante en el SNMP moderno a través del modelo de control de acceso basado en vistas (VACM), definido en RFC 3415. Las vistas SNMP de Cisco utilizan este concepto para restringir el acceso a subárboles MIB específicos. Una vista SNMP se puede aplicar a comunidades SNMPv1/v2c o a grupos SNMPv3.
En este ejemplo se crea una vista que incluye todos los objetos del grupo de sistema MIB-II excepto sysServices (System 7) y todos los objetos de la interfaz 1 del grupo de interfaces MIB-II:
snmp-server view agon system included snmp-server view agon system.7 excluded snmp-server view agon ifEntry.*.1 included
En este ejemplo, la vista permite el acceso a los objetos MIB-II y MIB privado de Cisco pero excluye la tabla ARP representada por 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
Nota: Algunos de estos ejemplos pueden hacer referencia a objetos MIB más antiguos de las versiones de Cisco IOS, como atTable o atEntry. En las plataformas Cisco IOS XE más recientes, los datos equivalentes pueden utilizar diferentes objetos MIB u OID.
Nota: Antes de implementar una vista SNMP, verifique que el nombre del objeto MIB o OID exista en la plataforma de destino y la versión de software. Utilice SNMP Object Navigator para obtener información adicional.
Si se requiere SNMPv1 o SNMPv2c, restrinja cada cadena de comunidad a las direcciones del sistema de administración de redes (NMS) de confianza con una ACL. La ACL asociada con la comunidad SNMP controla qué direcciones IP de origen pueden utilizar esa cadena de comunidad para enviar solicitudes SNMP al dispositivo.
La comunicación SNMP normalmente incluye dos tipos de tráfico diferentes:
Utilice diferentes cadenas de comunidad para las solicitudes de sondeo y las notificaciones de trampa. Esta separación limita la exposición si se descubre una cadena de comunidad. Por ejemplo, si un atacante aprende la cadena de comunidad de trampa de un paquete de notificación, esa cadena no debe permitir también el acceso de sondeo SNMP al dispositivo.
access-list 10 permit
snmp-server community RO 10
snmp-server host version 2c
En este ejemplo:
Si se configura una cadena de comunidad de trampa, verifique que no permita involuntariamente el acceso al sondeo SNMP. En algunas versiones de Cisco IOS Software, una cadena de comunidad utilizada para las trampas también puede ser utilizable para el acceso SNMP a menos que se restrinja o inhabilite explícitamente.
Para evitar el sondeo de acceso con la cadena de comunidad de trampa, deniegue explícitamente su uso como comunidad SNMP:
access-list 99 deny any
snmp-server community RO 99
Evite configurar comunidades de lectura y escritura a menos que exista un requisito operativo específico. Si se requiere acceso de lectura y escritura, restrinjalo a una estación de administración dedicada, utilice una cadena de comunidad independiente y aplique una ACL restrictiva. Prefiera SNMPv3 con autenticación y privacidad para implementaciones seguras.
Utilice SNMPv3 con autenticación y privacidad para realizar implementaciones SNMP seguras. SNMPv3 proporciona autenticación y cifrado basados en el usuario, a diferencia de SNMPv1 y SNMPv2c, que se basan en cadenas de comunidad.
Para implementaciones seguras, utilice el nivel de seguridad authPriv SNMPv3:
Nota: La compatibilidad con algoritmos varía según la plataforma de Cisco y la versión de software. Utilice los algoritmos de autenticación y privacidad más fiables que admite el dispositivo, como SHA o SHA-2 para la autenticación y AES para la privacidad.
Pasos de Configuración de SNMPv3
Decida qué sistema de administración de redes puede sondear el dispositivo.
Valor de ejemplo:
Nota: Sólo las estaciones de administración de confianza deben tener permiso para acceder a los servicios SNMP.
Cree una ACL que permita el acceso SNMP solamente desde el NMS confiable.
Ejemplo:
access-list 10 permit access-list 10 deny any log
Esta ACL limita qué direcciones IP de origen pueden utilizar el grupo SNMPv3. La entrada deny any log ayuda a identificar intentos de acceso SNMP no autorizados en syslog.
Cree una vista SNMPpara limitar los objetos MIB a los que puede acceder el usuario de SNMPv3.
Ejemplo:
snmp-server view mib-2 included
snmp-server view cisco included
Este ejemplo permite el acceso al subárbol MIB-II y a los objetos MIB privados de Cisco. Si se requiere una vista más restrictiva, excluya explícitamente los subárboles MIB sensibles o innecesarios.
Ejemplo:
snmp-server view excluded
Nota: Una vista SNMP reduce la exposición al permitir que el NMS acceda solamente a los objetos MIB requeridos para la supervisión.
Cree un grupo SNMPv3 que utilice el nivel de seguridad priv y haga referencia a la vista y ACL SNMP.
Ejemplo:
snmp-server group v3 priv read access 10
Este comando realiza tres acciones importantes:
Nota: Para la mayoría de los casos prácticos de supervisión, suele ser suficiente el acceso de solo lectura. Configure el acceso de escritura sólo cuando haya un requisito operativo específico.
Cree un usuario SNMPv3 y asígnelo al grupo SNMPv3.
Ejemplo:
snmp-server user v3 auth sha priv aes 256
Este comando crea un usuario con:
Nota: Utilice contraseñas seguras y exclusivas para la autenticación y la privacidad. No reutilice la misma contraseña para ambos valores.
Nota: Si las plataformas más recientes admiten opciones más potentes, como SHA-2 o variantes AES más potentes, utilice la opción más potente que admitan el dispositivo y NMS.
Si el dispositivo necesita enviar notificaciones al NMS, configure el SNMP host con SNMPv3.
Ejemplo:
snmp-server host version 3 priv
Las trampas e informes son notificaciones enviadas desde el dispositivo al NMS. Son diferentes de las solicitudes de sondeo, donde el NMS envía consultas SNMP al dispositivo. Utilice las notificaciones SNMPv3 para que el tráfico de trampa o de información también se beneficie de la autenticación y la privacidad.
Si es necesario, también configure la interfaz de origen de trampa:
snmp-server trap-source
Nota: El uso de un origen de trampa consistente ayuda al NMS a identificar el dispositivo y permite que los firewalls o ACL coincidan con las direcciones de origen predecibles.
Si no se requiere SNMPv1 o SNMPv2c, no configure cadenas de comunidad ni elimine las que no se utilicen.
Ejemplo:
no snmp-server community
Nota: Esto reduce el riesgo de acceso SNMP no autorizado a través de cadenas de comunidad de texto sin cifrar.
El siguiente fragmento de configuración muestra un ejemplo que permite el sondeo SNMPv3 sólo desde NMS 10.189.5.161, limita los objetos MIB legibles con una vista SNMP y requiere autenticación y cifrado.
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
Utilice estos comandos para verificar la configuración SNMP local:
show snmp user
show snmp group
show snmp view
show snmp
show ip access-lists
show running-config | section snmp
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
También puede realizar un recorrido SNMP para el árbol del sistema MIB-II:
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
El siguiente comando y resultado muestra que no puede obtener el grupo ipNetToMediaEntry.2:
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
El siguiente comando y resultado de salida es para el grupo Cisco Local System:
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
Las ACL de interfaz pueden ser útiles como una capa de protección adicional para limitar qué hosts pueden enviar tráfico SNMP a una interfaz de dispositivo. Resultan especialmente útiles en plataformas que no admiten funciones de protección de plano de control más específicas, como la política de plano de control (CoPP) o las ACL de plano de gestión.
Una ACL de interfaz puede bloquear los paquetes SNMP no autorizados antes de que sean procesados por el dispositivo, reduciendo la exposición a sondeos no deseados, intentos de cadena de comunidad por fuerza bruta o tráfico SNMP excesivo de fuentes no fiables.
Precaución: Tenga cuidado al aplicar ACL de interfaz. Una ACL aplicada con ip access-group filtra el tráfico en la dirección seleccionada y puede afectar tanto al tráfico destinado al router como al tráfico de tránsito. Incluya siempre todas las sentencias de permiso necesarias y valide la ACL en una ventana de mantenimiento o laboratorio antes de la implementación de producción.
ip access-list extended SNMP-MGMT-IN permit udp host host eq snmp deny udp any host eq snmp log permit ip any any
La ACL se debe aplicar a todas las interfaces con estos comandos de configuración:
interface ip access-group SNMP-MGMT-IN in
En este ejemplo:
Nota: Puede adaptar este ejemplo al diseño de su red. Si la plataforma admite CoPP, iACL o ACL del plano de administración, estas opciones pueden proporcionar una protección del plano de control más específica. Para dispositivos que tienen muchas direcciones IP configuradas o muchos hosts que necesitan comunicarse con el router, esta no siempre es una solución escalable. La protección de su núcleo: El documento Listas de control de acceso de protección de infraestructura presenta pautas y técnicas de implementación recomendadas para ACL.
Configure las ACL de la comunidad SNMP con la palabra clave log. Supervise el registro del sistema en busca de intentos fallidos, como se muestra.
access-list 10 deny any log snmp-server communityRO 10
Cuando alguien intenta acceder al router con el público de la comunidad, se ve un mensaje syslog similar a este:
%SEC-6-IPACCESSLOGS: list 10 denied 172.16.1.15 packet
Esta salida significa que la lista de acceso 10 ha denegado cinco paquetes SNMP del host 172.16.1.15.
Verifique periódicamente el SNMP para ver si hay errores con el comando show snmp, como se muestra aquí:
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
Observe los contadores resaltados para detectar aumentos inesperados en las tasas de error que pueden indicar intentos de aprovechamiento de estas vulnerabilidades. Para notificar cualquier problema de seguridad, consulte Respuesta a incidentes de seguridad de productos de Cisco.
| Revisión | Fecha de publicación | Comentarios |
|---|---|---|
4.0 |
14-Jul-2026
|
Recertificación: contenido técnico y formato actualizados. |
3.0 |
14-Mar-2024
|
Recertificación |
2.0 |
16-Jan-2023
|
Uso correcto. Corregir alertas de CCW. Recertificación. |
1.0 |
22-Feb-2002
|
Versión inicial |