380 likes | 483 Views
Simple Network Management Protocol. 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
E N D
Simple Network Management Protocol 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 Engenharia de Computação e Informação Engenharia de Controle e Automação
Sumário • 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
Simple Network Management Protocol • 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.
Gerência de Redes • 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.
Fundamentos • Arquitetura: • dispositivos gerenciados; • agentes; • gerentes. • Definições: • ASN – Abstract Syntax Notation; • SMI – Structure; • MIB – Management Information Base.
Comandos • GetRequest; • SetRequest; • GetNextRequest; • GetBulkRequest; • Response; • Trap; • InformRequest.
Segurança – Principais Ameaças • 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.
Segurança – SNMPv1 • 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.
Segurança – SNMPv2 • 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.
Segurança – SNMPv3 • 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).
Segurança – USM: Descoberta • 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.
Segurança – USM: Autenticação • 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.
Segurança – USM: Autenticação • 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.
Segurança – USM: Encriptação • 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.
Segurança – USM: Algorítmos utilizados. • 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).
Considerações Finais • 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).
Referências • [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. SegundaEdição. Sebastopol, CA, EstadosUnidos da America: O'Reilly Media, Inc., 2005. 460 p. ISBN 0-596-00840-6. • [3] MILLER, M. A. Managing Internetworks with SNMP v2. EstadosUnidos 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.
Referências • 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.
Referências • SNMP v2 • RFC 1441 — Introductiontoversion 2 ofthe Internet-standard Network Management Framework; • RFC 1445— AdministrativeModel for version 2 oftheSimple Network Management Protocol (SNMPv2); • RFC 1446 — Security Protocols for version 2 oftheSimple Network Management Protocol (SNMPv2); • RFC 1447 — Party MIB for version 2 oftheSimple Network Management Protocol (SNMPv2); • RFC 1451 — Manager-to-Manager Management InformationBase; • RFC 1901 — IntroductiontoCommunity-basedSNMPv2; • RFC 1905 — ProtocolOperations for version 2 oftheSimple Network Management Protocol (SNMPv2); • RFC 1906 — TransportMappings for version 2 oftheSimple Network Management Protocol (SNMPv2); • RFC 1907 — Management Information Base for version 2 oftheSimple Network Management Protocol(SNMPv2); • RFC 1908 — Coexistencebetweenversion 1 andversion 2 ofthe Internet-standard Network Management Framework; • RFC 1909 — AnAdministrativeInfrastructure 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 — Structureof Management InformationVersion 2 (SMIv2); • RFC 2579 — Textual Conventions for SMIv2; • RFC 2580 — ConformanceStatements for SMIv2.
Referências • SNMP v3 • RFC 3410 — IntroductionandApplicabilityStatements for Internet Standard Management Framework; • RFC 3411 — AnArchitecture for DescribingSimple Network Management Protocol (SNMP) Management Frameworks; • RFC 3412 — MessageProcessingandDispatching for theSimple Network Management Protocol (SNMP); • RFC 3413 — Simple Network Management Protocol (SNMP) Application; • RFC 3414 — User-based Security Model (USM) for version 3 oftheSimple Network Management Protocol (SNMPv3); • RFC 3415 — View-based Access ControlModel (VACM) for theSimple Network Management Protocol (SNMP); • RFC 3416 — Version 2 oftheProtocolOperations for theSimple Network Management Protocol (SNMP); • RFC 3417 — TransportMappings for theSimple Network Management Protocol (SNMP); • RFC 3418 — Management Information Base (MIB) for theSimple Network Management Protocol (SNMP); • RFC 3419 — Textual Conventions for TransportAddresses.
Referências • SNMP v3 • RFC 3430 — Simple Network Management Protocol (SNMP) over TransmissionControlProtocol (TCP) TransportMapping; • RFC 3584 — CoexistencebetweenVersion 1, Version 2, andVersion 3 ofthe Internet-standard Network Management Framework; • RFC 3826 — The AdvancedEncryption Standard (AES) CipherAlgorithm 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) ContextEngineID Discovery; • RFC 5590 — TransportSubsystem for theSimple Network Management Protocol (SNMP); • RFC 5591 — Transport Security Model for theSimple Network Management Protocol (SNMP); • RFC 5592 — Secure Shell TransportModel for theSimple Network Management Protocol (SNMP); • RFC 5608 — Remote Authentication Dial-In User Service (RADIUS) Usage for Simple Network Management Protocol (SNMP) TransportModels; • RFC 5953 — TransportLayer Security (TLS) TransportModel for theSimple Network Management Protocol (SNMP).
Questões Propostas • 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?
Quais são os três componentes fundamentais de uma rede gerenciada pelo SNMPv3? • Os principais componentes de uma rede gerenciada pelo SNMP são: • Agentes; • Sistemas gerenciados; • Estações de gerenciamento de redes (NMS).
O que é uma MIB? Que tipo de informação pode ser associada a uma MIB? • 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.
O que torna o mecanismo de autenticação do SNMPv1 e SNMPv2c extremamente frágil? • 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.
Por que o SNMPv3 não pode oferecer privacidade sem autenticação? • 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.
Quais as condições necessárias para que um agente envie uma mensagem não solicitada a uma NMS? • 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.