Configurações de rede para os telefones Cisco

O NIC.br recomenda, em relação aos telefones Cisco cedidos em comodato para uso com o INOC-DBA, a atribuição de um endereço IPv4 público, via DHCP ou manualmente, em uma rede sem o uso de firewalls ou outros filtros.

Para alguns usuários essa recomendação suscita dúvidas relacionadas à segurança dos aparelhos. O que se pode afirmar é que não há casos relatados de problemas. Embora seja difícil, talvez impossível, afastar a possibilidade teórica de um comprometimento dos telefones, dada sua 'exposição' à Internet, não há casos relatados. Os telefones têm recursos computacionais muito limitados e pode-se especular que, no pior caso, o resultado da exploração de alguma vulnerabilidade ainda desconhecida seria a 'inserção' de uma chamada de voz estranha na rede do INOC-DBA.

Ainda assim, neste texto estão detalhados os protocolos, IPs e portas usados na comunicação no contexto do INOC-DBA, no intuito de ajudar os usuários que pretendem usar filtros mais específicos.

  1. Comunicação com o TFTP
  2. Comunicação SIP com IPs públicos
  3. Comunicação SIP com o uso de NAT mais proxy SIP

1 - Comunicação com o TFTP

Os telefones Cisco cedidos em comodato pelo NIC.br são pré-configurados antes de serem enviados. Normalmente basta ligá-los em uma rede com DHCP ou configurar um endereço manualmente para que tudo funcione corretamente. No entanto, por padrão, sempre que reiniciados, esses telefones (Cisco 7940 ou Cisco 7942) tentam acessar um servidor TFTP (por padrão o próprio servidor inoc-br.nic.br) a fim de atualizar suas configurações.

Normalmente o acesso ao servidor TFTP do NIC.br fica bloqueado, por razões de segurança. No entanto, no caso da troca da senha SIP, ou de algum outro parâmetro de configuração, ou na necessidade de update do firmware, esse acesso será necessário.

Veja o diagrama de sequencia simplificado do acesso ao TFTP (clique para ver em tamanho grande):

O servidor TFTP aceita requisições na porta UDP 69. O cliente usa uma porta UDP alta aleatória para a requisição inicial. Contudo, o servidor responde também usando uma porta UDP alta, entre 40000 e 60000, e toda o diálogo subsequente usa essas mesmas portas altas. Um firewall pode precisar ter suporte específico para o TFTP, por exemplo, para o iptables é necessário carregar o módulo ip_conntrack_tftp.

Voltar ao topo

2 - Comunicação SIP com IPs públicos

O INOC-DBA funciona com SIP, que é um protocolo padrão, bem conhecido. O SIP, em si, cuida do registro do cliente no servidor e de toda negociação necessária para o estabelecimento da comunicação.

A comunicação SIP utiliza pacotes UDP e é iniciada pelo cliente (telefone) enviando um pacote com origem numa porta alta para a porta UDP 5060 do servidor. A resposta pode ser direcionada para a mesma porta que foi usada para a requisição, ou para a porta 5060 do cliente, conforme a configuração deste. No caso dos telefones Cisco 7940 ou 7942 do INOC-DBA a resposta do servidor é originada na porta UDP 5060 e enviada também para a porta UDP 5060 dos telefones.

A comunicação RTP utiliza para cada chamada de voz duas portas UDP altas, escolhidas em sequência, tanto no lado do cliente (telefone) quanto do servidor. Uma é usada para o controle (RTCP) e outra para o audio em si (RTP). Os telefones Cisco do INOC-DBA escolhem portas entre 16384 e 32766. Já o servidor INOC-DBA utiliza portas entre 10000 e 20000.

Caso você pretenda usar filtros (firewall) nessa rede, note que:

  • a comunicação SIP sempre se dá entre o cliente (telefone) e o servidor INOC-DBA (o telefone deve ser capaz de enviar pacotes UDP para a porta 5060 do servidor INOC-DBA, e receber pacotes UDP originados na porta 5060 deste);
  • a comunicação RTP e RTCP pode se dar entre o cliente (telefone) e o servidor INOC-DBA, ou diretamente entre dois clientes (os telefones devem ser capazes de enviar pacotes UDP originados das portas 16384 a 32766 para qualquer destino, para as portas UDP 10000 a 32766, e receber pacotes de qualquer origem, originados das portas UDP 10000 a 32766 tendo como destino as portas UDP 16384 a 32766).

Veja o diagrama de sequencia simplificado da comunicação (clique para ver em tamanho grande). Nesse diagrama está um exemplo da comunicação de audio (RTP) direta entre os clientes INOC-DBA. Nesse caso a voz não passa pelo servidor. Esse é o caso padrão e só não acontece quando há incompatibilidades (por exemplo, se um cliente usa IPv4 e outro IPv6, ou se suportam codecs diferentes):


Veja o diagrama de sequencia simplificado da comunicação (clique para ver em tamanho grande). Nesse diagrama está um exemplo da comunicação de audio (RTP) passando pelo servidor do INOC-DBA. Isso acontece quando se utiliza a conferência de voz (3 ou mais participantes conversando numa 'sala' virtual), ou quando há incompatibilidades entre os clientes:
Voltar ao topo

3 - Comunicação SIP com o uso de NAT mais proxy SIP

O NIC.br recomenda uso de IPs públicos (roteáveis na Internet) nos telefones Cisco 7940 e 7942 cedidos em comodato para uso no INOC-DBA. Note-se que os modelos Cisco 7942 suportam também IPv6. Caso a única alternativa seja utilizar o ramal INOC-DBA em uma rede com NAT IPv4, recomenda-se o uso de um proxy SIP no mesmo dispositivo responsável pelo NAT.

Um proxy SIP, nesse caso, é capaz de reescreever as mensagens SIP, incluindo informações suficientes para permitir a comunicação com outros dispositivos localizados na Internet. Não é necessária qualquer mudança na configuração do telefone. Um exemplo é o software http://siproxd.sourceforge.net/ disponível para diversos sistemas operacionais (inclusive para roteadores domésticos baseados em OpenWRT, ddWRT e similares). Essa funcionalidade está presente na maior parte dos dispositivos usados para prover a função da NAT nas redes.

Veja o diagrama de sequencia simplificado da comunicação (clique para ver em tamanho grande) usando NAT mais um proxy SIP:

Voltar ao topo