ipsec security com esp e protocolo ah

0

Eu tenho o Ubuntu 14.04 LTS e instalei ipsec-tools .

Posso adicionar uma regra no arquivo de configuração ipsec-tools.conf para criptografar dados com o protocolo esp e criptografá-los (os dados criptografados) novamente com o protocolo ah? (Eu quero dizer criptografia dupla)

Se sim, como posso fazer isso?

Eu quero enviar dados protegidos com ipsec entre dois dispositivos e quero criptografar os dados duas vezes.

    
por user3606830 21.04.2017 / 21:55

1 resposta

0

Desculpe, mas IPsec não funciona dessa maneira.

Não há criptografia dupla ou ...

Explicação muito, muito curta e simples de como IPsec work é algo como

  • IPsec primeiro com IKE Police se comunica com o extremo
  • Negocie sobre Authorization algorithm , Encryption algorithm , Perfect Forward Secrecy e IKE version
  • Depois disso, envie key aka password

Se está tudo bem, vá para a fase 2

  • IPsec police começará
  • Neogoitate sobre Encryption algorithm , Perfect Forward Secrecy , Transform Protocol

Se isso ocorrer, combine routes aka access list aka interesting traffic

Se tudo estiver bem, suba o túnel.

Exemplos de configuração de wiki

Edite o arquivo /etc/ipsec-tools.conf . Este arquivo deve ser da forma geral:

# Configuration for 192.168.1.100 
# Flush the SAD and SPD
flush;
spdflush;

# Attention: Use this keys only for testing purposes!
# Generate your own keys!

# AH SAs using 128 bit long keys
add 192.168.1.100 192.168.2.100 ah 0x200 -A hmac-md5
        0xc0291ff014dccdd03874d9e8e4cdf3e6;
add 192.168.2.100 192.168.1.100 ah 0x300 -A hmac-md5
        0x96358c90783bbfa3d7b196ceabe0536b;

# ESP SAs using 192 bit long keys (168 + 24 parity)
add 192.168.1.100 192.168.2.100 esp 0x201 -E 3des-cbc
        0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831;
add 192.168.2.100 192.168.1.100 esp 0x301 -E 3des-cbc
        0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df;

# Security policies
spdadd 192.168.1.100 192.168.2.100 any -P out ipsec
           esp/transport//require
           ah/transport//require;

spdadd 192.168.2.100 192.168.1.100 any -P in ipsec
           esp/transport//require
           ah/transport//require;

É importante entender isso, então deixe-me dividi-lo:

# AH SAs using 128 bit long keys
add 192.168.1.100 192.168.2.100 ah 0x200 -A hmac-md5
        0xc0291ff014dccdd03874d9e8e4cdf3e6;
add 192.168.2.100 192.168.1.100 ah 0x300 -A hmac-md5
        0x96358c90783bbfa3d7b196ceabe0536b;

Esta seção lista as chaves 128 bit da conexão 192.168.2.100 e 192.168.1.100 . Cada par IP possui 2 chaves - uma para cada direção (entrada e saída). Cada par de máquinas precisa conhecer essa informação. Então, isso significa que, para cada par de IPs, você precisa gerar uma nova chave (por isso, isso funciona para redes pequenas, mas qualquer coisa importante provavelmente quer que um daemon manipule isso. Talvez, se eu me sentir ambicioso, até usá-lo e atualizá-lo com essa informação).

Além disso, observe o número logo após o ah para cada uma dessas chaves. Esse número precisa ser exclusivo para cada instrução add . Essas chaves são geradas da seguinte forma:

dd if=/dev/random count=16 bs=1| xxd -ps

Não se esqueça de adicionar o 0x na frente dele.

Similarmente, esta seção:

# ESP SAs using 192 bit long keys (168 + 24 parity)
add 192.168.1.100 192.168.2.100 esp 0x201 -E 3des-cbc
        0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831;
add 192.168.2.100 192.168.1.100 esp 0x301 -E 3des-cbc
        0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df;

Isso funciona exatamente como o AH keys , exceto pelo fato de serem mais longos. Novamente, o número após esp deve ser exclusivo. Essas chaves são geradas da seguinte forma:

dd if=/dev/random count=24 bs=1| xxd -ps

Novamente, não se esqueça de adicionar o 0x na frente dele.

Portanto, essas duas principais seções devem listar chaves para todos os endereços IP com os quais a máquina se preocupa. Essas seções não são alteradas ao mover o arquivo entre máquinas em ambos os lados de uma conexão. Isso nos leva à próxima seção:

# Security policies
spdadd 192.168.1.100 192.168.2.100 any -P out ipsec
           esp/transport//require
           ah/transport//require;

spdadd 192.168.2.100 192.168.1.100 any -P in ipsec
           esp/transport//require
           ah/transport//require;

Isso configura as políticas para comunicações de entrada e saída. Portanto, a versão acima funcionará para 192.168.1.100 , porque toda a comunicação de saída para 192.168.2.100 e todas as comunicações de entrada de 192.168.2.100 serão criptografadas. Para usar isso na outra máquina ( 192.168.2.100 ), inverta as diretivas de entrada e saída, da seguinte maneira:

# Security policies
spdadd 192.168.1.100 192.168.2.100 any -P in ipsec
           esp/transport//require
           ah/transport//require;

spdadd 192.168.2.100 192.168.1.100 any -P out ipsec
           esp/transport//require
           ah/transport//require;

Torne o arquivo conf não legível para o mundo:

sudo chmod 750 ipsec-tools.conf

Ok, os dois lados da conexão têm um ipsec-tools.conf ? Todo mundo definido? Bom, agora fica fácil.

Ele será iniciado na inicialização por padrão nos sistemas, então você não precisa se preocupar com isso.

Além disso, iniciar também não faria mal (certifique-se de fazer isso nos dois lados da conexão antes de tentar fazer com que eles conversem entre si; você também pode reinicializar):

sudo /etc/init.d/setkey start
    
por 2707974 21.04.2017 / 22:55