Introdução:

Prezados leitores, esta é a vigésima sexta parte, desta segunda etapa dos tutoriais de TCP/IP. As partes de 01 a 20, constituem o módulo que eu classifiquei como Introdução ao TCP/IP. O objetivo do  primeiro módulo (Partes 01 a 20) foi apresentar o TCP/IP, mostrar como é o funcionamento dos serviços básicos, tais como endereçamento IP e Roteamento e fazer uma apresentação dos serviços relacionados ao TCP/IP, tais como DNS, DHCP, WINS, RRAS, IPSec, Certificados Digitais, ICS, compartilhamento da conexão Internet e NAT. Nesta segunda parte da série, que irá da parte 20 até a parte 40 ou 50 (ou quem sabe até 60), apresentarei as ações práticas, relacionadas com os serviços DNS, DHCP e WINS no Windows 2000 Server. A partir desta parte, mostrarei o que é, como trabalhar, implementar e administrar o serviço de Acesso Remoto do Windows 2000 Server, conhecido como RRAS - Routing and Remote Access Service (Serviço de Roteamento e Acesso Remoto).

Protocolos de Tunneling (Tunelamento):

São suportados os protocolos PPTP e L2TP, conforme descrito na tabela a seguir. Você aprenderá mais sobre estes protocolos, mais adiante, neste capítulo.

Os servidores VPN são conectados à Internet através de conexões WAN permanentes, como linhas T1 ou Frame Relay. Os clientes VPN são conectados à Internet através de conexões WAN permanentes ou de discagem para um provedor de serviços de Internet (ISP – Internet Service Provider) local usando linhas telefônicas analógicas padrão ou uma tecnologia de conexão em alta velocidade, tais como ISDN ou ADSL.

Protocolos utilizados para conexões do tipo Dial-up:

Agora você já conhece os princípios básicos do servidor de acesso remoto do Windows 2000 Server e sabe quais elementos compõem uma solução de acesso remoto via Dial-up e quais compõem uma solução de acesso remoto via VPN. O próximo passo é entender os protocolos envolvidos em cada uma destas situações. Por exemplo, para uma conexão via Dial-up, normalmente é utilizado o protocolo PPP (Point-to-Point Protocol). Já para conexões via VPN, os protocolos utilizados são PPTP ou L2TP.

O objetivo deste tópico é apresentar os diferentes tipos de protocolos disponíveis para as conexões do tipo Dial-up. No próximo tópico falarei sobre os protocolos utilizados para as conexões do tipo VPN.

Point-to-point Protocol – PPP (Protocolo ponto a ponto):

O Windows 2000 Server (e também o Windows Server 2003) dá suporte ao PPP (Point-to-Point Protocol, protocolo ponto a ponto), um conjunto de protocolos e autenticação padrão da indústria de TI, que permite às soluções de acesso remoto operar em uma rede de múltiplos fabricantes (com clientes, software e equipamentos de múltiplos fabricantes) . A utilização do PPP é recomendada, principalmente, pelo fato de ter um amplo suporte dos fabricantes de hardware e software. Ou seja, praticamente todos os equipamentos e programas envolvidos em acesso remoto, tem suporte ao protocolo PPP.

O suporte a PPP permite aos computadores que executam Windows, discar para redes remotas por meio de qualquer servidor compatível com o padrão PPP. A compatibilidade PPP também permite ao computador que executa o serviço de acesso remoto, receber chamadas e fornecer acesso a rede e a programas de software de outros fornecedores.

A arquitetura PPP também permite que os clientes usem qualquer combinação de IPX (Internetwork Packet Exchange), TCP/IP, NetBEUI e AppleTalk. Os clientes de acesso remoto que estejam executando o Windows NT e Windows 2000, Windows 98 e o Windows 95 podem usar qualquer combinação de TCP/IP, IPX e NetBEUI. Os clientes de acesso remoto da Microsoft não oferecem suporte ao uso do protocolo AppleTalk em uma conexão de acesso remoto.

Os padrões PPP estão definidos nas RFCs publicadas pela Internet Engineering Task Force (IETF) e outros grupos de trabalho. Em fim, o protocolo PPP é um padrão de fato, com suporte de todos (é isso mesmo), de todos os fabricantes de hardware e software de rede. Há, quando você se conecta à Internet, usando uma conexão discada, está utilizando PPP.

