Redes de Computadores - Departamento de Engenharia ...andre/disciplinas/RCOMP/2008-2009/T8.pdf ·...

30
1 Redes de Computadores Redes Privadas Virtuais (VPN) Protocolo PPP Gestão de redes. Protocolo SNMP. Maio de 2009 Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

Transcript of Redes de Computadores - Departamento de Engenharia ...andre/disciplinas/RCOMP/2008-2009/T8.pdf ·...

1

Redes de Computadores

Redes Privadas Virtuais (VPN) Protocolo PPPGestão de redes.Protocolo SNMP.

Maio de 2009

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

2

Virtual Private Network (VPN)

Uma VPN é um infra-estrutura de comunicação de nível 2 (camada de ligação lógica) que é simulada sobre uma outra rede, tipicamente uma infra-estrutura de nível 3 (Camada de rede).

Camada de Rede

Camada de Ligação Lógica Real

Camadas de Rede

Camada de Transporte

Camadas de Transporte

Aplicações de rede

VPN(Camada de Ligação Lógica Simulada)

A designação VIRTUAL tem origem no facto de se tratar de uma infra-estrutura simulada (não real), normalmente uma ligação “ponto-a-ponto”; PRIVADA advém do facto de serem usados mecanismo de segurança que garantem a confidencialidade dos dados que circulam na VPN.

EXEMPLO

IPv4 (INTERNET)

UDP

VPN

IPX IPv4 e/ou IPv6

SPX UDP TCP

APLICAÇÕES

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

3

VPN LAN-LAN (“Site-to-Site VPN”)

Embora idênticas sob o ponto de vista de funcionamento, podem considerar-se dois tipos de aplicação diferente das VPN: LAN-LAN e HOST-LAN.As VPN LAN-LAN destinam-se a interligar redes, são implementadas pelos administradores das redes como outro qualquer tipo de ligação entre duas redes.

REDE DE SUPORTE À VPN

(por exemplo a INTERNET)

VPN “LAN-LAN”

Os utilizadores das redes usufruem desta ligações VPN sem necessidade de conhecerem a sua existência. Dadas as suas características devem ter um carácter permanente, podendo ser estabelecidas e recuperadas automaticamente sem intervenção manual.

REDE AREDE B

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

4

VPN HOST-LAN (“Remote-Access VPN”)

As VPN HOST-LAN servem para ligar nós individuais a uma rede remota. Tipicamente uma VPN deste tipo é criada por iniciativa do utilizador de um posto de trabalho, recorrendo a uma aplicação cliente instalado no posto local que comunica com um servidor na rede remota.

REDE DE SUPORTE À VPN

(por exemplo a INTERNET)

Posto de trabalho

(Utilizador)

VPNs “HOST-LAN”

Neste tipo de VPN, o controlo de acesso baseia-se na autenticação do utilizador, após esse processo o posto de trabalho recebe um endereço de rede pertencente à rede remota que lhe permite operar como se estivesse directamente ligado a essa rede.

REDE APosto de trabalho

(Utilizador)

Posto de trabalho

(Utilizador)

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

5

Interligação de redes por VPN – Nível 2

Uma VPN tem como objectivo simular uma ligação física “ponto-a-ponto”. A forma como esta ligação pode ser usada para interligar redes remotas depende dos objectivos e muitas vezes das restrições impostas pelo próprio protocolo da VPN.

A interligação por VPN no nível 2 consiste na retransmissão de tramas de nível 2através da VPN, a VPN comporta-se então como uma ponte (“bridge”).

Controlador de VPN

(transmissão de blocos)

LIGAÇÃO VPNPONTE

(Nível 2)

TramasTramasREDE

Todos os dados que circulam em tramas numa das redes propagam-se até à rede remota, independentemente do protocolos em causa. As duas redes interligadas são obrigatoriamente do mesmo tipo, caso contrário os formatos de trama seriam diferentes. Sob o ponto de vista das camadas superiores, as duas redes passam a ser apenas uma única.O tráfego de “broadcast” de nível 2 propaga-se através da VPN, permitindo o funcionamento de protocolos tais como o ARP.

