• Nenhum resultado encontrado

Atividade Prática 05 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

N/A
N/A
Protected

Academic year: 2021

Share "Atividade Prática 05 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3"

Copied!
8
0
0

Texto

(1)

Atividade Prática 05

Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

1. Configuração inicial de um Agente exclusivamente v3 com

Autenticação e Privacidade

Veremos como criar um usuário SNMP v3 com o nível máximo de segurança. Se

o seu ambiente permite a configuração exclusiva da versão 3, não tem porque não

aproveitar ao máximo os recursos oferecidos por ela.

1.1. Criando o usuário inicial com permissão de escrita

Abra o arquivo /etc/snmp/snmpd.conf:

# vim /etc/snmp/snmpd.conf

Altere o snmpd.conf conforme abaixo:

# /etc/snmp/snmpd.conf v3 inicial com autenticação e privacidade (snmpd.conf.07)

#

# Declarando um usuário Inicial com permissão de escrita rwuser initial

# Criando o usuário na base do snmp

#IMPORTANTE: Esta linha deve ser apagada após a adição dos novos #usuários

createUser initial MD5 setup_passphrase DES setup_passkey

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

1.2. Criando os usuários adicionais

Vamos agora criar os usuários

user1

,

user2

e

user3

. Para isso, execute os

comandos abaixo no terminal e verifique suas respectivas respostas:

Criando user1:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost create user1 initial

User successfully created.

Criando user2:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost create user2 initial

(2)

Criando user3:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost create user3 initial

User successfully created.

1.2.1. Entendendo os parâmetros:

• snmpusm: Comando para criar e manipular usuários;

• -v 3: Versão do protocolo SNMP;

• -u initial: -u (User) initial, nome do usuário com permissão de escrita;

• -n "": Contexto;

• -x DES: Tipo de criptografia usada na senha (DES ou AES) – protocolo

usado na privacidade;

• -X setup_passkey: Chave criptográfica;

• -l authPriv: Nível de segurança na autenticação; são três níveis:

o noAuthNoPriv: Sem autenticação e sem

privacidade;

o authNoPriv: Com autenticação, sem privacidade;

o authPriv: Com autenticação e privacidade.

“For privacy, the Security Model defines what portion of the message is encrypted.” – IEEE - rfc3411

• -a MD5: Tipo de Hash utilizado na senha (MD5 ou SHA);

• -A: A senha será “hasheada”; será criado um hash da senha;

• setup_passphrase: Senha do usuário initial;

• localhost: Nome DNS ou IP do Servidor;

• create user1 initial: Criar o usuário “user1”; clonando de “initial”, clona

inclusive a senha.

1.3. Alterando a senha dos usuários

Para modificar as senhas de acesso dos usuários recém-criados, execute os

comandos abaixo no terminal e verifique suas respectivas respostas:

Alterando a senha de user1:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Ca passwd setup_passphrase

senhateste user1

SNMPv3 Key(s) successfully changed.

Alterando a senha de user2:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Ca passwd setup_passphrase

senhateste2 user2

(3)

Alterando a senha de user3:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Ca passwd setup_passphrase

senhateste3 user3

SNMPv3 Key(s) successfully changed.

1.3.1. Entendendo os parâmetros:

• -Ca: Alterar a chave de autenticação;

• passwd: Comando para alterar a senha;

• setup_passphrase: Senha atual do usuário “user1”;

• senhateste user1: Nova senha para o usuário “user1”, com mínimo de 8

caracteres.

1.4. Alterando a chave dos usuários

Também é possível modificar as chaves criptográficas de cada usuário, para

isso, execute os comandos abaixo no terminal e verifique suas respectivas

respostas:

Alterando a chave de user1:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Cx passwd setup_passkey senha_key user1

SNMPv3 Key(s) successfully changed.

Alterando a chave de user2:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Cx passwd setup_passkey senha_key2 user2

SNMPv3 Key(s) successfully changed.

Alterando a chave de user3:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Cx passwd setup_passkey senha_key3 user3

SNMPv3 Key(s) successfully changed.

1.4.1. Entendendo os parâmetros:

• -Cx: Alterar a chave de privacidade;

• passwd: Comando para alterar a senha;

• setup_passkey: Chave atual do usuário “user1”;

• senha_key user1: Nova chave para o usuário “user1”, com mínimo de 8

caracteres.

(4)

1.5. snmpd.conf v3 básico:

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 básico com autenticação e privacidade (snmpd.conf.08)

#

# mantendo o usuário initial com permissão de escrita rwuser initial

# Dando permissão de leitura aos 3 usuários # recém-criados.

rouser user1 rouser user2 rouser user3

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

1.6. Acessando um Agente SNMP v3:

Acessando sysContact.0 com o usuário user1:

# snmpget -v 3 -u user1 -n "" -x DES -X senha_key -l authPriv -a MD5 -A senhateste localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: Curso

Alterando sysContact.0 com o usuário initial:

# snmpset -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost sysContact.0 s "Aluno"

SNMPv2-MIB::sysContact.0 = STRING: Aluno

Lendo o próximo valor de sysContact.0 com o usuário user3:

# snmpgetnext -v 3 -u user3 -n "" -x DES -X senha_key3 -l authPriv -a MD5 -A senhateste3 localhost sysContact.0

SNMPv2-MIB::sysName.0 = STRING: aulas

Acessando um bloco de dados com o usuário user2:

# snmpbulkget -v 3 -u user2 -n "" -x DES -X senha_key2 -l authPriv -a MD5 -A senhateste2 localhost system

(5)

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas

2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 SNMPv2-MIB::sysObjectID.0 = OID:

NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19793) 0:03:17.93

SNMPv2-MIB::sysContact.0 = STRING: Aluno SNMPv2-MIB::sysName.0 = STRING: aulas

SNMPv2-MIB::sysLocation.0 = STRING: Unknown

SNMPv2-MIB::sysORLastChange.0 = Timeticks: (19) 0:00:00.19 SNMPv2-MIB::sysORID.1 = OID:

SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1

SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance

SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance

1.7. snmpd.conf v3 com VACM

Desta vez iremos utilizar o modelo VACM devidamente configurado com

autenticação e privacidade, para isso, abra novamente o arquivo

/etc/snmp/snmpd.conf:

# vim /etc/snmp/snmpd.conf

Agora altere o snmpd.conf conforme abaixo:

# /etc/snmp/snmpd.conf v3 devidamente configurado com autenticação e privacidade (snmpd.conf.09)

#

# Definindo as Views

# view nome incl/excl. sub-árvore máscara View all included .1 80

view ip included iso.org.dod.internet.mgmt.mib-2.ip # Agrupando os usuários

#group nome modelo_de_segurança usuário group rogroup1 usm user1 group rogroup1 usm user2 group rogroup2 usm user3 group rwgroup usm initial # Atribuindo Permissões aos grupos

#access grupo contexto mod_seg nível_seg coincidir ler alterar notificar access rogroup2 “” any noauth exact ip none none access rogroup1 “” any noauth exact all none none access rwgroup “” any noauth exact all all none

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

(6)

1.7.1. Acessando um Agent SNMP v3:

Agora, vamos consultar as informações dos agentes configurados. Para

começar, vamos tentar ler a informação sysContact.0 através do usuário user3,

para isso, escreva a linha abaixo no terminal:

# snmpget v 3 u user3 n "" x DES X senha_key3 l authPriv a MD5 -A senhateste3 localhost sysContact.0

Se você digitou o comando acima corretamente, deve ter se deparado com o

seguinte erro:

SNMPv2-MIB::sysContact.0 = No Such Object available on this agent at this OID

Por que será que esse erro acontece? Esse erro ocorre porque o usuário user3

faz parte do grupo rogroup2, cuja única permissão é ler a view ip, que disponibiliza o

galho .iso.org.dod.internet.mgmt.mib-2.ip, no qual não existe a informação

sysContact.0 (abra o snmpd.conf e confira!).

Vamos então ler a informação sysContact.0 utilizando o usuário user2, será que

é possível? Vamos tentar:

# snmpget v 3 u user2 n "" x DES X senha_key2 l authPriv a MD5 -A senhateste2 localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: Aluno

O usuário user2 faz parte do grupo rogroup1, cuja permissão é de leitura na view

all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode ler a informação

sysContact.0.

Agora vamos tentar modificar sysLocation.0 com user2:

# snmpset v 3 u user2 n "" x DES X senha_key2 l authPriv a MD5 -A senhateste2 localhost sysLocation.0 s Curso

Error in packet. Reason: noAccess

Failed object: SNMPv2-MIB::sysLocation.0

Esse erro ocorre porque o user2 não possui privilégios de escrita na view all.

O próximo passo é tentar alterar sysLocation.0 com o usuário initial. Será que é

possível? Vamos ver:

# snmpset -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost sysLocation.0 s Curso

