apostila19_openvpn2

download apostila19_openvpn2

of 6

description

kljlkj

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