REDE DE SUPORTE

VPNVPN

Rede 2Rede 1

A “Rede 1” e a “Rede 2” funcionam como dois segmentos de uma mesma rede local, interligados por uma ponte. Por exemplo sob o ponto de vista IP, são apenas uma rede.

PONTEPONTE

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

6

Interligação de redes por VPN – Nível 3

A interligação por VPN no nível 3 consiste na retransmissão de pacotes de redeatravés da VPN, a VPN comporta-se então como um encaminhador (“router”).Se houver necessidade de suportar vários protocolos de rede serão necessários vários encaminhadores em paralelos (“router” multiprotocolo).

Controlador de VPN

(transmissão de blocos)

Pacotes Rede

LIGAÇÃO VPNROUTER

(Nível 3)Pacotes Rede

REDE

ROUTER

(Nível 3)Pacotes Rede

Pacotes Rede

Como as redes não estão ligadas no nível 2 o tráfego em “broadcast” não passa através da VPN. As redes interligadas mantêm-se separadas no nível 2 e irão por isso constituir redes distintas sob o ponto de vista dos protocolos de nível 3.

REDE DE SUPORTE

VPNVPN

Rede 2Rede 1 ROUTER

ROUTERPor exemplo, sob o ponto de vista IP, a “Rede 1” e a “Rede 2” são duas redes distintas, cada uma exigindo o seu espaço de endereçamento independente. No exemplo a própria ligação VPN pode exigir endereços de rede para a ligação ponto a ponto entre os dois encaminhadores.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

7

Segurança das VPN

Tratando-se transferências de dados que usam infra-estruturas potencialmente inseguras e nas quais é possível todo tipo de intervenções de terceiros, a introdução de mecanismos de segurança é fundamental.

AutenticaçãoGarantir a autenticidade dos intervenientes (nós da VPN) ou seja, máquinas/servidores ou utilizadores.

PrivacidadeGarantir que os dados que são transferidos pela VPN não serão acessíveis e terceiros. Dado que se trata de redes públicas não é possível controlar o acesso, logo é necessário recorrer à cifragem.

A técnica de cifragem convencional é conhecida por criptografia simétrica e implica a partilha entre os dois envolvidos de uma chave secreta (PSK – Pre Shared Key).Sendo um segredo pré-partilhado, este é um bom mecanismo de autenticação. Se uma das partes não possui a chave correcta não vai poder comunicar. A operação de distribuição da chave pode ser complicada, na sua versão mais simples é realizada pelo administrador das duas extremidades da VPN.

Controlador de VPN

LIGAÇÃO VPNControlador de VPN

AdministradorPSK

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

8

VPN – Chaves públicas

Chave pública de A

(Certificado)

Os certificados são um elemento importante porque garantem a autenticidade dos intervenientes, se os nós forem controlados pelo mesmo administrador (VPN LAN-LAN) os certificados podem ser instalados manualmente para maior segurança.

A técnica de cifragem conhecida por criptografia de chave pública veio resolver de forma radical as dificuldades na distribuição das chaves. Ao contrário dos algoritmos simétricos anteriores, em que existe uma única chave que tem de ser mantida secreta a todo o custo, agora a chave usada para cifrar é pública, mas não serve para decifrar, isso é conseguido com uma outra chave designada de privada. A vantagem é que a chave privada nunca tem de ser transferida.

Controlador de VPN

BLIGAÇÃO VPNControlador de VPN

A

Chave pública de B

(Certificado)

Chave pública de A

(Certificado)

Controlador de VPN

BLIGAÇÃO VPNControlador de VPN

A

Chave pública de B

(Certificado)

Administrador

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

9

VPN de utilizador

