apostila19_openvpn2
-
Upload
fabrizio171195 -
Category
Documents
-
view
212 -
download
0
description
Transcript of apostila19_openvpn2
-
Linux Network Servers
OpenVPN
Objetivos
Entender como funciona uma VPNConfigurar uma VPN host to host
O que uma VPN?
VPN Virtual Private Network, uma rede de comunicao particular, geralmente utilizando canais de comunicao inseguros, como a prpria LAN ou mesmo a Internet. O que torna esta rede de comunicao particular o fato das ferramentas de VPN empregarem mtodos e protocolos de criptografia, criando um tnel de criptografia para prover acesso seguro a partes da rede ou mesmo ligao entre LAN's geograficamente separadas, eliminando a necessidade de um canal de comunicao privativo de alto custo fornecido pela operadora de telecomunicaes.
Tambm podemos utilizar uma ferramenta de VPN para implementar ou reforar a segurana de acesso h algum servio dentro de nossa rede. Voc possui um software de gerao de notas fiscais, e os funcionrios acessam este terminal via telnet, que um protocolo que no implementa criptografia.
Para corrigir esta situao e reforar a segurana deste ambiente, voc poderia configurar uma VPN entre o computador dos usurios e o servidor, melhorando assim a segurana deste servio.
Por que usar o OpenVPN?
- Simplicidade na configurao;- Flexvel;- Muito seguro;- Possui verses para Linux e Windows, possvel criar tneis entre duas mquinas usando esses sistemas;
Iremos configurar uma VPN host-to-host.
Ns trabalharemos neste laboratrio com um par de chaves simtricas, ou seja, usaremos a mesma chave tanto para o servidor VPN quanto para o cliente VPN, logo, a chave deve ser gerada no servidor e replicada para o cliente via SSH.
1
-
Linux Network ServersConfigurando o servidor
O primeiro passo instalar o software OpenVPN:
Qual o mdulo preciso levantar para usar o OpenVPN?
Mdulo tun.
Cenrio:
Ips do servidor:
IP remoto: 192.168.1.1 (isso s para testes em uma rede local, o normal usar um endereo vlido na internet)
IP (interface virtual da VPN): 10.0.0.1
Ips da mquina cliente:
IP remoto: 192.168.1.2 (isso s para testes em uma rede local, o normal usar um endereo vlido na internet)
IP (interface virtual da VPN): 10.0.0.2
Testando a conexo entre duas mquinas sem encriptao:
Faa na mquina cliente:
2
# aptitude install openvpn
# modprobe tun# echo "tun" >> /etc/modules
# openvpn --remote 192.168.1.1 --dev tun0 --ifconfig 10.0.0.2 10.0.0.1
-
Linux Network ServersFaa na mquina servidora:
Execute o comando ifconfig na mquina cliente e voc ver:inet end: 10.0.0.2P-a-P: 10.0.0.1
Para testar a conectiva basta pingar a mquina servidora e vice-versa!
Agora vamos encriptar o tnel!Vamos usar chaves estticas. Um arquivo contendo o algoritmo de encriptao usada por duas partes para encriptar os dados que sero transmitidos pela VPN.
Vamos entrar no diretrio /etc/openvpn (no servidor) e gerar a chave:
Esse comando vai gerar um arquivo chamado "chave" em /etc/openvpn, que contm a chave de encriptao que ser usada para criar a conexo.
"chave" um arquivo de texto simples, que contm uma chave de 2048 bits.Esse arquivo dever ser copiado para o diretrio /etc/openvpn do cliente.
seguro enviar essa chave ao cliente por e-mail?
No! O e-mail no um meio seguro.
Quais alternativas ento para enviar isso para a mquina cliente?
- sftp;- scp;- pendrive, hd externo etc;
3
# openvpn --remote 192.168.1.2 --dev tun0 --ifconfig 10.0.0.1 10.0.0.2
# cd /etc/openvpn# openvpn --genkey --secret /etc/openvpn/chave
-
Linux Network ServersAcessar o arquivo "chave" no servidor:
Vamos gerar o arquivo de configurao do servidor:
Para que serve o parmetro comp-lzo?
A funo desse parmetro compactar dados transmitidos atravs do tnel.O pacote "lzo" deve estar instalado.
4
# cd /etc/openvpn# sftp [email protected] a senha!sftp > cd /etc/openvpnsftp > get chavesftp > quit
# vim /etc/openvpn/server.conf
# Configurao para servidordev tun
# Server -> 10.0.0.1# Client -> 10.0.0.2
# Definindo os IP's da VPNifconfig 10.0.0.1 10.0.0.2
# Definido a chavesecret /etc/openvpn/chave# Definindo a portaport 5000comp-lzoverb 4
-
Linux Network ServersConfigurando o cliente
Tambm necessrio ter o OpenVPN no cliente:
Vamos gerar o arquivo de configurao do cliente:
Iniciando a VPN, tanto no servidor quanto no cliente.
5
# aptitude install openvpn
# vim /etc/openvpn/client.conf
# Configurao para clientedev tun
# Server -> 10.0.0.1# Client -> 10.0.0.2
# Definindo os IP's da VPNifconfig 10.0.0.2 10.0.0.1
# Definindo o IP real do servidorremote 192.168.1.1
#Definido a chavesecret /etc/openvpn/chave
# Definindo a portaport 5000comp-lzoverb 4
# openvpn --config /etc/openvpn/server.conf# openvpn --config /etc/openvpn/client.conf
-
Linux Network ServersExecute um ifconfig para ver se a interface tun0 foi criada:
Execute um ping na sua interface VPN (servidor):
Execute um ping na interface do cliente:
Efetue testes em todos os servios utilizando o IP da VPN.
6
# ifconfig -a
# ping 10.0.0.1
# ping 10.0.0.2
OpenVPN