snmpd.conf# chmod 600 snmpd.confAgora, abra o arquivo em um editor qualquer para adicionar nossa primeira Community String:rocommunity publicoSalve o arquivo e reinicie o servico com o comando service snmpd restart.Para testar, podemos rodar o comando snmpwalk, que percorrera toda a MIB, mostrando as OIDs encontradas:snmpwalk -c publico -v 1 [ip.do.servidor]Ao executar este comando, voce vera uma quantidade enorme de informacao relacionada ao servidor. Na maioria dos casos, voce nao vai querer que todas estas informacoes estejam disponiveis para todos os usuarios. Em vista disso, vamos comecar a tratar um pouco mais sobre seguranca.Seguranca Basica com SNMPA maioria dos dispositivos que suportam SNMP nao encriptam a string comunitaria. Isso abre um leque de possibilidades de acesso de qualquer maquina que possa alcancar o servidor via rede. Informacoes contidas nas MIBs dao bastantes detalhes da estrutura interna da rede, do funcionamento do servidor ou equipamento que esta rodando o agente. Entao, por questoes de seguranca, devemos limitar o acesso a essa informacao.O arquivo snmpd.conf possui varios dispositivos de seguranca para permitir que somente conexoes confiaveis possam fazer requisicoes ao agente. Estes comandos sao:com2sec - define quais redes podem fazer requisicoes e seta a string comunitaria correspondente;group - define o protocolo que sera usado para cada rede criada anteriormente;view - define quais MIBs estarao visiveis paraaccess - define quais as formas de acesso as mibs, permitindo somente a leitura ou a escrita de informacoes, de acordo com o grupo.Como exemplo, olhe o seguinte codigo:## sec.name source community## ======== ====== =========com2sec local localhost privadocom2sec rede1 172.16.0.0/24 rede1com2sec rede2 192.168.0.0/24 redeadm## Access.group.name sec.model sec.name## ================= ========= ========group grupo1 v1 localgroup grupo1 v1 rede1group grupo2 v2c rede2## MIB.view.name incl/excl MIB.subtree ## ============== ========= =========== view todas-mibs included .1.3.6.1.2.1## MIB## group.name context sec.model sec.level prefix read write notif## ========== ======= ========= ========= ====== ==== ===== =====access grupo1 "" v1 noauth exact todas-mibs none noneaccess grupo2 "" v2c noauth exact todas-mibs todas-mibs noneNeste arquivo, estamos definindo o seguinte:A maquina local usara a string comunitaria privado, esta ligado ao grupo 1 que permite acessar as mibs definidas na view todas-mibs com o protocolo SNMPv1 e nao permite escrita de nenhum dado;A rede 172.16.0.0/24, de nome rede1 usara a string comunitaria rede1, esta tambem ligada ao grupo 1 com as mesmas configuracoes acima;A rede 192.168.0.0/24, de nome rede2 usara a string redeadm, esta ligada ao grupo 2, que usa o protocolo SNMPv2c e que pode ler e escrever em todas as MIBs relacionada na view todas-mibs.Este e o mecanismo de seguranca existente para a versao 2c do protocolo SNMP.SNMP na versao 3A versao 3 do protocolo SNMP e uma alternativa mais segura as versoes anteriores do protocolo, na medida que este permite o uso de encriptacao de dados baseado em usuario / senha criados no arquivo snmpd.conf, para autenticacao.Para criarmos um usuario, vamos usar o comando net-snmp-config:net-snmp-config --create-snmpv3-user -ro -a MD5 -A suasenha usuariov3 -V todas-mibsAqui definimos um usuario que possui somente permissoes de leitura chamado "usuariov3", que utiliza a senha "suasenha" e definimos para o usuario qual view ele devera usar.Atente para a saida do comando:adding the following line to /var/lib/snmp/snmpd.conf:createUser