Uma VPN de utilizador é tipicamente uma VPN HOST-LAN e caracteriza-se por ser criada por iniciativa do utilizador. Para esse efeito os dois nós da VPN assumem mais claramente uma relação cliente – servidor. O cliente contacta o servidor no endereço de rede fornecido pelo utilizador, será então exigido ao utilizador elementos de autenticação, habitualmente constituídos pelo par “NOME-DE-UTILIZADOR + PASSWORD”. Posteriormente o servidor fornece ao cliente os parâmetros de configuração de rede para o cliente poder funcionar.

Servidor VPNCliente VPNUtilizador

Endereço servidor (nome)

USERNAME/PASSWORD

O par “NOME-DE-UTILIZADOR + PASSWORD” serve como autenticação do utilizador perante o servidor VPN que faz assim o controlo de acesso ao serviço.Se para o servidor é importante verificar a autenticidade do cliente (utilizador), também para o utilizador do serviço é importante ter algumas garantias, não convém que a PASSWORD seja entregue ao “primeiro servidor que aparecer”.

Autenticação

Parâmetros de Rede

REDE

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

10

VPN de Utilizador – Autenticação com chave pública

As VPN de utilizador caracterizam-se por:

- Autenticação de utilizador por USERNAME/PASSWORD- Servidor sem conhecimento prévio da existência do cliente.- Número elevado de clientes/utilizadores para cada servidor.

Sendo a autenticação do utilizador garantida por PASSWORD, também é necessário garantir a autenticidade do servidor e um manuseamento seguro da PASSWORD do utilizador. Dadas as características particulares alguns métodos não são praticáveis, é o caso do PSK devido ao elevado número de clientes/utilizadores. Embora possam ser combinados de várias formas existem duas abordagens em uso: com chave pública e com chave secreta.

CHAVE PÚBLICA

Nesta abordagem começa-se por criar uma ligação segura e autenticada com base em certificados de chave pública que cada um envia ao parceiro. É particularmente importante a validação do certificado de chave pública do servidor por parte do cliente.

Através da ligação segura criada é possível então enviar a PASSWORD para autenticação do utilizador.

Cliente VPN Servidor VPNCertificado

Chave Pública

Certificado

Chave Pública

Cliente VPN Servidor VPNPASSWORD

Ligação segura (chaves públicas)

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

11

VPN de Utilizador – Autenticação com chave secreta

Para se conseguir distribuir uma chave secreta por cliente e servidor e simultaneamente autenticar ambos pode-se lançar mão de um segredo que mais ninguém conhece: “a PASSWORD do utilizador”.

Um algoritmo produz uma chave secreta usando a PASSWORD, então reproduzindo o processo nos dois pontos temos uma chave secreta:

CHAVE SECRETA = HASH ( SALT + PASSWORD )

Cliente VPN Servidor VPN

PASSWORDChave Secreta

Ligação segura (chave secreta)

Chave SecretaPASSWORD

SALT

Como a chave é secreta, tal como acontecia no PSK, o simples facto de a ligação segura funcionar autentica os intervenientes. Note-se que a PASSWORD nunca é transmitida.

O sistema é de uma forma geral seguro, contudo baseia-se na PASSWORD do utilizador, esse é o seu ponto fraco, se a PASSWORD do utilizador é deficiente tudo pode ficar comprometido para esse utilizador.O protocolo CHAP (Challenge-Handshake Authentication Protocol) baseia-se nestes princípios de funcionamento.A necessidade de o servidor conhecer a PASSWORD do utilizador pode ser um obstáculo à sua implementação em alguns tipos de sistema, como por exemplo os da família Unix.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

12

L2TP - Layer 2 Tunneling Protocol

O L2TP é um dos tipos de VPN com mais utilização, foi desenvolvido pela Microsoft e pela Cisco, mas está normalizado em várias RFC’s. O L2TP é um protocolo de túnel simples, não implementa mecanismos de autenticação nem de privacidade. Normalmente a autenticação é assegurada pelo protocolo PPP e a confidencialidade é assegurada pelo IPsec.