Serial Line Internet Protocol (SLIP):

O Serial Line Internet Protocol (SLIP, protocolo Internet para linhas seriais) é um padrão de acesso remoto mais antigo, geralmente utilizado por servidores de acesso remoto UNIX. Os clientes de acesso remoto que executam o Windows 2000 Professional e o Windows 2000 Server oferecem suporte ao SLIP e podem conectar-se a qualquer servidor de acesso remoto que utiliza o padrão SLIP. Isso permite a conexão de clientes Windows NT  3.5 ou versão posterior à ampla base instalada de servidores UNIX. Um servidor de acesso remoto que executa o Windows 2000, Windows XP ou o Windows 2000 Server não oferece suporte aos clientes SLIP. Ou seja, estas versões do Windows somente podem atuar como clientes SLIP e não como servidores SLIP (apesar de o Windows XP Professional poder atuar como um servidor de acesso remoto, ele aceita uma única conexão simultânea).

Nota: No Windows 2000 Server, somente é possível se conectar a um servidor SLIP, usando o protocolo TCP/IP e uma porta Serial.

Não esqueça: O RRAS não é um servidor SLIP. Ele somente atua como cliente SLIP. Como servidor de acesso remoto ela da suporta ao PPP para conexões Dial-up e ao PPTP ou L2TP/IPsec para conexões VPN.

Protocolo Microsoft RAS:

O protocolo Microsoft RAS (Remote Access Services) é um protocolo de acesso remoto proprietário da Microsoft, o qual fornece suporte ao padrão NetBIOS. Há suporte para o protocolo Microsoft RAS em todas as versões anteriores do acesso remoto da Microsoft e ele é utilizado em clientes Windows NT 3.1, Windows para Workgroups, MS-DOS e LAN Manager.

Um cliente de acesso remoto que está discando de um computar que executa o Windows NT 3.1 ou Windows for Workgroups deve usar o protocolo NetBEUI. O servidor de acesso remoto, então, atua como um gateway NetBIOS para o cliente remoto, fornecendo acesso aos recursos por meio dos protocolos NetBEUI, NetBIOS sobre TCP/IP ou NetBIOS sobre IPX. Utilizado apenas por questões de compatibilidade com clientes mais antigos.

Protocolos utilizados para conexões do tipo VPN:

Os protocolos utilizados em conexões de VPN são os seguintes: PPTP e L2TP. O protocolo L2TP é utilizado em conjunto com o protocolo IPSec, já que o L2TP não fornece os serviços de criptografia de dados, fundamentais para as conexões VPN. Neste caso, a criptografia de dados é fornecida pelo protocolo IPSec.

Point-to-Point Tunneling Protocol (PPTP):

De uma maneira simples, podemos dizer que o PPTP é o PPP com a adição de alguns mecanismos de criptografia, para garantir a segurança dos dados. O Point-to-Point Tunneling Protocol (PPTP) é um protocolo de encapsulamento criado pela Microsoft em conjunto com mais algumas empresas e que primeiro teve suporte no Windows NT 4.0. O PPTP é uma extensão do Point-to-Point Protocol (PPP) e aproveita os mecanismos de autenticação, compactação e criptografia do PPP (confirma a idéia de que o PPTP é o PPP com algumas adições). Mas o fato concreto é que, como se diz popularmente, o PPTP “não pegou”. Não foi adotado amplamente pela indústria e o futuro deste protocolo é incerto.

O PPTP é instalado automaticamente quando o serviço de roteamento e acesso remoto. Por padrão, o PPTP é configurado para aceitar até 5 conexões simultâneas (5 portas PPTP). É possível ativar mais portas PPTP para acesso remoto de entrada e conexões de roteamento de discagem Dial-up utilizando o Assistente de roteamento e acesso remoto. Não são necessárias conexões adicionais para que servidor de acesso remoto possa aceitar conexões PPTP. Uma vez que o administrador habilita o servidor para aceitar chamadas, já estão disponíveis cinco conexões via PPTP. O administrador pode configurar este número, para adicionar um número maior de licenças de conexão remota via PPTP.

