Este documento descreve como proteger seu SNMP (Simple Network Management Protocol).
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas em recursos SNMP, como SNMP View e SNMP Versão 3 (SNMPv3) que foram introduzidos no Cisco IOS® Software Release. Embora alguns exemplos de configuração e sintaxe de comando sejam baseados no Cisco IOS®, os conceitos de segurança SNMP principais também se aplicam a plataformas Cisco IOS XE mais recentes. Sintaxe de comando, algoritmos de autenticação e privacidade suportados, recursos de plataforma e recursos de proteção de plano de gerenciamento podem variar entre as versões Cisco IOS e Cisco IOS XE.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Proteger o SNMP é importante porque o acesso não autorizado ao SNMP pode expor informações do dispositivo, permitir alterações de configuração quando o acesso de leitura-gravação estiver habilitado ou contribuir para condições de negação de serviço (DoS).
As versões anteriores do SNMP, como SNMPv1 e SNMPv2c, dependem de community strings para controle de acesso. Essas strings de comunidade funcionam de forma semelhante a senhas compartilhadas, mas são enviadas em texto claro e não fornecem autenticação ou criptografia forte. Se uma string de comunidade for reutilizada, exposta em arquivos de configuração ou capturada da rede, um usuário não autorizado poderá pesquisar informações do dispositivo ou, no caso de uma comunidade de leitura e gravação, modificar as configurações do dispositivo.
Algumas das limitações de segurança mais comuns do SNMPv1/v2c incluem:
Para implantações seguras, use o SNMPv3 com autenticação e privacidade onde houver suporte. O SNMPv3 fornece autenticação e criptografia baseadas no usuário, o que ajuda a proteger o controle de acesso e os dados de gerenciamento. Além disso, você pode restringir o acesso SNMP a estações de gerenciamento confiáveis, evitar acesso de leitura-gravação desnecessário e limitar objetos MIB acessíveis com visualizações SNMP.
Note: Valide a configuração exata da interface de linha de comando (CLI), o suporte a recursos e os comandos de verificação para a plataforma específica e a versão de software antes da implantação em uma rede de produção.
Não use strings de comunidade conhecidas, como pública ou privada. Se o SNMPv1 ou SNMPv2c for necessário para compatibilidade, use strings de comunidade exclusivas e não óbvias, restrinja-as com ACLs e evite comunidades de leitura-gravação, a menos que haja um requisito operacional específico.
Note: Prefira o SNMPv3 com o authPriv para implantações seguras. O nível authPriv fornece autenticação e criptografia. A autenticação verifica se as mensagens SNMP vêm de um usuário SNMPv3 válido e a privacidade criptografa o payload SNMP para que os dados de gerenciamento não sejam enviados em texto claro.
Uma visualização SNMP limita o acesso a subárvores MIB específicas. Quando uma exibição é aplicada a uma comunidade ou a um grupo SNMPv3, somente os objetos MIB incluídos ficam acessíveis. As subárvores MIB não incluídas são implicitamente negadas. Você também pode excluir explicitamente subárvores específicas de uma subárvore mais ampla incluída.
Para criar ou atualizar uma entrada de visualização SNMP, use o comando de configuração global snmp-server view. Para remover a entrada de visualização do servidor SNMP especificada, use a forma no desse comando.
snmp-server viewno snmp-server view {included | excluded}
Descrição da sintaxe:
myview-name — Rótulo para o registro de exibição que você atualiza ou cria. O nome é usado para fazer referência ao registro.
oid-tree — O Identificador de Objeto (OID) da subárvore da Notação de Sintaxe Abstrata Um (ASN.1) a ser incluído ou excluído da visualização. Para identificar a subárvore, especifique uma string de texto que consiste em números, como 1.3.6.2.4, ou uma palavra, como system. Substitua um único subidentificador pelo curinga asterisco (*) para especificar uma família de subárvores; por exemplo, 1.3.*.4.
included or excluded — Tipo de vista. Você deve especificar incluído ou excluído.
A documentação do SNMP legado, incluindo o RFC 1447, introduziu o conceito de exibições MIB para controlar quais partes da árvore MIB são incluídas ou excluídas do acesso SNMP. Embora o RFC 1447 e seu modelo de segurança SNMPv2 baseado em terceiros sejam obsoletos, o conceito de exibição MIB permanece relevante no SNMP moderno por meio do Modelo de Controle de Acesso (VACM - Access Control Model) baseado em Exibição, definido no RFC 3415. As visualizações do Cisco SNMP usam esse conceito para restringir o acesso a subárvores MIB específicas. Uma visualização SNMP pode ser aplicada a comunidades SNMPv1/v2c ou a grupos SNMPv3.
Este exemplo cria uma exibição que inclui todos os objetos no grupo de sistema MIB-II, exceto sysServices (Sistema 7) e todos os objetos para a interface 1 no 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
Neste exemplo, a visualização permite acesso a objetos MIB-II e MIB privada da Cisco, mas exclui a tabela 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
Note: Alguns desses exemplos podem fazer referência a objetos MIB mais antigos das versões do Cisco IOS, como atTable ou atEntry. Em plataformas Cisco IOS XE mais recentes, dados equivalentes podem usar objetos MIB ou OIDs diferentes.
Note: Antes de implantar uma visualização SNMP, verifique se o nome do objeto MIB ou OID existe na plataforma de destino e na versão do software. Use o SNMP Object Navigator para obter informações adicionais.
Se o SNMPv1 ou o SNMPv2c for necessário, restrinja cada sequência de caracteres de comunidade a endereços NMS (Network Management System) confiáveis com uma ACL. A ACL associada à comunidade SNMP controla quais endereços IP de origem podem usar essa série de comunidade para enviar solicitações SNMP ao dispositivo.
A comunicação SNMP geralmente inclui dois tipos de tráfego diferentes:
Use diferentes strings de comunidade para solicitações de polling e notificações de interceptação. Essa separação limita a exposição se for descoberta uma sequência de comunidade. Por exemplo, se um invasor aprender a string de comunidade de interceptação (trapping) de um pacote de notificação, essa string também não deverá permitir o acesso de sondagem SNMP ao dispositivo.
access-list 10 permit
snmp-server community RO 10
snmp-server host version 2c
Neste exemplo:
Se uma string de comunidade de interceptação (trapping) estiver configurada, verifique se ela não permite involuntariamente o acesso de sondagem SNMP. Em algumas versões do software Cisco IOS, uma string de comunidade usada para armadilhas também pode se tornar utilizável para acesso SNMP, a menos que explicitamente restrita ou desativada.
Para impedir o acesso de polling com a string de comunidade trap, negue explicitamente seu uso como uma comunidade SNMP:
access-list 99 deny any
snmp-server community RO 99
Evite configurar comunidades de leitura-gravação, a menos que haja um requisito operacional específico. Se o acesso de leitura-gravação for necessário, restrinja-o a uma estação de gerenciamento dedicada, use uma sequência de comunidade separada e aplique uma ACL restritiva. Prefira o SNMPv3 com autenticação e privacidade para implantações seguras.
Use o SNMPv3 com autenticação e privacidade para implantações seguras de SNMP. O SNMPv3 fornece autenticação e criptografia baseadas no usuário, ao contrário do SNMPv1 e do SNMPv2c, que dependem de strings de comunidade.
Para implantações seguras, use o nível de segurança authPriv do SNMPv3:
Note: O suporte a algoritmos varia de acordo com a plataforma da Cisco e a versão do software. Use os algoritmos de autenticação e privacidade mais fortes suportados pelo dispositivo, como SHA ou SHA-2 para autenticação e AES para privacidade.
Etapas de configuração do SNMPv3
Decida qual Sistema de Gerenciamento de Rede tem permissão para sondar o dispositivo.
Exemplo de valor:
Note: Somente estações de gerenciamento confiáveis devem ter permissão para acessar serviços SNMP.
Crie uma ACL que permita o acesso SNMP apenas do NMS confiável.
Exemplo:
access-list 10 permit access-list 10 deny any log
Essa ACL limita quais endereços IP de origem podem usar o grupo SNMPv3. A entrada deny any log ajuda a identificar tentativas de acesso SNMP não autorizado no syslog.
Crie uma exibição SNMP para limitar quais objetos MIB o usuário SNMPv3 pode acessar.
Exemplo:
snmp-server view mib-2 included
snmp-server view cisco included
Este exemplo permite acesso à subárvore MIB-II e aos objetos MIB privados da Cisco. Se for necessária uma visualização mais restritiva, exclua explicitamente as subárvores MIB sensíveis ou desnecessárias.
Exemplo:
snmp-server view excluded
Note: Uma visualização SNMP reduz a exposição permitindo que o NMS acesse somente os objetos MIB necessários para monitoramento.
Crie um grupo SNMPv3que use o nível de segurança privado e faça referência à exibição e à ACL do SNMP.
Exemplo:
snmp-server group v3 priv read access 10
Esse comando faz três coisas importantes:
Note: Para a maioria dos casos de uso de monitoramento, o acesso somente leitura é geralmente suficiente. Configure o acesso de gravação somente quando houver um requisito operacional específico.
Crie um usuário SNMPv3 e atribua-o ao grupo SNMPv3.
Exemplo:
snmp-server user v3 auth sha priv aes 256
Esse comando cria um usuário com:
Note: Use senhas fortes e exclusivas para autenticação e privacidade. Não reutilize a mesma senha para ambos os valores.
Note: Se plataformas mais novas oferecerem suporte a opções mais fortes, como SHA-2 ou variantes AES mais fortes, use a opção mais forte suportada pelo dispositivo e pelo NMS.
Se o dispositivo precisar enviar notificações ao NMS, configure o host SNMP com SNMPv3.
Exemplo:
snmp-server host version 3 priv
Traps e informs são notificações enviadas do dispositivo para o NMS. Eles são diferentes das solicitações de polling, em que o NMS envia consultas SNMP para o dispositivo. Use notificações SNMPv3 para interceptar ou informar o tráfego e também se beneficiar da autenticação e da privacidade.
Se necessário, configure também a interface de origem de interceptação (trapping):
snmp-server trap-source
Note: O uso de uma origem de interceptação consistente ajuda o NMS a identificar o dispositivo e permite que firewalls ou ACLs combinem endereços de origem previsíveis.
Se o SNMPv1 ou o SNMPv2c não forem necessários, não configure community strings ou remova community strings não utilizadas.
Exemplo:
no snmp-server community
Note: Isso reduz o risco de acesso não autorizado ao SNMP através de strings de comunidade de texto claro.
O próximo snippet de configuração mostra um exemplo que permite a interrogação de SNMPv3 somente a partir do NMS 10.189.5.161, limita objetos MIB legíveis com uma visualização SNMP e exige autenticação e criptografia.
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
Use estes comandos para verificar a configuração do SNMP local:
show snmp user
show snmp group
show snmp view
show snmp
show ip access-lists
show running-config | seção 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
Você também pode fazer uma caminhada de SNMP para a árvore do 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
O próximo comando e a saída mostram que você não pode obter o 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
O próximo comando e resultado de saída é para o 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
As ACLs de interface podem ser úteis como uma camada de proteção adicional para limitar quais hosts podem enviar tráfego SNMP para uma interface de dispositivo. Eles são especialmente úteis em plataformas que não suportam recursos de proteção de plano de controle mais direcionados, como Políticas de Plano de Controle (CoPP - Control Plane Policing) ou ACLs de plano de gerenciamento.
Uma ACL de interface pode bloquear pacotes SNMP não autorizados antes que eles sejam processados pelo dispositivo, reduzindo a exposição a polling indesejado, tentativas de sequência de caracteres de comunidade de força bruta ou tráfego SNMP excessivo de fontes não confiáveis.
Caution: Tenha cuidado ao aplicar ACLs de interface. Uma ACL aplicada com ip access-group filtra o tráfego na direção selecionada e pode afetar o tráfego destinado ao roteador e o tráfego de trânsito. Sempre inclua todas as instruções de permissão necessárias e valide a ACL em uma janela de manutenção ou laboratório antes da implantação da produção.
ip access-list extended SNMP-MGMT-IN permit udp host host eq snmp deny udp any host eq snmp log permit ip any any
A ACL deve então ser aplicada a todas as interfaces com estes comandos de configuração:
interface ip access-group SNMP-MGMT-IN in
Neste exemplo:
Note: Você pode adaptar este exemplo ao seu projeto de rede. Se a plataforma suportar CoPP, iACLs ou ACLs de plano de gerenciamento, essas opções poderão fornecer proteção de plano de controle mais direcionada. Para dispositivos que têm muitos endereços IP configurados, ou muitos hosts que precisam se comunicar com o roteador, essa nem sempre é uma solução escalável. A proteção do seu núcleo: O documento Listas de controle de acesso de proteção de infraestrutura apresenta diretrizes e técnicas de implantação recomendadas para ACLs.
Configure as ACLs da comunidade SNMP com a palavra-chave log. Monitore o syslog quanto a tentativas falhas, como mostrado.
access-list 10 deny any log snmp-server communityRO 10
Quando alguém tenta acessar o roteador com o público da comunidade, você vê um syslog similar a este:
%SEC-6-IPACCESSLOGS: list 10 denied 172.16.1.15 packet
Essa saída significa que a lista de acesso 10 negou cinco pacotes SNMP do host 172.16.1.15.
Verifique periodicamente se há erros no SNMP com o comando show snmp, como mostrado aqui:
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 os contadores destacados para obter aumentos inesperados nas taxas de erro que possam indicar tentativas de exploração dessas vulnerabilidades. Para relatar qualquer problema de segurança, consulte Resposta a Incidente de Segurança de Produto da Cisco.
| Revisão | Data de publicação | Comentários |
|---|---|---|
4.0 |
14-Jul-2026
|
Recertificação - Conteúdo e Formatação Técnica Atualizados. |
3.0 |
14-Mar-2024
|
Recertificação |
2.0 |
16-Jan-2023
|
Uso correto. Corrija alertas do CCW. Recertificação. |
1.0 |
22-Feb-2002
|
Versão inicial |