IPsec

IPv4IPv6

L2TP

UDP

PPPO IPsec, parte integrante do IPv6 e um protocolo extra no IPv4, permite criar ligações seguras e autenticadas, baseadas quer em chaves secretas pré-partilhadas (PSK), quer em certificados de chave pública. A missão do L2TP é criar os túneis e transferir orespectivo tráfego.

O L2TP cria os túneis usando o modelo cliente/servidor, o LNS (“L2TP Network Server”) é contactado no porto UDP 1701 pelo LAC (“L2TP Access Concentrator”) para se estabelecer o túnel. Cada túnel é ainda dividido em sessões, para cada protocolo acima do L2TP será usada uma sessão diferente.

Túnel L2TP

LAC LNS

PPP PPPIPv4 IPv4IPX IPX

Para implementar autenticação de utilizador é necessário recorrer ao protocolo PPP.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

13

PPTP - Point-to-point tunneling protocol

O protocolo PPTP é um predecessor do L2TP, mas ainda é bastante usado pela Microsoft e também pela Cisco. Uma vez que não usa IPsec, o PPTP acaba por ser mais simples de configurar porque não exige chaves pré partilhadas (PSK) ou certificados de chave pública.

O PPTP usa uma ligação TCP (porto 1723) para controlar a o túnel de dados que funciona sobre o protocolo GRE (“Generic Routing Encapsulation”). O protocolo GRE foi desenvolvido pela Cisco para criar túneis sobre o protocolo IP, tem o identificador de protocolo número 47.

IPv4

TCP GRE

PPPPPTP

IPv4 IPv6 IPXO protocolo GRE não foi desenvolvido para uso directo pelas aplicações (não define números de porto), isso causa grandes problema na tradução de endereços (NAT) nas redes privadas. Nem o PPTP, nem o GRE implementam mecanismos de segurança, tanto a privacidade como a autenticação são asseguradas pelo protocolo PPP.O protocolo PPP pode suportar diversos mecanismos de autenticação e privacidade, no contexto actual a Microsoft usa o protocolo de autenticação MSCHAPv2 (CHAP = Challenge-Handshake Authentication Protocol) que além da autenticação do utilizador via PASSWORD permite gerar uma chave secreta para o protocolo MPPE (“Microsoft Point-to-Point Encryption”) baseado no RC4 (“Rivest Cipher 4”).Juntamente com o MPPE a Microsoft usa ainda o MPPC (“Microsoft Point-to-Point Compression”).

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

14

Outros protocolos de VPN

Existe uma grande variedade de protocolos de VPN, alguns proprietários, outros de domínio público, com clara vantagem destes últimos sob o ponto de vista de inter operacionalidade. Tal como o protocolo L2TP se baseia e usa o protocolo IPsec, também existem alguns tipos de VPN apoiadas no protocolo SSL/TLS.

O protocolo SSL – Secure Sockets Layer (nome original da Netscape), actualmente em fase final de normalização com a designação TLS - Transport Layer Security tem como finalidade proporcionar segurança, quer sob o ponto de vista de privacidade, quer sob o ponto de vista de autenticação dos interlocutores. Embora seja bastante flexível e modular, nas aplicações mais correntes usa certificados de chave pública para autenticação e distribuição de uma chave secreta e de seguida transfere os dados usando criptografia convencional que é muito mais rápida:

Tal como a sigla TLS indica, situa-se na camada de transporte (o IPsec encontra-se na camada de rede), assim sendo pode usar ligações TCP ou pacotes UDP. Os protocolos de aplicação podem tornar-se seguros sem grandes modificações se passarem a usar a camada TLS, actualmente quase todos os protocolos de aplicação dispõem de uma versão segura (“s”) que usa TLS: http/https; pop3/pop3s; smtp/smtps; etc. Não sendo uma implementação de VPN a camada TLS pode ser usada para esse efeito.

