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 • 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 • 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. • 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. • Arquitetura: • dispositivos gerenciados; • agentes; • gerentes. • Definições: • ASN – Abstract Syntax Notation; • SMI – Structure; • MIB – Management Information Base. • • • • • • • GetRequest; SetRequest; GetNextRequest; GetBulkRequest; Response; Trap; InformRequest. • • • • • • 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. • 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. • 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. • 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). • 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. • 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. • 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. • 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. • 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). • 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). • [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. • 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. • 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. • 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. • 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 Internetstandard Network Management Framework; • RFC 3826 — The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP Userbased 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). • 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? • Os principais componentes de uma rede gerenciada pelo SNMP são: • Agentes; • Sistemas gerenciados; • Estações de gerenciamento de redes (NMS). • 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. • 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. • 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. • 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.