Para fazer uma conexão VPN, primeiro o cliente faz uma conexão PPP com o servidor de acesso remoto. Em seguida, já estando a conexão PPP estabelecida, o cliente faz uma conexão PPTP com o servidor de acesso remoto. O servidor RRAS recebe o pedido de conexão do cliente PPTP e faz a sua autenticação usando o protocolo de autenticação MS-CHAP v2. Ao invés do MS-CHAP v2, deve ser utilizado o protocolo EAP quando o cliente estiver utilizando um Smart Card para autenticação.

Não esqueça: Para a conexão remota, usando autenticação via Smart Card, deve ser utilizado o protocolo EAP. Não esqueça mesmo.

Uma vez estabelecida a conexão VPN, usando o PPTP, todo o tráfego entre o cliente e o servidor RRAS é criptografado. Esta criptografia é feita utilizando uma técnica conhecida como Encapsulamento, descrita logo a seguir.

Importante: Não esqueça que, para estabelecer uma conexão do tipo VPN são realizadas duas conexões. A primeira é uma conexão PPP padrão. Esta conexão estabelece a ligação, um caminho físico entre o cliente e o servidor RRAS. A próxima etapa é estabelecer a conexão VPN propriamente dita, utilizando um dos protocolos disponíveis (PPTP ou L2TP). O objetivo desta segunda conexão é garantir a segurança dos dados, através do uso de técnicas de criptografia e encapsulamento.

Encapsulamento:

O processo de encapsulamento, consiste em adicionar um cabeçalho GRE (Generic Routing Encapsulation) e um cabeçalho IP, ao pacote do protocolo PPP [o qual contém datagramas do protocolo IP, IPX ou AppleTalk). No cabeçalho IP estão os endereços IP de origem e de destino que correspondem ao cliente e ao servidor VPN.

Criptografia:

O quadro PPP é criptografado com a Microsoft Point-to-Point Encryption (MPPE, criptografia ponto a ponto da Microsoft) utilizando chaves de criptografia geradas pelo processo de autenticação de MS-CHAP (Microsoft Challenge Authentication Protocol) ou EAP-TLS (Extensible Authentication Protocol - Transport Layer Security). Os clientes da rede virtual privada devem utilizar o protocolo de autenticação MS-CHAP ou EAP-TLS para criptografar os pacotes PPP. O PPTP aproveita a criptografia do PPP e encapsula quadros PPP previamente criptografados.

Um dos pontos mais criticados do PPTP é em relação a segurança. Especialistas em segurança já demonstraram que o PPTP não é um protocolo seguro e está sujeito a ataques de segurança. Com o Windows 2000 Server é fornecida a versão 2 do protocolo: PPTP v2. Só o tempo dirá se esta versão está mais segura e confiável. Outro problema de segurança com o PPTP é que a fase de autenticação entre o cliente e o servidor acontece antes que o túnel criptografado seja estabelecido. Com isso informações da fase de autenticação poderão ser capturadas e utilizadas posteriormente, para tentar quebrar a criptografia dos dados transmitidos. Este é um dos motivos que podem leva-lo a se decidir pelo uso de Smart Cards em conjunto com o protocolo TCP/IP. Com o uso de Smart Cards, a fase de autenticação também está protegida contra acessos indevidos, uma vez que os dados são criptografados em todas as fases do processo. Para o uso de Smart Cards você deverá habilitar o protocolo de autenticação EAP, no servidor RRAS. Você aprenderá a configurar o suporte aos protocolos de autenticação na parte prática.

Uma das vantagens (talvez a única) do protocolo PPTP é a sua simplicidade e o fato de ele ser suportado por clientes mais antigos do Windows, tais como o Windows 98. Já o protocolo L2TP é suportado apenas por clientes mais novos (veja tabela da Figura 6.4), tais como o Windows 2000, Windows XP e Windows 2000 Server.

Observações:

  • É possível ter uma conexão PPTP sem criptografia, na qual o quadro PPP é enviado em texto simples. Entretanto, não é recomendável uma conexão PPTP sem criptografia para conexões VPN na Internet, porque comunicações desse tipo não são seguras.
  • O suporte ao protocolo IPX/SPX não está disponível nas versões de 64 bits do Windows XP e do Windows Server 2003.
  • O protocolo PPTP é um protocolo de nível de aplicação (camada 7 no modelo OSI).

Layer Two Tunneling Protocol (L2TP Protocolo de encapsulamento de camada 2)