A BCertficado A

Certficado B

A BChave secreta

Ligação segura 1

A BLigação segura 2IPv4/IPv6

UDP TCP

TLS

Aplicações de rede

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

15

Uma VPN sobre TLS - OpenVPN

O OpenVPN é uma das implementações “Open Source” de VPN sobre TLS que mais se destaca actualmente.A privacidade pode ser assegurada pelo método “habitual” para o TLS, ou seja criptografia de chave pública para distribuir a chave secreta, seguida de criptografia convencional com a chave que foi distribuída, mas também são suportadas chaves pré partilhadas (PSK).

A autenticação pode usar vários métodos de acordo com os intervenientes, desde logo certificados de chave pública, esta é a técnica ideal para uma VPN LAN-LAN. Outra possibilidade em configurações LAN-LAN é usar PSK. Quando há utilizadores envolvidos (VPN HOST-LAN) é possível a autenticação por PASSWORD.

Neste tipo de configuração a PASSWORD é enviada directamente ao servidor através de uma ligação segura já estabelecida. Nesta fase é fundamental que o servidor já se tenha autenticado perante o cliente, caso contrario corremos o risco de estar a entregar a PASSWORD a um desconhecido.A autenticação do servidor perante o cliente deve ser feita através do certificado de chave pública do servidor, instalado manualmente no cliente.

O OpenVPN pode funcionar (porto 1194) tanto sobre UDP como TCP, a preferência vai para o UDP pois a implementação de VPN sobre TCP é problemática (TCP sobre TCP):

Uma vez que o TCP faz a retransmissão de segmentos quando não recebe o respectivo ACK, isso significa que quando há uma perda de conectividade o TCP faz retransmissões constantes, normalmente isso não é problema porque estas retransmissões perdem-se, mas se forem efectuadas sobre um VPN a funcionar sobre TCP não se vão perder a vão acumular-se sucessivamente e pode provocar uma falha.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

16

PPP – Point to Point Protocol

O protocolo PPP, deriva directamente do protocolo HDLC e assegura de forma bastante eficiente e completa o transporte de dados de nível 2 através de uma ligação dedicada ponto a ponto. Possui diversos mecanismos apropriados aos estabelecimento da ligação lógica entre os dois pontos, incluindo por exemplo mecanismos de autenticação.

Marcador

(7E)

Endereço

(FF)

Controlo

(03)Protocolo DADOS FCS

Marcador

(7E)

O campo “protocolo” serve para identificar os dados que são transportados, alguns protocolos são usados pelo próprio PPP. O identificador de protocolo 0xC021 é usado pelo protocolo LCP (Link Control Protocol).

O protocolo LCP é o responsável pelo estabelecimento e manutenção da ligação nível 2. O LCP lida com a autenticação, por exemplo usando o “Challenge Handshake Authentication Protocol” (CHAP), e com a configuração da ligação de dados, negociando por exemplo o MTU.

Nesta fase entra em funcionamento o protocolo NCP para configurar a camada de rede

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

17

PPP – NCP (Network Control Protocol)

Tramas PPP

LCP IPv4 IPCP IPX IPXCP ATCPAppleTalkIPv6 IPV6CP

Depois de o LCP estabelecer o funcionamento do nível de ligação de dados o processo segue no nível de rede, para cada um dos protocolos de rede pretendidos.O protocolo NCP (Network Control Protocol) usa os identificadores de protocolo “0x8???”, o NCP é o responsável pela interacção com os protocolos de nível 3, por exemplo trata de definição dos parâmetros necessários a cada protocolo em particular.

