• Nenhum resultado encontrado

Atividade 2 – VPN SSL

No documento Segurança de Redes e Sistemas (páginas 189-194)

Nesta atividade, iremos configurar um servidor e um cliente para estabelecer uma sessão VPN SSL. Para o estabelecimento da sessão VPN SSL, utilizaremos o OpenVPN configurado como servidor no host GWFW1 e o cliente instalado na estação de trabalho da rede Local Windows XP. 1. Configurar o host FWGW1 como servidor de VPN SSL, que receberá conexões na interface

externa conectada à internet de um vizinho de laboratório.

Passo 1 Instale o OpenVPN no gateway Linux FWGW1 com o comando: # apt-get install openvpn

Passo 2 Para gerar os certificados, vamos utilizar o conjunto de scripts “EASY-RSA”, que acompanha o pacote do OpenVPN.

Entre no diretório /usr/share/doc/openvpn/examples/easy-rsa/2.0 e utilize os seguintes comandos para inicializar as configurações do script:

# . ./vars # ./clean-all

Para gerar os certificados do CA, utilize o seguinte comando:

# ./build-ca

Serão solicitados os parâmetros do certificado. Exemplo: Country Name (2 letter code) [US]:BR

State or Province Name (full name) [CA]:Distrito Federal Locality Name (eg, city) [SanFrancisco]:Brasilia

Organization Name (eg, company) [Fort-Funston]:Rede

Nacional de Pesquisa

Organizational Unit Name (eg, section) []: Escola Superior de Redes

Common Name (eg, your name or your server’s hostname) [Fort-Funston CA]:ca.rnp.br

Se gu ra nç a d e R ed es e S is te m as

Passo 3 Para gerar o certificado do servidor OpenVPN, vamos utilizar o comando: # ./build-key-server FWGW1-G

Serão solicitadas informações para o certificado do servidor. Podemos utilizar o exemplo:

Country Name (2 letter code) [US]:BR

State or Province Name (full name) [CA]:Distrito Federal Locality Name (eg, city) [SanFrancisco]:Brasilia

Organization Name (eg, company) [Fort-Funston]: Rede

Nacional de Pesquisa

Organizational Unit Name (eg, section) []:Escola Superior de

Redes

Common Name (eg, your name or your server’s hostname) [FWGW1-A]:fwgw1-G.esr.rnp.br

Email Address [me@myhost.mydomain]:admin@esr.rnp.br Please enter the following ‘extra’ attributes to be sent with your certificate request A challenge password []:

Ao final serão realizadas duas perguntas. As respostas devem ser positivas. Passo 4 Para gerar o certificado do cliente, podemos utilizar o comando:

# ./build-key clienteXP

Será solicitado também os dados para o certificado do cliente, podemos utilizar o exemplo:

Country Name (2 letter code) [US]:BR

State or Province Name (full name) [CA]:Distrito Federal Locality Name (eg, city) [SanFrancisco]:Brasilia

Organization Name (eg, company) [Fort-Funston]: Rede

Nacional de Pesquisa

Organizational Unit Name (eg, section) []:Escola Superior de

Redes

Common Name (eg, your name or your server’s hostname) [FWGW1-A]:clientexp.esr.rnp.br

Email Address [me@myhost.mydomain]:aluno@esr.rnp.br Please enter the following ‘extra’ attributes to be sent with your certificate request A challenge password []:

Ao final serão realizadas duas perguntas. As respostas devem ser positivas. Passo 5 É necessário gerar também os parâmetros para o Diffie Hellman; para isso,

utilize o comando: # ./build-dh

Ca pí tu lo 7 - R ot ei ro d e A tiv id ad es

Passo 6 Os certificados foram gerados no subdiretório keys. Vamos copiar os certificados necessários para o servidor para o diretório /etc/openvpn/keys com os comandos: # mkdir /etc/openvpn/keys

# cp keys/ca.crt /etc/openvpn/keys # cp keys/FWGW1-G.crt /etc/openvpn/keys # cp keys/FWGW1-G.key /etc/openvpn/keys # cp keys/dh1024.pem /etc/openvpn/keys

