Gerenciamento de Servidores Linux Utilizando SNMP
Versões SNMP <ul><li>SNMP v1 </li></ul><ul><li>SNMP v2 (v2c) </li></ul><ul><li>SNMP v3 </li></ul>
SNMP v1 <ul><li>Características e Operações Básicas </li></ul><ul><li>Get – Usado pelo NMS* para adquirir o valor de uma o...
SNMP v2 <ul><li>Durante a “divergência” SNMPv2, foram definidos quatro variações: </li></ul><ul><li>O SNMPv2 original (SNM...
SNMP v2 <ul><li>Destes, os três primeiros foram documentados em conjuntos de padrões  SNMP RFC Standard , o quarto não foi...
SNMP v2 (v2c) <ul><li>Características e Operações adicionais </li></ul><ul><li>Trap – Mensagem não solicitada, enviada por...
Configuração Básica de um Agente SNMP v1/v2c <ul><li># /etc/snmp/snmpd.conf v1/v2c básico </li></ul><ul><li># </li></ul><u...
Acessando um Agente SNMP v1/v2c <ul><li>$ snmpget -v 1 -c public localhost sysContact.0 </li></ul><ul><li>SNMPv2-MIB::sysC...
Acessando um Agente SNMP v2c <ul><li>$ snmpbulkget -v 2c -c public localhost system </li></ul><ul><li>SNMPv2-MIB::sysDescr...
SNMP v3 <ul><li>Melhorias de Segurança </li></ul><ul><li>USM - User-based Security Model (Modelo de Segurança Baseada em U...
USM <ul><li>Até o SNMPv2, controle baseado em communities (comunidades) </li></ul><ul><li>public, private, etc... </li></u...
VACM <ul><li>Os usuários são colocados em grupos </li></ul><ul><li>São criadas views, que representam partes da árvore SNM...
Modelo de Permissões VACM
snmpd.conf compatível com v1 e v2c <ul><li># /etc/snmp/snmpd.conf compativel com v1 e v2c ( snmpd.conf.2) </li></ul><ul><l...
snmpd.conf compatível com v1 e v2c <ul><li>Configurando as Comunidades </li></ul><ul><li>O processo de associação entre as...
snmpd.conf compatível com v1 e v2c <ul><li>O proximo passo é realizar a associação dos  grupos de acessos  à versão do pro...
snmpd.conf compatível com v1 e v2c <ul><li>A terceira seção a ser configurada são as &quot;views&quot; ou seja partes da á...
Parâmetros <ul><li>Context – Contexto ou Escopo: </li></ul><ul><li>É uma maneira de se criar filtros de acesso para determ...
Parâmetros <ul><li>Level – Nível de segurança da autenticação: </li></ul><ul><li>noauth – Sem autenticação </li></ul><ul><...
snmpd.conf v3 inicial <ul><li># /etc/snmp/snmpd.conf v3 inicial </li></ul><ul><li># </li></ul><ul><li># Declarando um usuá...
Criar os usuários adicionais <ul><li>$ snmpusm –v 3 -u initial -n &quot;&quot; -x DES -l authNoPriv -a MD5 -A setup_passph...
Parâmetros <ul><li>snmpusm  – Comando para criar e manipular usuários </li></ul><ul><li>-v 3  – Versão do protocolo SNMP <...
Parâmetros <ul><li>-l authNoPriv  – Nível de segurança na autenticação; São três níveis: </li></ul><ul><li>noAuthNoPriv – ...
Parâmetros <ul><li>localhost  – Nome ou IP do Servidor </li></ul><ul><li>create user1 initial  – Criar usuário user1, clon...
Parâmetros <ul><li>snmpusm  – Comando para criar e manipular usuários </li></ul><ul><li>-v 3  – Versão do protocolo SNMP <...
Parâmetros <ul><li>-l authNoPriv  – Nível de segurança na autenticação; São três níveis: </li></ul><ul><li>noAuthNoPriv – ...
Parâmetros <ul><li>localhost  – Nome ou IP do Servidor </li></ul><ul><li>passwd  – Comando para alterar a senha </li></ul>...
snmpd.conf v3 básico <ul><li># /etc/snmp/snmpd.conf v3 básico </li></ul><ul><li># mantive o usuário com permissão de escri...
Acessando um Agente SNMP v3 <ul><li>$ snmpget -v 3 -u user3 -n &quot;&quot; -l authNoPriv -a MD5 -A senhateste3 -x DES loc...
snmpd.conf v3 com VACM devidamente configurado <ul><li># Definir as Views </li></ul><ul><li>#  nome  incl/excl  sub-árvore...
snmpd.conf v3 com VACM devidamente configurado (cont.) <ul><li># Atribuir Permissões aos grupos </li></ul><ul><li># grupo ...
Monitorando Recursos do Sistema <ul><li>Informações do Sistema </li></ul><ul><li>Processos </li></ul><ul><li>Uso de disco ...
Informações do Sistema <ul><li># local </li></ul><ul><li>syslocation Casa do Conrado </li></ul><ul><li># Contato </li></ul...
Monitoramento de Processos snmpd.conf.7 <ul><li>#  processo maximo minimo </li></ul><ul><li>proc  apache2 20 10 </li></ul>...
Monitoramento de uso de disco snmpd.conf.8 <ul><li># Ponto de Montagem Espaco/Porcentagem minima disponivel </li></ul><ul>...
Monitoramento de Carga do sistema  snmpd.conf.9 <ul><li># Carga nos últimos 1min 5min 15min </li></ul><ul><li>load 1 5 5 <...
Monitoramento de Carga do sistema (cont.) <ul><li>#.5.1 laLoadInt = INTEGER: 473 </li></ul><ul><li>#.5.2 laLoadInt = INTEG...
Monitoramento de Tamanho de arquivo <ul><li># Tamanho do arquivo </li></ul><ul><li># Caminho_do_arquivo tamanho_maximo (kB...
Monitorando utilizando um comando customizado <ul><li># Nome comando Parametros </li></ul><ul><li>exec Teste1 /bin/cat /et...
Monitorando utilizando um comando customizado (cont.) <ul><li># Caso seja especificado um OID, a saida difere um pouco: </...
Outros comandos snmp <ul><li>$ snmptable -v 3 -u initial -n &quot;&quot; -l authNoPriv -a MD5 -A setup_passphrase -x DES l...
Algumas Extensões ao SNMP <ul><li>RFC 1155  - Structure and Identification of Management Information for    TCP/IP based i...
Referências <ul><li>http://lrodrigo.lncc.br/~lrodrigo/wiki9/index.php/Configuracoes_Basicas_-_V1_e_V2c </li></ul><ul><li>h...
Referências <ul><li>http://www.net-snmp.org/wiki/index.php/TUT:SNMPv3_Options </li></ul><ul><li>http://www.webnms.com/agen...
Upcoming SlideShare
Loading in …5
×

Gerenciamento de Servidores Linux utilizando SNMP

21,225 views

Published on

Material de aula da disciplina de Gerência de Redes.
Esse material foi originalmente criado pelo Conrado, e depois alterado por mim, hoje chamamos de nossa apresentação de SNMP.
Material Introdutório sobre o Gerenciamento de Servidores Linux utilizando o protocolo SNMP.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
21,225
On SlideShare
0
From Embeds
0
Number of Embeds
9,792
Actions
Shares
0
Downloads
331
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Gerenciamento de Servidores Linux utilizando SNMP

  1. 1. Gerenciamento de Servidores Linux Utilizando SNMP
  2. 2. Versões SNMP <ul><li>SNMP v1 </li></ul><ul><li>SNMP v2 (v2c) </li></ul><ul><li>SNMP v3 </li></ul>
  3. 3. SNMP v1 <ul><li>Características e Operações Básicas </li></ul><ul><li>Get – Usado pelo NMS* para adquirir o valor de uma ou mais instâncias de um objeto de um agente </li></ul><ul><li>GetNext - Usado pelo NMS para adquirir o valor do próximo objeto em uma tabela ou lista </li></ul><ul><li>Set - Usado pelo NMS para atribuir um valor a um objeto no agente </li></ul><ul><li>* Network Management System </li></ul>
  4. 4. SNMP v2 <ul><li>Durante a “divergência” SNMPv2, foram definidos quatro variações: </li></ul><ul><li>O SNMPv2 original (SNMPv2p) - Com o &quot;p&quot; referindo-se a &quot; party-based &quot; security; </li></ul><ul><li>SNMPv2 baseado na comunidade (SNMPv2c); </li></ul><ul><li>SNMPv2 baseada no usuário (SNMPv2u); </li></ul><ul><li>“ SNMPv2 Estrela” (SNMPv2*) - Combina elementos de SNMPv2p e SNMPv2u. Isso nunca foi formalmente padronizado. (Sim, isso é um asterisco no nome). </li></ul>
  5. 5. SNMP v2 <ul><li>Destes, os três primeiros foram documentados em conjuntos de padrões SNMP RFC Standard , o quarto não foi. </li></ul><ul><li>A estrutura do formato de mensagem global para cada variante é discutido em um padrão administrativo ou de segurança para a variação em questão, que faz referência à norma SNMPv2 compartilhada para o formato de PDU (RFC 1905). </li></ul>
  6. 6. SNMP v2 (v2c) <ul><li>Características e Operações adicionais </li></ul><ul><li>Trap – Mensagem não solicitada, enviada por um agente para informar ao NMS sobre um evento significante </li></ul><ul><li>GetBulk – Usado pelo NMS para adquirir eficientemente grandes blocos de dados </li></ul><ul><li>Inform – Permite que um NMS envie traps para outro NMS e receba respostas desses traps </li></ul>
  7. 7. Configuração Básica de um Agente SNMP v1/v2c <ul><li># /etc/snmp/snmpd.conf v1/v2c básico </li></ul><ul><li># </li></ul><ul><li>rocommunity public </li></ul><ul><li>rwcommunity private </li></ul><ul><li>snmpd.conf.1 </li></ul>
  8. 8. Acessando um Agente SNMP v1/v2c <ul><li>$ snmpget -v 1 -c public localhost sysContact.0 </li></ul><ul><li>SNMPv2-MIB::sysContact.0 = STRING: root </li></ul><ul><li>$ snmpset -v 2c -c private localhost sysContact.0 s conrado </li></ul><ul><li>SNMPv2-MIB::sysContact.0 = STRING: conrado </li></ul><ul><li>$ snmpgetnext -v 1 -c public localhost sysContact.0 </li></ul><ul><li>SNMPv2-MIB::sysName.0 = STRING: debian </li></ul><ul><li>$ snmpwalk -v 2c -c public localhost system </li></ul><ul><li>SNMPv2-MIB::sysDescr.0 = STRING: Linux debian 2.6.18-4-k7 #1 SMP Mon Mar 26 17:57:15 UTC 2007 i686 </li></ul><ul><li>SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 </li></ul><ul><li>DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (206414) 0:34:24.14 </li></ul><ul><li>SNMPv2-MIB::sysContact.0 = STRING: root </li></ul><ul><li>SNMPv2-MIB::sysName.0 = STRING: debian </li></ul><ul><li>SNMPv2-MIB::sysLocation.0 = STRING: Unknown </li></ul><ul><li>... </li></ul>
  9. 9. Acessando um Agente SNMP v2c <ul><li>$ snmpbulkget -v 2c -c public localhost system </li></ul><ul><li>SNMPv2-MIB::sysDescr.0 = STRING: Linux debian 2.6.18-4-k7 #1 SMP Mon Mar 26 17:57:15 UTC 2007 i686 </li></ul><ul><li>SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 </li></ul><ul><li>DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (641964) 1:46:59.64 </li></ul><ul><li>SNMPv2-MIB::sysContact.0 = STRING: root </li></ul><ul><li>... </li></ul><ul><li>$ snmpbulkwalk -v 2c -c public localhost system </li></ul><ul><li>SNMPv2-MIB::sysDescr.0 = STRING: Linux debian 2.6.18-4-k7 #1 SMP Mon Mar 26 17:57:15 UTC 2007 i686 </li></ul><ul><li>SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 </li></ul><ul><li>DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (641964) 1:46:59.64 </li></ul><ul><li>SNMPv2-MIB::sysContact.0 = STRING: root </li></ul><ul><li>... </li></ul>
  10. 10. SNMP v3 <ul><li>Melhorias de Segurança </li></ul><ul><li>USM - User-based Security Model (Modelo de Segurança Baseada em Usuários) </li></ul><ul><li>VACM - View-based Access Control Model (Modelo de controle de acesso baseado em visões) </li></ul><ul><li>Configuração dinâmica de agentes SNMP utilizando comandos SNMP </li></ul>
  11. 11. USM <ul><li>Até o SNMPv2, controle baseado em communities (comunidades) </li></ul><ul><li>public, private, etc... </li></ul><ul><li>A partir do SNMPv3, os usuários e suas respectivas senhas devem ser cadastrados na base de dados SNMP, sendo que estes são guardados criptografados </li></ul>
  12. 12. VACM <ul><li>Os usuários são colocados em grupos </li></ul><ul><li>São criadas views, que representam partes da árvore SNMP (semelhantes às views dos bancos de dados) </li></ul><ul><li>Permissões são dadas para os grupos acessarem as views </li></ul>
  13. 13. Modelo de Permissões VACM
  14. 14. snmpd.conf compatível com v1 e v2c <ul><li># /etc/snmp/snmpd.conf compativel com v1 e v2c ( snmpd.conf.2) </li></ul><ul><li># </li></ul><ul><li># view name inc/excl tree mask </li></ul><ul><li>view all included .1 80 </li></ul><ul><li>#com2sec user source(IP,host...) community </li></ul><ul><li>com2sec readonly default public </li></ul><ul><li>com2sec readwrite default private </li></ul><ul><li>#group name v1/v2c/usm user </li></ul><ul><li>group compat v1 readonly </li></ul><ul><li>group compat v2c readonly </li></ul><ul><li>group compat1 v1 readwrite </li></ul><ul><li>group compat1 v2c readwrite </li></ul><ul><li>#access user context any/v1/v2c/usm level prefx read write notify </li></ul><ul><li>access compat &quot;&quot; any noauth exact all none none </li></ul><ul><li>access compat1 &quot;&quot; any noauth exact all all none </li></ul>
  15. 15. snmpd.conf compatível com v1 e v2c <ul><li>Configurando as Comunidades </li></ul><ul><li>O processo de associação entre as comunidades e os niveis de acesso é realizado através das linhas com2sec , que possui o seguinte formato: </li></ul><ul><li>com2sec &quot;security name&quot; origem_da_requisição community </li></ul><ul><li>O Campo origem_da_requisição indica a máquina que pode realizar a requisição e pode ser informado no formato ip/prefixo ou pode-se utilizar a palavra &quot;default&quot;, que indica qualquer origem. Por exemplo: </li></ul><ul><li>com2sec readonly default public </li></ul><ul><li>com2sec readwrite default private </li></ul>
  16. 16. snmpd.conf compatível com v1 e v2c <ul><li>O proximo passo é realizar a associação dos grupos de acessos à versão do protocolo snmp e a um &quot;security name&quot;, definindo acessos a informações diferentes dependendo da versão do protocolo utilizado. Estas linhas possuem o seguinte formato: </li></ul><ul><li>group grupo versão_do_protocolo “security_name” </li></ul><ul><li>Por exemplo: </li></ul><ul><li>group compat v1 readonly </li></ul><ul><li>group compat v2c readonly </li></ul><ul><li>group compat1 v1 readwrite </li></ul><ul><li>group compat1 v2c readwrite </li></ul>
  17. 17. snmpd.conf compatível com v1 e v2c <ul><li>A terceira seção a ser configurada são as &quot;views&quot; ou seja partes da árvore de OIDs, que poderão ser visualizadas. Por exemplo: </li></ul><ul><li># view name inc/excl tree mask </li></ul><ul><li>view all included .1 80 </li></ul><ul><li>Finalmente deve-se aplicar as permissões (visualizar/alterar) as views pelos grupos. A configuração padrão irá permitir que compat possa visualizar qualquer configuração. </li></ul><ul><li>Por Exemplo: </li></ul><ul><li>#access user context any/v1/v2c/usm level prefx read write notify </li></ul><ul><li>access compat &quot;&quot; any noauth exact all none none </li></ul><ul><li>access compat1 &quot;&quot; any noauth exact all all none </li></ul>
  18. 18. Parâmetros <ul><li>Context – Contexto ou Escopo: </li></ul><ul><li>É uma maneira de se criar filtros de acesso para determinadas situações, pode ser contexto em um dispositivo, contexto em um conjunto de dispositivos, etc. </li></ul><ul><li>Por exemplo: Ler as informações de espaço em disco de todos os meus dispositivos, ler as informações de tráfego de portas do switch1, ler as informações de tráfego de rede de entrada da porta 24 (... ifTable.ifEntry.ifInOctets.24 ) do switch 2. </li></ul><ul><li>Any/v1/v2c/usm – Versão do protocolo a ser usada: </li></ul><ul><li>any – Clientes com qualquer versão do protocolo SNMP </li></ul><ul><li>v1 – Apenas cliente com versão 1 do protocolo SNMP </li></ul><ul><li>v2c – Apenas cliente com versão 2 do protocolo SNMP </li></ul><ul><li>usm – Apenas cliente com versão 3 do protocolo SNMP </li></ul>
  19. 19. Parâmetros <ul><li>Level – Nível de segurança da autenticação: </li></ul><ul><li>noauth – Sem autenticação </li></ul><ul><li>auth – Com autenticação </li></ul><ul><li>priv – Autenticação com Criptografia </li></ul><ul><li>Prefx – Prefixo: </li></ul><ul><li>exact – A correspondência exata de prefixo e contexto </li></ul><ul><li>prefix – Apenas o prefixo </li></ul>
  20. 20. snmpd.conf v3 inicial <ul><li># /etc/snmp/snmpd.conf v3 inicial </li></ul><ul><li># </li></ul><ul><li># Declarando um usuário Inicial com </li></ul><ul><li># permissão de escrita </li></ul><ul><li>rwuser initial </li></ul><ul><li># Criando o usuário na base do snmp </li></ul><ul><li>#IMPORTANTE: Esta linha deve ser apagada </li></ul><ul><li># após a adição dos novos usuários </li></ul><ul><li>createUser initial MD5 setup_passphrase DES </li></ul><ul><li>snmpd.conf.3 </li></ul>
  21. 21. Criar os usuários adicionais <ul><li>$ snmpusm –v 3 -u initial -n &quot;&quot; -x DES -l authNoPriv -a MD5 -A setup_passphrase localhost create user1 initial </li></ul><ul><li>$ snmpusm -v 3 -u initial -n &quot;&quot; -x DES -l authNoPriv -a MD5 -A setup_passphrase localhost passwd setup_passphrase senhateste user1 </li></ul>
  22. 22. Parâmetros <ul><li>snmpusm – Comando para criar e manipular usuários </li></ul><ul><li>-v 3 – Versão do protocolo SNMP </li></ul><ul><li>-u initial – (-u User) initial, nome do usuário com permissão de escrita </li></ul><ul><li>-n “” – Contexto </li></ul><ul><li>-x DES – Tipo de criptografia usada na senha (DES ou AES) – protocolo usado na privacidade </li></ul>
  23. 23. Parâmetros <ul><li>-l authNoPriv – Nível de segurança na autenticação; São três níveis: </li></ul><ul><li>noAuthNoPriv – Sem autenticação e sem privacidade </li></ul><ul><li>authNoPriv – Com autenticação, sem privacidade </li></ul><ul><li>authPriv – Com autenticação e privacidade </li></ul><ul><li>“ For privacy, the Security Model defines what portion of the message is encrypted. “ – IEEE - rfc3411 </li></ul><ul><li>-a MD5 – Tipo de Hash utilizado na senha (MD5 ou SHA) </li></ul><ul><li>-A – A senha será “hasheada”, será criado um hash da senha </li></ul><ul><li>setup_passphrase - Senha do usuário initial (“setup_passphrase”), mínimo de 8 caracteres </li></ul>
  24. 24. Parâmetros <ul><li>localhost – Nome ou IP do Servidor </li></ul><ul><li>create user1 initial – Criar usuário user1, clonando de initial (inclusive ele clona a senha) </li></ul><ul><li>Outro exemplo: </li></ul><ul><li>$ snmpusm -v3 -u initial -n &quot;&quot; -l authNoPriv -x DES -X 123 -a MD5 -A 234 localhost create user1 initial </li></ul><ul><li>`-x DES -X 123 -a MD5 -A 234´ - Criptografia do tipo DES (-x), senha 123 criptografada com DES (-X), hash do tipo MD5 (-a), senha 234 “hasheada” com MD5 (-A). </li></ul>
  25. 25. Parâmetros <ul><li>snmpusm – Comando para criar e manipular usuários </li></ul><ul><li>-v 3 – Versão do protocolo SNMP </li></ul><ul><li>-u initial – (-u User) initial, nome do usuário com permissão de escrita </li></ul><ul><li>-n “” – Contexto </li></ul><ul><li>-x DES – Tipo de criptografia usada na senha (DES ou AES) – protocolo usado na privacidade </li></ul>
  26. 26. Parâmetros <ul><li>-l authNoPriv – Nível de segurança na autenticação; São três níveis: </li></ul><ul><li>noAuthNoPriv – Sem autenticação e sem privacidade </li></ul><ul><li>authNoPriv – Com autenticação, sem privacidade </li></ul><ul><li>authPriv – Com autenticação e privacidade </li></ul><ul><li>“ For privacy, the Security Model defines what portion of the message is encrypted. “ – IEEE - rfc3411 </li></ul><ul><li>-a MD5 – Tipo de Hash utilizado na senha (MD5 ou SHA) </li></ul><ul><li>-A – A senha será “hasheada”, será criado um hash da senha </li></ul><ul><li>setup_passphrase - Senha do usuário initial </li></ul>
  27. 27. Parâmetros <ul><li>localhost – Nome ou IP do Servidor </li></ul><ul><li>passwd – Comando para alterar a senha </li></ul><ul><li>setup_passphrase – Senha atual do usuário user1 </li></ul><ul><li>senhateste user1 – Nova senha (“senhateste”) para o usuário “user1” </li></ul>
  28. 28. snmpd.conf v3 básico <ul><li># /etc/snmp/snmpd.conf v3 básico </li></ul><ul><li># mantive o usuário com permissão de escrita </li></ul><ul><li>rwuser initial </li></ul><ul><li># Dei permissão de leitura aos 3 usuários </li></ul><ul><li># recém-criados. </li></ul><ul><li>rouser user1 </li></ul><ul><li>rouser user2 </li></ul><ul><li>rouser user3 </li></ul><ul><li>snmpd.conf.4 </li></ul>
  29. 29. Acessando um Agente SNMP v3 <ul><li>$ snmpget -v 3 -u user3 -n &quot;&quot; -l authNoPriv -a MD5 -A senhateste3 -x DES localhost sysContact.0 </li></ul><ul><li>SNMPv2-MIB::sysContact.0 = STRING: root </li></ul><ul><li>$ snmpset -v 3 -u initial -n &quot;&quot; -l authNoPriv -a MD5 -A setup_passphrase -x DES localhost sysContact.0 s Conrado </li></ul><ul><li>SNMPv2-MIB::sysContact.0 = STRING: Conrado </li></ul><ul><li>$ snmpgetnext -v 3 -u initial -n &quot;&quot; -l authNoPriv -a MD5 -A setup_passphrase -x DES localhost sysContact.0 </li></ul><ul><li>SNMPv2-MIB::sysName.0 = STRING: debian </li></ul>
  30. 30. snmpd.conf v3 com VACM devidamente configurado <ul><li># Definir as Views </li></ul><ul><li># nome incl/excl sub-árvore máscara </li></ul><ul><li>view all included .1 80 </li></ul><ul><li>view ip included .iso.org.dod.internet.mgmt.mib-2.ip </li></ul><ul><li># Agrupar os usuários </li></ul><ul><li># nome modelo_de_segurança usuário </li></ul><ul><li>group rogroup1 usm user1 </li></ul><ul><li>Group rogroup1 usm user2 </li></ul><ul><li>group rogroup2 usm user3 </li></ul><ul><li>group rwgroup usm initial </li></ul>
  31. 31. snmpd.conf v3 com VACM devidamente configurado (cont.) <ul><li># Atribuir Permissões aos grupos </li></ul><ul><li># grupo contexto mod_seg nível_seg coincidir ler alterar notificar </li></ul><ul><li>access rogroup2 “” any noauth exact ip none none </li></ul><ul><li>access rogroup1 “” any noauth exact all none none </li></ul><ul><li>access rwgroup “” any noauth exact all all none </li></ul><ul><li>snmpd.conf.5 </li></ul>
  32. 32. Monitorando Recursos do Sistema <ul><li>Informações do Sistema </li></ul><ul><li>Processos </li></ul><ul><li>Uso de disco </li></ul><ul><li>Carga do Sistema </li></ul><ul><li>Tamanho de Arquivos </li></ul><ul><li>Com Comandos customizados </li></ul>
  33. 33. Informações do Sistema <ul><li># local </li></ul><ul><li>syslocation Casa do Conrado </li></ul><ul><li># Contato </li></ul><ul><li>syscontact Conrado conradopinto@yahoo.com.br </li></ul><ul><li># Descricao </li></ul><ul><li>sysdescr Notebook do Conrado </li></ul><ul><li>snmpd.conf.6 </li></ul>
  34. 34. Monitoramento de Processos snmpd.conf.7 <ul><li># processo maximo minimo </li></ul><ul><li>proc apache2 20 10 </li></ul><ul><li>proc mountd </li></ul><ul><li># As saidas estarao abaixo do OID: .1.3.6.1.4.1.2021.2.1 (enterprises.ucdavis.prTable.prEntry ()) </li></ul><ul><li># Sendo suas saidas: </li></ul><ul><li>#.1.X prIndex = INTEGER: 1 </li></ul><ul><li>#.2.X prNames = STRING: “mountd” </li></ul><ul><li>#.3.X prMin = INTEGER: 0 </li></ul><ul><li>#.4.X prMax = INTEGER: 0 </li></ul><ul><li>#.5.X prCount = INTEGER: 0 </li></ul><ul><li>#.100.X prErrorFlag = INTEGER: 1 </li></ul><ul><li>#.101.X prErrMessage = STRING: “No mountd process running.” </li></ul><ul><li>#.102.X prErrFix = INTEGER: 0 </li></ul><ul><li>#.103.X prErrFixCmd = ?? </li></ul>
  35. 35. Monitoramento de uso de disco snmpd.conf.8 <ul><li># Ponto de Montagem Espaco/Porcentagem minima disponivel </li></ul><ul><li>disk /boot 90% </li></ul><ul><li>disk /home/conrado/videos 20480000 </li></ul><ul><li># As saidas estarao abaixo de: .1.3.6.1.4.1.2021.9.1 (enterprises.ucdavis.dskTable.dskEntry ()) </li></ul><ul><li># Sendo suas saidas: </li></ul><ul><li>#.1.X dskIndex = INTEGER: 1 </li></ul><ul><li>#.2.X dskPath = STRING: “/boot” </li></ul><ul><li>#.3.X dskDevice = STRING: “/dev/hda1” </li></ul><ul><li>#.4.X dskMinimum = INTEGER: -1 </li></ul><ul><li>#.5.X dskMinPercent = INTEGER: 90 </li></ul><ul><li>#.6.X dskTotal = INTEGER: 918322 </li></ul><ul><li>#.7.X dskAvail = INTEGER: 857335 </li></ul><ul><li>#.8.X dskUsed = INTEGER: 11991 </li></ul><ul><li>#.9.X dskPercent = INTEGER: 1 </li></ul><ul><li>#.10.X dskPercentNode = INTEGER: 0 </li></ul><ul><li>#.100.X dskErrorFlag = INTEGER: 0 </li></ul><ul><li>#.101.X dskErrorMsg = ?? </li></ul>
  36. 36. Monitoramento de Carga do sistema snmpd.conf.9 <ul><li># Carga nos últimos 1min 5min 15min </li></ul><ul><li>load 1 5 5 </li></ul><ul><li># As saidas estarao abaixo do OID: .1.3.6.1.4.1.2021.10.1 (enterprises.ucdavis.dskTable.dskEntry ()) </li></ul><ul><li># Sendo suas saidas: </li></ul><ul><li>#.1.1 laIndex = INTEGER: 1 </li></ul><ul><li>#.1.2 laIndex = INTEGER: 2 </li></ul><ul><li>#.1.3 laIndex = INTEGER: 3 </li></ul><ul><li>#.2.1 laNames = STRING: Load-1 </li></ul><ul><li>#.2.2 laNames = STRING: Load-5 </li></ul><ul><li>#.2.3 laNames = STRING: Load-15 </li></ul><ul><li>#.3.1 laLoad = STRING: 4.73 </li></ul><ul><li>#.3.2 laLoad = STRING: 4.73 </li></ul><ul><li>#.3.3 laLoad = STRING: 4.83 </li></ul><ul><li>#.4.1 laConfig = STRING: 1.00 </li></ul><ul><li>#.4.2 laConfig = STRING: 5.00 </li></ul><ul><li>#.4.3 laConfig = STRING: 5.00 </li></ul>
  37. 37. Monitoramento de Carga do sistema (cont.) <ul><li>#.5.1 laLoadInt = INTEGER: 473 </li></ul><ul><li>#.5.2 laLoadInt = INTEGER: 473 </li></ul><ul><li>#.5.3 laLoadInt = INTEGER: 483 </li></ul><ul><li>#.6.1 laLoadFloat = Opaque: Float: 4.730000 </li></ul><ul><li>#.6.2 laLoadFloat = Opaque: Float: 4.730000 </li></ul><ul><li>#.6.3 laLoadFloat = Opaque: Float: 4.830000 </li></ul><ul><li>#.100.1 laErrorFlag = INTEGER: 1 </li></ul><ul><li>#.100.2 laErrorFlag = INTEGER: 0 </li></ul><ul><li>#.100.3 laErrorFlag = INTEGER: 0 </li></ul><ul><li>#.101.1 laErrMessage = STRING: 1 min Load Average too high </li></ul><ul><li>(= 4.73) </li></ul><ul><li>#.101.2 laErrMessage = STRING: </li></ul><ul><li>#.101.3 laErrMessage = STRING: </li></ul>
  38. 38. Monitoramento de Tamanho de arquivo <ul><li># Tamanho do arquivo </li></ul><ul><li># Caminho_do_arquivo tamanho_maximo (kB) </li></ul><ul><li>file /etc/services 16 </li></ul><ul><li># As saidas estarao abaixo de: .1.3.6.1.4.1.2021.15.1 (enterprises.ucdavis.fileTable.fileEntry ()) </li></ul><ul><li># Sendo suas saidas: </li></ul><ul><li>#.1.X fileIndex = INTEGER: 1 </li></ul><ul><li>#.2.X fileName = STRING: /etc/services </li></ul><ul><li>#.3.X fileSize = INTEGER: 17 kB </li></ul><ul><li>#.4.X fileMax = INTEGER: 16 kB </li></ul><ul><li>#.100.X fileErrorFlag = INTEGER: true(1) </li></ul><ul><li>#.101.X fileErrorMsg = STRING: /etc/services: size exceeds 16kb (= 17kb) </li></ul><ul><li>snmpd.conf.10 </li></ul>
  39. 39. Monitorando utilizando um comando customizado <ul><li># Nome comando Parametros </li></ul><ul><li>exec Teste1 /bin/cat /etc/fstab </li></ul><ul><li># As saidas estarao abaixo de: .1.3.6.1.4.1.2021.8.1 (enterprises.ucdavis.extTable.extEntry ()) </li></ul><ul><li># Sendo suas saidas: </li></ul><ul><li>#.1.X extIndex = INTEGER: 1 </li></ul><ul><li>#.2.X extNames = STRING: Teste1 </li></ul><ul><li>#.3.X extCommand = STRING: /bin/cat /etc/fstab </li></ul><ul><li>#.100.X extResult = INTEGER: 0 </li></ul><ul><li>#.101.X extOutput = STRING: ... saída do comando ... </li></ul><ul><li>#.102.X extErrFix = INTEGER: 0 </li></ul><ul><li>#.103.X extErrFixCmd = STRING: </li></ul><ul><li>snmpd.conf.11 </li></ul>
  40. 40. Monitorando utilizando um comando customizado (cont.) <ul><li># Caso seja especificado um OID, a saida difere um pouco: </li></ul><ul><li># OID Nome comando Parametros </li></ul><ul><li>extend .1.1.1.1.1 Teste2 /bin/cat /etc/fstab </li></ul><ul><li># As saidas estarao abaixo do OID especificado, sendo: </li></ul><ul><li># .1.0 = INTEGER: 1 </li></ul><ul><li># .2.1.2.6.84.101.115.116.101.50 = STRING: &quot;/bin/cat&quot; </li></ul><ul><li># .2.1.3.6.84.101.115.116.101.50 = STRING: &quot;/etc/fstab&quot; </li></ul><ul><li># .2.1.4.6.84.101.115.116.101.50 = &quot;&quot; </li></ul><ul><li># .2.1.5.6.84.101.115.116.101.50 = INTEGER: 5 </li></ul><ul><li># .2.1.6.6.84.101.115.116.101.50 = INTEGER: 1 </li></ul><ul><li># .2.1.7.6.84.101.115.116.101.50 = INTEGER: 1 </li></ul><ul><li># .2.1.20.6.84.101.115.116.101.50 = INTEGER: 4 </li></ul><ul><li># .2.1.21.6.84.101.115.116.101.50 = INTEGER: 1 </li></ul><ul><li># .3.1.1.6.84.101.115.116.101.50 = STRING: &quot;# /etc/fstab: static file system information.&quot; </li></ul><ul><li>snmpd.conf.12 </li></ul>
  41. 41. Outros comandos snmp <ul><li>$ snmptable -v 3 -u initial -n &quot;&quot; -l authNoPriv -a MD5 -A setup_passphrase -x DES localhost sysORTable </li></ul><ul><li>$ snmptranslate -Of -IR sysDescr </li></ul><ul><li>.iso.org.dod.internet.mgmt.mib-2.system.sysDescr </li></ul><ul><li>$ snmptranslate -On -IR sysDescr </li></ul><ul><li>.1.3.6.1.2.1.1.1 </li></ul>
  42. 42. Algumas Extensões ao SNMP <ul><li>RFC 1155 - Structure and Identification of Management Information for TCP/IP based internets </li></ul><ul><li>RFC 1156 - Management Information Base Network </li></ul><ul><li>RFC 1441 - Introduction to SNMP v2  </li></ul><ul><li>RFC 2579 - Textual Conventions for SNMP v2 </li></ul><ul><li>RFC 2580 - Conformance Statements for SNMP v2  </li></ul><ul><li>RFC 2578 - Structure of Management Information for SNMP v2 </li></ul><ul><li>RFC 3416 - Protocol Operations for SNMP v2 </li></ul><ul><li>RFC 3417 - Transport Mappings for SNMP v2 </li></ul><ul><li>RFC 3418 - Management Information Base for SNMP v2 </li></ul><ul><li>RFC 3410 - Introduction and Applicability Statements for Internet Standard Management Framework </li></ul><ul><li>RFC 3411 - Architecture for Describing SNMP Frameworks </li></ul><ul><li>RFC 3412 - Message Processing and Dispatching for the SNMP </li></ul><ul><li>RFC 3413 - SNMP Applications </li></ul><ul><li>RFC 3414 - User-based Security Model (USM) for SNMP v3 </li></ul><ul><li>RFC 3415 - View-based Access Control Model for the SNMP </li></ul><ul><li>RFC 3584 - Coexistence between SNMP v1, v2 and v3 </li></ul>
  43. 43. Referências <ul><li>http://lrodrigo.lncc.br/~lrodrigo/wiki9/index.php/Configuracoes_Basicas_-_V1_e_V2c </li></ul><ul><li>http://net-snmp.sourceforge.net/wiki/index.php/Vacm </li></ul><ul><li>http://www.ietf.org/rfc/rfc3411.txt </li></ul><ul><li>http://www.ietf.org/rfc/rfc3415.txt </li></ul><ul><li>http://www.net-snmp.org/docs/man/snmpusm.html </li></ul><ul><li>http://www.net-snmp.org/docs/man/snmpd.conf.html </li></ul><ul><li>http://www.net-snmp.org/docs/man/snmpd.conf.html#lbAH </li></ul><ul><li>http://www.net-snmp.org/docs/man/snmpd.conf.html#lbAI </li></ul><ul><li>http://www.webnms.com/simulator/help/sim_network/netsim_conf_snmpv3.html </li></ul><ul><li>http://net-snmp.sourceforge.net/wiki/index.php/Vacm </li></ul><ul><li>http://docstore.mik.ua/orelly/networking_2ndEd/snmp/appf_02.htm </li></ul>
  44. 44. Referências <ul><li>http://www.net-snmp.org/wiki/index.php/TUT:SNMPv3_Options </li></ul><ul><li>http://www.webnms.com/agenttester/help/snmptester/sat_v3_security_testing.html </li></ul><ul><li>http://tcpipguide.com/free/t_SNMPVersion2SNMPv2MessageFormats.htm </li></ul><ul><li>http://www.tcpipguide.com/free/t_TCPIPInternetStandardManagementFrameworkandSNMPVer-3.htm </li></ul><ul><li>Palestra: Gerenciamento de Servidores Linux Utilizando SNMP – Conrado Pinto: </li></ul><ul><li>http://www.box.net/shared/fu0ynqfckz </li></ul>

×