Para cada protocolo de rede existe um NCP especifico, por exemplo para o IPv4 é o protocolo NCP é o IPCP (Internet Protocol Control Protocol – 0x8021) entre outras funcionalidades o IPCP é o responsável pela configuração automática dos parâmetros de rede nos nós ao estilo DHCP.Os identificadores de protocolo “0x0???” São usados para transportar os dados dos protocolos de rede propriamente ditos, para o IPv4 usa-se o identificador 0x0021.

CHAP PAP

Infra-estrutura de transmissão de dados (Ligação sé rie; Ethernet; ATM; VPN; etc)

0021 8021C223 C023C021 80570057 002B 802B 0029 8029A figura apresenta alguns dos protocolos usados sobre a camada ppp e os respectivos identificadores de protocolo em notação hexadécimal.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

18

Gestão de redes

Gestão de redes refere-se neste contexto às actividades relacionadas com a manutenção do bom funcionamento de um conjunto de redes.

Gestão da ConfiguraçãoAjuste constante das redes para optimizar o desempenho nos seus diversos aspectos, por exemplo a segurança.

Projecto e planificaçãoUma vez que existe uma constante evolução das tecnologias de comunicação e das exigências dos utilizadores e aplicações, alguma alterações mais profundas têm de ser planeadas. A médio prazo.

MonitorizaçãoMedição de parâmetros de funcionamento em vários pontos da rede. Produção de alertas de rede

Gestão de FalhasDetecção dos vários tipos de falha ou potencial de falha e desencadear de contra medidas. Contra mediadas automáticas.

Registo- Registo de eventos. - Contabilização da utilização de serviços.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

19

Modelo “Agente – Gestor”

A maioria dos sistemas de gestão de rede adopta um modelo do tipo cliente servidor no qual estão envolvidas duas entidades:

Protocolo de Gestão

Sistema Gestor

O sistema gerido (repetidor, comutador, router, servidor, etc.) utiliza um repositório de informação conhecido por MIB (“Management Information Base”).

Sistema Gerido

Agente MIBAdministrador

O agente é um serviço de rede residente no sistema gerido e que permite o acesso à MIB usando um protocolo de gestão através da rede.

O sistema gestor dialoga com os agentes residentes nos vários dispositivos da rede e constrói uma visão global. A gestão da rede centraliza-se no sistema gestor, que pode ser mais ou menos automatizado.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

20

Protocolo de Gestão

Sistema Gestor

Pedido/RespostaREDE

Agente

Agente

Agente

Pedido/Resposta

Alarme

Alarme

Pedido/Resposta

O protocolo de gestão envolve dois tipos de transacções:

- Pedidos enviados pelo sistema gestor aos agentes, neste caso os agentes assumem o papel de servidores (modelo cliente-servidor). Os pedidos são relativos a operações de gestão, quer de consulta, quer de alteração da configuração.

- Alarmes enviados ao sistema gestor, por iniciativa dos agentes. Normalmente tratam-se de alertas relativos a eventos ocorridos na rede ou até simples registos de actividades.

Agente

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

21

MIB (“Management Information Base”)A MIB é o conjunto de dados associado a cada dispositivo de rede com capacidade de gestão.

Sistema Gerido

Agente

MIBProtocolo de Gestão

Visão externa dos dados (MIB)

Na realidade a MIB é uma visão externa (segundo o protocolo de gestão) do conjunto de dados internos do sistema. O “Agente” é responsável por criar essa visão conceptual (base de dados virtual) e interagir externamente segundo ela.Por ser especialmente adequado para este tipo de aplicação, a definição da MIB é muitas vezes orientada a objectos, sendo o paradigma dos objectos levado mais ou menos longe conforme a implementação em causa.

Numa MIB de objectos pura, cada objecto de gestão é uma instanciação de uma classe (definida numa estrutura de classes e subclasses com herança). Cada classe define os métodos apropriados para interagir com o objecto.

Memória/estado

do dispositivo

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

22

SNMP (“Simple Network Management Protocol”)