Para aumentar ainda mais o nível de segurança, vamos gerar uma chave estática que deve ser configurada tanto no servidor quanto nos clientes da VPN. Para isso execute dentro do diretório /etc/openvpn/keys (essa chave será utilizada em outra atividade):

# openvpn --genkey --secret static.key

Passo 7 É necessário editar o arquivo de configuração do OpenVPN. No host FWGW1, crie um arquivo com o seu editor de texto: /etc/openvpn/openvpn.conf. Podemos utilizar o seguinte arquivo de configuração como exemplo: port 1194 proto udp dev tun ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/FWGW1-G.crt dh /etc/openvpn/keys/dh1024.pem server 10.8.G.0 255.255.255.0 ifconfig-pool-persist ipp.txt push “route 10.1.G.0 255.255.255.0” push “route 172.16.G.0 255.255.255.0” keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log verb 3

Passo 8 Inicie o servidor OpenVPN com o comando: # /etc/init.d/openvpn start

Passo 9 Forneça as chaves do cliente para o seu colega de laboratório utilizar na estação Windows XP que será utilizada por ele para estabelecer a VPN. Você precisa fornecer os seguintes arquivos:

keys/clienteXP.crt keys/clienteXP.key keys/ca.crt keys/dh1024.pem

Se gu ra nç a d e R ed es e S is te m as

Configure o host Windows XP para estabelecer a conexão VPN SSL com o gateway de seu colega. Iremos utilizar o cliente de VPN disponibilizado no site do OpenVPN.

Passo 1 A partir do host Windows XP, com um navegador, entre no site do OpenVPN (http://openvpn.net/) faça o download da última versão do cliente OpenVPN para Windows XP e proceda com a instalação do cliente. Por exemplo: http://swupdate.openvpn.net/community/releases/openvpn-2.1.4-install.exe Passo 2 Coloque os certificados fornecidos pelo seu colega de laboratório na pasta:

C:\Program Files\OpenVPN\config

Passo 3 Crie o arquivo de configuração para a conexão VPN: C:\Program Files\OpenVPN\config\Lab07SEG2.ovpn Com o seguinte conteúdo:

client dev tun proto udp remote Y.Y.Y.Y 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert clienteXP.crt key clienteXP.key verb 3

Onde Y.Y.Y.Y é o endereço público (interface eth0) do firewall (FWGW1) do seu colega de laboratório, onde será estabelecida a VPN.

Passo 4 Abra o Windows Explorer na pasta de configuração do OpenVPN: C:\Program Files\OpenVPN\config

Clique com o botão direito do mouse sobre o arquivo de configuração criado no passo anterior.

Ca pí tu lo 7 - R ot ei ro d e A tiv id ad es

Passo 5 Verifique o funcionamento com testes de ping. Ex.: C:\>ping 172.16.G.10

Pinging 172.16.G.10 with 32 bytes of data: Reply from 172.16.G.10: bytes=32 time=5ms TTL=63 Reply from 172.16.G.10: bytes=32 time=4ms TTL=63 Reply from 172.16.G.10: bytes=32 time=2ms TTL=63 Reply from 172.16.G.10: bytes=32 time=5ms TTL=63 Ping statistics for 172.16.1.10:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:

Minimum = 2ms, Maximum = 5ms, Average = 4ms C:\>ping 10.1.G.10

Pinging 10.1.G.10 with 32 bytes of data: Reply from 10.1.G.10: bytes=32 time=5ms TTL=64 Reply from 10.1.G.10: bytes=32 time=1ms TTL=64 Reply from 10.1.G.10: bytes=32 time=1ms TTL=64 Reply from 10.1.G.10: bytes=32 time=1ms TTL=64 Ping statistics for 10.1.G.10:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:

Minimum = 1ms, Maximum = 5ms, Average = 2ms C:\>

Se gu ra nç a d e R ed es e S is te m as

No documento Segurança de Redes e Sistemas (páginas 189-194)