O Layer Two Tunneling Protocol (L2TP) é um protocolo de encapsulamento com base em padrões definidos em RFCs e destinado a ser o padrão da indústria. Diferentemente do PPTP (Point-to-Point Tunneling Protocol, protocolo de encapsulamento ponto a ponto), o L2TP não utiliza a Microsoft Point-to-Point Encryption (MPPE, criptografia ponto a ponto da Microsoft) para criptografar os pacotes PPP. O L2TP trabalha em conjunto com o protocolo Internet Protocol Security (IPSec) e usa os serviços do IPSec para serviços de criptografia. A combinação de L2TP e IPSec é conhecida como L2TP através de IPSec. O “2” significa camada 2 do modelo OSI. Lembrando que as camadas do modelo OSI, começando da 1 são: Física, Enlace, Rede, Transporte, Autenticação, Apresentação e Aplicação.

O resultado é que conexões de rede virtual privada baseadas em L2TP são uma combinação de L2TP e IPSec. O L2TP e o IPSec devem ter suporte do cliente e do servidor de acesso remoto com o qual serão estabelecidas as conexões VPN.

O L2TP é instalado, automaticamente, com o RRAS. Por padrão, o L2TP é configurado para aceitar até cinco conexões L2TP, simultâneas. O administrador pode configurar um número de portas L2TP maior do que cinco, de acordo com as necessidades da sua rede, sendo que o número máximo permitido é de 256.

O uso de L2TP através de IPSec oferece os principais serviços VPN de encapsulamento e criptografia de dados privados. O encapsulamento de L2TP através de pacotes IPSec consiste em duas camadas:  o encapsulamento L2TP e o encapsulamento IPSec. Na Figura a seguir, da Ajuda do Windows 2000 Server,  é apresentada uma visão geral deste processo de encapsulamento no L2TP em conjunto com o IPSec.


Figura - O duplo encapsulamento: L2TP e IPSec.
  
Criptografia: A mensagem L2TP é criptografada com mecanismos de criptografia IPSec que utilizam chaves de criptografia geradas pelo processo de autenticação IPSec.

Nota: É possível ter uma conexão L2TP que não se baseie em IPSec (sem criptografia) quando o quadro PPP é enviado em texto simples. No entanto, não é recomendável usar uma conexão L2TP sem criptografia para conexões VPN na Internet, porque comunicações desse tipo não são seguras.

Algumas considerações importantes sobre o uso do protocolo L2TP:

  • O uso do L2TP exige que você tenha implementado uma infra-estrutura de chave pública (PKI – Public Key Infrastructure) na rede da empresa, pois o L2TP dependo do uso de certificados digitais. Não precisa ser, necessariamente, uma infra-estrutura de PKI baseada em tecnologia Microsoft. Porém neste caso, você terá mais algumas tarefas administrativas a considerar, tais com a emissão manual de certificados, para os computadores que irão utilizar o L2TP/IPsec.
  • O L2TP é um “terrível monstro consumidor de processador”. Em outras palavras, o uso do L2TP cria uma carga adicional, considerável, no processador. Isso ocorre porque o algoritmo de criptografia utilizado pelo L2TP (3DES) é bem mais complexo (e também bem mais seguro) do que o algoritmo utilizado pelo PPTP (MPPE – Microsoft Point-to-point Encryption). Além disso, com o L2TP, a assinatura digital de cada pacote é verificada. Uma das maneiras de reduzir o impacto no processador e melhorar o desempenho dos computadores que usam o L2TP/IPSec, é instalando placas de rede equipadas com co-processadores de IPSec na própria placa. Embora melhore bastante o desempenho, é importante salientar que estas placas tem um custo bem mais elevado do que as placas sem o co-processador de IPSec.
  • Um problema que pode ser difícil de resolver é o fato que o protocolo IPSec não é, digamos assim, muito amigo dos Firewall. O que acontece é que a maioria dos Firewall bloqueia a passagem dos pacotes IPSec.

Na tabela a seguir eu apresento um resumo das características e as principais diferenças entre os protocolos PPTP e L2TP com IPSec.

Não esqueça: Conheça bem as diferenças entre o PPTP e o L2TP/IPsec.

Conclusão:

Por enquanto era isso. Na Parte 47 vou tratar sobre os métodos de autenticação do servidor de Acesso Remoto.