Embora existam outros protocolos de gestão, destacando-se o CMIP (“Common Management Information Protocol “) proposto pelo modelo OSI, a verdade é que associado à pilha de protocolos TCP/IP o protocolo usado é o SNMP. A maioria dos dispositivos de rede actuais suporta o protocolo SNMP.

Estando as redes cada vez mais centradas na pilha TCP/IP e atendendo às várias evoluções que o protocolo SNMP tem sofrido no sentido do seu enriquecimento, não é de esperar a sua substituição no futuro.

A versão 1 (SNMPv1) ainda é muito usada devido à quantidade de dispositivos que não suporta outras versões. No SNMPv1 existem apenas 5 mensagens possíveis, são enviadas sob a forma de datagramas UDP, o Agente recebe pedidos no porto 161, segundo o modelo cliente-servidor e o Gestor recebe alarmes (“Traps”) no porto 162.No SNMPv1 os objectos da MIB são simples variáveis. As mensagens “get request” permitem obter os valores de objectos da MIB através da mensagem “get response”.

Sistema Gestor

SNMP

Agente

SNMP

MIB

GET REQUEST

GETNEXT REQUEST

SET REQUEST

GET RESPONSE

TRAP

A mensagem “set request” permite alterar o valor dos objectos, sendo confirmada por uma “get response”.Na MIB os objectos são armazenados em sequência, a mensagem “getnext” permite uma consulta sequencial.

161

161

162

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

23

SNMPv1 - Mensagens

Todas as mensagens SNMPv1 seguem um formato geral, o campo “Version” identifica a versão do protocolo, o valor zero identifica o SNMPv1.O campo “Community” contém uma cadeia de caracteres que pode ser usada para controlo de acesso.

“PDU Type” identifica o tipo de mensagem: 0 - GetRequest

1 - GetNextRequest

2 - GetResponse

3 - SetRequest

4 - Trap

O campo “Request ID” identifica um pedido, o valor é repetido na resposta o que permite relacionar a mesma com um pedido formulado anteriormente. Dado que o SNMP usa uma plataforma de transporte não fiável (UDP) esta característica torna-se importante.

“Error Status” identifica o resultado da operação:

Em caso de erro, “Error Index” pode servir para indicar relativamente a qual dos objectos ocorreu esse erro.As mensagens tipo 0, 1, e 3 usam sempre o valor zero nos campos de erro. A mensagem “Trap” possui um formato diferente.

0 - noError

1 - tooBig

2 - noSuchName

3 - badValue

4 - readOnly

5 - genErr

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

24

OID – Object Identifier

Os objectos (variáveis) residentes na MIB SNMP não são identificados por nomes. A norma ASN.1 (Abstract Syntax Notation One) define um sistema universal de nomeação baseado numa árvore numérica.

RAIZ

1 (iso) 2 (itu/ccitt + iso)0 (itu/ccitt)

1 (registration authority)0 (standard) 2 (member body) 3 (identified organization)

0 1 2 3 4 5 (nist) 6 (dod)

1 (internet)

1 (directory) 2 (management) 5 (security) 7 (mail)

1 (mib-2) 9 (http)

1 (system) 2 (interfaces) 3 (at) 4 (ip) 5 (icmp) 6 (tcp) 7 (udp) 25 (host)

Cada tipo de objecto (classe) é identificado pela sequência de números até à raiz, por exemplo o objecto “internet” é identificado por “1.3.6.1”, todos os objectos abaixo começampor esta sequência, os objectos relativos à gestão de rede começam por “1.3.6.1.2.1”.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

25

Exemplo: “interfaces”, OID = 1.3.6.1.2.1.2

interfaces (1.3.6.1.2.1.2)

1 (ifNumber) 2 (ifTable)

1 (ifEntry)

1 (ifIndex) 2 (ifDesc) 3 (ifType) 4 (ifMtu)

5 (x25) 6 (ethernet-csmacd)

5 (ifSpeed)

