Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Este artigo aborda as características do monitoramento de equipamentos de rede utilizando o protocolo SNMPv3. Vamos conversar sobre o SNMPv3, compartilharei minhas experiências na criação de templates completos no Zabbix e mostrarei o que pode ser alcançado na organização de alertas distribuídos em uma grande rede. O protocolo SNMP é o principal para monitoramento de equipamentos de rede, e o Zabbix se adapta perfeitamente ao monitoramento de um grande número de objetos e à agregação de grandes volumes de métricas recebidas.

Algumas palavras sobre o SNMPv3

Começaremos com a finalidade do protocolo SNMPv3 e as particularidades de seu uso. As tarefas do SNMP envolvem o monitoramento de dispositivos de rede e o gerenciamento básico, por meio do envio de comandos simples (por exemplo, ativar e desativar interfaces de rede ou reiniciar o dispositivo).

A principal diferença do protocolo SNMPv3 em relação às suas versões anteriores é a inclusão de funções de segurança clássicas [1-3], a saber:

  • autenticação (Authentication), que garante que a solicitação seja recebida de uma fonte confiável;
  • criptografia (Encryption), para impedir a revelação de dados transmitidos em caso de interceptação por terceiros;
  • integridade (Integrity), ou seja, a garantia de que o pacote não foi adulterado durante a transmissão.

O SNMPv3 implica o uso de um modelo de segurança, onde a estratégia de autenticação é definida para um usuário específico e o grupo ao qual ele pertence (nas versões anteriores do SNMP, apenas a 'community', uma string textual com a 'senha', era comparada na solicitação do servidor ao objeto monitorado, transmitida em texto aberto).

O SNMPv3 introduz o conceito de níveis de segurança — níveis aceitáveis de segurança que definem a configuração do equipamento e o comportamento do agente SNMP do objeto monitorado. A combinação do modelo de segurança e do nível de segurança determina qual mecanismo de segurança é utilizado no processamento do pacote SNMP [4].

A tabela descreve combinações dos modelos e níveis de segurança do SNMPv3 (deixei as três primeiras colunas como no original):

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Assim, utilizaremos o SNMPv3 em modo de autenticação com aplicação de criptografia.

Configuração do SNMPv3

O monitoramento de equipamentos de rede pressupõe a mesma configuração do protocolo SNMPv3 tanto no servidor de monitoramento quanto no objeto monitorado.

Começaremos com a configuração do dispositivo de rede Cisco, cuja configuração mínima necessária é a seguinte (usaremos CLI para a configuração, os nomes e senhas foram simplificados para evitar confusões):

snmp-server group snmpv3group v3 priv read snmpv3name 
snmp-server user snmpv3user snmpv3group v3 auth md5 md5v3v3v3 priv des des56v3v3v3
snmp-server view snmpv3name iso included

A primeira linha do snmp-server group define o grupo de usuários SNMPv3 (snmpv3group), o modo de leitura (read) e o direito de acesso do grupo snmpv3group para visualizar determinados ramos da árvore MIB do objeto monitorado (snmpv3name, na configuração a seguir, especifica quais ramos da árvore MIB o grupo snmpv3group poderá acessar).

A segunda linha snmp-server user especifica o usuário snmpv3user, sua afiliação ao grupo snmpv3group, bem como a aplicação da autenticação md5 (a senha para md5 — md5v3v3v3) e da criptografia des (a senha para des — des56v3v3v3). Naturalmente, é melhor usar aes em vez de des, aqui o trago apenas como exemplo. Também, ao definir o usuário, é possível adicionar uma lista de acesso (ACL), regulamentando os endereços IP dos servidores de monitoração que têm permissão para monitorar este dispositivo — isso também é uma prática recomendada, mas não vou complicar nosso exemplo.

A terceira linha snmp-server view define o nome de código, que especifica os ramos da árvore MIB snmpv3name, que podem ser consultados pelo grupo de usuários snmpv3group. ISO, em vez de definir estritamente um único ramo, permite que o grupo de usuários snmpv3group acesse todos os objetos da árvore MIB do objeto monitorado.

Uma configuração similar do equipamento Huawei (também em CLI) é a seguinte:

snmp-agent mib-view included snmpv3name iso
snmp-agent group v3 snmpv3group privacy read-view snmpv3name
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode md5 
            md5v3v3v3
snmp-agent usm-user v3 snmpv3user privacy-mode des56
            des56v3v3v3

Após configurar os dispositivos de rede, é necessário verificar o acesso do servidor de monitoramento via protocolo SNMPv3, usarei snmpwalk:

snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Uma ferramenta mais visual para consultar objetos OID específicos, utilizando arquivos MIB — snmpget:

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Agora, vamos configurar um elemento de dados típico para SNMPv3, dentro do template Zabbix. Para simplicidade e independência de MIB, estou usando OIDs numéricos:

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Utilizo macros personalizados nos campos-chave, pois eles serão iguais para todos os elementos de dados no modelo. Eles podem ser definidos dentro do modelo, se em sua rede todos os dispositivos de rede tiverem parâmetros SNMPv3 iguais, ou dentro do nó da rede, se os parâmetros SNMPv3 para diferentes objetos de monitoramento diferirem:

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Observe que o sistema de monitoramento possui apenas o nome de usuário e senhas para autenticação e criptografia. O grupo de usuários e o escopo dos objetos MIB aos quais o acesso é permitido são definidos no objeto de monitoramento.
Agora vamos passar para o preenchimento do modelo.

Modelo de consulta no Zabbix

Uma regra simples ao criar qualquer modelo de consulta é torná-los o mais detalhados possível:

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Dou grande atenção à inventário, para que seja mais fácil trabalhar com uma grande rede. Falarei sobre isso um pouco mais tarde, mas agora – vamos aos gatilhos:

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Para facilitar a visualização dos gatilhos, os nomes contêm macros de sistema {HOST.CONN}, para que no painel na seção de alertas apareçam não apenas os nomes dos dispositivos, mas também os endereços IP, embora isso seja mais uma questão de conveniência do que de necessidade. Para determinar a inacessibilidade de um dispositivo, além do simples ping, utilizo a verificação de inacessibilidade do nó pelo protocolo SNMP, quando o objeto está acessível via ICMP, mas não responde a consultas SNMP – essa situação é possível, por exemplo, na duplicação de endereços IP em diferentes dispositivos, devido a firewalls mal configurados ou configurações incorretas de SNMP nos objetos de monitoramento. Se utilizar apenas a verificação de acessibilidade dos nós por ICMP, durante a investigação de incidentes na rede, pode não haver dados de monitoramento disponíveis, portanto, sua coleta precisa ser controlada.

Vamos passar para a descoberta de interfaces de rede – esta é a função de monitoramento mais importante para equipamentos de rede. Como um dispositivo de rede pode ter centenas de interfaces, é necessário filtrar as desnecessárias para não sobrecarregar a visualização e não encher o banco de dados.

Utilizo a função padrão de descoberta para SNMP, com um grande número de parâmetros detectáveis, para uma filtragem mais flexível:

discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7]

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Com essa detecção, é possível filtrar interfaces de rede por seus tipos, descrições de usuário "description" e status administrativos das portas. Os filtros e expressões regulares para filtragem, no meu caso, são os seguintes:

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Ao detectar, as seguintes interfaces serão excluídas:

  • desligadas manualmente (adminstatus<>1), graças ao IFADMINSTATUS;
  • sem uma descrição de texto, graças ao IFALIAS;
  • que possuem o símbolo * na descrição de texto, graças ao IFALIAS;
  • que são administrativas ou técnicas, graças ao IFDESCR (no meu caso, nas expressões regulares, IFALIAS e IFDESCR são verificadas por uma expressão regular única alias).

O modelo para coleta de dados pelo protocolo SNMPv3 está quase pronto. Não vamos entrar em detalhes sobre os protótipos dos elementos de dados para interfaces de rede, vamos passar para os resultados.

Resultados da monitorização

Para começar – o inventário de uma pequena rede:

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Se prepararmos modelos para cada série de dispositivos de rede – podemos obter uma disposição conveniente para análise dos dados resumidos sobre o software atual, números de série e notificações para a chegada da faxineira no servidor (devido ao baixo Uptime). Abaixo, um extrato da minha lista de modelos:

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

E agora – o painel principal de monitoramento, com gatilhos distribuídos por níveis de importância:

Monitoramento de equipamentos de rede via SNMPv3 no Zabbix

Graças a uma abordagem abrangente para os modelos de cada modelo de dispositivo na rede, podemos obter que dentro de um único sistema de monitoramento será organizada uma ferramenta para prever falhas e acidentes (se houver sensores e métricas correspondentes). O Zabbix é bem adequado para monitorar infraestruturas de rede, servidores e serviços, e a tarefa de manutenção do equipamento de rede demonstra claramente suas capacidades.

Lista de fontes utilizadas:1. Hucaby D. CCNP Routing and Switching SWITCH 300-115 Official Cert Guide. Cisco Press, 2014. pp. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. SNMP Configuration Guide, Cisco IOS XE Release 3SE. Capítulo: SNMP Versão 3. www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-3se/3850/snmp-xe-3se-3850-book/nm-snmp-snmpv3.html

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster