38
por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores I Prof.: Otto Carlos Muniz Bandeira Duarte Primeiro semestre de 2011

Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

Embed Size (px)

Citation preview

Page 1: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

por

Igor Drummond AlvarengaBruno Lange Ramos

Universidade Federal do Rio de JaneiroDepartamento de Engenharia EletrônicaEEL878 – Redes de Computadores IProf.: Otto Carlos Muniz Bandeira DuartePrimeiro semestre de 2011

Engenharia de Computação e Informação Engenharia de Controle e Automação

Page 2: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Introdução• Gerência de redes

• O Protocolo• Segurança• Principais ameaças• Versões do protocolo• Diagrama do protocolo SNMPv3• USM• VACM

• Conclusão• Referências• Questões propostas

Page 3: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 4: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Parte integrante do conjunto de protocolos TCP/IP;

• Tem como finalidade o gerenciamento de dispositivos em uma rede IP;

• Suas principais funcionalidades são:• monitoramento;• configuração remota;• resposta automatizada a incidentes.

Page 5: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Modelo FCAPS (Fault, Configuration, Accounting, Performance and Security Management), estabelecido pela ISO;• gerenciamento de falhas;• gerenciamento de configuração;• gerenciamento de contabilidade;• gerenciamento de desempenho;• gerenciamento de segurança.

• O Simple Network Management Protocol surge como ferramenta para o auxílio na implementação deste modelo.

Page 6: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 7: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Arquitetura:•dispositivos gerenciados;•agentes;•gerentes.

• Definições:•ASN – Abstract Syntax Notation;•SMI – Structure;•MIB – Management Information Base.

Page 8: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 9: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• GetRequest;• SetRequest;• GetNextRequest;• GetBulkRequest;• Response;• Trap;• InformRequest.

Page 10: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 11: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 12: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 13: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Disfarces;• Modificação de mensagens;• Modificação do fluxo de mensagens;• Negação de serviço;• Vazamento de informação;• Análise de tráfego.

Page 14: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Autenticação: nomes de comunidade;• Cada agente possuí seu próprio conjunto de comunidades;• Os nomes de comunidade não são atrelados a entidades;

• Mensagens UDP sem nenhum tipo de privacidade.

• Qualquer um que conheça o nome correto de comunidade poderá enviar um comando SNMP válido para um agente.

• Qualquer estação que capture o tráfego da rede tem acesso a todos os nomes de comunidades que nela trafeguem.

Page 15: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Foco inicial em aprimoramento de segurança;• Bifurcação e incompatibilidade;• SNMPv2 party-based;• SNMPv2u;• SNMPv2*;

• Comprometimento e criação do SNMPv2c;

• Nada foi mudado em termos de segurança.

Page 16: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Foco na melhoria da segurança;• Oferece proteção às principais ameaças,

garantindo:• autenticação;• confidencialidade;• integridade;• controle de acesso.

• Encapsulamento de um PDU do SNMPv1 ou SNMPv2c em uma mensagem SNMPv3;

• Modelo de segurança baseado em usuário (USM);• Modelo de controle de acesso baseado em visões

(VACM).

Page 17: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 18: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• A USM requer que o campo msgSecurityParameters esteja preenchido com os dados do agente;

• A descoberta se dá em duas etapas:• descoberta da snmpEngineID do agente;• descoberta de snmpEngineBoots e snmpEngineTime.

Page 19: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Módulo de temporização (timeliness):• parte do processo de autenticação;• ocorre imediatamente após a autenticação do pacote

recebido.• Campo snmpEngineBoots incorreto: pacote descartado;• Campo snmpEngineTime difere em mais 150 segundos:

pacote descartado;• Em caso de sucesso, o pacote é considerado temporizado.

Page 20: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Enviando um pacote autenticado:• o pacote é criado;• o bit sinalizador de autenticação é ativado;• a função resumo é computada pelo pacote utilizando a

authKey para o usuário especificado em msgUserName;• o resultado computado pela função resumo é inserido no

campo msgAuthenticationParameters;• O pacote é enviado.

Page 21: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Enviando um pacote encriptado:• o pacote é criado;• os bits sinalizadores de autenticação e encriptação são

ativados;• um valor aleatório para o salt é computado;• o campo scopedPDU é encriptado com a privKey do

usuário especificado em msgUserName e o salt;• O salt é inserido no campo msgPrivacyParameters;• O pacote é autenticado;• O pacote é enviado.

Page 22: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Autenticação: • Keyed Hashing for Message Authentication (HMAC);• + Message Digest 5 (MD5) → HMAC-MD5-96;• + Secure Hash Algorithm 1 (SHA-1) → HMAC-SHA-96.

• Confidencialidade:• Cipher Block Chaining mode to the Data Encryption

Standard (CBC-DES).

Page 23: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 24: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 25: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Flexibilidade de implementação;• Aceitação;• Variedade de implementações proprietárias e de

código aberto no mercado.• Preocupações: • Gerenciamento complexo de chaves.• Escalabilidade.

• Direções futuras:• Transport Layer Security (TLS).

Page 26: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 27: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• [1] A Brief Tour of the Simple Network Management Protocol. CERT Coordination Center, Carnegie Mellon University, 2002.

• [2] MAURO, D. R.; SCHMIDT, K. J. Essential SNMP. Segunda Edição. Sebastopol, CA, Estados Unidos da America: O'Reilly Media, Inc., 2005. 460 p. ISBN 0-596-00840-6.

• [3] MILLER, M. A. Managing Internetworks with SNMP v2. Estados Unidos da América: M & T Books, Inc., 1997. 704p. ISBN: 1558515615.

• [4] SNMPv3 Handbook. CISCO, 2007.• [5] SNMPv3 vs. v1 and v2c. Ubizen AETHIS,

SNMP Research International, 2002.

Page 28: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• SNMP v1• RFC 1155 — Structure and Identification of Management

Information for the TCP/IP-based Internets;• RFC 1156 — Management Information Base for Network

Management of TCP/IP-based internets;• RFC 1157 — A Simple Network Management Protocol

(SNMP);• RFC 1213 — Management Information Base for Network

Management of TCP/IP-based internets: MIB-II.

Page 29: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• SNMP v2• RFC 1441 — Introduction to version 2 of the Internet-standard Network Management

Framework;• RFC 1445— Administrative Model  for version 2 of the Simple Network Management

Protocol (SNMPv2);• RFC 1446 — Security Protocols for version 2 of the Simple Network Management Protocol

(SNMPv2);• RFC 1447 — Party MIB for version 2 of the Simple Network Management Protocol (SNMPv2);• RFC 1451 — Manager-to-Manager Management Information Base;• RFC 1901 — Introduction to Community-based SNMPv2;• RFC 1905 — Protocol Operations for version 2 of the Simple Network Management Protocol

(SNMPv2);• RFC 1906 — Transport Mappings for version 2 of the Simple Network Management Protocol

(SNMPv2);• RFC 1907 — Management Information Base for version 2 of the Simple Network

Management Protocol (SNMPv2);• RFC 1908 — Coexistence between version 1 and version 2 of the Internet-standard Network

Management Framework;• RFC 1909 — An Administrative Infrastructure for SNMPv2;• RFC 1910 — User-based Security Model for SNMPv2;• RFC 2089 — V2ToV1 Mapping SNMPv2 onto SNMPv1 within a bi-lingual SNMP agent;• RFC 2578 — Structure of Management Information Version 2 (SMIv2);• RFC 2579 — Textual Conventions for SMIv2;• RFC 2580 — Conformance Statements for SMIv2.

Page 30: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• SNMP v3• RFC 3410 — Introduction and Applicability Statements for Internet

Standard Management Framework;• RFC 3411 — An Architecture for Describing Simple Network Management

