使用 esp 和 ah 协议的 ipsec 安全性

使用 esp 和 ah 协议的 ipsec 安全性

我有 Ubuntu 14.04 LTS 并且安装了ipsec-tools

我可以在配置文件中添加一条规则ipsec-tools.conf,使用 esp 协议加密数据,然后使用 ah 协议再次加密它(加密数据)吗?(我的意思是双重加密)

如果是,我该怎么做?

我想在ipsec两个设备之间发送受保护的数据,并且想对数据进行两次加密。

答案1

抱歉,但IPsec不要那样做。

没有双重加密或...

非常非常简短和简单的解释IPsec工作是怎样的

  • IPsec首先IKE Police与远端通信
  • 协商Authorization algorithm、、Encryption algorithmPerfect Forward SecrecyIKE version
  • 之后发送keyakapassword

如果一切顺利,进入第二阶段

  • IPsec警方将开始
  • 商谈Encryption algorithm,,Perfect Forward SecrecyTransform Protocol

如果一切顺利,那么匹配routesaka access listakainteresting traffic

如果一切顺利,隧道就通了。

配置示例来自维基百科

编辑/etc/ipsec-tools.conf文件。此文件应采用以下一般格式:

# 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;

理解这一点很重要,让我来分解一下:

# 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;

本节列出了和连接128 bit的密钥。每个 IP 对都有 2 个密钥 - 每个方向各一个(进和出)。每对机器都需要知道这些信息。因此,这意味着,对于每对 IP,您都需要生成一个新密钥(这就是为什么这适用于小型网络,但任何大型网络可能都需要守护进程来处理这个问题。也许如果我有雄心壮志,我​​会设置我的来使用它并用该信息更新它)。192.168.2.100192.168.1.100

ah另外,请注意每个键后面的数字。此数字对于每个add语句必须是唯一的。这些键的生成方式如下:

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

0x不要忘记在它的前面添加。

同样,本节:

# 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;

它的工作原理与 一样AH keys,只是它们更长。同样,后面的数字esp必须是唯一的。这些密钥的生成方式如下:

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

0x再次提醒,不要忘记在前面添加。

因此,这两个部分应该列出机器关心的所有 IP 地址的密钥。在连接两端的机器之间移动文件时,这些部分不会发生变化。这引出了下一部分:

# 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;

这将设置进出通信的策略。因此,上述版本适用于192.168.1.100,因为所有到 的传出通信192.168.2.100和来自 的所有传入通信192.168.2.100都将被加密。要在另一台机器 ( 192.168.2.100) 上使用此版本,请翻转 in 和 out 指令,如下所示:

# 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;

使conf文件不可被外界读取:

sudo chmod 750 ipsec-tools.conf

好的,连接的两端都有了吗ipsec-tools.conf?大家都准备好了吗?很好,现在一切都变得简单了。

它将会在系统启动时默认启动,所以您不必担心。

此外,启动它也不会造成任何损害(在尝试让它们互相通信之前,请确保在连接的两端都执行此操作;您也可以重新启动):

sudo /etc/init.d/setkey start

相关内容