No ramo das interfaces (1.3.6.1.2.1.2) está definido o tipo de objecto “ifNumber” que contém o número de interfaces existentes.O tipo ifTable é uma tabela de objectos do tipo ifEntry (1.3.6.1.2.1.2.2.1), cada objecto do tipo ifEntry contém o objecto ifIndex que contém o número da interface, o seu valor pode ir de 1 a ifNumber e não pode haver números repetidos.O protocolo SNMP usa os OID, contudo os OID referem-se a classes de objectos e não instancias de objectos como os que existem na MIB do agente. Uma vez que podem existir várias instancias da mesma classe, o SNMP acrescenta mais um número para identificar a instancia, começando por zero para a primeira instancia.Por exemplo para saber quantas interfaces de rede um dispositivo tem envia-se o pedido “GET 1.3.6.1.2.1.2.1.0”. Em tabelas o SNMP usa determinados valores dos elementos da tabela para os identificar. No caso do “ifTable” usa o “ifIndex”, portanto ifDesc.8 ou 1.3.6.1.2.1.2.2.1.2.8 representa a descrição da oitava interface que o sistema possui.Outras classes de objectos tipo tabela são: “atTable”, “ipAddrTable”; “ipRoutingTable”; “tcpConnTable” e “egpNeighTable”. Para todas elas o SNMP define regras especificas para identificar cada elemento da tabela.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

26

Segurança no SNMP

No SNMPv1 e SNMPv2c os mecanismos de segurança são muito elementares, normalmente é possível definir dois tipos de acesso: “leitura apenas” e “leitura e escrita”. Os dois tipos de acesso são associados a “comunidades” distintas. O identificador (nome) da comunidade serve ele próprio como “password”, além disso não existe qualquer tipo de cifragem o nome da comunidade (“password”) circula pela rede sem protecção.O SNMPv2p e SNMPv2u diferem do SNMPv2c pela existência de mecanismos de segurança mais sofisticados, mas não tiveram grande sucesso.

No SNMPv3 os mecanismos de segurança foram finalmente revistos. O SNMPv3 usa criptografia simétrica para garantir quer a autenticação (e controlo/diferenciação de acesso) quer a privacidade. Na implementação destes mecanismos de segurança está implícita a distribuição previa manual de um segredo (chave secreta) entre os dois extremos da ligação, eventualmente a através da “PASSWORD” do utilizador.

Apesar da evolução ainda há algumas limitações importantes, a autenticação baseia-se em MD5 ou SHA e a cifragem usa DES.

Tanto a autenticação como a cifragem são opcionais, mas para ter cifragem é obrigatória a autenticação pois a chave de secreta para a cifragem é gerada durante a autenticação.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

27

SNMPv2c, SNMPv3 e RMON

Além de alterações e actualizações na MIB, o SNMPv2 introduz novas mensagens:

- “Getbulk Request” : serve para obter volumes de informação da MIB superiores aospermitidos pelo “Get Request”.

- “Info Request”: equivalente à mensagem “Trap”, mas com confirmação da recepção.

As novas versões vieram dar suporte a uma maior variedade de aplicações, nomeadamente em redes de muito grande dimensão onde a recolha de informação tem de ser hierarquizada. Nesse domínio o suporte de ligações agente-agente traz novas possibilidades.

Os dispositivos com capacidade RMON (“Remote monitoring”) funcionam como gestores locais recolhendo informação dos agentes próximos via SNMP. Além disso têm capacidade de monitorizar directamente a rede (funcionamento como sonda) guardando todas estas informações numa MIB apropriada (MIB RMON).

As MIB RMON podem depois ser consultadas pelo gestor SNMP central.

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

28

Exemplos SNMP – “Traps”

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

29

Exemplos SNMP – MIB

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira

30

Exemplos SNMP – Gráficos desenhados pelo gestor

Instituto Superior de Engenharia do Porto – Departamento de Engenharia Informática – Redes de Computadores – André Moreira