Protocol (SNMP) Management Frameworks;• RFC 3412 — Message Processing and Dispatching for the Simple Network

Management Protocol (SNMP);• RFC 3413 — Simple Network Management Protocol (SNMP) Application;• RFC 3414 — User-based Security Model (USM) for version 3 of the Simple

Network Management Protocol (SNMPv3);• RFC 3415 — View-based Access Control Model (VACM) for the Simple

Network Management Protocol (SNMP);• RFC 3416 — Version 2 of the Protocol Operations for the Simple Network

Management Protocol (SNMP);• RFC 3417 — Transport Mappings for the Simple Network Management

Protocol (SNMP);• RFC 3418 — Management Information Base (MIB) for the Simple Network

Management Protocol (SNMP);• RFC 3419 — Textual Conventions for Transport Addresses.

Page 31: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• SNMP v3• RFC 3430 — Simple Network Management Protocol (SNMP) over

Transmission Control Protocol (TCP) Transport Mapping;• RFC 3584 — Coexistence between Version 1, Version 2, and Version 3 of

the Internet-standard Network Management Framework;• RFC 3826 — The Advanced Encryption Standard (AES) Cipher Algorithm in

the SNMP User-based Security Model;• RFC 4789 — Simple Network Management Protocol (SNMP) over IEEE 802

Networks;• RFC 5343 — Simple Network Management Protocol (SNMP) Context

EngineID Discovery;• RFC 5590 — Transport Subsystem for the Simple Network Management

Protocol (SNMP);• RFC 5591 — Transport Security Model for the Simple Network Management

Protocol (SNMP);• RFC 5592 — Secure Shell Transport Model for the Simple Network

Management Protocol (SNMP);• RFC 5608 — Remote Authentication Dial-In User Service (RADIUS) Usage

for Simple Network Management Protocol (SNMP) Transport Models;• RFC 5953 — Transport Layer Security (TLS) Transport Model for the Simple

Network Management Protocol (SNMP).

Page 32: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores
Page 33: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• 1) Quais são os três componentes fundamentais de uma rede gerenciada pelo SNMPv3?

• 2) O que é uma MIB? Que tipo de informação pode ser associada a uma MIB?

• 3) O que torna o mecanismo de autenticação do SNMPv1 e SNMPv2c extremamente frágil?

• 4) Por que o SNMPv3 não pode oferecer privacidade sem autenticação?

• 5) Quais as condições necessárias para que um agente envie uma mensagem não solicitada a uma NMS?

Page 34: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Os principais componentes de uma rede gerenciada pelo SNMP são:• Agentes;• Sistemas gerenciados;• Estações de gerenciamento de redes (NMS).

Page 35: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• A MIB é essencialmente um banco de dados onde estão relacionadas e organizadas as variáveis de estado gerenciáveis pelo protocolo SNMP para um dado agente.

• Qualquer tipo de informação disponível no sistema gerenciado e acessível a um agente pode ser associada a uma MIB.

Page 36: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• A maior fragilidade do mecanismo de autenticação das versões históricas do SNMP reside no fato de que qualquer um que conheça o nome de comunidade com os privilégios adequados pode enviar um comando do SNMP pela rede. A situação é agravada pelo fato destes nomes transitarem em texto simples pela rede, dentro de pacotes UDP.

Page 37: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Não existe um modo noAuthPriv (sem autenticação, porém com privacidade) no uso do protocolo SNMPv3, pois a autenticação é necessária para garantia dos parâmetros de privacidade.

Page 38: Por Igor Drummond Alvarenga Bruno Lange Ramos Universidade Federal do Rio de Janeiro Departamento de Engenharia Eletrônica EEL878 – Redes de Computadores

• Estarem definidas as condições de ativação de uma TRAP no agente, e estas condições serem atendidas em dado momento. Isto ocasionará uma mensagem assíncrona do agente para a NMS, sem que esta tenha solicitado nenhuma informação previamente.