Segurança no protocolo SNMP versão 3.0 (Debian)

Publicado por Marcelo Ferreira em 10/01/2008

[ Hits: 17.802 ]

 


Segurança no protocolo SNMP versão 3.0 (Debian)



1- Introdução

Após testes com ferramentas de verificação de vulnerabilidades em nossa empresa, foi identificado a necessidade de ativar a segurança na comunicação do protocolo SNMP. Esta tarefa tem o objetivo de dificultar a divulgação de informações de gerenciamento de nossos servidores e equipamentos que fazem uso deste protocolo!

O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo de Gerência Simples de Rede) é um protocolo de gerência típica de redes TCP/IP, da camada de aplicação, que facilita o intercâmbio de informação entre os dispositivos de rede, como placas e switches. O SNMP possibilita aos administradores de rede gerenciar o desempenho da rede, encontrar e resolver seus eventuais problemas, e fornecer informações para o planejamento de sua expansão, dentre outras. - retirado do site: http://pt.wikipedia.org/wiki/Snmp.

Nesta dica explicarei de forma simplificada como ativar a segurança do protocolo SNMP (que já deverá estar instalado e configurado). Vale lembrar que há vários dicas e artigos explicando como instalar e configurar o SNMP. Os manuais do snmpd.conf (# man snmpd.conf) e do snmpusm (# man snmpusm) são ótimas referências para aprofundar o conhecimento em detalhes, que não é o objetivo desta dica.

Antes de iniciar as alterações é recomendado realizar uma cópia de segurança do arquivo /etc/snmp/snmpd.conf.

2 - Habilitar a segurança do protocolo SNMP versão 3.0 (Debian)

Para a utilização da segurança estaremos explicação as principais opções do /etc/snmp/snmpd.conf:

2.1 - Definição do tipo de acesso:

- acesso 1: rwuser (leitura e gravação)
- acesso 2: rouser (leitura)


# acesso username
# ------ --------
# rwuser teste

  rouser teste

2.2 - Criação do usuário, protocolo de autenticação, senha, protocolo de comunicação da senha, frase do tipo senha:

#          username   authProto  authpassphrase  privProto   privpassphrase
#          --------   ---------  --------------  ---------   --------------

createUser teste      MD5        123456789       DES         123456789

2.3 - Criação de um par rede(SOURCE) e o tipo de comunidade:

#       securityName  SOURCE(rede)   COMMUNITY
#       ------------  ------         ---------

com2sec local         127.0.0.1/32   public
com2sec local         10.12.4.0/24   public

2.4 - Mapeamento do par criado no passo 3:

#     groupName    securityModel  securityName
#     ---------    -------------  ------------

group MyROGroup    v1             local
group MyROGroup    v2c            local
group MyROGroup    usm            local

2.5 - Especificação do que pode ser visualizado através do cliente SNMP:

#           incl/excl  subtree  mask
#           ---------  -------  ----

view all    included  .1        80

2.6 - Tipo de acesso para o grupo criado no passo 4:

#access NAME      CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY
#       ----      ------- ----- ----- ----- ---- ----- ------

access MyROGroup ""      any   auth  exact all  none  none

Crie e ou altere o arquivo /etc/snmp/snmpd.conf conforme suas necessidades, lembre de alterar as configurações do seu IP, rede, nome e senha do usuário para a comunicação com segurança.

Após as alterações faz-se necessário reiniciar o serviço do SNMP para as modificações entrarem em vigor. Como root execute o comando abaixo:

# /etc/init.d/snmpd restart

Vamos testar o acesso do cliente SNMP para verificar informações da interface de rede. Como root execute o comando abaixo:

# snmpwalk -v 3 -a MD5 -A 123456789 -X 123456789 -u teste -l authpriv 10.12.4.15 interface

3 - Exemplo de arquivo de configuração para cliente SNMP com segurança

Abaixo segue um exemplo do /etc/snmp/snmpd.conf com a comunicação segura habilitada:

#
# acesso username
# ------ --------
# rwuser teste

  rouser teste
#
#          username   authProto  authpassphrase  privProto   privpassphrase
#          --------   ---------  --------------  ---------   --------------

createUser teste      MD5        123456789       DES         123456789
# #       securityName  SOURCE(rede)   COMMUNITY
#       ------------  ------         ---------

com2sec local         127.0.0.1/32   public
com2sec local         10.12.4.0/24   public
#
#     groupName    securityModel  securityName
#     ---------    -------------  ------------

group MyROGroup    v1             local
group MyROGroup    v2c            local
group MyROGroup    usm            local
#
#           incl/excl  subtree  mask
#           ---------  -------  ----

view all    included  .1        80
#
#access NAME      CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY
#       ----      ------- ----- ----- ----- ---- ----- ------

access MyROGroup ""      any   auth  exact all  none  none
#
syslocation 3cta.eb.mil.br
syscontact Ten Ferreira/3CTA <[email protected]>
#

4 - Conclusão

Alguns programas de gerenciamento do protocolo SNMP como o CACTI (já postei artigos e dicas para sua instalação e configuração), permitem incluir o usuário (SNMP Username (v3)), senha (SNMP Password (v3)) e selecionar a versão do protocolo SNMP (SNMP Version), veja imagem abaixo.



Viva a liberdade...

Outras dicas deste autor

Instalação de programa de sensores (Gkrellm)

Clonar HD, recuperar arquivos deletados e buscas avançadas em arquivos e diretórios

Instalação de novos recursos (plugins) para o CACTI (Debian)

Novos recursos (plugins) para o CACTI (Debian Linux) versão 0.8.7b

Instalação e uso do SUDO no Debian

Leitura recomendada

MO-Call no openSUSE 13.2

Enlightenment DR17 (E17) para Slackware

Instalando Skype e Spotify no Fedora 28

Reproduzindo arquivo MOV no openSUSE 11.3 64 bits com SMPlayer

aMule 2.1.3 no Debian Sarge

  

Comentários
[1] Comentário enviado por pedro_c em 12/01/2008 - 00:05h

Excelente dica...
Os meus parabéns pelo tema abordado, pela forma clara e concisa como expôs o conteúdo … já tinha vasculhado muito para encontrar o que acabei de ler e experimentar.
Nota 10
Pedro F. S. C.

[2] Comentário enviado por bracim em 25/10/2011 - 16:55h

Prezado Marcelo.... Parabéns pelo artigo.
Vc citou o uso do Cacti para monitorar devices usando SNMPv3.
Estou tentando entender oq é exatamente o campo context. Esse campo é obrigatório??? Como faço pra descobrir o context de algum roteador Cisco?
Se puder ajudar, fico grato.
Att,

Bracim



Contribuir com comentário