(7)

Conforme pode ser observado no arquivo snmpd.conf, o usuário initial faz parte

do grupo rwgroup, cuja permissão é de leitura e escrita na view all, que disponibiliza a

raiz inteira da MIB (.1). Logo, ele pode alterar a informação sysLocation.0.

# snmpbulkwalk -v 3 -u user3 -n "" -x DES -X senha_key3 -l authPriv -a MD5 -A senhateste3 localhost

IP-MIB::ipForwarding.0 = INTEGER: notForwarding(2) IP-MIB::ipDefaultTTL.0 = INTEGER: 64

IP-MIB::ipInReceives.0 = Counter32: 6946 IP-MIB::ipInHdrErrors.0 = Counter32: 0 MIB::ipInAddrErrors.0 = Counter32: 7 IP-MIB::ipForwDatagrams.0 = Counter32: 0 ... IP-MIB::ipDefaultRouterLifetime.ipv4."192.168.1.1".2 = Gauge32: 4294967295 seconds IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = INTEGER: medium(0) IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = No more variables left in this MIB View (It is past the end of the MIB tree)

O usuário user3 faz parte do grupo rogroup2, cuja única permissão é ler a view

ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip, e por isso todas as

informações apresentadas são da MIB “IP-MIB”.

Um detalhe deve ser observado, como no arquivo de configuração está setado

o nível (mínimo) de segurança na autenticação como

noauth, o host vai continuar respondendo esse tipo de solicitação:

# snmpget -v 3 -u user2 -n "" -x DES -l authNoPriv -a MD5 -A senhateste2 localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: Aluno

1.8. snmpd.conf v3 com VACM devidamente configurado e nível de

segurança authPriv:

(8)

# /etc/snmp/snmpd.conf v3 devidamente configurado com autenticacao e privacidade (snmpd.conf.10)

#

# Definir as Views

#view nome incl/excl. sub-Arvore mascara view all included .1 80

view ip included .iso.org.dod.internet.mgmt.mib-2.ip

# Agrupar os usuarios

#group nome modelo_de_seguranca usuario group rogroup1 usm user1 group rogroup1 usm user2 group rogroup2 usm user3 group rwgroup usm initial # Atribuir Permissoes aos grupos

#access grupo contexto mod_seg nivel_seg coincidir ler alterar notificar access rogroup2 "" any authPriv exact ip none none access rogroup1 "" any authPriv exact all none none access rwgroup "" any authPriv

exact all all none

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

1.8.1. Acessando um Agent SNMP v3

Execute a linha abaixo:

# snmpget -v 3 -u user2 -n "" -x DES -l authNoPriv -a MD5 -A senhateste2 localhost sysContact.0

Error in packet

Reason: authorizationError (access denied to that object)

Você sabe o que aconteceu? Ora, o host não responde mais a requisições do tipo

authNoPriv (ou seja, com autenticação e sem privacidade), pois de acordo com

o que está no snmpd.conf, todos os grupos de acesso estão configurados com o

nível de segurança authPriv (com autenticação e privacidade).

# snmpget v 3 u user2 n "" x DES X senha_key2 l authPriv a MD5 -A senhateste2 localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: Aluno

Mas, responde as requisições do tipo authPriv normalmente, atingindo assim o

nível máximo de segurança do SNMP v3.

Referências

Documentos relacionados

Firmanzah., PhD, da Paramadina University foi fundamental para garantir o apoio de alto nível para a assinatura da Declaração Conjunta de Líderes Religiosos contra a

Um dos aspectos fundamentais para o entendimento da nova teoria foi colocado por Goldratt (1992), que afirmou que a TOC não aceita a definição de custo fixo do produto

influenciar o aparecimento de uma imagem no outro olho: os sinais de uma imagem invisível podem viajar no cérebro pelo menos até ao ponto onde os sinais dos dois olhos

Maria Silene Vieira Wanderley  Maria Silene Vieira Wanderley 18/01/2017 17:27

[r]

2.- Mecanismo avaliación e modificación de programación didáctica Escala (Indicadores de logro) 1 2 3 4 1.- Deseñáronse unidades didácticas ou temas a partir

O estudo avaliou o grau de correlação entre a nota atribuída pelos sujeitos universitários a quão bem esses sinais representam seu signi- ficado (notas essas que expressam o grau de

Millard e Grant (2006) procuraram compreender como os estereótipos da imagem feminina comunicam diferentes significados quando são reproduzidos por mulheres negras e